← All topicsENTRY POINTUnder review
F040FAB
ExecBlock("F040FAB", .F., .F., nSavRec)Extends recording of the FABOV title generated in accounts receivable. Technical contract under review.
F040FABFINXFINExecBlockPARAMIXBFABOV
01 · OVERVIEWOverview
The official index associates F040FAB with supplementary recording of the FABOV title in accounts receivable. Its row lists MATXATU and FINXFIN, while the specific entry remains marked “Em construção” (under construction). (TOTVS, s.d., ref. 1) The public listing shows FINXFIN calling ExecBlock("F040FAB", .F., .F., nSavRec). This identifies the entry point and the expression passed; it does not establish its exact position relative to commit. (TOTVS, s.d., ref. 2)
02 · SYNTAXSyntax
ExecBlock("F040FAB", .F., .F., nSavRec)
Parameters
PARAMIXBContextualExecution context
Context exposed through the fourth ExecBlock argument. It is not a required formal argument of the User Function. The listing shows nSavRec without an explicit array; actual presence, type, and meaning must be confirmed in the target release.
Return value
The specific contract has not been confirmed in the public sources located. The bare Return belongs only to the diagnostic example and does not establish the return required by standard processing.
03 · PRACTICAL EXAMPLEDiagnostic example
#Include "Protheus.ch"
User Function F040FAB()
Local uContext := Nil
// Preserve the received type instead of assuming a parameter array.
If Type("PARAMIXB") <> "U"
uContext := PARAMIXB
EndIf
// Test environment diagnostic: leave the title and transaction unchanged.
ConOut("F040FAB: received type = " + ValType(uContext))
Return
Expected resultIf the entry point runs in the tested scenario, a console line should report the received type. No message does not prove incompatibility: check compilation, RPO, environment, and whether the operation actually exercises the corresponding title generation.
BEST PRACTICES- Confirm the call and title generation scenario in the target release and patch.
- Preserve work areas if future customization selects or repositions aliases.
- Start by diagnosing the PARAMIXB type without printing title data.
- Compare processing without customization and with this example in a test environment.
- Record the validated version and retain didactic comments in the code.
COMMON PITFALLS- Do not assume PARAMIXB is an array or that PARAMIXB[1] represents the context.
- Do not infer the received table or record solely from the name nSavRec.
- Do not assign undocumented authorization or cancellation semantics to .T./.F. returns.
- Do not assume execution after commit, a record lock, or a positioned alias.
- The example has neither been compiled nor executed in Protheus; full source verification remains pending.
Comments
There are no approved comments yet.
Sign in with Google or Microsoft to comment.