Codeunit 99000886 "Capable to Promise"
Base Application · Microsoft.Inventory.Availability
Across versions
- BC23-24present
- BC253 events added, 1 procedures added
- BC26unchanged
- BC272 procedures added, 2 events changed
- BC28-29unchanged
- BC303 procedures removed, 2 events removed
Neighbourhood 12 connected objects and pages
Base Application · Microsoft.Inventory.Availability · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnBeforeReqLineInsert(var RequisitionLine: Record "Requisition Line")(integration)OnBeforeReqLineModify(var RequisitionLine: Record "Requisition Line")(integration)OnBeforeGetCumulativeATP(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; DueDate: Date; UnitOfMeasureCode: Code[10]; PeriodType: Enum "Analysis Period Type"; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeCheckCompsCapableToPromise(RequisitionLine: Record "Requisition Line"; PeriodType: Enum "Analysis Period Type"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeValidateCapableToPromise(var RequisitionLine: Record "Requisition Line"; ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; NeededDate: Date; NeededQty: Decimal; UnitOfMeasure: Code[10]; PeriodType: Enum "Analysis Period Type"; var DueDateOfReqLine: Date; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeCalcCapableToPromiseDate(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; NeededDate: Date; NeededQty: Decimal; UnitOfMeasure: Code[10]; var LocOrderPromisingID: Code[20]; LocSourceLineNo: Integer; var LastValidLine: Integer; PeriodType: Enum "Analysis Line Type"; PeriodLengthFormula: DateFormula; var Result: Date; var IsHandled: Boolean)(integration)OnBeforeCheckTransferShptCTP(RequisitionLine: Record "Requisition Line"; PeriodType: Enum "Analysis Period Type"; var Result: Boolean; var IsHandled: Boolean)(integration)OnCalcCapableToPromiseDateOnAfterSetOrderPromisingParameters(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; PeriodLengthFormula: DateFormula; var OrderPromisingStart: Date; var OrderPromisingEnd: Date)+ BC25 (integration)OnBeforeReassignRefOrderNos(OrderPromisingID: Code[20]; var IsHandled: Boolean)+ BC25 Δ BC27 − BC30 (integration, obsolete 27.0)OnReassignRefOrderNosOnAfterRequisitionLineModifyAll(var RequisitionLine: Record "Requisition Line")+ BC25 Δ BC27 − BC30 (integration, obsolete 27.0)
Procedures
CalcCapableToPromiseDate(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; NeededDate: Date; NeededQty: Decimal; UnitOfMeasure: Code[10]; var LocOrderPromisingID: Code[20]; LocSourceLineNo: Integer; var LastValidLine: Integer; PeriodType: Enum "Analysis Line Type"; PeriodLengthFormula: DateFormula): DateRemoveReqLines(OrderPromisingID: Code[20]; SourceLineNo: Integer; LastGoodLineNo: Integer; FilterOnNonAccepted: Boolean)ReassignRefOrderNos(OrderPromisingID: Code[20])Δ BC27 − BC30 (obsolete 27.0: Moved to codeunit ProdOrderAvailabilityMgt)RunOnBeforeReassignRefOrderNos(OrderPromisingID: Code[20]; var IsHandled: Boolean)+ BC27 − BC30 (internal)RunOnReassignRefOrderNosOnAfterRequisitionLineModifyAll(var RequisitionLine: Record "Requisition Line")+ BC27 − BC30 (internal)
Plus 11 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 5402 “Unit of Measure Management” (1 call:
GetCumulativeATP → QtyRndPrecision) - Codeunit 5404 “Lead-Time Management” (1 call:
CreateReqLine → GetPlannedEndingDate) - Codeunit 5790 “Available to Promise” (1 call:
GetCumulativeATP → CalcQtyAvailableToPromise) - Codeunit 99000809 “Planning Line Management” (1 call:
CreateReqLine → Calculate) - Codeunit 99000840 “Plng. Component-Reserve” (1 call:
BindToRequisition → BindToTracking) - Page 456 “No. Series” (1 call:
SetOrderPromisingParameters → (object))
Called by
- Codeunit 4413 “SOA Shipment Date Mgt.” (2 calls:
CalculateEarliestShipmentDate → CalcCapableToPromiseDate,CalculateEarliestShipmentDate → RemoveReqLines) - Codeunit 6452 “Serv. Availability Mgt.” (2 calls:
OnCalcCapableToPromiseLine → CalcCapableToPromiseDate,OnCalcCapableToPromiseLine → RemoveReqLines) - Codeunit 99000871 “Job Planning Availability Mgt.” (2 calls:
OnCalcCapableToPromiseLine → CalcCapableToPromiseDate,OnCalcCapableToPromiseLine → RemoveReqLines) - Codeunit 99000872 “Sales Availability Mgt.” (2 calls:
OnCalcCapableToPromiseLine → CalcCapableToPromiseDate,OnCalcCapableToPromiseLine → RemoveReqLines) - Page 99000959 “Order Promising Lines” (1 call:
OnClosePage → RemoveReqLines) - Table 37 “Sales Line” (1 call:
OnDelete → RemoveReqLines)
Recent changes
- 2026-10-02 #12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026 (main, BC30, obsoletion)
Deprecations
- procedure RunOnBeforeReassignRefOrderNos: guarded (#if not CLEAN27)
- procedure RunOnReassignRefOrderNosOnAfterRequisitionLineModifyAll: guarded (#if not CLEAN27)
- procedure OnBeforeReassignRefOrderNos: Pending 27.0 (#if not CLEAN27), “Moved to codeunit ProdOrderAvailabilityMgt”
- procedure OnReassignRefOrderNosOnAfterRequisitionLineModifyAll: Pending 27.0 (#if not CLEAN27), “Moved to codeunit ProdOrderAvailabilityMgt”
- procedure ReassignRefOrderNos: Pending 27.0 (#if not CLEAN27), “Moved to codeunit ProdOrderAvailabilityMgt”
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
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: "Capable to Promise"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.