Changeset: 71 Changeset: 71 Generación texto DBC (DB2) completa

This commit is contained in:
fernando
2013-12-10 23:24:56 +01:00
parent 17d7876e07
commit 5f5c94eedb

View File

@@ -6075,7 +6075,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg LPARAMETERS toReg
TRY TRY
LOCAL lc_TAG_REPORTE, loEx as Exception LOCAL lc_TAG_REPORTE, loEx AS EXCEPTION
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>' lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
@@ -6187,7 +6187,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg LPARAMETERS toReg
TRY TRY
LOCAL lc_TAG_REPORTE, loEx as Exception LOCAL lc_TAG_REPORTE, loEx AS EXCEPTION
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>' lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
@@ -6299,7 +6299,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg LPARAMETERS toReg
TRY TRY
LOCAL lc_TAG_REPORTE, loEx as Exception LOCAL lc_TAG_REPORTE, loEx AS EXCEPTION
lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' ' lc_TAG_REPORTE_I = '<' + C_TAG_REPORTE + ' '
lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>' lc_TAG_REPORTE_F = '</' + C_TAG_REPORTE + '>'
@@ -6411,7 +6411,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
PROCEDURE write_DBF_HEADER PROCEDURE write_DBF_HEADER
LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name LPARAMETERS tn_HexFileType, tl_FileHasCDX, tl_FileHasMemo, tl_FileIsDBC, tc_DBC_Name
TRY TRY
LOCAL laFields(1,18), loEx as Exception LOCAL laFields(1,18), loEx AS EXCEPTION
*FOR I = 1 TO AFIELDS(laFields) *FOR I = 1 TO AFIELDS(laFields)
* IF INLIST( laFields(I,2), 'M', 'Q', 'V', 'W' ) * IF INLIST( laFields(I,2), 'M', 'Q', 'V', 'W' )
@@ -6452,7 +6452,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
******************************************************************************************************************* *******************************************************************************************************************
PROCEDURE write_DBF_FIELDS PROCEDURE write_DBF_FIELDS
TRY TRY
LOCAL I, laFields(1,18), loEx as Exception LOCAL I, laFields(1,18), loEx AS EXCEPTION
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
@@ -6505,7 +6505,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
******************************************************************************************************************* *******************************************************************************************************************
PROCEDURE write_DBF_INDEXES PROCEDURE write_DBF_INDEXES
TRY TRY
LOCAL I, loEx as Exception LOCAL I, loEx AS EXCEPTION
IF TAGCOUNT() > 0 IF TAGCOUNT() > 0
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
@@ -6548,19 +6548,12 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
******************************************************************************************************************* *******************************************************************************************************************
PROCEDURE write_DBC_HEADER PROCEDURE write_DBC_HEADER
TRY TRY
LOCAL I, lcText, lcDBC, loEx as Exception LOCAL I, lcText, lcDBC, loEx AS EXCEPTION
lcText = '' lcText = ''
lcDBC = JUSTSTEM(DBC()) lcDBC = JUSTSTEM(DBC())
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>>
*-----------------------------------------------------------------------------------
*-- DATABASE INFO
*-----------------------------------------------------------------------------------
ENDTEXT
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<DATABASE> <DATABASE>
<<>> <Name><<lcDBC>></Name> <<>> <Name><<lcDBC>></Name>
<<>> <Comment><<DBGETPROP(lcDBC,"DATABASE","Comment")>></Comment> <<>> <Comment><<DBGETPROP(lcDBC,"DATABASE","Comment")>></Comment>
@@ -6568,6 +6561,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
<<>> <DBCEvents><<DBGETPROP(lcDBC,"DATABASE","DBCEvents")>></DBCEvents> <<>> <DBCEvents><<DBGETPROP(lcDBC,"DATABASE","DBCEvents")>></DBCEvents>
<<>> <DBCEventFilename><<DBGETPROP(lcDBC,"DATABASE","DBCEventFilename")>></DBCEventFilename> <<>> <DBCEventFilename><<DBGETPROP(lcDBC,"DATABASE","DBCEventFilename")>></DBCEventFilename>
</DATABASE> </DATABASE>
<<>>
ENDTEXT ENDTEXT
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
@@ -6592,49 +6586,54 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taConnections EXTERNAL ARRAY taConnections
TRY TRY
LOCAL I, lcText, lcDBC, loEx as Exception LOCAL I, lcText, lcDBC, loEx AS EXCEPTION
lcText = '' lcText = ''
lcDBC = JUSTSTEM(DBC()) lcDBC = JUSTSTEM(DBC())
DIMENSION taConnections(1) DIMENSION taConnections(1)
tnConnection_Count = ADBOBJECTS( taConnections,"CONNECTION" ) tnConnection_Count = ADBOBJECTS( taConnections,"CONNECTION" )
ASORT( taConnections, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 IF tnConnection_Count > 0
ASORT( taConnections, 1, -1, 0, 1 )
*-----------------------------------------------------------------------------------
*-- CONNECTIONS INFO
*-----------------------------------------------------------------------------------
ENDTEXT
FOR I = 1 TO tnConnection_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<CONNECTION> <<>>
<<>> <Name><<taConnections(I)>></Name> <CONNECTIONS>
<<>> <Comment><<DBGETPROP(taConnections(I),"CONNECTION","Comment")>></Comment>
<<>> <DataSource><<DBGETPROP(taConnections(I),"CONNECTION","DataSource")>></DataSource>
<<>> <Database><<DBGETPROP(taConnections(I),"CONNECTION","Database")>></Database>
<<>> <ConnectString><<DBGETPROP(taConnections(I),"CONNECTION","ConnectString")>></ConnectString>
<<>> <Asynchronous><<DBGETPROP(taConnections(I),"CONNECTION","Asynchronous")>></Asynchronous>
<<>> <BatchMode><<DBGETPROP(taConnections(I),"CONNECTION","BatchMode")>></BatchMode>
<<>> <ConnectTimeout><<DBGETPROP(taConnections(I),"CONNECTION","ConnectTimeout")>></ConnectTimeout>
<<>> <DisconnectRollback><<DBGETPROP(taConnections(I),"CONNECTION","DisconnectRollback")>></DisconnectRollback>
<<>> <DispLogin><<DBGETPROP(taConnections(I),"CONNECTION","DispLogin")>></DispLogin>
<<>> <DispWarnings><<DBGETPROP(taConnections(I),"CONNECTION","DispWarnings")>></DispWarnings>
<<>> <IdleTimeout><<DBGETPROP(taConnections(I),"CONNECTION","IdleTimeout")>></IdleTimeout>
<<>> <PacketSize><<DBGETPROP(taConnections(I),"CONNECTION","PacketSize")>></PacketSize>
<<>> <PassWord><<DBGETPROP(taConnections(I),"CONNECTION","PassWord")>></PassWord>
<<>> <QueryTimeout><<DBGETPROP(taConnections(I),"CONNECTION","QueryTimeout")>></QueryTimeout>
<<>> <Transactions><<DBGETPROP(taConnections(I),"CONNECTION","Transactions")>></Transactions>
<<>> <UserId><<DBGETPROP(taConnections(I),"CONNECTION","UserId")>></UserId>
<<>> <WaitTime><<DBGETPROP(taConnections(I),"CONNECTION","WaitTime")>></WaitTime>
</CONNECTION>
ENDTEXT ENDTEXT
ENDFOR
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText FOR I = 1 TO tnConnection_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <CONNECTION>
<<>> <Name><<taConnections(I)>></Name>
<<>> <Comment><<DBGETPROP(taConnections(I),"CONNECTION","Comment")>></Comment>
<<>> <DataSource><<DBGETPROP(taConnections(I),"CONNECTION","DataSource")>></DataSource>
<<>> <Database><<DBGETPROP(taConnections(I),"CONNECTION","Database")>></Database>
<<>> <ConnectString><<DBGETPROP(taConnections(I),"CONNECTION","ConnectString")>></ConnectString>
<<>> <Asynchronous><<DBGETPROP(taConnections(I),"CONNECTION","Asynchronous")>></Asynchronous>
<<>> <BatchMode><<DBGETPROP(taConnections(I),"CONNECTION","BatchMode")>></BatchMode>
<<>> <ConnectTimeout><<DBGETPROP(taConnections(I),"CONNECTION","ConnectTimeout")>></ConnectTimeout>
<<>> <DisconnectRollback><<DBGETPROP(taConnections(I),"CONNECTION","DisconnectRollback")>></DisconnectRollback>
<<>> <DispLogin><<DBGETPROP(taConnections(I),"CONNECTION","DispLogin")>></DispLogin>
<<>> <DispWarnings><<DBGETPROP(taConnections(I),"CONNECTION","DispWarnings")>></DispWarnings>
<<>> <IdleTimeout><<DBGETPROP(taConnections(I),"CONNECTION","IdleTimeout")>></IdleTimeout>
<<>> <PacketSize><<DBGETPROP(taConnections(I),"CONNECTION","PacketSize")>></PacketSize>
<<>> <PassWord><<DBGETPROP(taConnections(I),"CONNECTION","PassWord")>></PassWord>
<<>> <QueryTimeout><<DBGETPROP(taConnections(I),"CONNECTION","QueryTimeout")>></QueryTimeout>
<<>> <Transactions><<DBGETPROP(taConnections(I),"CONNECTION","Transactions")>></Transactions>
<<>> <UserId><<DBGETPROP(taConnections(I),"CONNECTION","UserId")>></UserId>
<<>> <WaitTime><<DBGETPROP(taConnections(I),"CONNECTION","WaitTime")>></WaitTime>
<<>> </CONNECTION>
ENDTEXT
ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
</CONNECTIONS>
<<>>
ENDTEXT
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
ENDIF
CATCH TO loEx CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0 IF THIS.l_Debug AND _VFP.STARTMODE = 0
@@ -6656,84 +6655,91 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taTables EXTERNAL ARRAY taTables
TRY TRY
LOCAL I, X, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception LOCAL I, X, lcText, lcDBC, lnField_Count, laFields(1), loEx AS EXCEPTION
STORE 0 TO I, X, tnTable_Count, lnField_Count STORE 0 TO I, X, tnTable_Count, lnField_Count
lcText = '' lcText = ''
lcDBC = JUSTSTEM(DBC()) lcDBC = JUSTSTEM(DBC())
DIMENSION taTables(1) DIMENSION taTables(1)
tnTable_Count = ADBOBJECTS( taTables,"TABLE" ) tnTable_Count = ADBOBJECTS( taTables,"TABLE" )
ASORT( taTables, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 IF tnTable_Count > 0
ASORT( taTables, 1, -1, 0, 1 )
*-----------------------------------------------------------------------------------
*-- TABLES INFO
*-----------------------------------------------------------------------------------
ENDTEXT
FOR I = 1 TO tnTable_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<TABLE> <<>>
<<>> <Name><<taTables(I)>></Name> <TABLES>
<<>> <Comment><<DBGETPROP(taTables(I),"TABLE","Comment")>></Comment>
<<>> <Path><<DBGETPROP(taTables(I),"TABLE","Path")>></Path>
<<>> <DeleteTrigger><<DBGETPROP(taTables(I),"TABLE","DeleteTrigger")>></DeleteTrigger>
<<>> <InsertTrigger><<DBGETPROP(taTables(I),"TABLE","InsertTrigger")>></InsertTrigger>
<<>> <UpdateTrigger><<DBGETPROP(taTables(I),"TABLE","UpdateTrigger")>></UpdateTrigger>
<<>> <PrimaryKey><<DBGETPROP(taTables(I),"TABLE","PrimaryKey")>></PrimaryKey>
<<>> <RuleExpression><<DBGETPROP(taTables(I),"TABLE","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP(taTables(I),"TABLE","RuleText")>></RuleText>
ENDTEXT ENDTEXT
_TALLY = 0 FOR I = 1 TO tnTable_Count
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+PADR('Table',10) = STR(TB2.objectid)+TB2.objecttype ;
WHERE STR(TB2.parentid)+TB2.objecttype+TB2.objectname = STR(1)+PADR('Table',10)+PADR(LOWER(taTables(I)),128) ;
INTO ARRAY laFields
lnField_Count = _TALLY
IF lnField_Count > 0
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> *-- FIELDS <<>> <TABLE>
<<>> <FIELD> <<>> <Name><<taTables(I)>></Name>
<<>> <Comment><<DBGETPROP(taTables(I),"TABLE","Comment")>></Comment>
<<>> <Path><<DBGETPROP(taTables(I),"TABLE","Path")>></Path>
<<>> <DeleteTrigger><<DBGETPROP(taTables(I),"TABLE","DeleteTrigger")>></DeleteTrigger>
<<>> <InsertTrigger><<DBGETPROP(taTables(I),"TABLE","InsertTrigger")>></InsertTrigger>
<<>> <UpdateTrigger><<DBGETPROP(taTables(I),"TABLE","UpdateTrigger")>></UpdateTrigger>
<<>> <PrimaryKey><<DBGETPROP(taTables(I),"TABLE","PrimaryKey")>></PrimaryKey>
<<>> <RuleExpression><<DBGETPROP(taTables(I),"TABLE","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP(taTables(I),"TABLE","RuleText")>></RuleText>
ENDTEXT ENDTEXT
FOR X = 1 TO lnField_Count _TALLY = 0
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Field',10) ;
AND TB2.objectname = PADR(LOWER(taTables(I)),128) ;
INTO ARRAY laFields
lnField_Count = _TALLY
IF lnField_Count > 0
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <Name><<RTRIM(laFields(I))>></Name> <<>>
<<>> <Caption><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","Caption")>></Caption> <<>> <FIELDS>
<<>> <Comment><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","Comment")>></Comment>
<<>> <DefaultValue><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","DefaultValue")>></DefaultValue>
<<>> <DisplayClass><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","DisplayClass")>></DisplayClass>
<<>> <DisplayClassLibrary><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","DisplayClassLibrary")>></DisplayClassLibrary>
<<>> <Format><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","Format")>></Format>
<<>> <InputMask><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","InputMask")>></InputMask>
<<>> <RuleExpression><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleText")>></RuleText>
ENDTEXT ENDTEXT
ENDFOR
FOR X = 1 TO lnField_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <FIELD>
<<>> <Name><<RTRIM(laFields(X))>></Name>
<<>> <Caption><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","Caption")>></Caption>
<<>> <Comment><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","Comment")>></Comment>
<<>> <DefaultValue><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","DefaultValue")>></DefaultValue>
<<>> <DisplayClass><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","DisplayClass")>></DisplayClass>
<<>> <DisplayClassLibrary><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","DisplayClassLibrary")>></DisplayClassLibrary>
<<>> <Format><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","Format")>></Format>
<<>> <InputMask><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","InputMask")>></InputMask>
<<>> <RuleExpression><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP( RTRIM(taTables(I)) + '.' + RTRIM(laFields(X)),"FIELD","RuleText")>></RuleText>
<<>> </FIELD>
ENDTEXT
ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> </FIELDS>
ENDTEXT
ENDIF
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> </FIELD> <<>> </TABLE>
ENDTEXT ENDTEXT
ENDIF ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
</TABLE> </TABLES>
<<>>
ENDTEXT ENDTEXT
ENDFOR
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
ENDIF
CATCH TO loEx CATCH TO loEx
IF BETWEEN(I, 1, tnTable_Count) IF BETWEEN(I, 1, tnTable_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "taTables(" + TRANSFORM(I) + ") = " + RTRIM(taTables(I)) loEx.USERVALUE = loEx.USERVALUE + CR_LF + "taTables(" + TRANSFORM(I) + ") = " + RTRIM(taTables(I))
ENDIF ENDIF
IF BETWEEN(X, 1, lnField_Count) IF BETWEEN(X, 1, lnField_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(I)) loEx.USERVALUE = loEx.USERVALUE + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(X))
ENDIF ENDIF
IF THIS.l_Debug AND _VFP.STARTMODE = 0 IF THIS.l_Debug AND _VFP.STARTMODE = 0
@@ -6758,100 +6764,108 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taViews EXTERNAL ARRAY taViews
TRY TRY
LOCAL I, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception LOCAL I, lcText, lcDBC, lnField_Count, laFields(1), loEx AS EXCEPTION
STORE 0 TO I, X, tnView_Count, lnField_Count STORE 0 TO I, X, tnView_Count, lnField_Count
lcText = '' lcText = ''
lcDBC = JUSTSTEM(DBC()) lcDBC = JUSTSTEM(DBC())
DIMENSION taViews(1) DIMENSION taViews(1)
tnView_Count = ADBOBJECTS( taViews,"VIEW" ) tnView_Count = ADBOBJECTS( taViews,"VIEW" )
ASORT( taViews, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 IF tnView_Count > 0
ASORT( taViews, 1, -1, 0, 1 )
*-----------------------------------------------------------------------------------
*-- VIEWS INFO
*-----------------------------------------------------------------------------------
ENDTEXT
FOR I = 1 TO tnView_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<VIEW> <<>>
<<>> <Name><<taViews(I)>></Name> <VIEWS>
<<>> <Comment><<DBGETPROP(taViews(I),"VIEW","Comment")>></Comment>
<<>> <Tables><<DBGETPROP(taViews(I),"VIEW","Tables")>></Tables>
<<>> <SQL><<DBGETPROP(taViews(I),"VIEW","SQL")>></SQL>
<<>> <AllowSimultaneousFetch><<DBGETPROP(taViews(I),"VIEW","AllowSimultaneousFetch")>></AllowSimultaneousFetch>
<<>> <BatchUpdateCount><<DBGETPROP(taViews(I),"VIEW","BatchUpdateCount")>></BatchUpdateCount>
<<>> <CompareMemo><<DBGETPROP(taViews(I),"VIEW","CompareMemo")>></CompareMemo>
<<>> <ConnectName><<DBGETPROP(taViews(I),"VIEW","ConnectName")>></ConnectName>
<<>> <FetchAsNeeded><<DBGETPROP(taViews(I),"VIEW","FetchAsNeeded")>></FetchAsNeeded>
<<>> <FetchMemo><<DBGETPROP(taViews(I),"VIEW","FetchMemo")>></FetchMemo>
<<>> <FetchSize><<DBGETPROP(taViews(I),"VIEW","FetchSize")>></FetchSize>
<<>> <MaxRecords><<DBGETPROP(taViews(I),"VIEW","MaxRecords")>></MaxRecords>
<<>> <Offline><<DBGETPROP(taViews(I),"VIEW","Offline")>></Offline>
<<>> <ParameterList><<DBGETPROP(taViews(I),"VIEW","ParameterList")>></ParameterList>
<<>> <Prepared><<DBGETPROP(taViews(I),"VIEW","Prepared")>></Prepared>
<<>> <RuleExpression><<DBGETPROP(taViews(I),"VIEW","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP(taViews(I),"VIEW","RuleText")>></RuleText>
<<>> <SendUpdates><<DBGETPROP(taViews(I),"VIEW","SendUpdates")>></SendUpdates>
<<>> <ShareConnection><<DBGETPROP(taViews(I),"VIEW","ShareConnection")>></ShareConnection>
<<>> <SourceType><<DBGETPROP(taViews(I),"VIEW","SourceType")>></SourceType>
<<>> <UpdateType><<DBGETPROP(taViews(I),"VIEW","UpdateType")>></UpdateType>
<<>> <UseMemoSize><<DBGETPROP(taViews(I),"VIEW","UseMemoSize")>></UseMemoSize>
<<>> <WhereType><<DBGETPROP(taViews(I),"VIEW","WhereType")>></WhereType>
ENDTEXT ENDTEXT
_TALLY = 0 FOR I = 1 TO tnView_Count
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+PADR('View',10) = STR(TB2.objectid)+TB2.objecttype ;
WHERE STR(TB2.parentid)+TB2.objecttype+TB2.objectname = STR(1)+PADR('View',10)+PADR(LOWER(taViews(I)),128) ;
INTO ARRAY laFields
lnField_Count = _TALLY
IF lnField_Count > 0
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> *-- FIELDS <<>> <VIEW>
<<>> <FIELD> <<>> <Name><<taViews(I)>></Name>
<<>> <Comment><<DBGETPROP(taViews(I),"VIEW","Comment")>></Comment>
<<>> <Tables><<DBGETPROP(taViews(I),"VIEW","Tables")>></Tables>
<<>> <SQL><<DBGETPROP(taViews(I),"VIEW","SQL")>></SQL>
<<>> <AllowSimultaneousFetch><<DBGETPROP(taViews(I),"VIEW","AllowSimultaneousFetch")>></AllowSimultaneousFetch>
<<>> <BatchUpdateCount><<DBGETPROP(taViews(I),"VIEW","BatchUpdateCount")>></BatchUpdateCount>
<<>> <CompareMemo><<DBGETPROP(taViews(I),"VIEW","CompareMemo")>></CompareMemo>
<<>> <ConnectName><<DBGETPROP(taViews(I),"VIEW","ConnectName")>></ConnectName>
<<>> <FetchAsNeeded><<DBGETPROP(taViews(I),"VIEW","FetchAsNeeded")>></FetchAsNeeded>
<<>> <FetchMemo><<DBGETPROP(taViews(I),"VIEW","FetchMemo")>></FetchMemo>
<<>> <FetchSize><<DBGETPROP(taViews(I),"VIEW","FetchSize")>></FetchSize>
<<>> <MaxRecords><<DBGETPROP(taViews(I),"VIEW","MaxRecords")>></MaxRecords>
<<>> <Offline><<DBGETPROP(taViews(I),"VIEW","Offline")>></Offline>
<<>> <ParameterList><<DBGETPROP(taViews(I),"VIEW","ParameterList")>></ParameterList>
<<>> <Prepared><<DBGETPROP(taViews(I),"VIEW","Prepared")>></Prepared>
<<>> <RuleExpression><<DBGETPROP(taViews(I),"VIEW","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP(taViews(I),"VIEW","RuleText")>></RuleText>
<<>> <SendUpdates><<DBGETPROP(taViews(I),"VIEW","SendUpdates")>></SendUpdates>
<<>> <ShareConnection><<DBGETPROP(taViews(I),"VIEW","ShareConnection")>></ShareConnection>
<<>> <SourceType><<DBGETPROP(taViews(I),"VIEW","SourceType")>></SourceType>
<<>> <UpdateType><<DBGETPROP(taViews(I),"VIEW","UpdateType")>></UpdateType>
<<>> <UseMemoSize><<DBGETPROP(taViews(I),"VIEW","UseMemoSize")>></UseMemoSize>
<<>> <WhereType><<DBGETPROP(taViews(I),"VIEW","WhereType")>></WhereType>
ENDTEXT ENDTEXT
FOR X = 1 TO lnField_Count _TALLY = 0
_TALLY = 0
SELECT LOWER(TB.objectname) FROM TABLABIN TB ;
INNER JOIN TABLABIN TB2 ON STR(TB.parentid)+TB.objecttype = STR(TB2.objectid)+PADR('Field',10) ;
AND TB2.objectname = PADR(LOWER(taViews(I)),128) ;
INTO ARRAY laFields
lnField_Count = _TALLY
IF lnField_Count > 0
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <Name><<RTRIM(laFields(I))>></Name> <<>>
<<>> <Caption><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Caption")>></Caption> <<>> <FIELDS>
<<>> <Comment><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Comment")>></Comment>
<<>> <DataType><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","DataType")>></DataType>
<<>> <DefaultValue><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","DefaultValue")>></DefaultValue>
<<>> <Format><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Format")>></Format>
<<>> <InputMask><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","InputMask")>></InputMask>
<<>> <KeyField><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","KeyField")>></KeyField>
<<>> <RuleExpression><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","RuleText")>></RuleText>
<<>> <Updatable><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","Updatable")>></Updatable>
<<>> <UpdateName><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(I)),"FIELD","UpdateName")>></UpdateName>
ENDTEXT ENDTEXT
ENDFOR
FOR X = 1 TO lnField_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <FIELD>
<<>> <Name><<RTRIM(laFields(X))>></Name>
<<>> <Caption><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","Caption")>></Caption>
<<>> <Comment><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","Comment")>></Comment>
<<>> <DataType><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","DataType")>></DataType>
<<>> <DefaultValue><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","DefaultValue")>></DefaultValue>
<<>> <Format><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","Format")>></Format>
<<>> <InputMask><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","InputMask")>></InputMask>
<<>> <KeyField><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","KeyField")>></KeyField>
<<>> <RuleExpression><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","RuleExpression")>></RuleExpression>
<<>> <RuleText><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","RuleText")>></RuleText>
<<>> <Updatable><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","Updatable")>></Updatable>
<<>> <UpdateName><<DBGETPROP( RTRIM(taViews(I)) + '.' + RTRIM(laFields(X)),"FIELD","UpdateName")>></UpdateName>
<<>> </FIELD>
ENDTEXT
ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> </FIELDS>
ENDTEXT
ENDIF
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> </FIELD> <<>> </VIEW>
ENDTEXT ENDTEXT
ENDIF ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
</VIEW> </VIEWS>
<<>>
ENDTEXT ENDTEXT
ENDFOR
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
ENDIF
CATCH TO loEx CATCH TO loEx
IF BETWEEN(I, 1, tnTable_Count) IF BETWEEN(I, 1, tnTable_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "taViews(" + TRANSFORM(I) + ") = " + RTRIM(taViews(I)) loEx.USERVALUE = loEx.USERVALUE + CR_LF + "taViews(" + TRANSFORM(I) + ") = " + RTRIM(taViews(I))
ENDIF ENDIF
IF BETWEEN(X, 1, lnField_Count) IF BETWEEN(X, 1, lnField_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(I)) loEx.USERVALUE = loEx.USERVALUE + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(X))
ENDIF ENDIF
IF THIS.l_Debug AND _VFP.STARTMODE = 0 IF THIS.l_Debug AND _VFP.STARTMODE = 0
@@ -6873,38 +6887,41 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
EXTERNAL ARRAY taRelations EXTERNAL ARRAY taRelations
TRY TRY
LOCAL I, lcText, lcDBC, loEx as Exception LOCAL I, lcText, lcDBC, loEx AS EXCEPTION
lcText = '' lcText = ''
lcDBC = JUSTSTEM(DBC()) lcDBC = JUSTSTEM(DBC())
DIMENSION taRelations(1,5) DIMENSION taRelations(1,5)
tnRelation_Count = ADBOBJECTS( taRelations,"RELATION" ) tnRelation_Count = ADBOBJECTS( taRelations,"RELATION" )
ASORT( taRelations, 2, -1, 0, 1 )
ASORT( taRelations, 1, -1, 0, 1 )
FOR I = 1 TO tnRelation_Count IF tnRelation_Count > 0
ASORT( taRelations, 2, -1, 0, 1 )
ASORT( taRelations, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2 TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>>
<RELATIONS>
ENDTEXT
FOR I = 1 TO tnRelation_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> <RELATION>
<<>> <ChildTable><<ALLTRIM(taRelations(I,1))>></ChildTable>
<<>> <ParentTable><<ALLTRIM(taRelations(I,2))>></ParentTable>
<<>> <ChildIndex><<ALLTRIM(taRelations(I,3))>></ChildIndex>
<<>> <ParentIndex><<ALLTRIM(taRelations(I,4))>></ParentIndex>
<<>> <RefIntegrity><<ALLTRIM(taRelations(I,5))>></RefIntegrity>
<<>> </RELATION>
ENDTEXT
ENDFOR
*----------------------------------------------------------------------------------- TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
*-- RELATIONS INFO (REF.INTEGRITY: "C"=cascade, "R"=restrict, "I"=ignore) </RELATIONS>
*-----------------------------------------------------------------------------------
<<>> <<>>
ENDTEXT ENDTEXT
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+8 C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
<RELATION> ENDIF
<<>> <ChildTable><<ALLTRIM(taRelations(I,1))>></ChildTable>
<<>> <ParentTable><<ALLTRIM(taRelations(I,2))>></ParentTable>
<<>> <ChildIndex><<ALLTRIM(taRelations(I,3))>></ChildIndex>
<<>> <ParentIndex><<ALLTRIM(taRelations(I,4))>></ParentIndex>
<<>> <RefIntegrity><<ALLTRIM(taRelations(I,5))>></RefIntegrity>
</RELATION>
ENDTEXT
ENDFOR
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
CATCH TO loEx CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0 IF THIS.l_Debug AND _VFP.STARTMODE = 0