Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicoutp/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.
define variable c-porta as character no-undo.
define variable l-conexao as character no-undo.

RUN verificaConexaoTAF in h-handle (input c-url ,
                                                              input  c-porta,
                                                              output 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

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

Datasul com o TAF através do Web Service.

Sintaxe

RUN pi-executa-integracao-taf in h-handle (input table tt-tafst2,
output i-cod-retorno,
output c-desc-retorno).                                                                       

Descrição

É enviado a temp-table tt-tafst2 com as informações a serem integradas no TAF e

os retornos

o retorno com o código e descrição de erro ou integração realizada com sucesso.

Parâmetros

Tipo

Descrição

i-cod-retornoINTEGERCódigo do retorno da integração com o Web Service
c-desc-retornoCHARACTERDescriçã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:
"200/201: Integração realizada com sucesso! Número do Ticket: *TAF+DATA+HORAS+SEGUNDOS*" (Ticket de integração no TAF, formado pelos campos tt-tafst2.TAFDATA + tt-tafst2.tafhora)
"401: Nome de usuário ou senha incorretos"
"404: Erro de Conexão, por favor, verifique as parametrizações"
"405: Erro. Conteúdo inválido no campo Resource, por favor, verifique as parametrizações."

Caso a integração retorne um código diferente dos citados acima, o retorno será o seguinte:
"Ocorreu um erro. Gentileza entrar em contato com o canal de atendimento."




Nota
titleNota:

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.
No banco MOVIFIS (EMS2) existe a tabela TAFST1 que atende as informações necessárias para a integração, então, a temp-table tt-tafst2 pode ser like TAFST1.

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(

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

10)

Código Identificador da filial do ERP emissor.

Sim

tafseqCHARACTERX(
5)

Estabelecimento

Sim

desc-cod-estabel

CHARACTER

X(40)

Nome estabelecimento

Sim

nome-abrev
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
taftpregCHARACTERX(
12
10)
Requisitante
Chave do Registro.Sim
desc-nome-abrev
tafkeyCHARACTERX(
40
100)
Nome requisitante
Array contendo os TAFKEY requisitados.Sim
cod-lotacao
tafcodmsgCHARACTERX(
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

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

desc-it-codigo
CHARACTERX(
60)

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
desc-ct-codigo
CHARACTERX(
40
1)
Descrição da conta
Fixo ""Não
sc-codigo
tafdataCHARACTER

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
titleNota:

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 - AAAAMM01Data da Integração.Sim
tafhoraCHARACTERString - HH:MM:SSHora da Integração.Sim
r_e_c_n_oINTEGER9999 Numero do RecNo do ultimo registro retornado na requisição.Sim
tafmsgMemo - Base64X(15000) Arquivo/Evento a ser integrado, a mensagem deve ser enviada com criptografia BASE64.Sim