Files
foxbin2prg/TESTS/DATOS_READONLY/FB2P_DBC.DC2
fdbozzo ede506655c - Nuevo método "analizarBloque_EXTERNAL_MEMBER" (Prg->Bin)
- Nuevo método "identificarBloquesDeCabecera" (Prg->Bin)
- Nuevo método "verificar_MIEMBROS_EXTERNOS" (Prg->Bin)
- Nueva propiedad "_Saved" en todas las clases intermedias para saver si los datos fueron pasados a propiedades
- Nueva propiedad "_ToText" que guarda el texto generado por cada clase independiente, para poder separar por archivo cuando se usa ClassPerFile
- Nuevo método intermedio "read_BinDataToProperties" que lee los datos del binario y los pasa a propiedades para luego generar los textos
2015-03-19 18:31:01 +01:00

1123 lines
34 KiB
Plaintext

*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_dbc.dbc" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
<DATABASE>
<Name>FB2P_DBC</Name>
<Comment>Comentario de los eventos o de la BDD???</Comment>
<Version>11</Version>
<DBCEvents>.T.</DBCEvents>
<DBCEventFilename>eventsfile.prg</DBCEventFilename>
<CONNECTIONS>
<CONNECTION>
<Name>REMOTE_CONNECTION_DBF</Name>
<Comment></Comment>
<DataSource>Visual FoxPro Tables</DataSource>
<Database>foxuser_fdb</Database>
<ConnectString></ConnectString>
<Asynchronous>.F.</Asynchronous>
<BatchMode>.T.</BatchMode>
<ConnectTimeout>15</ConnectTimeout>
<DisconnectRollback>.F.</DisconnectRollback>
<DispLogin>1</DispLogin>
<DispWarnings>.F.</DispWarnings>
<IdleTimeout>0</IdleTimeout>
<PacketSize>4096</PacketSize>
<PassWord></PassWord>
<QueryTimeout>0</QueryTimeout>
<Transactions>1</Transactions>
<UserId></UserId>
<WaitTime>100</WaitTime>
</CONNECTION>
<CONNECTION>
<Name>REMOTE_CONNECTION_ORACLE</Name>
<Comment></Comment>
<DataSource></DataSource>
<Database></Database>
<ConnectString>DRIVER={Oracle en OraClient11g_home1};SERVER=BDDServer;UID=BDDUser;PWD=BDDPwd;DBQ=CARTERA;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;MLD=0;ODA</ConnectString>
<Asynchronous>.F.</Asynchronous>
<BatchMode>.T.</BatchMode>
<ConnectTimeout>15</ConnectTimeout>
<DisconnectRollback>.F.</DisconnectRollback>
<DispLogin>3</DispLogin>
<DispWarnings>.F.</DispWarnings>
<IdleTimeout>10</IdleTimeout>
<PacketSize>8192</PacketSize>
<PassWord></PassWord>
<QueryTimeout>180</QueryTimeout>
<Transactions>1</Transactions>
<UserId></UserId>
<WaitTime>100</WaitTime>
</CONNECTION>
</CONNECTIONS>
<TABLES>
<TABLE>
<Name>FB2P_DEPTO</Name>
<Comment>Comentario de "fb2p_depto"</Comment>
<Path>fb2p_depto.dbf</Path>
<DeleteTrigger>__ri_delete_fb2p_depto()</DeleteTrigger>
<InsertTrigger></InsertTrigger>
<UpdateTrigger></UpdateTrigger>
<PrimaryKey>depto</PrimaryKey>
<RuleExpression>fb2p_depto_record_rule_validation()</RuleExpression>
<RuleText>fb2p_depto_record_rule_validation_message()</RuleText>
<FIELDS>
<FIELD>
<Name>depto</Name>
<Caption>"Depto.Caption"</Caption>
<Comment>depto_field_comment</Comment>
<DefaultValue>"Depto."</DefaultValue>
<DisplayClass>cl_optiongroup</DisplayClass>
<DisplayClassLibrary>c:\desa\foxbin2prg\tests\datos_readonly\fb2p_test.vcx</DisplayClassLibrary>
<Format>!</Format>
<InputMask>XXXXXXXXXX</InputMask>
<RuleExpression>depto_field_validation_rule()</RuleExpression>
<RuleText>depto_field_validation_message()</RuleText>
</FIELD>
<FIELD>
<Name>descrip</Name>
<Caption>Descripción</Caption>
<Comment></Comment>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
</FIELD>
</FIELDS>
<INDEXES>
<INDEX>
<Name>depto</Name>
<Comment></Comment>
<IsUnique>.T.</IsUnique>
</INDEX>
<INDEX>
<Name>descrip</Name>
<Comment></Comment>
<IsUnique>.F.</IsUnique>
</INDEX>
</INDEXES>
<RELATIONS>
</RELATIONS>
</TABLE>
<TABLE>
<Name>NOMBRELARGODELDBF</Name>
<Comment>Comentario de la tabla "fb2p_dbf"</Comment>
<Path>fb2p_dbf.dbf</Path>
<DeleteTrigger>del_trg()</DeleteTrigger>
<InsertTrigger>__ri_insert_nombrelargodeldbf().AND.(ins_trg())</InsertTrigger>
<UpdateTrigger>__ri_update_nombrelargodeldbf().AND.(upd_trg())</UpdateTrigger>
<PrimaryKey>id</PrimaryKey>
<RuleExpression>edad>10</RuleExpression>
<RuleText>"Mensaje de error de la regla edad > 10"</RuleText>
<FIELDS>
<FIELD>
<Name>nombre</Name>
<Caption>"Nombre:"</Caption>
<Comment>Comentario de "Nombre"</Comment>
<DefaultValue>"."</DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format>A</Format>
<InputMask>!XXXXXXXXXXXXXXXXXXXXXXXXXXXXX</InputMask>
<RuleExpression>.NOT.EMPTY(nombre)</RuleExpression>
<RuleText>"El nombre está vacío"</RuleText>
</FIELD>
<FIELD>
<Name>edad</Name>
<Caption></Caption>
<Comment></Comment>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
</FIELD>
<FIELD>
<Name>id</Name>
<Caption></Caption>
<Comment></Comment>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
</FIELD>
<FIELD>
<Name>bigtext</Name>
<Caption></Caption>
<Comment></Comment>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
</FIELD>
<FIELD>
<Name>depto</Name>
<Caption></Caption>
<Comment></Comment>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
</FIELD>
</FIELDS>
<INDEXES>
<INDEX>
<Name>id</Name>
<Comment></Comment>
<IsUnique>.T.</IsUnique>
</INDEX>
<INDEX>
<Name>edad_nd</Name>
<Comment></Comment>
<IsUnique>.F.</IsUnique>
</INDEX>
<INDEX>
<Name>notdeleted</Name>
<Comment></Comment>
<IsUnique>.F.</IsUnique>
</INDEX>
<INDEX>
<Name>edad</Name>
<Comment></Comment>
<IsUnique>.T.</IsUnique>
</INDEX>
<INDEX>
<Name>depto</Name>
<Comment></Comment>
<IsUnique>.F.</IsUnique>
</INDEX>
<INDEX>
<Name>nombre</Name>
<Comment></Comment>
<IsUnique>.F.</IsUnique>
</INDEX>
<INDEX>
<Name>i_nombre</Name>
<Comment></Comment>
<IsUnique>.F.</IsUnique>
</INDEX>
</INDEXES>
<RELATIONS>
<RELATION>
<Name>Relation 1</Name>
<ChildTable>NOMBRELARGODELDBF</ChildTable>
<ParentTable>FB2P_DEPTO</ParentTable>
<ChildIndex>DEPTO</ChildIndex>
<ParentIndex>DEPTO</ParentIndex>
<RefIntegrity></RefIntegrity>
</RELATION>
</RELATIONS>
</TABLE>
</TABLES>
<VIEWS>
<VIEW>
<Name>RV_DB_DEBUG_SETUP</Name>
<Comment></Comment>
<Tables>STROSNC.DB_DEBUG_SETUP</Tables>
<SQL>SELECT Db_debug_setup.PK_NAME, Db_debug_setup.ENABLED, Db_debug_setup.EVALUACION, Db_debug_setup.PK_METODO, Db_debug_setup.NIVELDEBUG, Db_debug_setup.F_DESDE, Db_debug_setup.F_HASTA, Db_debug_setup.DIRECCION_IP, Db_debug_setup.USUARIO FROM STROSNC.DB_DEBUG_SETUP Db_debug_setup ORDER BY Db_debug_setup.PK_NAME, Db_debug_setup.PK_METODO</SQL>
<AllowSimultaneousFetch>.T.</AllowSimultaneousFetch>
<BatchUpdateCount>1</BatchUpdateCount>
<CompareMemo>.T.</CompareMemo>
<ConnectName>remote_connection_Oracle</ConnectName>
<FetchAsNeeded>.T.</FetchAsNeeded>
<FetchMemo>.T.</FetchMemo>
<FetchSize>100</FetchSize>
<MaxRecords>-1</MaxRecords>
<Offline>.F.</Offline>
<ParameterList></ParameterList>
<Prepared>.T.</Prepared>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<SendUpdates>.F.</SendUpdates>
<ShareConnection>.T.</ShareConnection>
<SourceType>2</SourceType>
<UpdateType>1</UpdateType>
<UseMemoSize>255</UseMemoSize>
<WhereType>3</WhereType>
<FIELDS>
<FIELD>
<Name>pk_name</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(30)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.PK_NAME</UpdateName>
</FIELD>
<FIELD>
<Name>enabled</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>N(3)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.ENABLED</UpdateName>
</FIELD>
<FIELD>
<Name>evaluacion</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>M</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.EVALUACION</UpdateName>
</FIELD>
<FIELD>
<Name>pk_metodo</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(30)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.PK_METODO</UpdateName>
</FIELD>
<FIELD>
<Name>niveldebug</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>N(3)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.NIVELDEBUG</UpdateName>
</FIELD>
<FIELD>
<Name>f_desde</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>T</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.F_DESDE</UpdateName>
</FIELD>
<FIELD>
<Name>f_hasta</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>T</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.F_HASTA</UpdateName>
</FIELD>
<FIELD>
<Name>direccion_ip</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(30)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.DIRECCION_IP</UpdateName>
</FIELD>
<FIELD>
<Name>usuario</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(30)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>STROSNC.DB_DEBUG_SETUP.USUARIO</UpdateName>
</FIELD>
</FIELDS>
<RELATIONS>
</RELATIONS>
</VIEW>
<VIEW>
<Name>VISTA_LOCAL</Name>
<Comment></Comment>
<Tables>fb2p_dbc!nombrelargodeldbf</Tables>
<SQL>SELECT Fb2p_depto.descrip, Nombrelargodeldbf.nombre, Nombrelargodeldbf.edad, Nombrelargodeldbf.id, Nombrelargodeldbf.depto FROM fb2p_dbc!fb2p_depto INNER JOIN fb2p_dbc!nombrelargodeldbf ON Fb2p_depto.depto = Nombrelargodeldbf.depto</SQL>
<AllowSimultaneousFetch>.F.</AllowSimultaneousFetch>
<BatchUpdateCount>1</BatchUpdateCount>
<CompareMemo>.T.</CompareMemo>
<ConnectName></ConnectName>
<FetchAsNeeded>.F.</FetchAsNeeded>
<FetchMemo>.T.</FetchMemo>
<FetchSize>100</FetchSize>
<MaxRecords>-1</MaxRecords>
<Offline>.T.</Offline>
<ParameterList></ParameterList>
<Prepared>.F.</Prepared>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<SendUpdates>.T.</SendUpdates>
<ShareConnection>.F.</ShareConnection>
<SourceType>1</SourceType>
<UpdateType>1</UpdateType>
<UseMemoSize>255</UseMemoSize>
<WhereType>3</WhereType>
<FIELDS>
<FIELD>
<Name>descrip</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(50)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>fb2p_dbc!fb2p_depto.descrip</UpdateName>
</FIELD>
<FIELD>
<Name>nombre</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(30)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.T.</Updatable>
<UpdateName>fb2p_dbc!nombrelargodeldbf.nombre</UpdateName>
</FIELD>
<FIELD>
<Name>edad</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>N(3)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.T.</Updatable>
<UpdateName>fb2p_dbc!nombrelargodeldbf.edad</UpdateName>
</FIELD>
<FIELD>
<Name>id</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>I</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.T.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.F.</Updatable>
<UpdateName>fb2p_dbc!nombrelargodeldbf.id</UpdateName>
</FIELD>
<FIELD>
<Name>depto</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(10)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.T.</Updatable>
<UpdateName>fb2p_dbc!nombrelargodeldbf.depto</UpdateName>
</FIELD>
</FIELDS>
<RELATIONS>
</RELATIONS>
</VIEW>
<VIEW>
<Name>VW_ORA_CONVENIOS</Name>
<Comment></Comment>
<Tables>CONVENIOS</Tables>
<SQL>SELECT CONVENIOS.ID_CONVENIO,CONVENIOS.NOMBRE_CONVENIO,CONVENIOS.HISTORICO FROM CONVENIOS</SQL>
<AllowSimultaneousFetch>.F.</AllowSimultaneousFetch>
<BatchUpdateCount>1</BatchUpdateCount>
<CompareMemo>.T.</CompareMemo>
<ConnectName>remote_connection_Oracle</ConnectName>
<FetchAsNeeded>.F.</FetchAsNeeded>
<FetchMemo>.T.</FetchMemo>
<FetchSize>100</FetchSize>
<MaxRecords>-1</MaxRecords>
<Offline>.T.</Offline>
<ParameterList></ParameterList>
<Prepared>.F.</Prepared>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<SendUpdates>.F.</SendUpdates>
<ShareConnection>.T.</ShareConnection>
<SourceType>2</SourceType>
<UpdateType>1</UpdateType>
<UseMemoSize>255</UseMemoSize>
<WhereType>3</WhereType>
<FIELDS>
<FIELD>
<Name>id_convenio</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(15)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.T.</Updatable>
<UpdateName>CONVENIOS.ID_CONVENIO</UpdateName>
</FIELD>
<FIELD>
<Name>nombre_convenio</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(250)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.T.</Updatable>
<UpdateName>CONVENIOS.NOMBRE_CONVENIO</UpdateName>
</FIELD>
<FIELD>
<Name>historico</Name>
<Caption></Caption>
<Comment></Comment>
<DataType>C(1)</DataType>
<DefaultValue></DefaultValue>
<DisplayClass></DisplayClass>
<DisplayClassLibrary></DisplayClassLibrary>
<Format></Format>
<InputMask></InputMask>
<KeyField>.F.</KeyField>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<Updatable>.T.</Updatable>
<UpdateName>CONVENIOS.HISTORICO</UpdateName>
</FIELD>
</FIELDS>
<RELATIONS>
</RELATIONS>
</VIEW>
<VIEW>
<Name>VW_ORA_DUAL</Name>
<Comment></Comment>
<Tables>DUAL</Tables>
<SQL>SELECT DUAL.DUMMY FROM DUAL</SQL>
<AllowSimultaneousFetch>.F.</AllowSimultaneousFetch>
<BatchUpdateCount>1</BatchUpdateCount>
<CompareMemo>.T.</CompareMemo>
<ConnectName>REMOTE_CONNECTION_ORACLE</ConnectName>
<FetchAsNeeded>.F.</FetchAsNeeded>
<FetchMemo>.T.</FetchMemo>
<FetchSize>100</FetchSize>
<MaxRecords>-1</MaxRecords>
<Offline>.T.</Offline>
<ParameterList></ParameterList>
<Prepared>.F.</Prepared>
<RuleExpression></RuleExpression>
<RuleText></RuleText>
<SendUpdates>.F.</SendUpdates>
<ShareConnection>.T.</ShareConnection>
<SourceType>2</SourceType>
<UpdateType>1</UpdateType>
<UseMemoSize>255</UseMemoSize>
<WhereType>3</WhereType>
<FIELDS>
<FIELD>
<Name>dummy</Name>
<Caption>Dummy</Caption>
<Comment>Dummy_field_comment</Comment>
<DataType>C(1)</DataType>
<DefaultValue>Depto.</DefaultValue>
<DisplayClass>cl_optiongroup</DisplayClass>
<DisplayClassLibrary>fb2p_test.vcx</DisplayClassLibrary>
<Format>!</Format>
<InputMask>XXXXXXXXXX</InputMask>
<KeyField>.F.</KeyField>
<RuleExpression>dummy_field_validation_rule()</RuleExpression>
<RuleText>dummy_field_validation_message</RuleText>
<Updatable>.T.</Updatable>
<UpdateName>DUAL.DUMMY</UpdateName>
</FIELD>
</FIELDS>
<RELATIONS>
</RELATIONS>
</VIEW>
</VIEWS>
<STOREDPROCEDURES><![CDATA[
PROCEDURE ins_trg
STRTOFILE( PROGRAM(), FORCEPATH( "LOG_DBC.TXT", JUSTPATH( EVL( DBC(),DBF() ) ) ) )
ENDPROC
PROCEDURE upd_trg
STRTOFILE( PROGRAM(), FORCEPATH( "LOG_DBC.TXT", JUSTPATH( EVL( DBC(),DBF() ) ) ) )
ENDPROC
PROCEDURE del_trg
STRTOFILE( PROGRAM(), FORCEPATH( "LOG_DBC.TXT", JUSTPATH( EVL( DBC(),DBF() ) ) ) )
ENDPROC
PROCEDURE depto_field_validation_rule
ENDPROC
PROCEDURE depto_field_validation_message
RETURN 'Mensaje para Field Rule "depto_field_validation_rule"'
ENDPROC
PROCEDURE fb2p_depto_record_rule_validation
ENDPROC
PROCEDURE fb2p_depto_record_rule_validation_message
RETURN 'Mensaje para Record Rule "fb2p_depto_record_rule_validation"'
ENDPROC
PROCEDURE depto_field_def_value
RETURN 'Dpto.'
ENDPROC
PROCEDURE dbc_OpenData
LPARAMETERS cDatabaseName, lExclusive, lNoUpdate, lValidate
* ? ' cDatabaseName = ' + TRANSFORM(cDatabaseName) + ' - ' + TYPE('cDatabaseName')
* ? ' lExclusive = ' + TRANSFORM(lExclusive) + ' - ' + TYPE('lExclusive')
* ? ' lNoUpdate = ' + TRANSFORM(lNoUpdate) + ' - ' + TYPE('lNoUpdate')
* ? ' lValidate = ' + TRANSFORM(lValidate) + ' - ' + TYPE('lValidate')
ENDPROC
**__RI_HEADER!@ Do NOT REMOVE or MODIFY this line!!!! @!__RI_HEADER**
PROCEDURE RIDELETE
LOCAL llRetVal
llRetVal=.T.
IF (ISRLOCKED() AND !DELETED()) OR !RLOCK()
llRetVal=.F.
ELSE
IF !DELETED()
DELETE
IF CURSORGETPROP('BUFFERING') > 1
=TABLEUPDATE()
ENDIF
ENDIF NOT already DELETED
ENDIF
UNLOCK RECORD (RECNO())
llRetVal=pnerror=0
RETURN llRetVal
PROCEDURE RIUPDATE
LPARAMETERS tcFieldName,tcNewValue,tcCascadeParent
LOCAL llRetVal
llRetVal=.T.
IF ISRLOCKED() OR !RLOCK()
llRetVal=.F.
ELSE
IF EVAL(tcFieldName)<>tcNewValue
PRIVATE pcCascadeParent
pcCascadeParent=UPPER(IIF(TYPE("tcCascadeParent")<>"C","",tcCascadeParent))
REPLACE (tcFieldName) WITH tcNewValue
IF CURSORGETPROP('BUFFERING') > 1
=TABLEUPDATE()
ENDIF
ENDIF VALUES don't already match
ENDIF it's locked already, or I was able to lock it
UNLOCK RECORD (RECNO())
llRetVal=pnerror=0
RETURN llRetVal
PROCEDURE rierror
PARAMETERS tnErrNo,tcMessage,tcCode,tcProgram
LOCAL lnErrorRows,lnXX
lnErrorRows=ALEN(gaErrors,1)
IF TYPE('gaErrors[lnErrorRows,1]')<>"L"
DIMENSION gaErrors[lnErrorRows+1,alen(gaErrors,2)]
lnErrorRows=lnErrorRows+1
ENDIF
gaErrors[lnErrorRows,1]=tnErrNo
gaErrors[lnErrorRows,2]=tcMessage
gaErrors[lnErrorRows,3]=tcCode
gaErrors[lnErrorRows,4]=""
lnXX=1
DO WHILE !EMPTY(PROGRAM(lnXX))
gaErrors[lnErrorRows,4]=gaErrors[lnErrorRows,4]+","+;
PROGRAM(lnXX)
lnXX=lnXX+1
ENDDO
gaErrors[lnErrorRows,5]=pcParentDBF
gaErrors[lnErrorRows,6]=pnParentRec
gaErrors[lnErrorRows,7]=pcParentID
gaErrors[lnErrorRows,8]=pcParentExpr
gaErrors[lnErrorRows,9]=pcChildDBF
gaErrors[lnErrorRows,10]=pnChildRec
gaErrors[lnErrorRows,11]=pcChildID
gaErrors[lnErrorRows,12]=pcChildExpr
RETURN tnErrNo
PROCEDURE riopen
PARAMETERS tcTable,tcOrder
LOCAL lcCurWkArea,lcNewWkArea,lnInUseSpot,lnOccurs,lnOccurance
lnInUseSpot=0
lnOccurs = OCCURS(UPPER(tcTable)+"*",UPPER(pcRIcursors))
FOR lnOccurance = 1 TO lnOccurs
lnInUseSpot=ATC(tcTable+"*",pcRIcursors,lnOccurance)
IF ISDIGIT(SUBSTR(pcRIcursors,lnInUseSpot-1,1)) OR;
EMPTY(SUBSTR(pcRIcursors,lnInUseSpot-1,1))
EXIT
ENDIF
lnInUseSpot=0
ENDFOR
IF lnInUseSpot=0
lcCurWkArea=SELECT()
SELECT 0
lcNewWkArea=SELECT()
IF NOT EMPTY(tcOrder)
USE (tcTable) AGAIN ORDER (tcOrder) ;
ALIAS ("__ri"+LTRIM(STR(SELECT()))) SHARE
ELSE
USE (tcTable) AGAIN ALIAS ("__ri"+LTRIM(STR(SELECT()))) SHARE
ENDIF
IF pnerror=0
pcRIcursors=pcRIcursors+UPPER(tcTable)+"?"+STR(SELECT(),5)
ELSE
lcNewWkArea=0
ENDIF something bad happened WHILE attempting TO OPEN the FILE
ELSE
lcNewWkArea=VAL(SUBSTR(pcRIcursors,lnInUseSpot+LEN(tcTable)+1,5))
pcRIcursors = STRTRAN(pcRIcursors,UPPER(tcTable)+"*"+STR(lcNewWkArea,5),;
UPPER(tcTable)+"?"+STR(lcNewWkArea,5))
IF NOT EMPTY(tcOrder)
SET ORDER TO (tcOrder) IN (lcNewWkArea)
ENDIF sent an ORDER
IF pnerror<>0
lcNewWkArea=0
ENDIF something bad happened WHILE setting ORDER
ENDIF
RETURN (lcNewWkArea)
PROCEDURE riend
PARAMETERS tlSuccess
LOCAL lnXX,lnSpot,lcWorkArea
IF tlSuccess
END TRANSACTION
ELSE
SET DELETED OFF
ROLLBACK
SET DELETED ON
ENDIF
IF EMPTY(pcRIolderror)
ON ERROR
ELSE
ON ERROR &pcRIolderror.
ENDIF
FOR lnXX=1 TO OCCURS("*",pcRIcursors)
lnSpot=ATC("*",pcRIcursors,lnXX)+1
USE IN (VAL(SUBSTR(pcRIcursors,lnSpot,5)))
ENDFOR
IF pcOldCompat = "ON"
SET COMPATIBLE ON
ENDIF
IF pcOldDele="OFF"
SET DELETED OFF
ENDIF
IF pcOldExact="ON"
SET EXACT ON
ENDIF
IF pcOldTalk="ON"
SET TALK ON
ENDIF
DO CASE
CASE EMPTY(pcOldDBC)
SET DATA TO
CASE pcOldDBC<>DBC()
SET DATA TO (pcOldDBC)
ENDCASE
RETURN .T.
PROCEDURE rireuse
* rireuse.prg
PARAMETERS tcTableName,tcWkArea
pcRIcursors = STRTRAN(pcRIcursors,UPPER(tcTableName)+"?"+STR(tcWkArea,5),;
UPPER(tcTableName)+"*"+STR(tcWkArea,5))
RETURN .T.
********************************************************************************
** "Referential integrity delete trigger for" fb2p_depto
PROCEDURE __RI_DELETE_fb2p_depto
LOCAL llRetVal
llRetVal = .T.
PRIVATE pcParentDBF,pnParentRec,pcChildDBF,pnChildRec,pcParentID,pcChildID
PRIVATE pcParentExpr,pcChildExpr
STORE "" TO pcParentDBF,pcChildDBF,pcParentID,pcChildID,pcParentExpr,pcChildExpr
STORE 0 TO pnParentRec,pnChildRec
IF _TRIGGERLEVEL=1
BEGIN TRANSACTION
PRIVATE pcRIcursors,pcRIwkareas,pcRIolderror,pnerror,;
pcOldDele,pcOldExact,pcOldTalk,pcOldCompat,pcOldDBC
pcOldTalk=SET("TALK")
SET TALK OFF
pcOldDele=SET("DELETED")
pcOldExact=SET("EXACT")
pcOldCompat=SET("COMPATIBLE")
SET COMPATIBLE OFF
SET DELETED ON
SET EXACT OFF
pcRIcursors=""
pcRIwkareas=""
pcRIolderror=ON("error")
pnerror=0
ON ERROR pnerror=rierror(ERROR(),MESSAGE(),MESSAGE(1),PROGRAM())
IF TYPE('gaErrors(1)')<>"U"
RELEASE gaErrors
ENDIF
PUBLIC gaErrors(1,12)
pcOldDBC=DBC()
SET DATA TO ("FB2P_DBC")
ENDIF FIRST TRIGGER
LOCAL lcParentID && parent's value to be sought in child
LOCAL lcChildWkArea && child work area handle returned by riopen
LOCAL lcParentWkArea
LOCAL llDelHeaderarea
LOCAL lcStartArea
lcStartArea=SELECT()
llRetVal=.T.
lcParentWkArea=SELECT()
SELECT (lcParentWkArea)
pcParentDBF=DBF()
pnParentRec=RECNO()
STORE DEPTO TO lcParentID,pcParentID
pcParentExpr="DEPTO"
lcChildWkArea=riopen("nombrelargodeldbf","depto")
IF lcChildWkArea<=0
IF _TRIGGERLEVEL=1
DO riend WITH .F.
ENDIF AT the END OF the highest TRIGGER LEVEL
RETURN .F.
ENDIF NOT able TO OPEN the CHILD WORK area
pcChildDBF=DBF(lcChildWkArea)
SELECT (lcChildWkArea)
SEEK lcParentID
SCAN WHILE DEPTO=lcParentID AND llRetVal
pnChildRec=RECNO()
pcChildID=DEPTO
pcChildExpr="DEPTO"
llRetVal=RIDELETE()
ENDSCAN GET ALL OF the nombrelargodeldbf RECORDS
=rireuse("nombrelargodeldbf",lcChildWkArea)
IF NOT llRetVal
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
ENDIF
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
** "End of Referential integrity Delete trigger for" fb2p_depto
********************************************************************************
********************************************************************************
PROCEDURE __RI_UPDATE_nombrelargodeldbf
** "Referential integrity update trigger for" nombrelargodeldbf
LOCAL llRetVal
llRetVal = .T.
PRIVATE pcParentDBF,pnParentRec,pcChildDBF,pnChildRec,pcParentID,pcChildID
PRIVATE pcParentExpr,pcChildExpr
STORE "" TO pcParentDBF,pcChildDBF,pcParentID,pcChildID,pcParentExpr,pcChildExpr
STORE 0 TO pnParentRec,pnChildRec
IF _TRIGGERLEVEL=1
BEGIN TRANSACTION
PRIVATE pcRIcursors,pcRIwkareas,pcRIolderror,pnerror,;
pcOldDele,pcOldExact,pcOldTalk,pcOldCompat,pcOldDBC
pcOldTalk=SET("TALK")
SET TALK OFF
pcOldDele=SET("DELETED")
pcOldExact=SET("EXACT")
pcOldCompat=SET("COMPATIBLE")
SET COMPATIBLE OFF
SET DELETED ON
SET EXACT OFF
pcRIcursors=""
pcRIwkareas=""
pcRIolderror=ON("error")
pnerror=0
ON ERROR pnerror=rierror(ERROR(),MESSAGE(),MESSAGE(1),PROGRAM())
IF TYPE('gaErrors(1)')<>"U"
RELEASE gaErrors
ENDIF
PUBLIC gaErrors(1,12)
pcOldDBC=DBC()
SET DATA TO ("FB2P_DBC")
ENDIF FIRST TRIGGER
LOCAL lcParentID && parent's value to be sought in child
LOCAL lcOldParentID && previous parent id value
LOCAL lcChildWkArea && child work area handle returned by riopen
LOCAL lcChildID && child's value to be sought in parent
LOCAL lcOldChildID && old child id value
LOCAL lcParentWkArea && parentwork area handle returned by riopen
LOCAL lcStartArea
lcStartArea=SELECT()
llRetVal=.T.
lcChildWkArea=SELECT()
IF _TRIGGERLEVEL=1 OR TYPE("pccascadeparent")#"C" OR (NOT pcCascadeParent=="FB2P_DEPTO")
SELECT (lcChildWkArea)
lcChildID=DEPTO
lcOldChildID=OLDVAL("DEPTO")
pcChildDBF=DBF(lcChildWkArea)
pnChildRec=RECNO(lcChildWkArea)
pcChildID=lcOldChildID
pcChildExpr="DEPTO"
IF ISNULL(lcChildID) OR ISNULL(lcOldChildID) OR lcChildID <> lcOldChildID
lcParentWkArea=riopen("fb2p_depto","depto")
IF lcParentWkArea<=0
IF _TRIGGERLEVEL=1
DO riend WITH .F.
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN .F.
ENDIF NOT able TO OPEN the CHILD WORK area
pcParentDBF=DBF(lcParentWkArea)
llRetVal=SEEK(lcChildID,lcParentWkArea)
pnParentRec=RECNO(lcParentWkArea)
IF llRetVal AND NOT (ISRLOCKED(pnParentRec, lcParentWkArea) OR ;
ISFLOCKED(lcParentWkArea))
IF RLOCK(lcParentWkArea)
UNLOCK RECORD pnParentRec IN (lcParentWkArea)
ELSE
=rireuse("tparen",lcParentWkArea)
pnerror = rierror(-1,"Insert restrict rule violated.","","")
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
ENDIF
ENDIF
=rireuse("fb2p_depto",lcParentWkArea)
IF NOT llRetVal
pnerror = rierror(-1,"Insert restrict rule violated.","","")
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
ENDIF no PARENT
ENDIF THIS VALUE was changed
ENDIF NOT PART OF a CASCADE FROM "fb2p_depto"
lcParentWkArea=lcChildWkArea
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
** "End of Referential integrity Update trigger for" nombrelargodeldbf
********************************************************************************
********************************************************************************
** "Referential integrity insert trigger for" nombrelargodeldbf
PROCEDURE __RI_INSERT_nombrelargodeldbf
LOCAL llRetVal
llRetVal = .T.
PRIVATE pcParentDBF,pnParentRec,pcChildDBF,pnChildRec,pcParentID,pcChildID
PRIVATE pcParentExpr,pcChildExpr
STORE "" TO pcParentDBF,pcChildDBF,pcParentID,pcChildID,pcParentExpr,pcChildExpr
STORE 0 TO pnParentRec,pnChildRec
IF _TRIGGERLEVEL=1
BEGIN TRANSACTION
PRIVATE pcRIcursors,pcRIwkareas,pcRIolderror,pnerror,;
pcOldDele,pcOldExact,pcOldTalk,pcOldCompat,pcOldDBC
pcOldTalk=SET("TALK")
SET TALK OFF
pcOldDele=SET("DELETED")
pcOldExact=SET("EXACT")
pcOldCompat=SET("COMPATIBLE")
SET COMPATIBLE OFF
SET DELETED ON
SET EXACT OFF
pcRIcursors=""
pcRIwkareas=""
pcRIolderror=ON("error")
pnerror=0
ON ERROR pnerror=rierror(ERROR(),MESSAGE(),MESSAGE(1),PROGRAM())
IF TYPE('gaErrors(1)')<>"U"
RELEASE gaErrors
ENDIF
PUBLIC gaErrors(1,12)
pcOldDBC=DBC()
SET DATA TO ("FB2P_DBC")
ENDIF FIRST TRIGGER
LOCAL lcChildID && child's value to be sought in parent
LOCAL lcParentWkArea && parentwork area handle returned by riopen
LOCAL lcChildWkArea && child's work area
LOCAL lcStartArea
lcStartArea=SELECT()
llRetVal=.T.
lcChildWkArea=SELECT()
SELECT (lcChildWkArea)
lcChildID=DEPTO
pcChildDBF=DBF(lcChildWkArea)
pnChildRec=RECNO(lcChildWkArea)
pcChildID=lcChildID
pcChildExpr="DEPTO"
lcParentWkArea=riopen("fb2p_depto","depto")
IF lcParentWkArea<=0
IF _TRIGGERLEVEL=1
DO riend WITH .F.
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN .F.
ENDIF NOT able TO OPEN the CHILD WORK area
pcParentDBF=DBF(lcParentWkArea)
llRetVal=SEEK(lcChildID,lcParentWkArea)
pnParentRec=RECNO(lcParentWkArea)
IF llRetVal AND NOT (ISRLOCKED(pnParentRec, lcParentWkArea) OR ;
ISFLOCKED(lcParentWkArea))
IF RLOCK(lcParentWkArea)
UNLOCK RECORD pnParentRec IN (lcParentWkArea)
ELSE
=rireuse("tparen",lcParentWkArea)
pnerror = rierror(-1,"Insert restrict rule violated.","","")
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
ENDIF
ENDIF
=rireuse("fb2p_depto",lcParentWkArea)
IF NOT llRetVal
pnerror = rierror(-1,"Insert restrict rule violated.","","")
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
ENDIF
IF _TRIGGERLEVEL=1
DO riend WITH llRetVal
ENDIF AT the END OF the highest TRIGGER LEVEL
SELECT (lcStartArea)
RETURN llRetVal
** "End of Referential integrity insert trigger for" nombrelargodeldbf
********************************************************************************
**__RI_FOOTER!@ Do NOT REMOVE or MODIFY this line!!!! @!__RI_FOOTER**
]]></STOREDPROCEDURES>
</DATABASE>