Función: ECDImpLivro - Función

Función que importa un archivo txt y crea el libro Z- Libro mayor auxiliar, en la Central de registro.

Sintaxis


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)

  • Devuelve .T. Si el libro se registró con éxito


Observaciones

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