Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome FísicoPrgfin/fgl/
fgl900zl
fgl900zo

 


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, a API é persistida em memória e posteriormente chamada através de uma PI, passando-se as temp-tables carregadas com as informações necessárias.

A sintaxe para a chamada da API é:

define variable v_hdl_api as handle      nohandle      no-undo.
def new shared stream s_1. /*USADO QUANDO EMITE RELATÓRIO É IHUAL IGUAL A SIM*/

 

run prgfin/fgl/fgl900zo.py persistent set v_hdl_api. 

run pi_main_api_lote_ctbl_recebto_1 2 in v_hdl_api
                                                                                        (input 3,
                                             input                                              input "Aborta Tudo",

                                             input yes,

                                             input 66,

                                             input "Apropriação",

                                             input                                              input yes,
                                             input 66,
                                             input "Apropriação",
                                             input "Com Erro",

                                             input yes,

                                             input yes,

                                             input                                             input yes,
                                             input yes,
                                             input-output table tt_integr_lote_ctbl_1,                                             inputnew,
                                             input-output table tt_integr_lancto_ctbl_1,                                             inputnew,
                                             input-output table tt_integr_item_lancto_ctbl_1,                                             inputnew,
                                             input-output table tt_integr_aprop_lancto_ctbl_1,                                             inputnew,
                                             input-output table tt_integr_ctbl_valid_1,

                                             input-output table tt_params_generic_api).

 

new,
                                             input-output table tt_api_params_generic).

run run pi_finalizar_fgl900zo in v_hdl_api.
delete procedure v_hdl_api.


OBS: 

delete procedure v_hdl_api.

 

Caso tenha migrado para base utilizando rowid e esteja utilizado uma versão inferior a 2 da API, deve ser definido a include abaixo:

/*-- Filtro RECID x ROWID Aplicado --*/
{include/i_fncrowid.i}

E todas variáveis do tipo RECID, devem serem definidas conforme o modelo abaixo:

field ttv_rec_integr_lote_ctbl          as &IF "{&ROWID_READY}" = "YES" &THEN rowid &ELSE recid format ">>>>>>9" &ENDIF 



Os parâmetros de entrada são:

 


Parâmetros:

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

...

  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. Tabela Temporária que conterá os possíveis erros da integração;
  6. Tabela Genérica contendo campos de entradas ou saídas que poderão estar relacionadas a qualquer uma das temp-tables acima citadas.

 

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

new

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

row_integr_lote_ctbl

recid

>>>>>>9

 

 

 

 

rowid






def temp-table tt_integr_lote_ctbl_1 new no-undo

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

...

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

    field ttv_recrow_integr_lote_ctbl         as recid format ">>>>>>9"rowid 

    index tt_recid                       rowid                       

          ttv_recrow_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

new

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

 

 

ttv_rec_integr_lote_ctbl

recid

>>>>>>9

 

 

 



tta_cod_rat_ctbl

character

x(8)

Rateio Contábil

 

 



tta_num_lancto_ctbl

integer

>>,>>>,>>9

Lançamento

Contábil

 

 

Contábil



ttv_ind_erro_valid

character

x(8)

 

 

 




tta_dat_lancto_ctbl

date

99/99/9999

Data Lançamento

 

 



ttv_row_integr_lote_ctbl

rowid





ttv_

rec

row_integr_lancto_ctbl

recid

>>>>>>9

 

 

 

 

rowid






def  def temp-table tt_integr_lancto_ctbl_1 new no-undo
        field tta_cod_cenar_ctbl               ctbl               as character format "x(8)" label "Cenário ContábilCen rio Cont bil" column-label "Cenário ContábilCen rio Cont bil"
        field tta_log_lancto_conver            as conver            as logical format "Sim/NãoN’o" initial no label "Lançamento ConversãoLan?amento Convers’o" column-label "Lançto Lan?to Conv"
        field tta_log_lancto_apurac_restdo     restdo     as logical format "Sim/NãoN’o" initial no label "Lançamento ApuraçãoLan?amento Apura?’o" column-label "Lancto ApuraçãoApura?’o"
        field tta_cod_rat_ctbl                 ctbl                 as character format "x(8)" label "Rateio ContábilCont bil" column-label "Rateio"

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

    field     field tta_num_lancto_ctbl              as lancto_ctbl              as integer format ">>,>>>,>>9" initial 10 label "Lançamento ContábilLan?amento Cont bil" column-label "Lançamento ContábilLan?amento Cont bil"
        field ttv_ind_erro_valid               valid               as character format "X(08)" initial "NãoN’o"
        field tta_dat_lancto_ctbl              as ctbl              as date format "99/99/9999" initial ? label "Data Lançamento" column-label "Data Lançto"    field ttv_recLan?amento" column-label "Data Lan?to"
    field ttv_row_integr_lote_ctbl         as Rowid
    field ttv_row_integr_lancto_ctbl       as recid format ">>>>>>9"

    index tt_id                            is primary unique

          ttv_recctbl       as Rowid
    index tt_id                            is primary unique
          ttv_row_integr_lote_ctbl         ctbl         ascending
                    tta_num_lancto_ctbl              ascending

    index tt_recid                       

          ttv_rec_ctbl              ascending
    index tt_rowid                        
          ttv_row_integr_lancto_ctbl       ascending.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

