Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Microsiga Protheus®

Ambiente:Faturamento (SIGAFAT)

Ocorrência:

Exemplos de teste e informações sobre teste de Pontos de entrada e ExecAuto

Passo a passo:
Card
defaulttrue
idCusto Médio
label1. LIMITE DE CRÉDITO
Deck of Cards
startHiddenfalse
effectDuration0.5
idCards
effectTypehorizontal
loopCardstrue
Card
defaulttrue
idCusto Médio
labelPontos de Entrada


Card
defaulttrue
id0607202023
labelExecAuto

Conceito (O que é um ExecAuto?)


Expandir
titleComo saber se um fonte possui ExecAuto?

Basicamente, as funções que recebem parâmetros podem ser chamadas via ExecAuto, parâmetros são passados entre parênteses após o nome da função.


Exemplo de Função que possui parâmetros:

Exemplo de função que não possui parâmetros:


Após verificar se a função tem parâmetros, deve-se verificar se existe um Modelo de ExecAuto para esta função publicado no TDN.

Páginas de Rotinas Automáticas (ExecAuto):


Aviso
titleAtenção

Caso a rotina possua parâmetros e não possua um exemplo publicado no TDN, é necessário solicitar a documentação do ExecAuto ao time de desenvolvimento através de uma Issue de Documentação.




Card
defaulttrue
id0607202023
labelExecauto Via API REST

Para testes de chamada de execauto via API REST, siga os passos abaixo:

Deck of Cards
idVIA API REST
Card
label1 - Fonte de exemplo

Fonte de exemplo de API REST para chamada de execauto:

#INCLUDE'PROTHEUS.CH'
#INCLUDE 'TOTVS.CH'
#INCLUDE 'RESTFUL.CH'
#INCLUDE 'RWMAKE.CH'
#INCLUDE 'TOPCONN.CH'
#INCLUDE "FWMVCDEF.CH"


// API para chamar execauto via REST

WSRESTFULEXECTST2DESCRIPTION"TESTE"
    WSMETHODGETDESCRIPTION"TESTE"WSSYNTAX"/EXECTST"
ENDWSRESTFUL

WSMETHODGETWSSERVICEEXECTST2
    U_MyMata410()   //Função a ser chamada
Return


1 - Salvar o fonte com o nome "execviarest.prw".

2 - Na "Função a ser chamada" colocar o nome da função do execauto que irá utilizar:

     Exemplo: U_MyMata410()

Card
label2 - Ajustes no fonte

Ajustes a serem feitos no fonte do execauto:

1 - Não fazer a abertura do ambiente: PREPARE ENVIRONMENT ou RpcSetEnv.

2 - Fazer o tratamento para a função "MostraErro" conforme documentação abaixo:

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Erro: job threads doesn't support remoto/visual components

Card
label3 - Compilação dos fontes

Compilar os fontes:

1 - Fonte da API: execviarest.prw

2 - Fonte do execauto "ajustado"

Card
label4 - REST

Subir um serviço de REST, para isso utilize o exemplo abaixo:

;=====================================
;==============  WEB REST  ===============
;=====================================

[HTTPV11] 
Enable=1 
AddressFamily=1 
Sockets=HTTPREST

[HTTPREST] 
Port=8086  <<-- Porta do REST
IPsBind=
MaxQueue=10
URIs=HTTPURI
SECURITY=1

[HTTPURI]
URL=/rest
PrepareIn=ALL
Instances=1,10
OnStart=REST_START
OnConnect=REST_CONNECT
OnExit=REST_EXIT

[HTTPJOB] 
MAIN=HTTP_START
ENVIRONMENT=12.1.2310  <<-- Nome do seu ambiente

[ONSTART]
jobs=HTTPJOB
RefreshRate=120

;=====================================

Não se esqueça de validar se o REST está no ar, feche o console do App Server e abra novamente verificando se exibe a mensagem de REST, validando também se o REST está no ar através do navegador da internet, conforme demonstrado no vídeo.


Dica
titleDica
Card
label5 - Postman

Para fazer a chamada da API iremos utilizar o Postman.


1 - Instalar o Postman: https://www.postman.com/downloads/

2 - Informar os dados de acesso ao Postman, campos a preencher na aba "Headers":

  • GET: Coloque o endereço de seu REST + o texto: /EXECTST2
  • Key: tenantid
  • Value: 99,01 <empresa,filial>
Card
label6 - Teste

No Postman clique no botão "Send" para executar a API:

Card
defaulttrue
id0607202023
labelExecauto Via API WebService

Para testes de chamada de execauto via API WebService, siga os passos abaixo:

Deck of Cards
idVIA API WS
Card
label1 - Fonte de exemplo

Fonte de exemplo de API WS para chamada de execauto:

#include"protheus.ch"
#include"totvs.ch"
#include"apwebsrv.ch"


// API para chamar execauto via WS

WSSERVICEwsteste01
    WSDATAcumped   ASstring
    WSDATAcRet     ASstring
    WSDATAUserCodeASString

    WSMETHODwsteste
ENDWSSERVICE

WSMETHODwstesteWSRECEIVEUserCode,cumpedWSSENDcRetWSSERVICEwsteste01
   U_MyMata410()   //função a ser chamada

RetURN.T.


1 - Salvar o fonte com o nome "execviaws.prw".

2 - Na "Função a ser chamada" colocar o nome da função do execauto que irá utilizar:

     Exemplo: U_MyMata410()

Card
label2 - Ajustes no fonte

Ajustes a serem feitos no fonte do execauto:

1 - Não fazer a abertura do ambiente: PREPARE ENVIRONMENT ou RpcSetEnv.

2 - Fazer o tratamento para a função "MostraErro" conforme documentação abaixo:

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Erro: job threads doesn't support remoto/visual components

Card
label3 - Compilação dos fontes

Compilar os fontes:

1 - Fonte da API: execviaws.prw

2 - Fonte do execauto "ajustado"

Card
label4 - WebService

Subir um serviço de WebService, para isso utilize o exemplo abaixo:


Card
label5 - SoapUI


Card
label6 - Teste


Pode lhe Interessar: