Histórico da Página
Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | prgfin/apb/apb944za |
Objetivo
...
: Efetuar o encontro de Contas entre os módulos do Contas a Pagar e Contas a Receber
Parâmetros de Entrada
num_vers_integr_api: será utilizado para determinar se o programa que está chamando está íntegro com as definições correntes da API;.
tt_dados_integr_apb_enc_ctas: será utilizado para determinar as informações referente ao Lote de Encontro de Contas.
...
p_log_ajust_liquidac: define se deverá realizar ajustes relacionados ao imposto PIS/COFINS/CSLL.
tt_api_params_generic: temp-table genérica de input de parâmetros diversos utilizada para que não se precise evoluir a API para implementar tratamentos pontuais
Parâmetros de Saída
tt_log_integr_apb_enc_ctas: Retorna os erros que ocorreram durante o processo de Encontro de Contas.
tt_tit_acr_info: Caso ocorra ajuste relacionado ao imposto PIS/COFINS/CSLL, retorna os dados dos títulos alterados. tt_params_generic_api: temp-table genérica de input de parâmetros diversos utilizada para que não se precise evoluir a API para implementar tratamentos pontuais
Funcionamento
A sintaxe para executar a API/BO em modo persistente é:
run run prgfin/apb/apb944za.py persistent set v_hdl_aux.
RUN run pi_main_api_enctro_cta_apb_acr_ems5_4 6 IN v_hdl_aux (INPUT 4input 6,
INPUT TABLE input table tt_dados_integr_apb_enc_ctas,
INPUT TABLE input table tt_item_integr_apb_enc_ctas,
input table tt_cotac_lote_pagto,
INPUT TABLE tt_cotac_lote_pagto, INPUT "" input "", /* valor padrão de p_cod_matriz_trad_org_ext */ ,
output table tt_log_integr_apb_enc_ctas,
OUTPUT TABLE tt_log_integr_apb_enc_ctas,
OUTPUT table tt_tit_acr_info,
INPUT NO /* valor padrão de p_log_ajust_liquidac */,
output table tt_tit_acr_info_2,
input NO, /* valor padrão de p_log_ajust_liquidac */
INPUT input table tt_api_params_generic) /* pi_api ). main_api_enctro_cta_apb_acr_ems5_6*/.
A variável denominada v_hdl_aux irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Tabelas Temporárias
Tabela Temporária | Descrição | Entrada/Saída |
tt_dados_integr_apb_enc_ctas | Conterá as informações do lote de Encontro de Contas |
. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
tta_cod_estab_refer | character | X(3) | Estabelecimento |
tta_cod_refer | character | X(10) | Referência |
tta_dat_transacao | date | 99/99/9999 | Data Transação |
tta_val_tot_lote_pagto_efetd | decimal | ->>,>>>,>>>,>>9.99 | Total Pagamento |
tta_cod_indic_econ | character | x(08) |
Moeda
Moeda | |||
tta_cod_empresa | Character | X(03) | Empresa |
tta_cod_portador | Character | X(05) | Portador |
tta_cod_cart_bcia |
Character | X(03) | Carteira Bancária |
ttv_cod_ |
id_integr_apb_enctro_cta |
recid
>>>>>>9
Character | X(80) | Identificador |
da Temp-table de Lote |
. Sugestão: string(rowid(tt_dados_integr_apb_enc_ctas)) | |||
tta_cdn_fornecedor | Integer | ">>>,>>>,>>9 | Código do Fornecedor |
tta_cdn_cliente | integer | ">>>,>>>,>>9 | Código do Cliente |
tta_cod_estab_ext | character | X(08) | Código Estabelecimento Externo |
ttv_cod_empresa_ext | character | X(03) | Código Empresa Externo |
tta_cod_finalid_econ_ext | character | X(08) | Finalidade Econômica Externa |
tta_log_bxa_estab_tit_ap | Logical | "Sim/Não" | Baixa Estabelecimento do Título |
ttv_log_vinc_impto_auto | logical | "Sim/Não" |
Vínculo automático com imposto PIS/COFINS/CSLL |
ttv_ |
cod_id_table_child |
Character | X(80) |
Campo não utilizado. |
def temp-table tt_dados_integr_apb_enc_ctas no-undo
field field tta_cod_estab_refer as as character format "x(35)" initial ? label "Estabelecimento" column-label "Estab"
field field tta_cod_refer as as character format "x(10)" label "Referência" column-label "Referência"
field field tta_dat_transacao as as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"
field field tta_val_tot_lote_pagto_efetd efetd as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Total Pagamento" column-label "Total Pagamento"
field field tta_cod_indic_econ as character format "x(8)" label "Moeda" column-label "Moeda"
field field tta_cod_empresa as as character format "x(3)" label "Empresa" column-label "Empresa"
field field tta_cod_portador as character format "x(5)" label "Portador" column-label "Portador"
field field tta_cod_cart_bcia as as character format "x(3)" label "Carteira" column-label "Carteira"
field field ttv_reccod_id_integr_apb_enctro_cta as recid character format ">>>>>>9x(80)"
field field tta_cdn_fornecedor as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"
field field tta_cdn_cliente as as Integer format ">>>,>>>,>>9" initial 0 label "Cliente" column-label "Cliente"
field field tta_cod_estab_ext as as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"
field field ttv_cod_empresa_ext as as character format "x(3)" label "Código Empresa Ext" column-label "Cód Emp Ext"
field field tta_cod_finalid_econ_ext as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"
field tta_log_bxa_estab_tit_ap as logical format "Sim/Não" initial no label "Baixa Estabelec" column-label "Baixa Estabelec"
field ttv_log_vinc_impto_auto as as logical format "Sim/Não" initial no label "PIS/COFINS/CSLL Auto"
field ttv_cod_recid_table_child as recid character format ">>>>>>9x(80)"
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_item_integr_apb_enc_ctas | Conterá as informações dos títulos que serão utilizados no Encontro de Contas | Entrada |
...
(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.
(**) Liberado o número de documento com 16 posições e série com 5, a partir de maio/2011.
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
Tta_cod_estab_refer | character | X(03) | Estabelecimento do Lote de Encontro de Contas |
Tta_cod_empresa | character | X(03) | Empresa do Lote de Encontro de Contas |
Tta_Cod_refer | character | X(10) | Referência do Lote de Encontro de Contas |
Tta_num_seq_refer | integer | >>>9 | Sequência |
Ttv_ind_tit_orig | character | X(03) | Origem Título (ACR/APB) |
Tta_cod_estab | character | X(03) | Estabelecimento |
Tta_cod_espec_docto | character | X(03) | Espécie Documento |
Tta_cod_ser_docto | character | X(3)/ X(5)** | Série Documento |
Ttv_cod_tit | character | X(18) | Título |
Tta_cod_parcela | character | X(02) | Parcela |
Tta_cod_portador | character | X(05) | Portador |
Tta_cod_cart_bcia | character | X(03) | Carteira Bancária |
Tta_val_pagto | Decimal | ->>>,>>>,>>9.99 | Valor Pagamento |
Tta_val_juros | Decimal | ->>>,>>>,>>9.99 | Valor Juros |
Tta_val_multa | Decimal | ->>>,>>>,>>9.99 | Valor Multa |
Tta_val_desc | Decimal | ->>>,>>>,>>9.99 | Valor Desconto |
Tta_val_abat | Decimal | ->>>,>>>,>>9.99 | Valor Abatimento |
tta_cod_indic_econ | character | x(8) | Indicador Econômico do item. (Uso interno, qualquer valor informado será desconsiderado.) |
tta_val_cotac_indic_econ | decimal | >>>>,>>9.9999999999 | Valor Cotação. (Uso interno, qualquer valor informado será desconsiderado. Cotações devem ser informadas na tt_cotac_lote_pagto) |
ttv_cod_ |
id_integr_apb_enctro_ |
cta |
recid
>>>>>>9
character | X(80) | Identificado |
da Temp-table de lote do Encontro de Contas |
. Informar campo: tt_dados_integr_apb_enc_ctas.ttv_cod_id_integr_apb_enctro_cta | |||
tta_cod_estab_ext | character | X(08) | Estabelecimento Externo |
tta_cod_portad_ext | character | X(08) | Portador Externo |
tta_cod_modalid_ext | character | X(08) | Modalidade Externa |
ttv_cod_empresa_ext | character | X(03) | Código Empresa |
Externa |
tta_des_text_histor | character | X(2000) | Histórico |
ttv_cod_ |
id_table_child |
character | X(80) |
Fará ligação entre esta temp-table e a temp-table de imposto, que será dentro da API. (campo opcional) |
def temp-table tt_item_integr_apb_enc_ctas no-undo
field tta_cod_estab_refer as as character format "x(35)" initial ? label "Estabelecimento" column-label "Estab"
field tta_cod_empresa as as character format "x(3)" label "Empresa" column-label "Empresa"
field tta_cod_refer as as character format "x(10)" label "Referência" column-label "Referência"
field tta_num_seq_refer as as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"
field ttv_ind_tit_orig as character format "X(08)"
field tta_cod_estab as as character format "x(35)" label "Estabelecimento" column-label "Estab"
field tta_cod_espec_docto as as character format "x(3)" label "Espécie Documento" column-label "Espécie"
field tta_cod_ser_docto as as character format "x(35)" label "Série Documento" column-label "Série"
field ttv_cod_tit as as character format "x(18)"
field tta_cod_parcela as as character format "x(02)" label "Parcela" column-label "ParcParcela"
field tta_cod_portador as character format "x(5)" label "Portador" column-label "Portador"
field tta_cod_cart_bcia as cart_bcia as character format "x(3)" label "Carteira" column-label "Carteira"
field tta_val_pagto as as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Pagamento" column-label "Valor Pagto"
field tta_val_juros as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Juros" column-label "Valor Juros"
field ttv_val_multa as as decimal format "->>>,>>>,>>9.99" decimals 2 label "Vl Multa" column-label "Vl Multa"
field ttv_val_desc as decimal format "->>>,>>>,>>9.99" decimals 2 label "Vl Desc" column-label "Vl Desc"
field ttv_val_abat as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Abatimento" column-label "Valor Abatimento"
field tta_cod_indic_econ as character format "x(8)" label "Moeda" column-label "Moeda"
field tta_val_cotac_indic_econ econ as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"
field ttv_reccod_id_integr_apb_enctro_cta as recid character format ">>>>>>9x(80)"
field tta_cod_estab_ext as as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"
field tta_cod_portad_ext as character format "x(8)" label "Portador Externo" column-label "Portador Externo"
field tta_cod_modalid_ext as as character format "x(8)" label "Modalidade Externa" column-label "Modalidade Externa"
field ttv_cod_empresa_ext as as character format "x(3)" label "Código Empresa Ext" column-label "Cód Emp Ext"
field tta_des_text_histor as as character format "x(2000)" label "Histórico" column-label "Histórico"
field ttv_cod_recid_table_child as recid character format ">>>>>>9x(80)"
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_cotac_lote_pagto | Conterá as informações das cotações que serão utilizados no Encontro de Contas | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
ttv_cod_ |
id_integr_apb_enctro_cta |
recid
>>>>>>9
character | x(80) | Identificado da Temp-table de lote do Encontro de Contas. Informar campo: tt_dados_integr_apb_enc_ctas |
.ttv_cod_id_integr_apb_enctro_cta | x |
tta_cod_indic_econ | character | x(8) | Moeda | x |
tta_val_cotac_indic_econ | decimal | >>>>,>>9.9999999999 | Valor da cotação em relação ao lote. Se for informado com valor 0, considera a cotação do dia. Ex.: moeda do lote: real, moeda da cotação: dólar = valor da cotação: 3.38. | x |
def temp-table tt_cotac_lote_pagto no-undo
field ttv_reccod_id_integr_apb_enctro_cta as recid character format ">>>>>>9x(80)"
field tta_cod_indic_econ as character format "x(8)" label "Moeda" column-label "Moeda"
field tta_val_cotac_indic_econ _econ as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"
index tt_id is is primary unique
ttv_rec ttv_cod_id_integr_apb_enctro_cta ascending
tta tta_cod_indic_econ ascending
.
.
Tabela Temporária | Descrição | Entrada/Saída | ||||
tt_log_integr_apb_enc_ctas | Conterá as informações referentes aos erros encontrados durante as validações para a criação do Encontro de Contas. | Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. | |
Tta_cod_estab_refer | character | X(03) | Estabelecimento |
Tta_cod_refer | character | X(10) | Referência |
Ttv_num_cod_erro | integer | >>>,>>9 | Número do Erro |
Ttv_des_msg_erro | character | X(60) | Mensagem Erro |
Ttv_des_msg_ajuda | character | X(40) | Mensagem Ajuda |
def temp-table tt_log_integr_apb_enc_ctas no-undo
...
field ttv_des_msg_ajuda as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"
.
Tabela Temporária | Descrição | Entrada/Saída | ||||
tt_tit_acr_info | Caso ocorra ajuste relacionado ao imposto PIS/COFINS/CSLL, retorna os dados dos títulos alterados. | Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. | |
tta_cod_estab | character | X(03) | Estabelecimento |
tta_cod_espec_docto | character | x(3) | Espécie Documento |
tta_cod_ser_docto | character | x(3) | Série Documento |
tta_cod_tit_acr | character | x(10) | Título |
tta_cod_parcela | character | X(02) | Parcela |
tta_val_sdo_tit_acr | decimal | >>>,>>>,>>9.99 | Saldo Título |
tta_val_liquidac_tit_acr | decimal | >>>,>>>,>>9.99 | Valor Liquidação |
ttv_val_sdo_real | decimal | ->>,>>>,>>>,>>9.99 | Valor Saldo Real |
def temp-table tt_tit_acr_info no-undo
field field tta_cod_estab as as character format "x(35)" label "Estabelecimento" column-label "Estab"
field field tta_cod_espec_docto as as character format "x(3)" label "Espécie Documento" column-label "Espécie"
field field tta_cod_ser_docto as ser_docto as character format "x(35)" label "Série Documento" column-label "Série"
field field tta_cod_tit_acr as as character format "x(1016)" label "Título" column-label "Título"
field field tta_cod_parcela as as character format "x(02)" label "Parcela" column-label "ParcParcela"
field field tta_val_sdo_tit_acr as as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Saldo Título" column-label "Saldo Título"
field tta_val_liquidac_tit_acr as decimal format ">>>,>>>,>>9.99" decimals 2 initial 0 label "Vl Liquidação" column-label "Vl Liquidação"
field ttv_val_sdo_real as decimal format "->>,>>>,>>>,>>9.99" decimals 2
.
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_api_params_generic |
Conterá parâmetros de input. Esta é uma temp-table genérica criada para que não seja necessário evoluir a API a cada nova implementação | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
ttv_ |
cod_row_id |
integer
character | X(80) | ID da temp-table pai relacionada ao parâmetro |
ttv_cod_tabela | character | X(28) | Nome da temp-table pai |
ttv_cod_campo | character | x(35) | Nome do campo que será considerado como parâmetro. Ao invés de incluir o campo na temp-table pai será utilizada esta temp-table genérica |
ttv_cod_valor | character | x(8) | Valor do campo, ou seja, conteúdo que seria alimentado no campo da temp-table pai |
def temp-table tt_api_params_generic _api no-undo
field ttv_reccod_row_id as recid format ">>>>>>9"
field ttv_cod_tabela as character format "x(80)"
field ttv_cod_tabela as character format "x(28)" label "Tabela" column-label "Tabela"
field ttv_cod_campo as as character format "x(35)" label "Campo" column-label "Campo"
field ttv_cod_valor as as character format "x(8)" label "Valor" column-label "Valor"
index tt_idx_param_generic is primary unique
ttv_cod_tabela ascending
ttv_rec_id ascending
ttv_cod_row_id ascending
ttv_cod_campo ascending
ascending
.
Tratamentos previstos através da temp-table tt_api_params_generic _api para a API de Pagamento via Encontro de Contas:
1) Parâmetro para indicar se o lote de encontro de contas deve ser atualizado ou não. Exemplo de como deve ser criado o registro:
CREATE tt_api_params_generic_api.
ASSIGN tt_api_params_generic.ttv_cod_tabela = 'tt_dados_integr_apb_enc_ctas'
tt_api_params_generic.ttv_cod_recrow_id = tt_dados_integr_apb_enc_ctas.ttv_reccod_id_integr_apb_enctro_ct
tt_params_generic_api.ttv_cod_tabela = "tt_dados_integr_apb_enc_ctas"
ttcta
tt_api_params_generic_api.ttv_cod_campo = "'log_atualiz_lote"
'
tt_api_params_generic_api.ttv_cod_valor valor = "No" .
Caso queria que o lote seja atualizado deve ser indicado "Yes" no valor do campo.
observaçãoObservação: por Por default a API manterá o comportamento antigo, ou seja, atualizar o lote. Portanto, caso não seja criado registro na temp-table genérica a API irá entender que é para atualizar o lote.