new

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

(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.

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

Lançamento

 

 



tta_ind_natur_lancto_ctbl

character

x(2)

Natureza

 

 

Natureza



tta_cod_plano_cta_ctbl

character

x(8)

PlanoContas

 

 

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) / x(5)*

Estabelecimento

 

 



tta_cod_unid_negoc

character

x(3)

Unid

Unidade 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

 

 

Contra-Partida



ttv_ind_erro_valid

character

X(8)

 

 

 




tta_cod_ccusto

character

x(11)

Centro Custo

 

 



tta_cod_proj_financ

character

x(20)

Projeto

 



ttv_row_integr_lancto_ctbl

rowid

 





ttv_

rec

row_integr_item_lancto_ctbl

recid

 

>>>>>>9

 

 

 

rowid






def  def temp-table tt_integr_item_lancto_ctbl_1 new no-undo

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

    field     field tta_num_seq_lancto_ctbl          as ctbl          as integer format ">>>>9" initial 0 label "Sequência LançtoSequ?ncia Lan?to" column-label "Sequência LançtoSequ?ncia Lan?to"
        field tta_ind_natur_lancto_ctbl        as ctbl        as character format "X(02)" initial "DB" label "Natureza" column-label "Natureza"
        field tta_cod_plano_cta_ctbl           ctbl           as character format "x(8)" label "Plano Contas" column-label "Plano Contas"
    field     field tta_cod_cta_ctbl                 ctbl                 as character format "x(20)" label "Conta ContábilCont bil" column-label "Conta ContábilCont bil"
        field tta_cod_plano_ccusto             ccusto             as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"
      field field tta_cod_estab                    as estab                    as character format "x(5)" label "Estabelecimento" column-label "Estab"
        field tta_cod_unid_negoc               negoc               as character format "x(3)" label "Unid NegócioNeg½cio" column-label "Un Neg"
        field tta_cod_histor_padr              as              as character format "x(8)" label "Histórico PadrãoHist½rico Padr’o" column-label "Histórico PadrãoHist½rico Padr’o"
        field tta_des_histor_lancto_ctbl       ctbl       as character format "x(2000)" label "Histórico ContábilHist½rico Cont bil" column-label "Histórico ContábilHist½rico Cont bil"
        field tta_cod_espec_docto              as docto              as character format "x(3)" label "Espécie Documento"    )" label "Esp?cie Documento" column-label "Esp?cie"
    field tta_dat_docto                    as docto                    as date format "99/99/9999" initial ? label "Data Documento" column-label "Data Documento"
        field tta_des_docto                    as docto                    as character format "x(25)" label "Número Nœmero Documento" column-label "Número Nœmero Documento"
        field tta_cod_imagem                   imagem                   as character format "x(30)" label "Imagem"     column-label "Imagem"
    field tta_cod_indic_econ               econ               as character format "x(8)" label "Moeda" column-label "Moeda"
        field tta_dat_lancto_ctbl              as ctbl              as date format "99/99/9999" initial ? label "Data LançamentoLan?amento" column-label "Data LançtoLan?to"
        field tta_qtd_unid_lancto_ctbl         ctbl         as decimal format ">>,>>>,>>9.99" decimals 2 initial 0 label "Quantidade" column-label "Quantidade"
        field tta_val_lancto_ctbl              as ctbl              as decimal format ">>>>>>>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor LançamentoLan?amento" column-label "Valor LançamentoLan?amento"
        field tta_num_seq_lancto_ctbl_cpart    as cpart    as integer format ">>>9" initial 0 label "Sequência Sequ?ncia CPartida" column-label "Sequência Sequ?ncia CP"
        field ttv_ind_erro_valid               valid               as character format "X(08)" initial "NãoN’o"
        field tta_cod_ccusto                   ccusto                   as Character format "x(1120)" label "Centro Custo" column-label "Centro Custo"
        field tta_cod_proj_financ              as financ              as character format "x(20)" label "Projeto" column-label "Projeto"
        field ttv_row_integr_lancto_ctbl       as Rowid
    field ttv_recrow_integr_item_lancto_ctbl  as recid format ">>>>>>9"

    index tt_id                            is primary unique

          ttv_recctbl  as Rowid
    index tt_id                            is primary unique
          ttv_row_integr_lancto_ctbl       ctbl       ascending
                    tta_num_seq_lancto_ctbl          ascending    ctbl          ascending
    index tt_recid                                 ttv_recrowid                        
          ttv_row_integr_item_lancto_ctbl  ascending.ctbl  ascending
    .    


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

 Tabela Temporária

