Histórico da Página
Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | utp/ut-webservicetaf.p |
Considerações Gerais
Objetivo
O objetivo desta API é realizar a integração das informações do produto datasul Datasul com o TAF, através do Web Service.
Funcionamento
A sintaxe para a chamada da API, que deve ser de forma persistente:
run utp/ut-webservicetaf.p persistent set h-handle. |
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Método Negócio
Quando a API estiver executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
VerificaConexaoTAF | |||
Requisito | Teste de conexão com o Web Service | ||
Sintaxe | define variable c-url as character no-undo. RUN verificaConexaoTAF in h-handle (input c-url , | ||
Descrição | Através dos parâmetros passados para a procedure, ela retorna a variável lógica indicando se foi possível conectar no Web Service do TAF. | ||
Parâmetros | Tipo | Descrição | |
c-url | CHARACTER | Endereço/IP do serviço fornecido pelo Web Service | |
c-porta | CHARACTER | Porta do serviço fornecido pelo Web Service. | |
l-conexao | LOGICAL | Retorna a yes/no para o teste de conexão com o Web Service | |
Retorno | O retorno da variável lógica indica se foi possível ou não conectar com o Web Service. |
pi-executa-integracao-taf | |||
Requisito | Permite realizar a integração do extrator |
Datasul com o TAF através do Web Service. | |||
Sintaxe | RUN pi-executa-integracao-taf in h-handle (input table tt-tafst2, | ||
Descrição | É enviado a temp-table tt-tafst2 com as informações a serem integradas no TAF e |
o retorno com o código e descrição de erro ou integração realizada com sucesso. | ||
Parâmetros | Tipo | Descrição |
i-cod-retorno | INTEGER | Código do retorno da integração com o Web Service |
c-desc-retorno | CHARACTER | Descrição do retorno da integração com o Web Service |
A procedure retorna uma temp-table, do tipo ttDados, que está definida na include laphtml/mladados.i.
Nesta temp-table contém dados da temp-table tt-requisicao-lista, que é detalhada na tabela mais abaixo.
Exemplo de registro que poderiam existir na tt-requisicao-lista:
ttDados.cTable = “tt-requisicao-lista”
ttDados.iRow = 1
ttDados.cField = “nr-requisicao”
ttDados.cValue = “3456”
ttDados.cTable = “tt-requisicao-lista”
ttDados.iRow = 1
ttDados.cField = “cod-estabel”
ttDados.cValue = “EST1”
ttDados.cTable = “tt-requisicao-lista”
ttDados.iRow = 1
ttDados.cField = “nome-abrev”
ttDados.cValue = “Usuário XXX”
detalheDocumento | ||
Requisito | Detalhe de pendências do MLA do documento de Solicitação de compra – por total | |
Sintaxe | {laphtml/mladados.i}
RUN detalheDocumento in h-handle (input p-nr-transacao, input p-situacao, output table ttDados). | |
Descrição | Através dos parâmetros passados para a procedure, ela retorna as informações para detalhamento da pendência do documento (Solicitação de compra – Total) | |
Parâmetros | Descrição | |
p-nr-transacao | Número da transação da pendência (no MLA) | |
Retorno | p-situacao: Situação da pendência (INTEGER) – Conforme situação no MLA (doc-pend-aprov)
A procedure retorna também uma temp-table, do tipo ttDados, que está definida na include laphtml/mladados.i. Nesta temp-table contém dados das temp-tables tt-requisicao e tt-it-requisicao, que são detalhadas na tabela mais a baixo.
Exemplo de registro que poderiam existir na tt-requisicao:
ttDados.cTable = “tt-requisicao” ttDados.iRow = 1 ttDados.cField = “nr-requisicao” ttDados.cValue = “3456”
ttDados.cTable = “tt-requisicao” ttDados.iRow = 1 ttDados.cField = “cod-estabel” ttDados.cValue = “EST1”
ttDados.cTable = “tt-requisicao” ttDados.iRow = 1 ttDados.cField = “desc-tp-requis” ttDados.cValue = “Solicitação de Compra” |
Retorno | i-cod-retorno/c-desc-retorno: Caso a integração retorne um código diferente dos citados acima, o retorno será o seguinte: |
Nota | ||
---|---|---|
| ||
A pi-executa-integração-taf chama a procedure privada setupConnectionTAF, onde realiza as devidas configurações e validação do usuário e senha (se a autenticação estiver ativa) no serviço e demais informações cadastradas no programa CD0101, pasta integração II. |
tt-requisicao
Entrada/
Saída
Temp-table com dados da solicitação de compra para serem apresentados no detalhamento do documento
Saída
tt-tafst2 | Envio | |||
Temp-table com dados para envio das informações para a integração. | Envio |
Atributo | Tipo | Formato | Descrição | Obrigatório |
nr-requisicao
INTEGER
>>>,>>>,>>9
Requisição
Sim
tp-requis
INTEGER
>9
Tipo Requisição
Sim
desc-tp-requis
taffil | CHARACTER | X( |
Descrição Tipo Requisição
Sim
narrativa
CHARACTER
X(2000)
Narrativa Requisição
Não
ep-codigo
CHARACTER
X(3)
Empresa
Sim
desc-ep-codigo
CHARACTER
X(60)
Razão social da empresa
Sim
10) | Código Identificador da filial do ERP emissor. | Sim |
tafseq | CHARACTER | X( |
Estabelecimento
Sim
desc-cod-estabel
CHARACTER
X(40)
Nome estabelecimento
Sim
03) | Sequência do arquivo; A Mensagem em TAFMSG pode ser enviada em mais de 1 registro, para isso deve-se repetir as informações dos demais campos e alterar a sequencia de acordo com a ordem das informações enviadas. | Sim |
taftpreg | CHARACTER | X( |
10) |
Chave do Registro. | Sim |
tafkey | CHARACTER | X( |
100) |
Array contendo os TAFKEY requisitados. | Sim |
tafcodmsg | CHARACTER | X( |
Lotação
Sim
desc-cod-lotacao
CHARACTER
X(32)
Descrição lotação
Sim
dt-requisicao
DATE
99/99/9999
Data Requisição
Sim
loc-entrega
CHARACTER
X(30)
Local entrega
Não
total-doc
DECIMAL
>>>>>,>>>,>>9.9999
Valor total do documento
Sim
1) | Determina se o arquivo enviado em TAFMSG é .txt (1)ou .Xml(2) | Sim |
tafstatus |
tt-it-requisicao
Entrada/
Saída
Temp-table com dados dos itens de solicitação de compra para serem apresentados no detalhamento do documento
Saída
Atributo
Tipo
Formato
Descrição
Obrigatório
it-codigo
CHARACTER
X(16)
Item
Sim
CHARACTER | X( |
Descrição do item
Sim
nr-requisicao
INTEGER
>>>,>>>,>>9
Requisição
Sim
ct-codigo
CHARACTER
X(20)
Conta
Não
1) | Fixo "1" | Não |
tafticket |
CHARACTER | X( |
1) |
Fixo "" | Não |
tafdata | CHARACTER |
X(20)
Sub-conta
Não
desc-sc-codigo
CHARACTER
X(40)
Descrição sub-conta
Não
sequencia
INTEGER
>>9
Sequência
Sim
un
CHARACTER
X(2)
Unidade de medida
Sim
desc-un
CHARACTER
X(15)
Descrição da unidade medida
Sim
narrativa
CHARACTER
X(2000)
Narrativa
Não
qt-requisitada
DECIMAL
>>>,>>>,>>9.9999
Quantidade requisitada
Sim
qt-a-atender
DECIMAL
>>>,>>>,>>9.9999
Quantidade a atender
Não
dt-entrega
DATE
99/99/9999
Data entrega
Sim
preco-unit
DECIMAL
>>>>>,>>>,>>9.99999
Preço unitário
Não
cod-utiliz
CHARACTER
X(12)
Código Utilização
Não
desc-cod-utiliz
CHARACTER
X(40)
Descrição Código Uitlização
Não
total-item
DECIMAL
>>>>>,>>>,>>9.9999
Total do Item
Sim
valor-unit
DECIMAL
>>>>>,>>>,>>9.9999
Valor unitário
Sim
cod-refer
CHARACTER
X(8)
Referência
Sim
desc-cod-refer
CHARACTER
X(32)
Descrição da referência
Sim
urgente
LOGICAL
YES/NO
Urgente
Sim
homologa
LOGICAL
YES/NO
Homola fornecedor
Sim
afeta-qualidade
LOGICAL
YES/NO
Afeta Qualidade
Sim
num-ord-inv
INTEGER
>>>,>>9
Ordem Investimento
Não
prioridade
CHARACTER
X(15)
Prioridade
Sim
Nota | ||
---|---|---|
| ||
Se necessário alterar ou incluir informação no detalhamento, existe um ponto de EPC com evento com o nome de “DetalheDoc” que pode ser utilizado. Ele possui o parâmetro “Handle_ttDados”, que possui o handle da temp-table ttDados. |
...
String - AAAAMM01 | Data da Integração. | Sim | ||
tafhora | CHARACTER | String - HH:MM:SS | Hora da Integração. | Sim |
r_e_c_n_o | INTEGER | 9999 | Numero do RecNo do ultimo registro retornado na requisição. | Sim |
tafmsg | Memo - Base64 | X(15000) | Arquivo/Evento a ser integrado, a mensagem deve ser enviada com criptografia BASE64. | Sim |