Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome FísicoPrgfin/fgl/fgl900zl

Objetivo

Atualizar o módulo de Contabilidade com Lotes de outros módulos, tanto através de arquivos ASCII quanto diretamente do módulo.

Funcionamento

Na forma padrão, realiza-se a chamada através de um comando RUN normal, passando-se as temp-tables carregadas com as informações necessárias.

A sintaxe para a chamada da API é:

run prgfin/fgl/fgl900zl.py (Input 3,

                            Input “Aborta Tudo”,

                            Input yes,

                            Input 66,

                            Input “Apropriação”,

                            Input “Com Erro”,

                            Input yes,

                            Input yes,

                            input-output table tt_integr_lote_ctbl_1,

                            input-output table tt_integr_lancto_ctbl_1,

                            input-output table tt_integr_item_lancto_ctbl_1,

                            input-output table tt_integr_aprop_lancto_ctbl_1,

                            input-output table tt_integr_ctbl_valid_1).

 

  1. Os parâmetros de entrada são:

 

  1. Parâmetros:
  2. Número da versão de Integração (atualmente = 3)
  3. Tratamento do Erro

4.1.   Aborta Lotes Errados

4.2.   Aborta Tudo

  1. Emite Relatório

5.1.   Indica se deve listar os erros ou apenas gravar na temp-table tt_integr_ctbl_valid

5.2.   Quando igual yes, o programa chamador deverá abrir a stream “s_1” (ver definição no item “Como usuar”) onde será emitido o relatório

  1. Número de Linhas do relatório

6.1.   Apenas quando emite relatório, senão deve ser igual a “no”

  1. Nível de Impressão

7.1.   Indica até que nível deve ser impresso o relatório

7.2.   Apropriação, Item, Lançamento ou Lote

  1. Impressão de Lotes

8.1.   Indica o que deve ser impresso

8.2.   Com Erro, Sem Erro, Todos ou Nenhum

  1. Lógico de Primeiro Lote Contábil

9.1.   Deve ser usado quando estiver sendo integrado vários lotes contábeis ao mesmo tempo. No primeiro lote enviado deve vir igual a “yes” e os demais igual a “no”

  1. Lógico de Último Lote Contábil.

10.1.Deve ser usado quando estiver sendo integrado vários lotes contábeis ao mesmo tempo. No último lote enviado deve vir igual a “yes” e os demais igual a “no”

  1. Tabela Temporária com os dados do(s) Lote(s) à ser(em) gerado(s);
  2. Tabela Temporária com os dados do(s) Lançamento(s) à ser(em) gerado(s);
  3. Tabela Temporária com os dados do(s) Iten(s) à ser(em) gerado(s);
  4. Tabela Temporária com os dados da(s) Apropriaçõ(es) à ser(em) gerada(s);
  5. Tablea Temporária que conterá os possíveis erros da integração;

Tabelas Temporárias

Nos atributos das tabelas temporárias de entrada e saída:

 

1) Temp-table de Lotes Contábeis

Tabela Temporária

Descrição

Entrada/Saída

tt_integr_lote_ctbl_1

Conterá a capa do lote;

Não é obrigatório o número do lote, pois o programa de recebimento atribuirá o número de lote correto.

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta_cod_modul_dtsul

character

x(3)

Módulo

 

               

tta_num_lote_ctbl

Integer

>>>,>>>,>>9

Lote Contábil

 

 

tta_des_lote_ctbl               

character

x(40)

Descrição Lote

 

 

tta_cod_empresa

character

x(3)

Empresa

 

 

tta_dat_lote_ctbl

date

99/99/9999

Data Lote Contábil

 

 

ttv_ind_erro_valid

character

x(8)

 

 

 

tta_log_integr_ctbl_online

logical

Sim/Não

Integração Online

 

 

ttv_rec_integr_lote_ctbl

recid

>>>>>>9

 

 

 

 

def temp-table tt_integr_lote_ctbl_1 no-undo

    field tta_cod_modul_dtsul              as character format "x(3)" label "Módulo" column-label "Módulo"

    field tta_num_lote_ctbl                  as integer format ">>>,>>>,>>9" initial 1 label "Lote Contábil" column-label "Lote Contábil"

    field tta_des_lote_ctbl                   as character format "x(40)" label "Descrição Lote" column-label "Descrição Lote"

    field tta_cod_empresa                   as character format "x(3)" label "Empresa" column-label "Empresa"

    field tta_dat_lote_ctbl                   as date format "99/99/9999" initial today label "Data Lote Contábil" column-label "Data Lote Contábil"

    field ttv_ind_erro_valid                  as character format "X(08)" initial "Não"

    field tta_log_integr_ctbl_online      as logical format "Sim/Não" initial no label "Integração Online" column-label "Integr Online"

    field ttv_rec_integr_lote_ctbl          as recid format ">>>>>>9"

    index tt_recid                       

          ttv_rec_integr_lote_ctbl         ascending

    .

 

