Usina BRAdvPL Guide
Sign in
← All topics
ENTRY POINTUnder review

F241BTN

ExecBlock("F241BTN", .F., .F., aBut240)

Collection received in FINA241: caller analysis and editorial context diagnostics.

F241BTNFINA241
01 · OVERVIEW

Overview

The official listing records ExecBlock with aBut240 as its fourth argument. (TOTVS, n.d., ref. 2) Academia ProERP publishes an analysis titled Protheus 12.1.2210 that places the call in FA241BORDE and assigns its return to aBut240; Universo do Desenvolvedor also displays that excerpt. (Academia ProERP, n.d., ref. 3; Universo do Desenvolvedor, n.d., ref. 4) This reading informs the diagnostics below but does not document individual button structure. The index still marks the specific page under construction. Academia was consulted through indexed evidence; the complete standard source was not inspected and no Protheus execution occurred.

02 · SYNTAX

Syntax

ExecBlock("F241BTN", .F., .F., aBut240)

Parameters

PARAMIXB / aBut240
Any (check in target release)Context to confirm

Under the general ExecBlock rule, the fourth argument is available directly in PARAMIXB. The listed call passes aBut240 without wrapping it in another array. (TOTVS, n.d., refs. 2 and 5) The diagnostics check the actual type before counting elements; they do not assume PARAMIXB[1] contains the entire collection.

Return value

In the community excerpt, the ExecBlock return replaces aBut240. This suggests returning the collection to the caller; it is an interpretation of the excerpt, not a complete official contract. The editorial example returns the received content unchanged.

03 · PRACTICAL EXAMPLE

Editorial diagnostics preserving the received content

#Include "Protheus.ch"

User Function F241BTN()
    // Editorial example based on the published call; not Academia source code.
    // Context arrives directly through PARAMIXB; no button positions are assumed.
    Local uButtons := PARAMIXB

    ConOut("F241BTN: received type = " + ValType(uButtons))
    // Count only after confirming that the received content is an array.
    If ValType(uButtons) == "A"
        ConOut("F241BTN: element count = " + AllTrim(Str(Len(uButtons))))
    EndIf

    // Preserve the received value; this example does not add buttons.
Return uButtons
Expected result

For an array PARAMIXB, logs its type and element count; for other types, logs only the type. Returns the same received content. Expected behavior by reading the code; neither compiled nor executed in Protheus.

04 · PRACTICAL EXAMPLE

Caller excerpt published by the community

// Documentary excerpt attributed to Academia ProERP and Universo do Desenvolvedor.
// The rest of FA241BORDE is not reproduced.
aBut240 := ExecBlock("F241BTN", .F., .F., aBut240)
Expected result

The excerpt assigns the return to aBut240. It is not an F241BTN implementation and cannot run independently.

BEST PRACTICES
  • Collection handling is inferred from the caller; button row layout, actions and permissions remain to be confirmed.
  • Confirm this entry point in the target release before adding or changing buttons. The analysis title 12.1.2210 does not establish other-release compatibility.
  • The diagnostics log only type and count, without printing payables, amounts or element contents.
  • Transaction timing, aliases, locks and internal collection structure remain unconfirmed.

Related content

REFERENCES
  1. TOTVS. Pontos de Entrada - Financeiro - P12. TDN. Indexed evidence accessed on 2026-10-22.
  2. TOTVS. Pontos de Entrada. TDN. Indexed evidence accessed on 2026-10-22.
  3. Academia ProERP. Pontos de Entrada do TOTVS Protheus 12.1.2210 P.2/3. Accessed on 2026-10-22.
  4. Universo do Desenvolvedor. Pontos de Entrada P12.2210 - Parte 2. Accessed on 2026-10-22.
  5. TOTVS. ExecBlock - Execução do ponto de entrada. TDN. Accessed on 2026-10-22.
Status
Under review
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