Descrição

Entrada/Saída

tt_integr_aprop_lancto_

ctbl_1

new

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

Unidade 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

 

 

ttv_rec_integr_item_lancto_ctbl

recid

>>>>>>9

 

 

 



tta_num_id_aprop_lancto_ctbl

integer

9999999999

Apropriacao Lançto

 

 

Apropriação Lançamento



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_row_integr_item_lancto_ctbl

rowid

 





ttv_

rec

row_integr_aprop_lancto_ctbl

recid

>>>>>>9

 

 

 

rowid






def  def temp-table tt_integr_aprop_lancto_ctbl_1 new no-undo
        field tta_cod_finalid_econ             as econ             as character format "x(10)" label "Finalidade" column-label "Finalidade"
        field tta_cod_unid_negoc               negoc               as character format "x(3)" label "Unid NegócioNeg½cio" column-label "Un Neg"
        field tta_cod_plano_ccusto             _plano_ccusto             as character format "x(8)" label "Plano Centros Custo" column-label "Plano Centros Custo"
        field tta_qtd_unid_lancto_ctbl         ctbl         as decimal format ">>,>>>,>>9.99" decimals 2 initial 0 label "Quantidade" column-label "Quantidade"
        field tta_val_lancto_ctbl              as ctbl              as decimal format ">>>>>>>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor LançamentoLan?amento" column-label "Valor LançamentoLan?amento"
        field tta_num_id_aprop_lancto_ctbl     ctbl     as integer format "9999999999999999999" initial 0 label "Apropriacao LançtoLan?to" column-label "Apropriacao Lançto"

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

    label "Apropriacao Lan?to"
    field tta_dat_cotac_indic_econ         econ         as date format "99/99/9999" initial ? label "Data CotaçãoCota?’o" column-label "Data CotaçãoCota?’o"
        field tta_val_cotac_indic_econ         econ         as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "CotaçãoCota?’o" column-label "CotaçãoCota?’o"
        field ttv_ind_erro_valid               valid               as character format "X(08)" initial "NãoN’o"
        field tta_ind_orig_val_lancto_ctbl     ctbl     as character format "X(10)" initial "Informado" label "Origem Valor" column-label "Origem Valor"
    field tta_cod_ccusto                       field tta_cod_ccusto                   as Character format "x(1120)" label "Centro Custo" column-label "Centro Custo"   
    field ttv_row_integr_item_lancto_ctbl  as Rowid
    field ttv_recrow_integr_aprop_lancto_ctbl as recid format ">>>>>>9"    Rowid
    index tt_id                            is id                            is primary unique
                    ttv_recrow_integr_item_lancto_ctbl  ascending          ctbl  ascending
          tta_cod_finalid_econ             econ             ascending
                    tta_cod_unid_negoc               negoc               ascending
                    tta_cod_plano_ccusto             ascending          ccusto             ascending
          tta_cod_ccusto                   ccusto                   ascending

    index tt_recid                       

          ttv_rec    index tt_rowid                        
          ttv_row_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

new

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

 

 

 



ttv_row_integr_ctbl

rowid






def  def new shared temp-table tt_integr_ctbl_valid_1 new no-undo

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


        field ttv_num_mensagem                 mensagem                 as integer format ">>>>,>>9" label "NúmeroNœmero" column-label "Número Nœmero Mensagem"
        field ttv_ind_pos_erro                 as erro                 as character format "X(08)" label "Posição"

    index tt_id                            is primary unique

          ttv_rec_integr_ctbl              ascending

          ttv_num_mensagem                 ascending.

 Posi?’o"
    field ttv_row_integr_ctbl              as Rowid
    index tt_id                            is primary unique
          ttv_row_integr_ctbl              ascending
          ttv_num_mensagem                 ascending
    .