2) Temp-table de Lançamentos Contábeis

 Tabela Temporária

Descrição

Entrada/Saída

tt_integr_lancto_ctbl_1

Nível que agrupa os itens de lançamento (DB e CR) para um mesmo cenário e data.

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta_cod_cenar_ctbl

character

x(8)

Cenário Contábil

 

               

tta_log_lancto_conver           

logical

Sim/Não

Lançamento Conversão

 

 

tta_log_lancto_apurac_restdo

logical

Sim/Não

Lançamento Apuração

 

 

tta_cod_rat_ctbl

character

x(8)

Rateio Contábil

 

 

ttv_rec_integr_lote_ctbl

recid

>>>>>>9

 

 

 

tta_num_lancto_ctbl

integer

>>,>>>,>>9

Lançamento Contábil

 

 

ttv_ind_erro_valid

character

x(8)

 

 

 

tta_dat_lancto_ctbl

date

99/99/9999

Data Lançamento

 

 

ttv_rec_integr_lancto_ctbl

recid

>>>>>>9

 

 

 

 

def temp-table tt_integr_lancto_ctbl_1 no-undo

    field tta_cod_cenar_ctbl                 as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"

    field tta_log_lancto_conver             as logical format "Sim/Não" initial no label "Lançamento Conversão" column-label "Lançto Conv"

    field tta_log_lancto_apurac_restdo  as logical format "Sim/Não" initial no label "Lançamento Apuração" column-label "Lancto Apuração"

    field tta_cod_rat_ctbl                     as character format "x(8)" label "Rateio Contábil" column-label "Rateio"

    field ttv_rec_integr_lote_ctbl           as recid format ">>>>>>9"

    field tta_num_lancto_ctbl                as integer format ">>,>>>,>>9" initial 10 label "Lançamento Contábil" column-label "Lançamento Contábil"

    field ttv_ind_erro_valid                   as character format "X(08)" initial "Não"

    field tta_dat_lancto_ctbl                 as date format "99/99/9999" initial ? label "Data Lançamento" column-label "Data Lançto"

    field ttv_rec_integr_lancto_ctbl        as recid format ">>>>>>9"

    index tt_id                                    is primary unique

          ttv_rec_integr_lote_ctbl            ascending

          tta_num_lancto_ctbl                 ascending

    index tt_recid                       

          ttv_rec_integr_lancto_ctbl         ascending

    .

 

3) Temp-table de Itens de Lançamento Contábeis

 Tabela Temporária

Descrição

Entrada/Saída

tt_integr_item_lancto_ctbl_1

Devem conter os débitos e os créditos nas diversas contas contábeis, estabelecimento, centro de custo, unidade de negócio.

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_rec_integr_lancto_ctbl

recid

>>>>>>9

 

 

               

tta_num_seq_lancto_ctbl

integer

>>>>9

Sequência Lançto

 

 

tta_ind_natur_lancto_ctbl

character

x(2)

Natureza

 

 

tta_cod_plano_cta_ctbl

character

x(8)

Plano Contas

 

 

tta_cod_cta_ctbl

character

x(20)

Conta Contábil

 

 

tta_cod_plano_ccusto

character

x(8)

Plano Centros Custo

 

 

tta_cod_estab

character

x(3)

Estabelecimento

 

 

tta_cod_unid_negoc

character

x(3)

Unid Negócio

 

 

tta_cod_histor_padr

character

x(8)

Histórico Padrão

 

 

tta_des_histor_lancto_ctbl

character

x(2000)

Histórico Contábil

 

 

tta_cod_espec_docto

character

x(3)

Espécie Documento

 

 

tta_dat_docto

date

99/99/9999

Data Documento

 

 

tta_des_docto

character

x(25)

Número Documento

 

 

tta_cod_imagem

character

x(30)

Imagem

 

 

tta_cod_indic_econ

character

x(8)

Moeda

 

 

tta_dat_lancto_ctbl

date

99/99/9999

Data Lançamento

 

 

tta_qtd_unid_lancto_ctbl

decimal

>>,>>>,>>9.99

Quantidade

 

 

tta_val_lancto_ctbl

decimal

>>>>>,>>>,>>9.99

Valor Lançamento

 

 

tta_num_seq_lancto_ctbl_cpart

