Codeunit 5980 "Service-Post"
Base Application · Microsoft.Service.Posting
Across versions
- BC23present
- BC241 procedures added, 1 procedures changed
- BC25-26unchanged
- BC273 events added, 1 events removed
- BC281 events added, 1 events removed
- BC294 procedures added, 2 events added
- BC30unchanged
Neighbourhood 24 connected objects and pages
Base Application · Microsoft.Service.Posting · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Service Header |
| Permissions | TableData “Service Header” = rimd, TableData “Service Item Line” = rimd, TableData “Service Line” = rimd, TableData “Service Shipment Item Line” = rimd, TableData “Service Shipment Header” = rimd, TableData “Service Shipment Line” = rimd, TableData “Service Invoice Header” = rimd, TableData “Service… |
Events published
OnAfterFinalizePostingOnBeforeCommit(var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var ServDocumentsMgt: Codeunit "Serv-Documents Mgt."; var PassedShip: Boolean; var PassedConsume: Boolean; var PassedInvoice: Boolean; ServInvoiceNo: Code[20]; ServCrMemoNo: Code[20]; ServShipmentNo: Code[20])+ BC27 − BC27 (integration)OnAfterInitialize(var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line")(integration)- subscribers: Codeunit 6103 “E-Document Subscribers” OnAfterInitializeService
OnAfterPostServiceDoc(var ServiceHeader: Record "Service Header"; ServShipmentNo: Code[20]; ServInvoiceNo: Code[20]; ServCrMemoNo: Code[20]; var ServDocumentsMgt: Codeunit "Serv-Documents Mgt."; CommitIsSuppressed: Boolean; PassedShip: Boolean; PassedConsume: Boolean; PassedInvoice: Boolean; WhseShip: Boolean; Invoice: Boolean)+ BC28 − BC28 (integration)- subscribers: Codeunit 5579 “Digital Voucher Impl.” CheckServiceVoucherOnAfterPostServiceDoc, Codeunit 6103 “E-Document Subscribers” OnAfterPostServiceDoc
OnAfterPostWithLines(var PassedServiceHeader: Record "Service Header"; var IsHandled: Boolean)Δ BC24 (integration)- subscribers: Codeunit 6460 “Serv. Notification Mgt.” OnAfterServicePost
OnAfterValidatePostingAndDocumentDate(var ServiceHeader: Record "Service Header"; PreviewMode: Boolean)(integration)OnValidatePostingAndDocumentDateOnAfterValidateDocumentDate(var ServiceHeader: Record "Service Header")+ BC27 (integration)OnBeforeCheckAndSetPostingConstants(var ServiceHeader: Record "Service Header"; var ServDocumentsMgt: Codeunit "Serv-Documents Mgt."; var PassedShip: Boolean; var PassedConsume: Boolean; var PassedInvoice: Boolean; var IsHandled: Boolean)(integration)OnBeforeCreatePostedWhseShptHeader(var PostedWhseShipmentHeader: Record "Posted Whse. Shipment Header"; WarehouseShipmentHeader: Record "Warehouse Shipment Header"; ServiceHeader: Record "Service Header")(integration)OnBeforeInitialize(var PassedServiceHeader: Record "Service Header"; var PassedServiceLine: Record "Service Line"; var PassedShip: Boolean; var PassedConsume: Boolean; var PassedInvoice: Boolean; PreviewMode: Boolean)(integration)OnBeforePostWithLines(var PassedServHeader: Record "Service Header"; var PassedServLine: Record "Service Line"; var PassedShip: Boolean; var PassedConsume: Boolean; var PassedInvoice: Boolean; var PostingDateExists: Boolean; var HideValidationDialog: Boolean; var IsHandled: Boolean; PreviewMode: Boolean; ReplacePostingDate: Boolean; PostingDate: Date; ReplaceDocumentDate: Boolean; SuppressCommit: Boolean)(integration)- subscribers: Codeunit 20339 “Service Posting Subscribers” OnBeforePostServiceDoc, Codeunit 6460 “Serv. Notification Mgt.” OnBeforeServicePost
OnBeforeRun(var ServiceHeader: Record "Service Header")(integration)OnBeforeSetPostingDate(var PostingDateExists: Boolean; var ReplacePostingDate: Boolean; var ReplaceDocumentDate: Boolean; var PostingDate: Date; var IsHandled: Boolean)(integration)OnBeforeServiceShptHeaderInsert(var ServiceShipmentHeader: Record "Service Shipment Header"; ServiceHeader: Record "Service Header")(integration)OnBeforeServiceInvHeaderInsert(var ServiceInvoiceHeader: Record "Service Invoice Header"; ServiceHeader: Record "Service Header")(integration)OnBeforeServiceCrMemoHeaderInsert(var ServiceCrMemoHeader: Record "Service Cr.Memo Header"; ServiceHeader: Record "Service Header")(integration)OnBeforeTestMandatoryFields(var PassedServiceHeader: Record "Service Header"; var PassedServiceLine: Record "Service Line"; var Invoice: Boolean; var IsHandled: Boolean)(integration)OnBeforeUpdateWhseDocuments(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean)(integration)OnDeleteHeaderOnBeforeServiceShptLineInsert(var ServiceHeader: Record "Service Header"; var ServiceShipmentHeader: Record "Service Shipment Header"; var ServiceShipmentLine: Record "Service Shipment Line")(integration)OnDeleteHeaderOnBeforeServiceInvLineInsert(var ServiceHeader: Record "Service Header"; var ServiceInvoiceHeader: Record "Service Invoice Header"; var ServiceInvoiceLine: Record "Service Invoice Line")(integration)OnDeleteHeaderOnBeforeServiceCrMemoLineInsert(var ServiceHeader: Record "Service Header"; var ServiceCrMemoHeader: Record "Service Cr.Memo Header"; var ServiceCrMemoLine: Record "Service Cr.Memo Line")(integration)OnLockTablesOnBeforeGLEntryFindLast(var GLEntry: Record "G/L Entry")(integration)OnTestDeleteHeaderOnAfterServiceShptHeaderTransferFields(var ServiceShipmentHeader: Record "Service Shipment Header"; ServiceHeader: Record "Service Header")(integration)OnTestDeleteHeaderOnAfterServiceInvHeaderTransferFields(var ServiceInvoiceHeader: Record "Service Invoice Header"; ServiceHeader: Record "Service Header")(integration)OnTestDeleteHeaderOnAfterServiceCrMemoHeaderTransferFields(var ServiceCrMemoHeader: Record "Service Cr.Memo Header"; ServiceHeader: Record "Service Header")(integration)OnInitializeOnAfterCheckAndSetPostingConstants(var PassedServiceHeader: Record "Service Header"; var PassedServiceLine: Record "Service Line"; var PassedShip: Boolean; var PassedConsume: Boolean; var PassedInvoice: Boolean; PreviewMode: Boolean)(integration)- subscribers: Codeunit 4812 “Intrastat Report Doc. Compl.” OnInitializeOnAfterCheckAndSetPostingConstants, Codeunit 5579 “Digital Voucher Impl.” OnInitializeOnAfterCheckAndSetPostingConstants
OnAfterDeleteHeader(var ServiceHeader: Record "Service Header"; var ServiceShipmentHeader: Record "Service Shipment Header"; var ServiceInvoiceHeader: Record "Service Invoice Header"; var ServiceCrMemoHeader: Record "Service Cr.Memo Header")(integration)OnBeforeValidatePostingAndDocumentDate(var ServiceHeader: Record "Service Header"; var PostingDateExists: Boolean; var ReplacePostingDate: Boolean; var ReplaceDocumentDate: Boolean; var PostingDate: Date)(integration)OnBeforeCheckDateNotAllowedForServiceLine(var PassedServiceLine: Record "Service Line"; var IsHandled: Boolean)+ BC24 (integration)OnCheckAndSetConstantsOnBeforeSetPostingOptions(var ServiceHeader: Record "Service Header"; Invoice: Boolean; Ship: Boolean)+ BC27 (integration)OnSetCommitBehavior(var IgnoreCommit: Boolean)+ BC29 (integration)OnPostDocumentLinesOnBeforeInsertPostedHeaders(var ServiceHeader: Record "Service Header"; var ServDocumentsMgt: Codeunit "Serv-Documents Mgt."; var IsHandled: Boolean; var ServInvoiceNo: Code[20]; var ServCrMemoNo: Code[20])+ BC29 (integration)
Procedures
PostWithLines(var PassedServHeader: Record "Service Header"; var PassedServLine: Record "Service Line"; var PassedShip: Boolean; var PassedConsume: Boolean; var PassedInvoice: Boolean)CheckServiceDocument(var PassedServiceHeader: Record "Service Header"; var PassedServiceLine: Record "Service Line")SetPostingDate(NewReplacePostingDate: Boolean; NewReplaceDocumentDate: Boolean; NewPostingDate: Date)SetPostingOptions(PassedShip: Boolean; PassedConsume: Boolean; PassedInvoice: Boolean)SetHideValidationDialog(NewHideValidationDialog: Boolean)SetSuppressCommit(NewSuppressCommit: Boolean)TestDeleteHeader(ServiceHeader: Record "Service Header"; var ServiceShptHeader: Record "Service Shipment Header"; var ServiceInvHeader: Record "Service Invoice Header"; var ServiceCrMemoHeader: Record "Service Cr.Memo Header")DeleteHeader(ServiceHeader: Record "Service Header"; var ServiceShptHeader: Record "Service Shipment Header"; var ServiceInvHeader: Record "Service Invoice Header"; var ServiceCrMemoHeader: Record "Service Cr.Memo Header")SetPreviewMode(NewPreviewMode: Boolean)GetPostedDocumentRecord(ServiceHeader: Record "Service Header"; var PostedServiceDocumentVariant: Variant)SendPostedDocumentRecord(ServiceHeader: Record "Service Header"; var DocumentSendingProfile: Record "Document Sending Profile")Δ BC24
Plus 14 local procedures.
Triggers
OnRun
Relations
- runs on Table 5900 “Service Header”
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 5988 “Serv-Documents Mgt.” (18 calls:
CheckAndSetPostingConstants → CheckAndSetPostingConstants,CheckServiceDocument → CheckServiceDocument,Finalize → Finalize, …) - Codeunit 11 “Gen. Jnl.-Check Line” (3 calls:
CheckDateNotAllowedForServiceLine → DateNotAllowed,TestMandatoryFields → DateNotAllowed,TestServLinePostingDate → DateNotAllowed) - Codeunit 5763 “Whse.-Post Shipment” (3 calls:
PostDocumentLines → CreatePostedShptHeader,PostDocumentLines → CreatePostedShptLine,UpdateWhseDocuments → PostUpdateWhseDocuments) - Codeunit 19 “Gen. Jnl.-Post Preview” (1 call:
PostDocumentLines → ThrowError) - Codeunit 410 “Update Analysis View” (1 call:
PostWithLines → UpdateAll) - Codeunit 5770 “Whse.-Service Release” (1 call:
PostWithLines → Release) - Codeunit 6041 “Service Document Archive Mgmt.” (1 call:
PostDocumentLines → AutoArchiveServiceDocument) - Codeunit 6463 “Serv. Report Distribution Mgt.” (1 call:
CheckServiceDocument → RunDefaultCheckServiceElectronicDocument) - Codeunit 7150 “Update Item Analysis View” (1 call:
PostWithLines → UpdateAll) - Codeunit 9070 “Document Errors Mgt.” (1 call:
CheckAndSetPostingConstants → GetNothingToPostErrorMsg)
Called by
- Report 6001 “Batch Post Service Orders” (4 calls:
PostServiceHeader → (object),PostServiceHeader → SetHideValidationDialog,PostServiceHeader → SetPostingDate, …) - Codeunit 5749 “Serv. Whse Post-Shipment” (3 calls:
OnPostSourceDocument → (object),OnPostSourceDocument → SetPostingOptions,OnPostSourceDocument → SetSuppressCommit) - Codeunit 5979 “Service-Post and Send” (2 calls:
Code → (object),Code → SendPostedDocumentRecord) - Codeunit 5981 “Service-Post (Yes/No)” (2 calls:
Code → PostWithLines,Code → SetPreviewMode) - Table 5900 “Service Header” (2 calls:
ConfirmDeletion → TestDeleteHeader,OnDelete → DeleteHeader) - Codeunit 5982 “Service-Post+Print” (1 call:
Code → PostWithLines) - Codeunit 9065 “Check Service Document” (1 call:
RunCheck → CheckServiceDocument) - Report 9091 “Combine Service Shipments” (1 call:
FinalizeServiceInvHeader → (object))
Recent changes
- 2026-09-01 #9778 [Extensibility Request] issue 30362: add OnPostDocumentLinesOnBeforeInsertPostedHeaders event to Service-Post (main, BC30, feature)
Countries that replace it
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: "Service-Post"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.