Codeunit 20505 "Subcontracting Management"
Subcontracting · Microsoft.Manufacturing.Subcontracting
Across versions
- BC23-28not present
- BC29-30present
Subcontracting · Microsoft.Manufacturing.Subcontracting · BC29-30 · source at ea08af5e · facts from BC29
Events published
OnBeforeGetSubcontractor(WorkCenterNo: Code[20]; var Vendor: Record Vendor; var HasSubcontractor: Boolean; var IsHandled: Boolean)(internal)
Procedures
ChangeLocationOnProdOrderComponent(var ProdOrderComponent: Record "Prod. Order Component"; VendorSubcontrLocation: Code[10]; OriginalLocationCode: Code[10]; OriginalBinCode: Code[20])ValidateProdOrderCompLocationPreservingFlushingMethod(var ProdOrderComponent: Record "Prod. Order Component"; NewLocationCode: Code[10])(internal)ChangeLocationOnPlanningComponent(var PlanningComponent: Record "Planning Component"; VendorSubcontrLocation: Code[10]; OriginalLocationCode: Code[10]; OriginalBinCode: Code[20])DelLocationLinkedComponents(ProdOrderRoutingLine: Record "Prod. Order Routing Line"; ShowMsg: Boolean)GetSubcontractor(WorkCenterNo: Code[20]; var Vendor: Record Vendor): BooleanCheckSubcontractingWorkCenter(WorkCenterNo: Code[20])(internal)CheckProdNotBlockedForOutput(ItemNo: Code[20]; VariantCode: Code[20])(internal)UpdateSubcontractorPriceForRequisitionLine(var RequisitionLine: Record "Requisition Line")UpdateLinkedComponentsAfterRoutingTransfer(var ProdOrderLine: Record "Prod. Order Line"; var RoutingLine: Record "Routing Line"; var ProdOrderRoutingLine: Record "Prod. Order Routing Line")UpdateComponentSupplyMethodForPlanningComponent(var PlanningComponent: Record "Planning Component")UpdateComponentSupplyMethodForProdOrderComponent(var ProdOrderComponent: Record "Prod. Order Component")UpdLinkedComponents(ProdOrderRoutingLine: Record "Prod. Order Routing Line"; ShowMsg: Boolean)GetComponentsLocationCode(PurchaseLine: Record "Purchase Line"): Code[10]: Gets the location code for production order components based on the setup field “Subc. Default Comp. Location”. The location code is retrieved from the purchase line, company information, or manufacturing setup.IsSubcontractingPurchaseDocument(PurchaseHeader: Record "Purchase Header"): Boolean(internal)IsSubcontractingPurchaseLine(PurchaseLine: Record "Purchase Line"): Boolean(internal)
Plus 2 local procedures.
Recent changes
- 2026-08-18 #9892 [main] Bug 644283: Renumber Subcontracting app object ids as it clashes with partner range (main, BC30, refactor)
- 2026-08-13 #10206 Bug 646576: Preserve manually changed component Flushing Method on subcontracting transfers (main, BC30, fix)
Ask your agent
Procedure bodies are not stored here (D10). 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: "Subcontracting Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.