integer

>>>9

Sequência CPartida

 

 

ttv_ind_erro_valid

character

X(8)

 

 

 

tta_cod_ccusto

character

x(11)

Centro Custo

 

 

tta_cod_proj_financ

character

x(20)

Projeto

 

 

ttv_rec_integr_item_lancto_ctbl

recid

 

>>>>>>9

 

 

 

def temp-table tt_integr_item_lancto_ctbl_1 no-undo

    field ttv_rec_integr_lancto_ctbl             as recid format ">>>>>>9"

    field tta_num_seq_lancto_ctbl              as integer format ">>>>9" initial 0 label "Sequência Lançto" column-label "Sequência Lançto"

    field tta_ind_natur_lancto_ctbl             as character format "X(02)" initial "DB" label "Natureza" column-label "Natureza"

    field tta_cod_plano_cta_ctbl                as character format "x(8)" label "Plano Contas" column-label "Plano Contas"

    field tta_cod_cta_ctbl                         as character format "x(20)" label "Conta Contábil" column-label "Conta Contábil"

    field tta_cod_plano_ccusto                  as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"

    field tta_cod_estab                            as character format "x(3)" label "Estabelecimento" column-label "Estab"

    field tta_cod_unid_negoc                    as character format "x(3)" label "Unid Negócio" column-label "Un Neg"

    field tta_cod_histor_padr                    as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"

    field tta_des_histor_lancto_ctbl           as character format "x(2000)" label "Histórico Contábil" column-label "Histórico Contábil"

    field tta_cod_espec_docto                  as character format "x(3)" label "Espécie Documento" column-label "Espécie"

    field tta_dat_docto                             as date format "99/99/9999" initial ? label "Data Documento" column-label "Data Documento"

    field tta_des_docto                            as character format "x(25)" label "Número Documento" column-label "Número Documento"

    field tta_cod_imagem                         as character format "x(30)" label "Imagem" column-label "Imagem"

    field tta_cod_indic_econ                     as character format "x(8)" label "Moeda" column-label "Moeda"

    field tta_dat_lancto_ctbl                     as date format "99/99/9999" initial ? label "Data Lançamento" column-label "Data Lançto"

    field tta_qtd_unid_lancto_ctbl             as decimal format ">>,>>>,>>9.99" decimals 2 initial 0 label "Quantidade" column-label "Quantidade"

    field tta_val_lancto_ctbl                     as decimal format ">>>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Lançamento" column-label "Valor Lançamento"

    field tta_num_seq_lancto_ctbl_cpart    as integer format ">>>9" initial 0 label "Sequência CPartida" column-label "Sequência CP"

    field ttv_ind_erro_valid                       as character format "X(08)" initial "Não"

    field tta_cod_ccusto                           as Character format "x(11)" label "Centro Custo" column-label "Centro Custo"

    field tta_cod_proj_financ                    as character format "x(20)" label "Projeto" column-label "Projeto"

    field ttv_rec_integr_item_lancto_ctbl    as recid format ">>>>>>9"

    index tt_id                                        is primary unique

          ttv_rec_integr_lancto_ctbl             ascending

          tta_num_seq_lancto_ctbl              ascending

    index tt_recid                       

          ttv_rec_integr_item_lancto_ctbl      ascending

    .

 

4) Temp-table de Apropriações Contábeis

 Tabela Temporária

Descrição

Entrada/Saída

tt_integr_aprop_lancto_ctbl_1

Devem conter as aberturas dos créditos ou débitos por finalidades econômicas.

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

tta_cod_finalid_econ

character

x(10)

Finalidade

 

 

tta_cod_unid_negoc

character

x(3)

Unid Negócio

 

 

tta_cod_plano_ccusto

character

x(8)

Plano Centros Custo

 

 

tta_qtd_unid_lancto_ctbl

decimal

>>,>>>,>>9.99

Quantidade

 

 

tta_val_lancto_ctbl

decimal

>>>>>,>>>,>>9.99

Valor Lançamento

 

 

tta_num_id_aprop_lancto_ctbl

integer

9999999999

Apropriacao Lançto

 

 

ttv_rec_integr_item_lancto_ctbl

recid

>>>>>>9

 

 

 

tta_dat_cotac_indic_econ

date

99/99/9999

Data Cotação

 

 

tta_val_cotac_indic_econ

decimal

>>>>,>>9.9999999999

Cotação

 

 

ttv_ind_erro_valid

character

X(8)

 

 

 

tta_ind_orig_val_lancto_ctbl

character

X(10)

Origem Valor

 

 

tta_cod_ccusto

character