6) Temp-table genérica para passagem de campos relacionadas a qualquer uma das temp-tables acima, utilizada para evitar que a API em questão tenha novas evoluções caso campos novos sejam necessários.

 Tabela Temporária

Descrição

Entrada/Saída

tt_api_params_generic

_api

Tabela genérica de campos

Entrada e Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_

rec

row_id

recid

>>>>>>9

character 

x(80)

RowId

RecId

de outro registro de temp-table que está relacionada

 

 



ttv_cod_tabela

character

x(

100

28)

Nome da tabela relacionada

 

 



ttv_cod_campo

character

x(

100

35)

Nome do campo a ser passado

 

 



ttv_cod_valor

character

x(

100

8)

Valor do campo, sempre deverá ser convertido para

Character.

 

 

...

Character.




def temp-table tt_api_params_generic _api no-undo
        field ttv_rec_id                       as recid format ">>>>>>9" label "RecId Tabela Relacionada"    cod_row_id                   as character format "x(80)"
    field ttv_cod_tabela                   tabela                   as character format "x(10028)" label "Tabela"     column-label "Tabela"
    field ttv_cod_campo                    as _campo                    as character format "x(10035)" label "Campo"     column-label "Campo"
    field ttv_cod_valor                    as valor                    as character format "x(1008)" label "Valor"     column-label "Valor"
    index tt_idx_param_generic             generic             is primary unique
                    ttv_cod_tabela                   ascending

          ttv_rec_id                       ascending

          ttv_cod_campo                    ascending.

 tabela                   ascending
          ttv_cod_row_id                   ascending
          ttv_cod_campo                    ascending
    .


Lista de Campo(s) que a API fgl900zo processa e que podem ser passados como parâmetro através da tamp-table tt_params_generic_api:

 


Código do Participante: Relacionado a tabela Item Lançamento Contábil (tt_integr_item_lancto_ctbl_1). Na criação de cada registro da tabela tt_integr_item_lancto_ctbl_1, será adicionado um campo correspondente na tt_params_generic_api, somente caso seja necessário passar esta informação.

Exemplo:

create tt_api_params_generic _api .                                                                        

assign tt_api_params_generic_api.ttv_recrow_id    = tt_integr_item_lancto_ctbl_1new.ttv_recrow_integr_item_lancto_ctbl

                        tt_api_params_generic_api.ttv_cod_tabela = 'tt_integr_item_lancto_ctbl':U

                      tt_api_params_generic_api.ttv_cod_campo = 'Participante':U                             

                      tt_api_params_generic_api.ttv_cod_valor = [Valor do Código do Participante em formato caracter]. 


Relacionamento entre as tabelas temporárias:

  • TT_INTEGR_LOTE_CTBL_1 NEW

1      Armazenar no atributo ttv_recrow_integr_lote_ctbl o recidrowid(TT_INTEGR_LOTE_CTBL_1NEW)

  • TT_INTEGR_LANCTO_CTBL_1 NEW

1      Armazenar no atributo ttv_recrow_integr_lote_ctbl o recidrowid(TT_INTEGR_LOTE_CTBL_1NEW)

2      Armazenar no atributo ttv_recrow_integr_lancto_ctbl o recidrowid(TT_INTEGR_LANCTO_CTBL_1NEW)

  • TT_INTEGR_ITEM_LANCTO_CTBL_1 NEW

1      Armazenar no atributo ttv_recrow_integr_lancto_ctbl o recidrowid(TT_INTEGR_LANCTO_CTBL_1NEW)

2      Armazenar no atributo ttv_recrow_integr_item_lancto_ctbl o recidrowid(TT_INTEGR_ITEM_LANCTO_CTBL_1NEW)

  • TT_INTEGR_APROP_LANCTO_CTBL_1 NEW

1      Armazenar no atributo ttv_recrow_integr_item_lancto_ctbl o recidrowid(TT_INTEGR_ITEM_LANCTO_CTBL_1NEW)

2      Armazenar no atributo ttv_recrow_integr_aprop_lancto_ctbl o recidrowid(TT_INTEGR_APROP_LANCTO_CTBL_1NEW)

 


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_1new;

-  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;

 

 .