Tempo aproximado para leitura: 00:02:00 min
Dúvida
Como utilizar a função Execblock()?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.8
Solução
O Execblock é uma função que permite a execução de um ponto de entrada ou de uma função de usuário. Ambas são componentes importantes em um processo de customização dentro do Protheus.
Por meio do ponto de entrada, é possível interferir no funcionamento de um processo padrão do Protheus, dentro de certos limites e regras.
Por meio da função de usuário, é possível criar rotinas que serão executadas por outras ou diretamente no menu pelo usuário. Com essas rotinas, criam-se novas funcionalidades ou alteram-se determinados procedimentos do Protheus, dentro dos limites estabelecidos.
Exemplo
#include "protheus.ch"
User Function Teste20()
Local cNota := "XXX"
Local cSerie := "01"
Local cFornece := "000001"
Local cLoja := "02"
Local aParam := {cNota, cSerie, cFornece, cLoja}
IF EXISTBLOCK("TESTE21")
lGravou := EXECBLOCK("TESTE21",.F.,.F.,aParam)
ENDIF
RETURN
USER FUNCTION Teste21()
LOCAL cNota := PARAMIXB[1]
LOCAL cSerie := PARAMIXB[2]
LOCAL cFornece := PARAMIXB[3]
LOCAL cLoja := PARAMIXB[4]
ApMsgAlert('Nota: ' +cNota)
ApMsgAlert('Serie: ' +cSerie)
ApMsgAlert('Fornece: ' +cFornece)
ApMsgAlert('Loja: ' +cLoja)
RETURN .T.
0 Comentários