1 Aug 2025

DMFPackageExporter will help to export the data as package in D365F&O

/// <summary>

/// Extension Class for DMFPackageExporter

/// </summary>


[ExtensionOf(classStr(DMFPackageExporter))]

final public class RBODMFPackageExporterCls_Extension

{

    /// <summary>

    /// Setting global cache to fetch execution id

    /// </summary>

    /// <param name = "packageName">packageName</param>

    /// <param name = "packageUrl">packageUrl</param>

    /// <param name = "definitionGroupId">definitionGroupId</param>

    /// <param name = "executionId">executionId</param>

    /// <param name = "reExecute">reExecute</param>

    /// <param name = "legalEntityId">legalEntityId</param>

    /// <param name = "createPackage">createPackage</param>

    /// <param name = "entitySyncVersion">entitySyncVersion</param>

    /// <param name = "previewCount">previewCount</param>

    /// <param name = "_messageId">_messageId</param>

    /// <returns>ExecutionId</returns>

    public DMFExecutionId exportToPackageV2(DMFPackageName              packageName, 

                                            SharedServiceUnitURL        packageUrl, 

                                            DMFDefinitionGroupName      definitionGroupId, 

                                            DMFExecutionId              executionId, 

                                            boolean                     reExecute, 

                                            DataAreaName                legalEntityId, 

                                            boolean                     createPackage, 

                                            Map                         entitySyncVersion, 

                                            int                         previewCount, 

                                            str                         _messageId)

    {

        SysGlobalCache          globalCache         = ClassFactory.globalCache();

        String255               cacheKey            = strFmt("@SYS111722", curUserId());

        RBOHQCParameters        hqcParamters        = RBHQCParameters::find();

        RBOPriceBookParameters  priceBookParameters = RBPriceBookParameters::find(); 

        RBOParameters           rboParameters       = RBParameters::find();

        RBOGLParameters         rboGLParameters     = RBGLParameters::find();

        

        executionId = next exportToPackageV2(packageName,

                                             packageUrl,

                                             definitionGroupId,

                                             executionId,

                                             reExecute,

                                             legalEntityId,

                                             createPackage,

                                             entitySyncVersion,

                                             previewCount,

                                             _messageId);


        if (definitionGroupId   ==  priceBookParameters.DefaultDefinition               ||

            definitionGroupId   ==  priceBookParameters.RLDefaultDefinition             ||

            definitionGroupId   ==  hqcParamters.GTDefaultProcessingGroup               ||

            definitionGroupId   ==  hqcParamters.ITDefaultProcessingGroup               ||

            definitionGroupId   ==  rboParameters.OPEDefinationGroupName                ||

            definitionGroupId   ==  rboParameters.LegacyListingExportDefaultDefinition  ||

            definitionGroupId   ==  rboParameters.GS1DelistStagingDefaultDefination     ||

            definitionGroupId   ==  rboParameters.DefaultDefinationPeriodOpenCloseJob   ||

            definitionGroupId   ==  rboGLParameters.DefaultDefinationMonthEndLog)

        {

            globalCache.set(cacheKey, cacheKey, executionId);

        }


        return executionId;

    }


}