Usina BRAdvPL Guide
Sign in
← All topics
FUNCTIONPublished

ExecBlock

ExecBlock( <cPontoEntrada>, [lMostraErro], [lRetorna], [aParametros] ) --> uRet

Executes an entry point or custom block in the Protheus environment.

Entry pointsFrameworkCustomizationEssential functions
01 · OVERVIEW

Overview

ExecBlock() calls a customization registered in the environment. It is a classic Protheus extension mechanism: a standard routine checks or executes an entry point to allow validations and specific behavior without changing the standard source.

02 · SYNTAX

Syntax

ExecBlock( <cPontoEntrada>, [lMostraErro], [lRetorna], [aParametros] ) --> uRet

Parameters

cPontoEntrada
CaracterRequired

Nome do ponto de entrada ou bloco a executar.

lMostraErro
LógicoOptional

Indica tratamento/exibição de erro conforme o padrão do ambiente.

lRetorna
LógicoOptional

Indica se a chamada deve considerar retorno do bloco executado, conforme contrato da rotina.

aParametros
ArrayOptional

Parâmetros enviados ao ponto de entrada, quando previstos pelo contrato.

03 · PRACTICAL EXAMPLE

Execução com validação de retorno

#Include "TOTVS.ch"

User Function ExExecBlock()
    Local lContinue := .T.

    If ExistBlock("MA030VLD")
        lContinue := ExecBlock("MA030VLD", .F., .F.)
    EndIf

    If !lContinue
        MsgStop("Validation stopped by the entry point.")
    EndIf
Return
Expected result

Runs the customization only when it exists and respects the logical return.

BEST PRACTICES
  • Combine com ExistBlock() quando o ponto de entrada for opcional.
  • Leia a documentação do ponto de entrada para saber parâmetros, momento de execução e retorno esperado.
  • Em validações, trate retorno lógico de forma explícita.
COMMON PITFALLS
  • Chamar ExecBlock() sem conhecer o contrato do ponto de entrada pode produzir erro ou comportamento inesperado.
  • Não use como atalho genérico para acoplar rotinas sem documentação.

Related content

REFERENCES
  1. RXM Tecnologia. 20 essential AdvPL functions every Protheus developer uses. May 2026.
Status
Published
Page created on
Last reviewed on
Original language
Portuguese
Reviewed by
Usina.BR
0 approved comment(s)

Comments

There are no approved comments yet.

Sign in with Google or Microsoft to comment.

Powered by Usina Docs · Alpha