Función que importa un archivo txt y crea el libro Z- Libro mayor auxiliar, en la Central de registro.
Sintaxis
ECDImpLivro - Função ( [ cEmp], [ aFils], [ cArqTxt], < cLayout>, < cNumOrdem>, < cNatureza>, < dDataIni>, < dDataFim> ) --> lRet
Parámetros/Elementos
Nombre | Tipo | Descripción | Obligatorio | Referencia |
cEmp | Carácter | Empresa actual | ||
aFils | Array of Record | Array con las sucursales del libro generado para su estructura debe ser la siguiente:aFils[1][1] := .T.aFils[2][2] := Código de la empresa aFils[2][3] := Código de la sucursal aFils[2][4] := Razón social de la empresa aFils[2][5] := Razón de la sucursal. Si no se informa el parámetro, se considerará la sucursal actual | ||
cArqTxt | Carácter | Camino del archivo texto. Si no se informa, la función creará el libro Z únicamente con los registros | ||
cLayout | Carácter | Layout registrado en la rutina "Layout auxiliar" CTBS100 | X | |
cNumOrdem | Carácter | Número de orden del libro | X | |
cNatureza | Carácter | Modalidad del libro | X | |
dDataIni | Fecha | Fecha inicial del registro | X | |
dDataFim | Fecha | Fecha final del registro | X |
Devolución
lRet(lógico)
El registro I555 referente a los TOTALES EN EL LIBRO AUXILIAR CON LAYOUT PARAMETRIZABLE no es atendido por Microsiga Protheus, consecuentemente, este debe ser personalizado por el cliente.
El layout puesto a disposición en el portal tampoco tiene este tratamiento, consecuentemente, debe ser ajustado para atender la necesidad del cliente.
A continuación, un EJEMPLO de cómo puede elaborarse el archivo de exportación ECD_LIVROZ.XML
En el registro I550, sustituir por la siguiente instrucción:
<register id='I550' description='Detalles del libro mayor auxiliar con layout parametrizable'>
<superior>I500</superior>
<table>TMPCSX</table>
<initiating>
<instruction><![CDATA[ECDQuery("TMPCSX" ,1," SELECT * FROM " + RetSQLTab("CSX") + " WHERE CSX_CODREV = '" + CS0->CS0_CODREV + "' AND " + RetSQLCond("CSX"))]]></instruction>
</initiating>
<lines Delimited='|' NumericNull='F' DecimalPoint=',' DateFormat='DDMMYYYY' DateNull='T' StringNull='T'>
<fields>
<field name='REG' type='C' size='004' dec='0' instruction='"I550"'></field>
<field name='RZ_CONT' type='C' size='000' dec='0' instruction='TMPCSX->CSX_DESCRI'> </field>
</fields>
<count>
<instruction>aTotal[11]++</instruction>
<instruction>aTotal[19]++</instruction>
<instruction>Eval({||cReg := "I550",nScan := aScan(aTotal[15],{|x| x[1] == cReg}),IIf(nScan==0,aadd(aTotal[15],{cReg,1}),aTotal[15][nScan][02]++)})</instruction>
</count>
</lines>
<finishing>
<instruction><![CDATA[ECDQuery("TMPCSX",2)]]></instruction>
</finishing>
</register>
<register id='I555' description='totalizador del libro mayor auxiliar con layout parametrizable'>
<superior>I550</superior>
<table>TMPCSY</table>
<initiating>
<instruction><![CDATA[ECDQuery("TMPCSY" ,1," SELECT * FROM " + RetSQLTab("CSY") + " WHERE CSY_CODREV = '" + CS0->CS0_CODREV + "' AND " + RetSQLCond("CSY"))]]></instruction>
</initiating>
<lines Delimited='|' NumericNull='F' DecimalPoint=',' DateFormat='DDMMYYYY' DateNull='T' StringNull='T'>
<fields>
<field name='REG' type='C' size='004' dec='0' instruction='"I550"'></field>
<field name='RZ_CONT' type='C' size='000' dec='0' instruction='TMPCSY->CSY_DESCRI'> </field>
</fields>
<count>
<instruction>aTotal[11]++</instruction>
<instruction>aTotal[19]++</instruction>
<instruction>Eval({||cReg := "I555",nScan := aScan(aTotal[15],{|x| x[1] == cReg}),IIf(nScan==0,aadd(aTotal[15],{cReg,1}),aTotal[15][nScan][02]++)})</instruction>
</count>
</lines>
<finishing>
<instruction><![CDATA[ECDQuery("TMPCSY",2)]]></instruction>
</finishing>
</register>
Esta información solo es un EJEMPLO y no trata todas las situaciones del usuario, cabiendo al usuario personalizar la forma que desea dividir.
Ejemplos
User Function ImportaTeste() Local cEmp := cEmpAntLocal cArqTxt := "C:\Arquivo_Intregacao\LAYOUTZ.TXT"Local cLayout := "SPE"Local nNumOrdem:= "00054"Local cNatureza:= "PRUEBA"Local dDataIni := cTod("01/01/09")Local dDataFim := cTod("31/12/09")ECDImpLivro(cEmp, Nil, cArqTxt , cLayout , nNumOrdem , cNatureza, dDataIni,dDataFim)Return
Alcance
Protheus 10