X(11)

Centro Custo

 

 

ttv_rec_integr_aprop_lancto_ctbl

recid

>>>>>>9

 

 

 

 

def temp-table tt_integr_aprop_lancto_ctbl_1 no-undo

    field tta_cod_finalid_econ                  as character format "x(10)" label "Finalidade" column-label "Finalidade"

    field tta_cod_unid_negoc                   as character format "x(3)" label "Unid Negócio" column-label "Un Neg"

    field tta_cod_plano_ccusto                 as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"

    field tta_qtd_unid_lancto_ctbl             as decimal format ">>,>>>,>>9.99" decimals 2 initial 0 label "Quantidade" column-label "Quantidade"

    field tta_val_lancto_ctbl                     as decimal format ">>>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Lançamento" column-label "Valor Lançamento"

    field tta_num_id_aprop_lancto_ctbl     as integer format "9999999999" initial 0 label "Apropriacao Lançto" column-label "Apropriacao Lançto"

    field ttv_rec_integr_item_lancto_ctbl    as recid format ">>>>>>9"

    field tta_dat_cotac_indic_econ            as date format "99/99/9999" initial ? label "Data Cotação" column-label "Data Cotação"

    field tta_val_cotac_indic_econ            as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"

    field ttv_ind_erro_valid                       as character format "X(08)" initial "Não"

    field tta_ind_orig_val_lancto_ctbl        as character format "X(10)" initial "Informado" label "Origem Valor" column-label "Origem Valor"

    field tta_cod_ccusto                          as Character format "x(11)" label "Centro Custo" column-label "Centro Custo"

    field ttv_rec_integr_aprop_lancto_ctbl  as recid format ">>>>>>9"

    index tt_id                                        is primary unique

          ttv_rec_integr_item_lancto_ctbl     ascending

          tta_cod_finalid_econ                   ascending

          tta_cod_unid_negoc                    ascending

          tta_cod_plano_ccusto                  ascending

          tta_cod_ccusto                           ascending

    index tt_recid                       

          ttv_rec_integr_aprop_lancto_ctbl ascending

    .

 

5) Temp-table com os Erros da Integração

 Tabela Temporária

Descrição

Entrada/Saída

tt_integr_ctbl_valid_1

Tabela com erros

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_rec_integr_ctbl

recid

>>>>>>9

 

 

 

ttv_num_mensagem

integer

>>>>,>>9

Número Mensagem

 

 

ttv_ind_pos_erro

character

X(8)

Posição

 

 

 

def new shared temp-table tt_integr_ctbl_valid_1 no-undo

    field ttv_rec_integr_ctbl                 as recid format ">>>>>>9"

    field ttv_num_mensagem               as integer format ">>>>,>>9" label "Número" column-label "Número Mensagem"

    field ttv_ind_pos_erro                   as character format "X(08)" label "Posição"

    index tt_id                                   is primary unique

          ttv_rec_integr_ctbl                  ascending

          ttv_num_mensagem                ascending

    .

 

Relacionamento entre as tabelas temporárias:

1      Armazenar no atributo ttv_rec_integr_lote_ctbl o recid(TT_INTEGR_LOTE_CTBL_1)

1      Armazenar no atributo ttv_rec_integr_lote_ctbl o recid(TT_INTEGR_LOTE_CTBL_1)

2      Armazenar no atributo ttv_rec_integr_lancto_ctbl o recid(TT_INTEGR_LANCTO_CTBL_1)

1      Armazenar no atributo ttv_rec_integr_lancto_ctbl o recid(TT_INTEGR_LANCTO_CTBL_1)

2      Armazenar no atributo ttv_rec_integr_item_lancto_ctbl o recid(TT_INTEGR_ITEM_LANCTO_CTBL_1)

1      Armazenar no atributo ttv_rec_integr_item_lancto_ctbl o recid(TT_INTEGR_ITEM_LANCTO_CTBL_1)

2      Armazenar no atributo ttv_rec_integr_aprop_lancto_ctbl o recid(TT_INTEGR_APROP_LANCTO_CTBL_1)

 

Observações:

 

-  Se o atributo tt_integr_lote_ctbl.ttv_ind_erro_valid = “Não”, o lote está na contabilidade do EMS 5.0

-  Senão o lote apresentou inconsistência, que podem ser vistas no relatório (se impresso) ou nos registros da tabela temporária tt_integr_ctbl_valid_1

-  Para que se tenha o rastreamento das apropriações geradas, a temp-table de apropriação retorna o atributo tta_num_id_aprop_lancto_ctbl com o valor do “token” da apropriação gerada na contabilidade;