Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | Prgfin/fgl/fgl900zl |
Atualizar o módulo de Contabilidade com Lotes de outros módulos, tanto através de arquivos ASCII quanto diretamente do módulo.
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 no-undo.
def new shared stream s_1. /*USADO QUANDO EMITE RELATÓRIO É IHUAL A SIM*/
run prgfin/fgl/fgl900zo.py persistent set v_hdl_api.
run pi_main_api_lote_ctbl_recebto_1 in v_hdl_api
(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,
input-output table tt_params_generic_api).
run pi_finalizar_fgl900zo in v_hdl_api.
delete procedure v_hdl_api.
Os parâmetros de entrada são:
Parâmetros:
2.1. Aborta Lotes Errados
2.2. Aborta Tudo
3.1. Indica se deve listar os erros ou apenas gravar na temp-table tt_integr_ctbl_valid
3.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
4.1. Apenas quando emite relatório, senão deve ser igual a “no”
5.1. Indica até que nível deve ser impresso o relatório
5.2. Apropriação, Item, Lançamento ou Lote
6.1. Indica o que deve ser impresso
6.2. Com Erro, Sem Erro, Todos ou Nenhum
7.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”
8.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”
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 |
(*) 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 |
|
|
tta_ind_natur_lancto_ctbl | character | x(2) | Natureza |
|
|
tta_cod_plano_cta_ctbl | character | x(8) | PlanoContas |
|
|
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 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(5)" 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"
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"
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.
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_params_generic_api | Tabela genérica de campos | Entrada e Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
ttv_rec_id | recid | >>>>>>9 | RecId de outro registro de temp-table que está relacionada |
|
|
ttv_cod_tabela | character | x(100) | Nome da tabela relacionada |
|
|
ttv_cod_campo | character | x(100) | Nome do campo a ser passado |
|
|
ttv_cod_valor | character | x(100) | Valor do campo, sempre deverá ser convertido para Character. |
|
|
def temp-table tt_params_generic_api no-undo
field ttv_rec_id as recid format ">>>>>>9" label "RecId Tabela Relacionada"
field ttv_cod_tabela as character format "x(100)" label "Tabela"
field ttv_cod_campo as character format "x(100)" label "Campo"
field ttv_cod_valor as character format "x(100)" label "Valor"
index tt_idx_param_generic is primary unique
ttv_cod_tabela ascending
ttv_rec_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_params_generic_api.
assign tt_params_generic_api.ttv_rec_id = tt_integr_item_lancto_ctbl_1.ttv_rec_integr_item_lancto_ctbl
tt_params_generic_api.ttv_cod_tabela = 'tt_integr_item_lancto_ctbl':U
tt_params_generic_api.ttv_cod_campo = 'Participante':U
tt_params_generic_api.ttv_cod_valor = [Valor do Código do Participante em formato caracter].
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;