Histórico da Página
Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | Prgfin/fgl/ |
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:
- Número da versão de Integração (atualmente = 3)
- Tratamento do Erro
...
- Tabela Temporária com os dados do(s) Lote(s) à ser(em) gerado(s);
- Tabela Temporária com os dados do(s) Lançamento(s) à ser(em) gerado(s);
- Tabela Temporária com os dados do(s) Iten(s) à ser(em) gerado(s);
- Tabela Temporária com os dados da(s) Apropriaçõ(es) à ser(em) gerada(s);
- Tabela Temporária que conterá os possíveis erros da integração;
- 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_ |
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_ |
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_ |
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 | ||
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_ |
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_ |
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ç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) |
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 |
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_ |
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_ |
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) |
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_ |
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_ |
new | Tabela com erros | Entrada e Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ttv |
_ |
recid
>>>>>>9
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 |
Tabela genérica de campos | Entrada e Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ttv_ |
row_id |
recid
>>>>>>9
character | x(80) | RowId |
de outro registro de temp-table que está relacionada |
ttv_cod_tabela | character | x( |
28) | Nome da tabela relacionada |
ttv_cod_campo | character | x( |
35) | Nome do campo a ser passado |
ttv_cod_valor | character | x( |
8) | Valor do campo, sempre deverá ser convertido para |
...
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;
.