quinta-feira, 28 de novembro de 2013

Importação do Lote Folha HCM ( Datasul )


DEF VAR i-cont AS INT FORMAT "99999" INIT 1.
def temp-table tt-dados no-undo
    field i-func  as int FORMAT ">>>>>>>9"
    field i-valor as int FORMAT ">>>>>>>9"
    index id-tt-func i-func.
    
FOR EACH tt-dados:
    DELETE tt-dados.
END.

/*  INFORMAR AQUI O NOME DO ARQUIVO COM O CAMINHO */
input from c:\arquivo.CSV.
repeat:
    create tt-dados.
    import delimiter ";" tt-dados.
end.
input close.    

OUTPUT TO c:\SAIDA.txt.
                   /*    Reader */
PUT '"'                            AT 01   /* constante */
    'MVTOLOTE'                     AT 02   /* constante */
    '00001'                        AT 10   /* nr seq. registro */
    '1'                            AT 15   /* indent. lote */
    '010'                          AT 16   /* codigo da empresa */
    '050'                          AT 19   /* codigo do estab */
    '0'                            AT 22   /* categoria salarial */
    '03'                           AT 23   /* mes referencia */
    '2007'                         AT 25   /* ano referencia */
    '00000405'                     AT 29   /* nr. lote */
    '1'                            AT 37   /* tipo de folha */
    '9'                            AT 38   /* parcela */
    '"'                            AT 97   /* constante */
    SKIP.

                  /* detalhe */

FOR EACH tt-dados
   WHERE tt-dados.i-func > 0:
    ASSIGN i-cont = i-cont + 1.
    PUT '"'                                     AT 01   /* constante */
        'MVTOLOTE'                              AT 02   /* constante */
        i-cont                                  AT 10   /* nr seq. registro */
        '2'                                     AT 15   /* indent. lote */
        '010'                                   AT 16   /* codigo da empresa */
        '050'                                   AT 19   /* codigo do estab */
        '0'                                     AT 22   /* categoria salarial */
        '03'                                    AT 23   /* mes referencia */
        '2007'                                  AT 25   /* ano referencia */
        '00000405'                              AT 29   /* nr. lote */
        '1'                                     AT 37   /* tipo de folha */
        '9'                                     AT 38   /* parcela */
        tt-dados.i-func FORMAT "99999999"       AT 39   /* cod. funcionario */
        '405'                                   AT 47   /* cod. evento */  
/*        '00002'                                 AT 50   /* QUANTIDADE */ */
        tt-dados.i-valor * 100 FORMAT "9999999999"    AT 56   /* valor */
        '"'                                     AT 97   /* constante */
        SKIP.
END.


OUTPUT CLOSE.

Nenhum comentário:

Postar um comentário