Codeunit 5152 API - Update Referenced Fields, source in 29

Source29

src/Layers/W1/BaseApp/System/API/Upgrade/APIUpdateReferencedFields.Codeunit.al114 lines, Copyright (c) Microsoft Corporation. MIT

namespace Microsoft.API.Upgrade;

using Microsoft.Finance.Dimension;
using Microsoft.Integration.Graph;
using Microsoft.Inventory.Item;
using Microsoft.Purchases.History;
using Microsoft.Purchases.Vendor;
using Microsoft.Sales.Customer;
using Microsoft.Sales.History;

codeunit 5152 "API - Update Referenced Fields"
{
    SingleInstance = true;
    EventSubscriberInstance = Manual;

    [EventSubscriber(ObjectType::Table, Database::"Item", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateReferencedIdsItemOnInsert(var Rec: Record Item; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Customer", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateReferencedIdsCustomerOnInsert(var Rec: Record Customer; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Vendor", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateReferencedIdsVendorOnInsert(var Rec: Record Vendor; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Item", 'OnBeforeModifyEvent', '', false, false)]
    local procedure UpdateReferencedIdsItemOnModify(var Rec: Record Item; var xRec: Record Item; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        if GetExecutionContext() = ExecutionContext::Upgrade then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Customer", 'OnBeforeModifyEvent', '', false, false)]
    local procedure UpdateReferencedIdsCustomerOnModify(var Rec: Record Customer; var xRec: Record Customer; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Vendor", 'OnBeforeModifyEvent', '', false, false)]
    local procedure UpdateReferencedIdsVendorOnModify(var Rec: Record Vendor; var xRec: Record Vendor; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Unlinked Attachment", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateIdUnlinkedAttachmentOnInsert(var Rec: Record "Unlinked Attachment"; RunTrigger: Boolean)
    begin
        if not Rec.IsTemporary() then
            exit;

        Rec.Id := Rec.SystemId;
    end;

    [EventSubscriber(ObjectType::Table, Database::"Default Dimension", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateIdDefaultDimensionOnInsert(var Rec: Record "Default Dimension"; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIdFields();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Item Variant", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateReferencedIdsItemVariantOnInsert(var Rec: Record "Item Variant"; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Item Variant", 'OnBeforeRenameEvent', '', false, false)]
    local procedure UpdateReferencedIdsItemVariantOnRename(var Rec: Record "Item Variant"; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Sales Shipment Line", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateReferencedIdsSalesShipmentLineOnInsert(var Rec: Record "Sales Shipment Line"; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;

    [EventSubscriber(ObjectType::Table, Database::"Purch. Rcpt. Line", 'OnBeforeInsertEvent', '', false, false)]
    local procedure UpdateReferencedIdsPurchRcptLineOnInsert(var Rec: Record "Purch. Rcpt. Line"; RunTrigger: Boolean)
    begin
        if Rec.IsTemporary() then
            exit;
        Rec.UpdateReferencedIds();
    end;
}