Friday, 20 October 2023

Performs copyCustomStagingToTarget in D365 FO X++

 class LedgerJournalEntity_UTT_EventHandler

{

    /// <summary>

    /// Performs a custom copy from the staging table to the target environment.

    /// </summary>

    /// <param name = "args">XppPrePostArgs</param>

    [PostHandlerFor(tableStr(LedgerJournalEntity), tableStaticMethodStr(LedgerJournalEntity, copyCustomStagingToTarget))]

    public static void LedgerJournalEntity_Post_copyCustomStagingToTarget(XppPrePostArgs args)

    {

        DMFDefinitionGroupExecution                 dmfDefinitionGroupExecution = Args.getArg('_dmfDefinitionGroupExecution');

        LedgerJournalEntityStaging                  staging;

        LedgerJournalTrans                          ledgerJournalTrans;

        LedgerJournalTable                          ledgerJournalTable;

      

        ledgerJournalTrans.skipDataMethods(true);

        ledgerJournalTable.skipDataMethods(true);


        update_recordset ledgerJournalTrans setting

                UTT_Initial        = staging.UTT_Initial,

                UTT_DateTime  = staging.UTT_DateTime

            join staging

                where staging.DefinitionGroup     == dmfDefinitionGroupExecution.DefinitionGroup

                    && staging.ExecutionId        == dmfDefinitionGroupExecution.ExecutionId

                    && staging.TransferStatus     == DMFTransferStatus::Completed

                    && staging.JournalBatchNumber == ledgerJournalTrans.JournalNum

                    && staging.LineNumber         == ledgerJournalTrans.LineNum;


        update_recordset ledgerJournalTable setting

                UTT_Log  = staging.UTT_Log

            join staging

                where staging.DefinitionGroup       == dmfDefinitionGroupExecution.DefinitionGroup

                    && staging.ExecutionId          == dmfDefinitionGroupExecution.ExecutionId

                    && staging.TransferStatus       == DMFTransferStatus::Completed

                    && staging.JournalBatchNumber   == ledgerJournalTable.JournalNum;

    }

}

No comments:

Post a Comment

validate offsetLedgerDimension in d365 FO

 /// <summary> /// This class is used to validate offsetLedgerDimension /// </summary> class PNG_InventMovValidateOffsetLedgerDi...