Codeunit 1620 "PEPPOL Validation"
Base Application · Microsoft.Sales.Peppol
Across versionsobsolete pending since 29.0
- BC23-24present
- BC256 procedures added, 3 procedures changed
- BC261 events added
- BC274 procedures added
- BC286 procedures removed, 3 events removed
- BC29declaration changed
- BC30unchanged
Neighbourhood 7 connected objects and pages
Base Application · Microsoft.Sales.Peppol · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Sales Header |
| ObsoleteState | Pending |
| ObsoleteTag | 29.0 |
| ObsoleteReason | Replaced by PEPPOL App |
Events published
OnAfterCheckSalesDocument(SalesHeader: Record "Sales Header"; CompanyInfo: Record "Company Information")(integration): Raised after validating a sales document header against PEPPOL requirements.OnBeforeCheckShipToAddress(SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the ship-to address of a sales document.OnBeforeOnRun(SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before running the PEPPOL validation codeunit.OnCheckSalesDocumentLineOnBeforeCheckEmptyDescription(SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before checking if a sales line has an empty description.OnBeforeCheckSalesDocument(var SalesHeader: Record "Sales Header"; var CompanyInformation: Record "Company Information"; var IsHandled: Boolean)(integration): Raised before validating a sales document header against PEPPOL requirements.OnBeforeCheckSalesDocumentLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before validating a sales document line against PEPPOL requirements.OnCheckSalesDocumentOnBeforeCheckCompanyVATRegNo(SalesHeader: Record "Sales Header"; CompanyInformation: Record "Company Information"; var IsHandled: Boolean)(integration): Raised before checking the company VAT registration number during sales document validation.OnCheckSalesDocumentOnBeforeCheckCustomerVATRegNo(SalesHeader: Record "Sales Header"; Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before checking the customer VAT registration number during sales document validation.OnCheckSalesDocumentOnBeforeCheckYourReference(SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC26 (integration): Raised before checking the Your Reference field during sales document validation.
Procedures
CheckSalesDocument(SalesHeader: Record "Sales Header")Δ BC25: Validates a sales document header against PEPPOL requirements including company information, customer data, and required fields.CheckSalesDocumentLines(SalesHeader: Record "Sales Header")Δ BC25: Validates all lines of a sales document against PEPPOL requirements.CheckSalesDocumentLine(SalesLine: Record "Sales Line")Δ BC25: Validates a single sales document line against PEPPOL requirements including unit of measure codes, descriptions, and VAT settings.CheckSalesInvoice(SalesInvoiceHeader: Record "Sales Invoice Header"): Validates a posted sales invoice and all its lines against PEPPOL requirements.CheckSalesCreditMemo(SalesCrMemoHeader: Record "Sales Cr.Memo Header"): Validates a posted sales credit memo and all its lines against PEPPOL requirements.CheckSalesLineTypeAndDescription(SalesLine: Record "Sales Line"): Boolean: Checks if a sales line has a type set but is missing a description.
Plus 8 local procedures.
Triggers
OnRun
Relations
- runs on Table 36 “Sales 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 1605 “PEPPOL Management” (4 calls:
CheckSalesDocumentLine → GetLineUnitCodeInfo,CheckTaxCategory → IsOutsideScopeVATCategory,CheckTaxCategory → IsStandardVATCategory, …) - Codeunit 2675 “Allocation Account Mgt.” (1 call:
CheckAllocationAccountExpandedLines → GenerateAllocationLines) - Codeunit 27 “Confirm Management” (1 call:
CheckSalesDocumentLine → GetResponseOrDefault)
Called by
- Codeunit 1621 “PEPPOL Service Validation” (6 calls:
CheckServiceCreditMemo → CheckSalesDocument,CheckServiceCreditMemo → CheckSalesDocumentLine,CheckServiceHeader → CheckSalesDocument, …) - Codeunit 1610 “Exp. Sales Inv. PEPPOL BIS3.0” (1 call:
OnRun → CheckSalesInvoice) - Codeunit 1611 “Exp. Sales CrM. PEPPOL BIS3.0” (1 call:
OnRun → CheckSalesCreditMemo)
Countries that replace it
Deprecations
- object: Pending 29.0 (#if not CLEAN29), “Replaced by PEPPOL App”
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: "PEPPOL Validation"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.