Codeunit 1501 "Workflow Management"
Base Application · System.Automation
Across versions
- BC23-28present
- BC291 events added
- BC30unchanged
Neighbourhood 29 connected objects and pages
Base Application · System.Automation · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData Workflow = R, TableData “Workflow Step” = R, TableData “Workflow Step Instance” = Rimd, TableData “Workflow Table Relation Value” = rimd, tabledata “Workflow Event” = r, TableData “Workflow Event Queue” = rimd, TableData “Workflow Step Argument” = rd, TableData “Workflow - Record Change” =… |
Events published
OnBeforeHandleEventWithxRec(FunctionName: Code[128]; Variant: Variant; xVariant: Variant; var IsHandled: Boolean)(integration)OnAfterEvaluateCondition(RecRef: RecordRef; xRecRef: RecordRef; ArgumentID: Guid; var WorkflowRule: Record "Workflow Rule"; var Result: Boolean)(integration)OnFindWorkflowStepInstanceWithOptionalWorkflowStartOnAfterSetWorkflowStepInstanceLoopFi1tersWhenNotStartWorkFlow(RecordRef: RecordRef; var WorkflowStepInstanceLoop: Record "Workflow Step Instance"; FunctionName: Code[128]; StartWorkflow: Boolean)(integration)OnFindWorkflowStepInstanceWithOptionalWorkflowStartOnAfterSetWorkflowStepInstanceLoopFi1ters(RecordRef: RecordRef; var WorkflowStepInstanceLoop: Record "Workflow Step Instance"; FunctionName: Code[128]; StartWorkflow: Boolean)(integration)OnAfterSetFilterWorkflowStep(var WorkflowStep: Record "Workflow Step")+ BC29 (integration)
Procedures
TrackWorkflow(Variant: Variant; var WorkflowStepInstance: Record "Workflow Step Instance")FindWorkflowStepInstance(Variant: Variant; xVariant: Variant; var WorkflowStepInstance: Record "Workflow Step Instance"; FunctionName: Code[128]): BooleanCanExecuteWorkflow(Variant: Variant; FunctionName: Code[128]): BooleanMarkChildrenStatus(WorkflowStepInstance: Record "Workflow Step Instance"; NewStatus: Option)MarkSiblingStatus(WorkflowStepInstance: Record "Workflow Step Instance"; NewStatus: Option)UpdateStatus(var WorkflowStepInstance: Record "Workflow Step Instance"; NewStatus: Option; ChildrenStatus: Option; SiblingsStatus: Option)FindWorkflow(RecRef: RecordRef; xRecRef: RecordRef; FunctionName: Code[128]; var Workflow: Record Workflow): BooleanWorkflowExists(Variant: Variant; xVariant: Variant; FunctionName: Code[128]): BooleanArchiveWorkflowInstance(WorkflowStepInstance: Record "Workflow Step Instance")FindResponse(var ResponseWorkflowStepInstance: Record "Workflow Step Instance"; PreviousWorkflowStepInstance: Record "Workflow Step Instance"): BooleanFindEventWorkflowStepInstance(var WorkflowStepInstance: Record "Workflow Step Instance"; FunctionName: Code[128]; Variant: Variant; xVariant: Variant): BooleanHandleEvent(FunctionName: Code[128]; Variant: Variant)HandleEventWithxRec(FunctionName: Code[128]; Variant: Variant; xVariant: Variant)HandleEventOnKnownWorkflowInstance(FunctionName: Code[128]; Variant: Variant; WorkflowStepInstanceID: Guid)HandleEventWithxRecOnKnownWorkflowInstance(FunctionName: Code[128]; Variant: Variant; xVariant: Variant; WorkflowStepInstanceID: Guid)ExecuteResponses(Variant: Variant; xVariant: Variant; ActionableWorkflowStepInstance: Record "Workflow Step Instance")GetTelemetryDimensions(FunctionName: Text; SerializedWorkflowStepInstance: Text; var Dimensions: Dictionary of [Text, Text])(internal)ChangeStatusForResponsesAndEvents(WorkflowStepInstance: Record "Workflow Step Instance")EnabledWorkflowExist(TableNo: Integer; EventFilter: Text): BooleanBuildConditionDisplay(WorkflowStep: Record "Workflow Step"): Text[100]ClearSupportedCombinations(FunctionName: Code[128]; WFEventResponseCombinationType: Option "Event",Response)GetWebhookClientLink(ClientId: Guid; ClientType: Text): TextAnyWorkflowExists(): Boolean
Plus 17 local procedures.
Triggers
OnRun
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 1503 “Workflow Record Management” (2 calls:
ExecuteQueuedEvents → RestoreRecord,StoreEventForLaterProcessing → BackupRecord) - Codeunit 1530 “Request Page Parameters Helper” (2 calls:
EvaluateConditionOnTable → ConvertParametersToFilters,EvaluateConditionsOnRelatedTables → ConvertParametersToFilters) - Codeunit 1521 “Workflow Response Handling” (1 call:
ExecuteResponses → ExecuteResponse) - Codeunit 4100 “Temp Blob” (1 call:
EvaluateCondition → FromRecord) - Codeunit 6400 “Flow Service Management” (1 call:
GetWebhookClientLink → GetFlowDetailsUrl) - Codeunit 8703 “Feature Telemetry” (1 call:
HandleEventWithxRec → LogUsage) - Page 1501 “Workflow” (1 call:
NavigateToWorkflows → (object))
Called by
- Codeunit 1520 “Workflow Event Handling” (48 calls:
HandleEventWithxRecAndRefreshRec → HandleEventWithxRec,RunWorkflowOnAfterCreateDocFromIncomingDocFail → HandleEvent,RunWorkflowOnAfterCreateDocFromIncomingDocSuccess → HandleEvent, …) - Codeunit 1535 “Approvals Mgmt.” (23 calls:
CheckCustomerApprovalsWorkflowEnabled → CanExecuteWorkflow,CheckCustomerApprovalsWorkflowEnabled → EnabledWorkflowExist,CheckGeneralJournalBatchApprovalsWorkflowEnabled → CanExecuteWorkflow, …) - Codeunit 20426 “Qlty. Start Workflow” (4 calls:
StartWorkflowInspectionChanged → HandleEventWithxRec,StartWorkflowInspectionCreated → HandleEvent,StartWorkflowInspectionFinished → HandleEvent, …) - Codeunit 1541 “Workflow Webhook Events” (3 calls:
HandleOnCancelWorkflow → HandleEvent,HandleOnContinueWorkflow → HandleEvent,HandleOnRejectWorkflow → HandleEvent) - Codeunit 20425 “Qlty. Workflow Approvals” (3 calls:
HandleOnApproveTheApprovalRequestOnApproveTimeCardApproval → HandleEventOnKnownWorkflowInstance,RunWorkflowOnDelegateTimeCardApproval → HandleEventOnKnownWorkflowInstance,RunWorkflowOnRejectTimeCardApproval → HandleEventOnKnownWorkflowInstance) - Codeunit 6279 “Sust. Approvals Mgmt.” (2 calls:
CheckSustJournalBatchApprovalsWorkflowEnabled → CanExecuteWorkflow,IsSustJournalBatchApprovalsWorkflowEnabled → CanExecuteWorkflow) - Codeunit 6280 “Sust. Workflow Event Handling” (2 calls:
RunWorkflowOnCancelSustJournalBatchApprovalRequest → HandleEvent,RunWorkflowOnSendSustJournalBatchForApproval → HandleEvent) - Page 21 “Customer Card” (2 calls:
SetWorkFlowEnabled → AnyWorkflowExists,SetWorkFlowEnabled → EnabledWorkflowExist) - Page 256 “Payment Journal” (2 calls:
OnAfterGetCurrRecord → EnabledWorkflowExist,SetApprovalStateForBatch → EnabledWorkflowExist) - Codeunit 1521 “Workflow Response Handling” (1 call:
ExecuteResponse → GetTelemetryDimensions) - Codeunit 1536 “Approvals Journal Line Request” (1 call:
OnRun → CanExecuteWorkflow) - Page 22 “Customer List” (1 call:
SetWorkflowManagementEnabledState → EnabledWorkflowExist) - Page 255 “Cash Receipt Journal” (1 call:
SetApprovalStateForBatch → EnabledWorkflowExist) - Page 30 “Item Card” (1 call:
OnInit → EnabledWorkflowExist) - Page 31 “Item List” (1 call:
SetWorkflowManagementEnabledState → EnabledWorkflowExist) - Page 39 “General Journal” (1 call:
SetApprovalStateForBatch → EnabledWorkflowExist) - Page 6219 “Sustainability Journal” (1 call:
SetApprovalStateForBatch → EnabledWorkflowExist) - Table 1504 “Workflow Step Instance” (1 call:
MoveForward → UpdateStatus) - Table 1507 “Workflow Step Buffer” (1 call:
UpdateCondition → BuildConditionDisplay) - Table 1520 “Workflow Event” (1 call:
OnDelete → ClearSupportedCombinations) - Table 1521 “Workflow Response” (1 call:
OnDelete → ClearSupportedCombinations) - Table 233 “Item Journal Batch” (1 call:
SetApprovalStateForBatch → EnabledWorkflowExist) - Table 245 “Requisition Wksh. Name” (1 call:
SetApprovalStateForWkshBatch → EnabledWorkflowExist)
Recent changes
- 2026-09-25 #11847 Use matching key for workflow event step instance lookup (main, BC30, performance)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Workflow Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.