Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | prgfin/acr/acr779zb |
Objetivo
Atualmente existe a possibilidade de Integração entre Faturamento x ACR onde, ao criar e atualizar uma Nota Fiscal, é possível informar as Duplicatas que serão geradas no ACR. O objetivo da Integração dos Módulos Recebimento x ACR é justamente movimentar esses títulos que foram gerados quando ocorrer uma devolução de Mercadoria, através de um Acerto de Valor a Crédito, uma alteração da Situação do Título para Devolvido ou a geração de uma Antecipação. A API tem como objetivo receber os títulos (duplicatas) que serão movimentados a partir da(s) Nota(s) de Crédito(s) gerada(s).
Funcionamento
A execução na forma persistente padrão para essa API é a execução persistente.
A sintaxe para executar a API/BO em modo persistente é:
def var v_hdl_aux as Handle no-undo.
run prgfin/acr/acr779zc.py persistent set v_hdl_aux.
run pi_main_code_api_integracao_recebimento_acr_5 in v_hdl_aux
(input table tt-tot-tit,
input table tt-titulo,
input table tt-un-devol,
output table tt_log_erros_atualiz,
input table tt-impto-retid-fat).
delete procedure v_hdl_aux.
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Na forma padrão, realiza-se a chamada através de um comando RUN normal, passando-se as temp-tables carregadas com as informações necessárias.
Os Parâmetros utilizados pelo programa estão listados abaixo, na ordem que se segue:
- tt-tot-tit: tabela temporária que contém as duplicatas a serem devolvidas
- tt-titulo: tabela temporária que contém as várias parcelas envolvidas da(s) duplicata(s)
- tt-log-erros-atualiz: retorna os erros que aconteceram ao integrar Recebimento x ACR
- tt-un-devol: tabela temporária que contém o rateio de unidade de negócio da devolução
- tt-impto-retid-fat: tabela temporária que contém os impostos retidos no faturamento
Tabelas Temporárias
Nos atributos das tabelas temporárias de entrada e saída:
Tabela Temporária | Descrição | Entrada/Saída |
tt-tot-tit | Contém as duplicatas a serem devolvidas. | Entrada |
(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.
Atributo | Tipo | Formato | Descrição | REC | Obrigatório | Evolução |
referencia | character | x(10) | Utilizado para Referencia na criação da Nota de Crédito | X |
|
|
ep-codigo | character | x(3) | Código da Empresa Externa | X |
|
|
cod-empresa | character | x(3) | Código da Empresa EMS 5 |
|
|
|
cod-estabel | character | x(3) / x(5)* | Código do Estabelecimento Externo | X |
|
|
cod-estab-ems5 | character | x(3) / x(5)* | Código do Estabelecimento EMS 5 |
|
|
|
cod-esp | character | !! | Código da Espécie Externa | X |
|
|
serie | character | x(5) | Código da Série Externa | X |
|
|
nr-docto | character | x(16) | Número do Documento Externo | X |
|
|
cod-emitente | integer | >>>>>9 | Código do Emitente | X |
|
|
tot-saldo | decimal | >>>>>>>,>>9.99 | Valor do Saldo em Aberto dos Títulos (Somatório dos tt-titulo.vl-saldo) |
|
|
|
tot-baixa | decimal | >>>>>>>,>>9.99 | Total a ser baixado (que deve ser rateado entre as várias parcelas) | X |
|
|
mo-codigo | integer | >9 | Código da Moeda Externa da Nota de Crédito que será gerada | X |
|
|
cotacao-dia | decimal | >>>,>9.99999999 | Cotação do Dia utilizada para Nota de Crédito que será gerada | X |
|
|
dt-trans | date | 99/99/9999 | Data de Transação utilizada para indicar a Data de Transação e a Data de Emissão da Nota de Crédito que será gerada | X |
|
|
nr-docto-cr | character | x(16) | Número do Documento Externo da Nota de Crédito que será gerada | X |
|
|
serie-cr | character | x(5) | Código da Série Externa da Nota de Crédito que será gerada | X |
|
|
cod-esp-cr | character | !! | Código da Espécie Externa da Nota de Crédito que será gerada | X |
|
|
tp-codigo | integer | >>9 | Código do Tipo Fluxo Financeiro | X |
|
|
estorn-comis | logical | Sim/Não | Indica se estorna ou não comissão | X |
|
|
sequencia | integer |
| Atributo que indica ocorrência única na tabela temporária | X |
|
|
conta-devol | character | x(17) | Código da Conta de Débito | X |
|
|
erro | logical | Sim/Não | Indica se ocorreu erro na tradução |
|
|
|
serie-nota | character | x(5) | Série da Nota de Devolução | X |
|
|
nr-docto-nota | character | x(16) | Número da Nota de Devolução | X |
|
|
nat-operacao | character | X(6) | Natureza de Operação | X |
|
|
cod-plano-ccusto | character | X(8) | Plano Centro de Custo |
|
|
|
cod-ccusto | character | X(20) | Centro de Custo |
|
|
|
cod-plano-cta-ctbl | character | X(8) | Plano Conta Contábil |
|
|
|
def temp-table tt-tot-tit
field referencia as character format "x(10)"
field ep-codigo as char format 'x(3)'
field cod-empresa as character format "x(3)"
field cod-estabel as character format "x(5)"
field cod-estab-ems5 as character format "x(5)"
field cod-esp as character format "!!"
field serie as character format "x(5)"
field nr-docto as character format "x(16)"
field cod-emitente as integer format ">>>>>9"
field tot-saldo as decimal format ">>>>>>>,>>9.99"
field tot-baixa as decimal format ">>>>>>>,>>9.99"
field mo-codigo as integer format ">9"
field cotacao-dia as decimal format ">>>,>9.99999999"
field dt-trans as date format "99/99/9999"
field nr-docto-cr as character format "x(16)"
field serie-cr as character format "x(5)"
field cod-esp-cr as character format "!!"
field tp-codigo as integer format ">>9"
field estorn-comis as logical format "Sim/Não" /*l_sim_nao*/
field sequencia as integer
field conta-devol as character format "x(17)"
field erro as logical format "Sim/Não" /*l_sim_nao*/
field serie-nota as character format "x(5)"
field nr-docto-nota as character format "x(16)"
field nat-operacao as character format "x(6)"
field cod-plano-ccusto as character format ”x(8)”
field cod-ccusto as character format “x(20)”
field cod-plano-cta-ctbl as character format “x(8)”
index seq is primary unique
sequencia
index titulo
serie
nr-docto
conta-devol.
Tabela Temporária | Descrição | Entrada/Saída |
tt-titulo | Contém as várias parcelas envolvidas da(s) duplicata(s). | Entrada |
Atributo | Tipo | Formato | Descrição | REC | Obrigatório | Evolução |
sequencia | integer |
| Atributo que indica de qual duplicata é a parcela em questão | X |
|
|
parcela | character | x(02) | Código da Parcela Externa da Duplicata | X |
|
|
vl-saldo | decimal | >>>>>>>,>>9.99 | Valor do Saldo em Aberto da parcela em questão |
|
|
|
vl-baixa | decimal | >>>>>>>,>>9.99 | Valor a ser baixado da parcela em questão |
|
|
|
ind-baixa | logical |
| Indicador para informar se a parcela será baixada ou não |
|
|
|
def temp-table tt-titulo
field sequencia as integer
field parcela as character format "x(02)"
field vl-saldo as decimal format ">>>>>>>,>>9.99"
field vl-baixa as decimal format ">>>>>>>,>>9.99"
field ind-baixa as logical
index titulo is primary
sequencia
ind-baixa.
Tabela Temporária | Descrição | Entrada/Saída |
tt_log_erros_atualiz | Contém os erros existentes no processo. | Saída |
(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
tta_cod_estab | character | x(3) / x(5)* | Estabelecimento |
|
|
tta_cod_refer | character | x(10) | Referência |
|
|
tta_num_seq_refer | integer | >>>9 | Sequência |
|
|
ttv_num_mensagem | integer | >>>>,>>9 | Número |
|
|
ttv_des_msg_erro | character | x(60) | Mensagem Erro |
|
|
ttv_des_msg_ajuda | character | x(40) | Mensagem Ajuda |
|
|
ttv_ind_tip_relacto | character | X(15) | Tipo Relacionamento |
|
|
ttv_num_relacto | integer | >>>>,>>9 | Relacionamento |
|
|
def temp-table tt_log_erros_atualiz no-undo
field tta_cod_estab as character format "x(5)" label "Estabelecimento" column-label "Estab"
field tta_cod_refer as character format "x(10)" label "Referência" column-label "Referˆncia"
field tta_num_seq_refer as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"
field ttv_num_mensagem as integer format ">>>>,>>9" label "Número" column-label "Número Mensagem"
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"
field ttv_ind_tip_relacto as character format "X(15)" label "Tipo Relacionamento" column-label "Tipo Relac"
field ttv_num_relacto as integer format ">>>>,>>9" label "Relacionamento" column-label "Relacionamento".
Tabela Temporária | Descrição | Entrada/Saída |
tt_un_devol |
| Entrada |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
sequencia | integer | integer | Atributo que indica de qual duplicata é a parcela em questão |
|
|
parcela | character | x(02) | Código da Parcela Externa da Duplicata |
|
|
cod-un | character | x(03) | Código da unidade de negócio do rateio |
|
|
vl-aprop-un | decimal | >>>>>>>,>>9.99 | Valor do rateio na unidade de negócio |
|
|
def temp-table tt-un-devol
field sequencia as integer
field parcela as character format 'x(02)'
field cod-un as character format 'x(03)'
field vl-aprop-un as decimal format '>>>>>>>,>>9.99'
index codigo is primary
sequencia
parcela
cod-un.
Tabela Temporária | Descrição | Entrada/Saída |
tt-impto-retid-fat | Contém os impostos retidos no faturamento | Entrada |
(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.
Atributo | Tipo | Formato | Descrição | REC | Obrigatório | Evolução |
cod-estabel | character | 'x(3)' | Código do Estabelecimento EMS2 | X |
|
|
cod-estab-ems5 | character | 'x(3)' / 'x(3)' * | Código do Estabelecimento EMS5 |
|
|
|
cod-esp | character | '!!' | Código da Espécie | X |
|
|
serie | character | 'x(5)' | Série | X |
|
|
nr-docto | character | 'x(16)' | Código do Título | X |
|
|
parcela | character | 'x(02)' | Número da Parcela | X |
|
|
cod-emitente | integer | '>>>>>' | Código do Cliente | X |
|
|
idi-tip-impto | integer |
| Tipo de Imposto (1-PIS,2-COFINS,3-CSLL) | X |
|
|
vl-impto | decimal | '>>>>>>>,>>9.99' | Valor Imposto | X |
|
|
def temp-table tt-impto-retid-fat
field cod-estabel as character format 'x(3)'
field cod-estab-ems5 as character format 'x(5)'
field cod-esp as character format '!!'
field serie as character format 'x(5)'
field nr-docto as character format 'x(16)'
field parcela as character format 'x(02)'
field cod-emitente as integer format '>>>>>'
field idi-tip-impto as integer
field vl-impto as decimal format '>>>>>>>,>>9.99'
index documento is primary
cod-estab-ems5
serie
nr-docto
cod-emitente
parcela
cod-esp
idi-tip-impto.
Observações
- Os atributos setados com “X” na Coluna “REC” indica quais os atributos que serão enviados pelo REC.
- Devido a regras aplicadas no Recebimento, a organização da temp-table é da seguinte forma: uma duplicata que possui várias parcelas tem uma ocorrência no tt-tot-tit (ou seja, cada duplicata é uma ocorrência no tt-tot-tit) e as suas várias parcelas são indicadas em N ocorrências na tt-titulo (ou seja, cada parcela é uma ocorrência no tt-titulo). A ligação entre tt-tot-tit e tt-titulo é feita através do atributo sequencia.
- Qualquer alteração que ainda se faça necessária nos atributos da tabela-temporária, seja na ordem, inclusão, alteração ou exclusão deverá ser informado a Sra. Elisabete Oliveira (mailto: [email protected]) para que a mesma possa alterar os programas do Recebimento e de Integração com o EMS 2.