1086 lines
34 KiB
Plaintext
1086 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="C:\DESA\foxbin2prg\TESTS\DATOS_READONLY\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>
|
|
</INDEXES>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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>
|
|
</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></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>DUAL.DUMMY</UpdateName>
|
|
</FIELD>
|
|
</FIELDS>
|
|
</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> |