Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoprgfin/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.

tt_item_integr_apb_enc_ctas: será utilizado para determinar os títulos que serão utilizados no processo de encontro de contas.

*tt_cotac_lote_pagto: será utilizado para determinar cotações diferentes das cadastradas. O preenchimento é opcional. 

p_cod_matriz_trad_org_ext: conterá o código da matriz de tradução da organização externa que tem por finalidade relacionar os códigos externos aos códigos presentes no Datasul-EMS5.

*p_log_ajust_liquidac Parâmetros de Saídaliquidac: define se deverá realizar ajustes relacionados ao imposto PIS/COFINS/CSLL.

tt_logapi_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 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. 

Funcionamento

A sintaxe para executar a API/BO em modo persistente é: 


run

...

prgfin/apb/apb944za.py persistent set v_hdl_aux.

run pi_main_api_enctro_cta_apb_acr_ems5_

...

6 IN v_hdl_aux (input 6,
                                               input table tt_dados_integr_apb_enc_ctas,

...

                                               input table tt_item_integr_apb_enc_ctas,

...

                                               input table tt_cotac_lote_pagto,

...

                                               input "",   /* valor padrão de p_cod_matriz_trad_org_ext */
                                               output table tt_log_integr_apb_enc_ctas,

...

                                               output table tt_tit_acr_info

...

run prgfin/apb/apb944za.py persistent set v_hdl_aux.

 

RUN _2,
                                               input NO,   /* valor padrão de p_log_ajust_liquidac */     
                                               input table tt_api_params_generic) /* pi_main_api_enctro_cta_apb_acr_ems5_3 IN 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



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

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_autological"Sim/Não"

Vínculo automático com imposto PIS/COFINS/CSLL



ttv_cod_id_table_childCharacterX(80)Campo não utilizado.

  
  def temp-table tt_dados_integr_apb_enc_ctas no-undo

    field tta_cod_estab_refer              as character format "x(5)" initial ? label "Estabelecimento" column-label "Estab"

    field tta_cod_refer                    as character format "x(10)" label "Referência" column-label "Referência"

    field tta_dat_transacao                as date format "

                                        INPUT TABLE tt_item_integr_apb_enc_ctas,

                                        input table tt_cotac_lote_pagto,

                                        INPUT “”,

                                       OUTPUT TABLE tt_log_integr_apb_enc_ctas

Output table tt_tit_acr_info,

input no.

).

 

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

 

 

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_rec_integr_apb_enctro_cta

recid

>>>>>>9

Recid da Temp-table de Lote

 

 

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

 

 

 

def temp-table tt_dados_integr_apb_enc_ctas no-undo

    field tta_cod_estab_refer              as character format "x(3)" initial ? label "Estabelecimento" column-label "Estab"

    field tta_cod_refer                    as character format "x(10)" label "Referência" column-label "Referência"

    field tta_dat_transacao                as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"

        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 tta_cod_indic_econ               econ               as character format "x(8)" label "Moeda" column-label "Moeda"

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

        field tta_cod_portador                 portador                 as character format "x(5)" label "Portador" column-label "Portador"

        field tta_cod_cart_bcia               bcia                as character format "x(3)" label "Carteira" column-label "Carteira"

        field ttv_cod_recid_integr_apb_enctro_cta    cta as recid character format ">>>>>>9x(80)"

        field tta_cdn_fornecedor               fornecedor               as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"

        field tta_cdn_cliente                  as cliente                  as Integer format ">>>,>>>,>>9" initial 0 label "Cliente" column-label "Cliente"

        field tta_cod_estab_ext                as ext                as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"

        field ttv_cod_empresa_ext              as ext              as character format "x(3)" label "Código Empresa Ext" column-label "Cód Emp Ext"

        field tta_cod_finalid_econ_ext         ext         as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"

        field tta_log_bxa_estab_tit_ap         ap         as logical format "Sim/Não" initial no label "Baixa Estabelec" column-label "Baixa Estabelec"

    .

 

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

 

 

    field ttv_log_vinc_impto_auto          as logical format "Sim/Não" initial no label "PIS/COFINS/CSLL Auto"

    field ttv_cod_id_table_child           as character format "x(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



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_
val_cotac
cod_indic_econ

decimal

>>>>,>>9.9999999999

Valor Cotação. Se moeda do lote for diferente da moeda do título e informada 0 ou ? irá buscar cotação do sistema, caso contrário utiliza a cotação informada neste campo. Só ativa a partir da versão 11.5.0 do Datasul.

 

 

characterx(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_

ttv_rec_

integr_apb_enctro_

cta   

cta   

recid

>>>>>>9

character

X(80)

Identificado

Recid

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_childcharacterX(80)Fará ligação entre esta temp-table e a temp-table de imposto, que será dentro da API. (campo opcional)


def temp-table def temp-table tt_item_integr_apb_enc_ctas no-undo

        field tta_cod_estab_refer              as refer              as character format "x(35)" initial ? label "Estabelecimento" column-label "Estab"

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

        field tta_cod_refer                    as character format "refer                    as character format "x(10)" label "Referência" column-label "Referência"

        field tta_num_seq_refer                as refer                as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"

        field ttv_ind_tit_orig                 orig                 as character format "X(08)"

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

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

        field tta_cod_ser_docto                as docto                as character format "x(35)" label "Série Documento" column-label "Série"

        field ttv_cod_tit                      as tit                      as character format "x(18)"

        field tta_cod_parcela                  as parcela                  as character format "x(02)" label "Parcela" column-label "ParcParcela"

        field tta_cod_portador                 as character portador                 as character format "x(5)" label "Portador" column-label "Portador"

        field tta_cod_cart_bcia                as bcia                as character format "x(3)" label "Carteira" column-label "Carteira"

        field tta_val_pagto                    as pagto                    as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Pagamento" column-label "Valor Pagto"

        field tta_val_juros                    as juros                    as decimal format ">>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Juros" column-label "Valor Juros"

        field ttv_val_multa                    as decimal format multa                    as decimal format "->>>,>>>,>>9.99" decimals 2 label "Vl Multa" column-label "Vl Multa"

        field ttv_val_desc                     desc                     as decimal format "->>>,>>>,>>9.99" decimals 2 label "Vl Desc" column-label "Vl Desc"

        field ttv_val_abat                     abat                     as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Abatimento" column-label "Valor Abatimento"   

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

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

        field ttv_cod_recid_integr_apb_enctro_cta    cta as recid character format ">>>>>>9x(80)"

        field tta_cod_estab_ext                as character format "ext                as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"

        field tta_cod_portad_ext               ext               as character format "x(8)" label "Portador Externo" column-label "Portador Externo"

        field tta_cod_modalid_ext              as ext              as character format "x(8)" label "Modalidade Externa" column-label "Modalidade Externa"

        field ttv_cod_empresa_ext              as ext              as character format "x(3)" label "Código Empresa Ext" column-label "Cód Emp Ext"

        field tta_des_text_histor              as histor              as character format "x(2000)" label "Histórico" column-label "Histórico"

    .

 

    field ttv_cod_id_table_child           as character format "x(80)"
    .


Tabela

Tabela

Temporária

Descrição

Entrada/Saída

tt_

log

cotac_

integr_apb_enc_ctas

lote_pagto

Conterá as informações

referentes aos erros encontrados durante as validações para a criação do

das cotações que serão utilizados no Encontro de Contas

.

Saída

Entrada

Atributo

Tipo

Formato

Descrição

Obrig.

Evol.

Tta

ttv_cod_

estab_refer

id_integr_apb_enctro_cta

character

X

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

 

 

 

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_logcotac_integr_apb_enc_ctas lote_pagto no-undo

        field ttattv_cod_estab_refer              id_integr_apb_enctro_cta as character format "x(380)" initial ? label "Estabelecimento" column-label "Estab

    "    field tta_cod_refer                    _indic_econ               as character format "x(108)" label "ReferênciaMoeda" column-label "ReferênciaMoeda"

    field ttv_num_cod_erro                 as integer     field tta_val_cotac_indic_econ         as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "NúmeroCotação" column-label "Número"

    field ttv_des_msg_erro                 as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"

    field ttv_des_msg_ajuda                as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"

Cotação"

    index tt_id                            is primary unique

          ttv_cod_id_integr_apb_enctro_cta ascending

          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 tta_cod_estab_refer as character format "x(3)" initial ? label "Estabelecimento" column-label "Estab"

    field tta_cod_refer as character format "x(10)" label "Referência" column-label "Referência"

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

    field ttv_des_msg_erro as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"

    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_acrdecimal>>>,>>>,>>9.99Saldo Título

tta_val_liquidac_tit_acrdecimal>>>,>>>,>>9.99Valor Liquidação

ttv_val_sdo_realdecimal->>,>>>,>>>,>>9.99Valor Saldo Real


def temp-table tt_tit_acr_info no-undo

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

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

    field tta_cod_ser_docto                as character format "x(5)" label "Série Documento" column-label "Série"

    field tta_cod_tit_acr                  as character format "x(16)" label "Título" column-label "Título"

    field tta_cod_parcela                  as character format "x(02)" label "Parcela" column-label "Parcela"

    field tta_val_sdo_tit_acr              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

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 no-undo
    field ttv_cod_row_id                   as character format "x(80)"
    field ttv_cod_tabela                   as character format "x(28)" label "Tabela" column-label "Tabela"
    field ttv_cod_campo                    as character format "x(35)" label "Campo" column-label "Campo"
    field ttv_cod_valor                    as character format "x(8)" label "Valor" column-label "Valor"
    index tt_idx_param_generic             is primary unique
          ttv_cod_tabela                   ascending
          ttv_cod_row_id                   ascending
          ttv_cod_campo                    ascending
    .

Tratamentos previstos através da temp-table tt_api_params_generic 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.
ASSIGN tt_api_params_generic.ttv_cod_tabela = 'tt_dados_integr_apb_enc_ctas'
              tt_api_params_generic.ttv_cod_row_id = tt_dados_integr_apb_enc_ctas.ttv_cod_id_integr_apb_enctro_cta
              tt_api_params_generic.ttv_cod_campo  = 'log_atualiz_lote' 
              tt_api_params_generic.ttv_cod_valor     = "No" .  


Caso queria que o lote seja atualizado deve ser indicado "Yes" no valor do campo.

Observação: 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    .