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 é fornecer dados sobre pendências do módulo do MLA para o documento Solicitação de Compra (Total), estejam elas pendentes de aprovações, aprovadas ou reprovadas.
Funcionamento
A API fornece basicamente dois tipos de informações: listagem de documentos (neste caso solicitações de compra) e/ou detalhe um documento (neste caso solicitação de compra).
realizar a integração das informações do produto Datasul com o TAF, através do Web Service.
Funcionamento
A 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 |
Listagem de pendências do MLA (em várias situações) do documento de Solicitação de compra – por total
Teste de conexão com o Web Service | |||
Sintaxe | define variable c-url as character no-undo. RUN verificaConexaoTAF |
Sintaxe
{laphtml/mladados.i}
RUN listagemDocumentos
in h-handle ( |
input c-url , |
input |
c-porta, |
input dtIni,
input dtFim,
output table ttDadosoutput l-conexao). | |||
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 |
Código do tipo de documento (neste caso para solicitação de compra por total, informar 2)
tipoDoc
CHARACTER
Tipo de documento a ser apresentado. As opções que podem ser utilizadas são:
prin: Documentos pendentes de aprovação
saida: Documentos aprovados, rejeitados e reaprovados (histórico de aprovação)
alt: Documentos pendentes como usuário alternativo
mes: Documentos como usuário mestre
ambos: Documentos pendente de aprovação como usuário principal e como alternativo
aprov: Documentos aprovados e reaprovados
reprov: Documentos reprovados
dtIni
DATE
Data de início para consideração dos documentos já aprovados, rejeitados, reaprovados (histórico)
dtFim
DATE
Data de término para consideração dos documentos já aprovados, rejeitados, reaprovados (histórico)
As datas somente são utilizadas para o histórico e caso não sejam informadas serão considerados 30 dias.
Retorno
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”
ttDados | Entrada/Saída | |||
Temp-table com dados da listagem em formato único. | Saída | |||
Atributo | Tipo | Descrição | Obrigatório | Evolução |
cTable | CHARACTER | Nome da temp-table | Sim | Não se aplica |
iRow | INTEGER | Sequencial de registro | Sim | Não se aplica |
cField | CHARACTER | Nome do campo da temp-table | Sim | Não se aplica |
cValue | CHARACTER | Valor do campo | Sim | Não se aplica |
tt-requisicao-lista | Entrada/ Saída | ||||
Temp-table com dados de solicitação de compra para serem apresentados na listagem | Saída | ||||
Atributo | Tipo | Formato | Descrição | Obrigatório | |
cod-estabel | CHARACTER | X(5) | Estabelecimento | Sim | |
nr-requisicao | INTEGER | >>>,>>>,>>9 | Requisição | Sim | |
nome-abrev | CHARACTER | X(12) | Requisitante | Sim | |
situacao | CHARACTER | X(10) | Situação | Sim | |
estado | CHARACTER | X(12) | Estado | Sim | |
valor | DECIMAL | ->>,>>>,>>9.99 | Valor | Sim | |
situacao-doc | INTEGER | >9 | Situação da pendência | Sim | |
situacao-doc-desc | CHARACTER | X(15) | Descrição da situação | Sim | |
nr-trans | INTEGER | >>>,>>>,>>9 | Número da transação (MLA) | Sim | |
alternativo | LOGICAL | YES/NO | Indica que é uma pendência como alternativo | Sim | |
mestre | LOGICAL | YES/NO | Indica que é uma pendência como mestre | Sim | |
cod-usuar | CHARACTER | X(12) | Aprovador | Sim | |
mla-doc-pend-aprov-valor-doc | DECIMAL | ->>,>>>,>>9.99 | Valor do documento | Sim | |
chave-doc | CHARACTER | X(40) | Chave do documento | Sim | |
chave-doc-formatada | CHARACTER | X(70) | Chave do documento formatada | Sim | |
mla-ep-codigo | CHARACTER | X(3) | Código da empresa | Sim | |
mla-cod-estabel | CHARACTER | X(5) | Código do estabelecimento | Sim | |
mla-desc-ep-codigo | CHARACTER | X(70) | Nome da empresa | Sim | |
mla-desc-cod-estabel | CHARACTER | X(40) | Nome do estabelecimento | Sim | |
mla-nome-usuar | CHARACTER | X(40) | Nome do aprovador | Sim |
Obs.: Se necessário alterar ou incluir informação na listagem, existe um ponto de EPC com evento com o nome de “ListagemDocs” que pode ser utilizado. Ele possui o parâmetro “Handle_ttDados”, que possui o handle da temp-table ttDados.
listagemDocumentosEmpresaEstab | |||
Requisito | Listagem de pendências do MLA (em várias situações) do documento de Solicitação de compra – por total por empresa e estabelecimento | ||
Sintaxe | {laphtml/mladados.i}
RUN listagemDocumentosEmpresaEstab in h-handle (input cEpCodigo, input cCodEstabel, input iCodTipDoc, input tipoDoc, input dtIni, input dtFim, output table ttDados). | ||
Descrição | Através dos parâmetros passados para a procedure, ela retorna os registros para listagem dos documentos (Solicitação de compra – Total) | ||
Parâmetros | Tipo | Descrição | |
cEpCodigo | CHARACTER | Código da empresa (Se passar em branco considera todas) | |
cCodEstabel | CHARACTER | Código do estabelecimento (Se passar em branco considera todos) | |
iCodTipDoc | INTEGER | Código do tipo de documento (neste caso para solicitação de compra por total, informar 2) | |
tipoDoc | CHARACTER | Tipo de documento a ser apresentado. As opções que podem ser utilizadas são:
prin: Documentos pendentes de aprovação saida: Documentos aprovados, rejeitados e reaprovados (histórico de aprovação) alt: Documentos pendentes como usuário alternativo mes: Documentos como usuário mestre ambos: Documentos pendente de aprovação como usuário principal e como alternativo aprov: Documentos aprovados e reaprovados reprov: Documentos reprovados | |
dtIni | DATE | Data de início para consideração dos documentos já aprovados, rejeitados, reaprovados (histórico) | |
dtFim | DATE | Data de término para consideração dos documentos já aprovados, rejeitados, reaprovados (histórico)
As datas somente são utilizadas para o histórico e caso não sejam informadas serão considerados 30 dias. | |
Retorno | 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” |
tt-requisicao | Entrada/ Saída | |||
Temp-table com dados da solicitação de compra para serem apresentados no detalhamento do documento | Saída | |||
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 | CHARACTER | X(30) | 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 |
cod-estabel | CHARACTER | X(5) | Estabelecimento | Sim |
desc-cod-estabel | CHARACTER | X(40) | Nome estabelecimento | Sim |
nome-abrev | CHARACTER | X(12) | Requisitante | Sim |
desc-nome-abrev | CHARACTER | X(40) | Nome requisitante | Sim |
cod-lotacao | CHARACTER | X(20) | 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 |
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 |
desc-it-codigo | CHARACTER | X(60) | Descrição do item | Sim |
nr-requisicao | INTEGER | >>>,>>>,>>9 | Requisição | Sim |
ct-codigo | CHARACTER | X(20) | Conta | Não |
desc-ct-codigo | CHARACTER | X(40) | Descrição da conta | Não |
sc-codigo | 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. |
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 | |
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-tafst2 | Envio | |||
Temp-table com dados para envio das informações para a integração. | Envio | |||
Atributo | Tipo | Formato | Descrição | Obrigatório |
taffil | CHARACTER | X(10) | Código Identificador da filial do ERP emissor. | Sim |
tafseq | CHARACTER | X(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(1) | Determina se o arquivo enviado em TAFMSG é .txt (1)ou .Xml(2) | Sim |
tafstatus | CHARACTER | X(1) | Fixo "1" | Não |
tafticket | CHARACTER | X(1) | Fixo "" | Não |
tafdata | CHARACTER | 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 |
...