Changeset: 70 Changeset: 70 Cambios Ofi para DBC a texto

This commit is contained in:
fernando
2013-12-10 18:51:38 +01:00
7 changed files with 413 additions and 32 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5064,6 +5064,14 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
+ [<memberdata name="write_class_methods" type="method" display="write_CLASS_METHODS"/>] ; + [<memberdata name="write_class_methods" type="method" display="write_CLASS_METHODS"/>] ;
+ [<memberdata name="write_class_properties" type="method" display="write_CLASS_PROPERTIES"/>] ; + [<memberdata name="write_class_properties" type="method" display="write_CLASS_PROPERTIES"/>] ;
+ [<memberdata name="write_dataenvironment_reporte" type="method" display="write_DATAENVIRONMENT_REPORTE"/>] ; + [<memberdata name="write_dataenvironment_reporte" type="method" display="write_DATAENVIRONMENT_REPORTE"/>] ;
+ [<memberdata name="write_dbc_header" type="method" display="write_DBC_HEADER"/>] ;
+ [<memberdata name="write_dbc_connections" type="method" display="write_DBC_CONNECTIONS"/>] ;
+ [<memberdata name="write_dbc_tables" type="method" display="write_DBC_TABLES"/>] ;
+ [<memberdata name="write_dbc_views" type="method" display="write_DBC_VIEWS"/>] ;
+ [<memberdata name="write_dbc_relations" type="method" display="write_DBC_RELATIONS"/>] ;
+ [<memberdata name="write_dbf_header" type="method" display="write_DBF_HEADER"/>] ;
+ [<memberdata name="write_dbf_fields" type="method" display="write_DBF_FIELDS"/>] ;
+ [<memberdata name="write_dbf_indexes" type="method" display="write_DBF_INDEXES"/>] ;
+ [<memberdata name="write_detalle_reporte" type="method" display="write_DETALLE_REPORTE"/>] ; + [<memberdata name="write_detalle_reporte" type="method" display="write_DETALLE_REPORTE"/>] ;
+ [<memberdata name="write_defined_pam" type="method" display="write_DEFINED_PAM"/>] ; + [<memberdata name="write_defined_pam" type="method" display="write_DEFINED_PAM"/>] ;
+ [<memberdata name="write_define_class" type="method" display="write_DEFINE_CLASS"/>] ; + [<memberdata name="write_define_class" type="method" display="write_DEFINE_CLASS"/>] ;
@@ -6067,7 +6075,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg LPARAMETERS toReg
TRY TRY
LOCAL lc_TAG_REPORTE 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 + '>'
@@ -6179,7 +6187,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg LPARAMETERS toReg
TRY TRY
LOCAL lc_TAG_REPORTE 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 + '>'
@@ -6291,7 +6299,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
LPARAMETERS toReg LPARAMETERS toReg
TRY TRY
LOCAL lc_TAG_REPORTE 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 + '>'
@@ -6403,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) 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' )
@@ -6444,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) 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
@@ -6497,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 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
@@ -6537,6 +6545,380 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDPROC ENDPROC
*******************************************************************************************************************
PROCEDURE write_DBC_HEADER
TRY
LOCAL I, lcText, lcDBC, loEx as Exception
lcText = ''
lcDBC = JUSTSTEM(DBC())
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>
<<>> <Name><<lcDBC>></Name>
<<>> <Comment><<DBGETPROP(lcDBC,"DATABASE","Comment")>></Comment>
<<>> <Version><<DBGETPROP(lcDBC,"DATABASE","Version")>></Version>
<<>> <DBCEvents><<DBGETPROP(lcDBC,"DATABASE","DBCEvents")>></DBCEvents>
<<>> <DBCEventFilename><<DBGETPROP(lcDBC,"DATABASE","DBCEventFilename")>></DBCEventFilename>
</DATABASE>
ENDTEXT
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0
SET STEP ON
ENDIF
THROW
ENDTRY
RETURN
ENDPROC
*******************************************************************************************************************
PROCEDURE write_DBC_CONNECTIONS
LPARAMETERS taConnections, tnConnection_Count
EXTERNAL ARRAY taConnections
TRY
LOCAL I, lcText, lcDBC, loEx as Exception
lcText = ''
lcDBC = JUSTSTEM(DBC())
DIMENSION taConnections(1)
tnConnection_Count = ADBOBJECTS( taConnections,"CONNECTION" )
ASORT( taConnections, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
*-----------------------------------------------------------------------------------
*-- CONNECTIONS INFO
*-----------------------------------------------------------------------------------
ENDTEXT
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
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0
SET STEP ON
ENDIF
THROW
ENDTRY
RETURN
ENDPROC
*******************************************************************************************************************
PROCEDURE write_DBC_TABLES
LPARAMETERS taTables, tnTable_Count
EXTERNAL ARRAY taTables
TRY
LOCAL I, X, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception
STORE 0 TO I, X, tnTable_Count, lnField_Count
lcText = ''
lcDBC = JUSTSTEM(DBC())
DIMENSION taTables(1)
tnTable_Count = ADBOBJECTS( taTables,"TABLE" )
ASORT( taTables, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
*-----------------------------------------------------------------------------------
*-- TABLES INFO
*-----------------------------------------------------------------------------------
ENDTEXT
FOR I = 1 TO tnTable_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<TABLE>
<<>> <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
_TALLY = 0
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
<<>> *-- FIELDS
<<>> <FIELD>
ENDTEXT
FOR X = 1 TO lnField_Count
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>
<<>> <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
ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> </FIELD>
ENDTEXT
ENDIF
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
</TABLE>
ENDTEXT
ENDFOR
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
CATCH TO loEx
IF BETWEEN(I, 1, tnTable_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "taTables(" + TRANSFORM(I) + ") = " + RTRIM(taTables(I))
ENDIF
IF BETWEEN(X, 1, lnField_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(I))
ENDIF
IF THIS.l_Debug AND _VFP.STARTMODE = 0
SET STEP ON
ENDIF
THROW
FINALLY
USE IN (SELECT("TB"))
USE IN (SELECT("TB2"))
ENDTRY
RETURN
ENDPROC
*******************************************************************************************************************
PROCEDURE write_DBC_VIEWS
LPARAMETERS taViews, tnView_Count
EXTERNAL ARRAY taViews
TRY
LOCAL I, lcText, lcDBC, lnField_Count, laFields(1), loEx as Exception
STORE 0 TO I, X, tnView_Count, lnField_Count
lcText = ''
lcDBC = JUSTSTEM(DBC())
DIMENSION taViews(1)
tnView_Count = ADBOBJECTS( taViews,"VIEW" )
ASORT( taViews, 1, -1, 0, 1 )
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
*-----------------------------------------------------------------------------------
*-- VIEWS INFO
*-----------------------------------------------------------------------------------
ENDTEXT
FOR I = 1 TO tnView_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<VIEW>
<<>> <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
_TALLY = 0
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
<<>> *-- FIELDS
<<>> <FIELD>
ENDTEXT
FOR X = 1 TO lnField_Count
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>
<<>> <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
ENDFOR
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<>> </FIELD>
ENDTEXT
ENDIF
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
</VIEW>
ENDTEXT
ENDFOR
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
CATCH TO loEx
IF BETWEEN(I, 1, tnTable_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "taViews(" + TRANSFORM(I) + ") = " + RTRIM(taViews(I))
ENDIF
IF BETWEEN(X, 1, lnField_Count)
loEx.UserValue = loEx.UserValue + CR_LF + "laFields(" + TRANSFORM(X) + ") = " + RTRIM(laFields(I))
ENDIF
IF THIS.l_Debug AND _VFP.STARTMODE = 0
SET STEP ON
ENDIF
THROW
ENDTRY
RETURN
ENDPROC
*******************************************************************************************************************
PROCEDURE write_DBC_RELATIONS
LPARAMETERS taRelations, tnRelation_Count
EXTERNAL ARRAY taRelations
TRY
LOCAL I, lcText, lcDBC, loEx as Exception
lcText = ''
lcDBC = JUSTSTEM(DBC())
DIMENSION taRelations(1,5)
tnRelation_Count = ADBOBJECTS( taRelations,"RELATION" )
ASORT( taRelations, 2, -1, 0, 1 )
ASORT( taRelations, 1, -1, 0, 1 )
FOR I = 1 TO tnRelation_Count
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
*-----------------------------------------------------------------------------------
*-- RELATIONS INFO (REF.INTEGRITY: "C"=cascade, "R"=restrict, "I"=ignore)
*-----------------------------------------------------------------------------------
<<>>
ENDTEXT
TEXT TO lcText ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2+8
<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
C_FB2PRG_CODE = C_FB2PRG_CODE + lcText
CATCH TO loEx
IF THIS.l_Debug AND _VFP.STARTMODE = 0
SET STEP ON
ENDIF
THROW
ENDTRY
RETURN
ENDPROC
******************************************************************************************************************* *******************************************************************************************************************
PROCEDURE write_DefinicionObjetosOLE PROCEDURE write_DefinicionObjetosOLE
*-- Crea la definici<63>n del tag *< OLE: /> con la informaci<63>n de todos los objetos OLE *-- Crea la definici<63>n del tag *< OLE: /> con la informaci<63>n de todos los objetos OLE
@@ -7408,15 +7790,6 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
*-- Indexes *-- Indexes
THIS.write_DBF_INDEXES() THIS.write_DBF_INDEXES()
USE IN (SELECT("TABLABIN"))
FOR I = 1 TO ADATABASES(laDatabases2)
IF ASCAN( laDatabases, laDatabases2(I) ) = 0
SET DATABASE TO (laDatabases2(I))
CLOSE DATABASES
EXIT
ENDIF
ENDFOR
*-- Genero el DB2 *-- Genero el DB2
IF THIS.l_Test IF THIS.l_Test
@@ -7438,6 +7811,15 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
FINALLY FINALLY
USE IN (SELECT("TABLABIN")) USE IN (SELECT("TABLABIN"))
*-- Cierro DBC
FOR I = 1 TO ADATABASES(laDatabases2)
IF ASCAN( laDatabases, laDatabases2(I) ) = 0
SET DATABASE TO (laDatabases2(I))
CLOSE DATABASES
EXIT
ENDIF
ENDFOR
ENDTRY ENDTRY
RETURN RETURN
@@ -7468,29 +7850,27 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
lnDatabases_Count = ADATABASES(laDatabases) lnDatabases_Count = ADATABASES(laDatabases)
THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name ) THIS.getDBFmetadata( THIS.c_InputFile, @ln_HexFileType, @ll_FileHasCDX, @ll_FileHasMemo, @ll_FileIsDBC, @lc_DBC_Name )
USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN USE (THIS.c_InputFile) SHARED NOUPDATE ALIAS TABLABIN
OPEN DATABASE (THIS.c_InputFile) SHARED NOUPDATE
THIS.write_PROGRAM_HEADER() THIS.write_PROGRAM_HEADER()
*-- Header *-- Header
THIS.write_DBF_HEADER( ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name ) THIS.write_DBC_HEADER()
*-- Fields *-- Connections
THIS.write_DBF_FIELDS() THIS.write_DBC_CONNECTIONS()
*-- Indexes *-- Tables
THIS.write_DBF_INDEXES() THIS.write_DBC_TABLES()
USE IN (SELECT("TABLABIN")) *-- Views
THIS.write_DBC_VIEWS()
FOR I = 1 TO ADATABASES(laDatabases2) *-- Relations
IF ASCAN( laDatabases, laDatabases2(I) ) = 0 THIS.write_DBC_RELATIONS()
SET DATABASE TO (laDatabases2(I))
CLOSE DATABASES
EXIT
ENDIF
ENDFOR
*-- Genero el DB2
*-- Genero el DC2
IF THIS.l_Test IF THIS.l_Test
toModulo = C_FB2PRG_CODE toModulo = C_FB2PRG_CODE
ELSE ELSE
@@ -7509,6 +7889,7 @@ DEFINE CLASS c_conversor_dbc_a_prg AS c_conversor_bin_a_prg
FINALLY FINALLY
USE IN (SELECT("TABLABIN")) USE IN (SELECT("TABLABIN"))
CLOSE DATABASES
ENDTRY ENDTRY