Macro commands for the system

The commands that can be used in macros at the system level. The parameters specified in brackets are optional.
Command Parameters Description Examples
AbortCyclePeriod Cycle, [Cycle Period], Reason, [Time out] Aborts the selected cycle period. Changes the status of the cycle period from Pending, or Running, to Aborted. When you execute this command, any running workflows for the cycle period or scenario are aborted. The status of the selected cycle period must be Pending or Running.
  • AbortCyclePeriod("Normal","","re-do","")
    • Abort the running cycle period for the Normal cycle with the "re-do" reason and an indefinite time out, if the cycle period is unavailable.
  • AbortCyclePeriod("Normal","Oct 12","Rebudgetting","600")
    • Abort the cycle period Normal-Oct12 with the "Rebudgetting" reason and a time out of 600 seconds, if the cycle period is unavailable at the time of execution.
ArchiveCyclePeriod Cycle, [Cycle Period], [Time out] Archives the specified cycle period and sets the status of the cycle period to Archived. The status of the selected cycle period must be, Completed.
  • ArchiveCyclePeriod("Normal","","")
    • Archive the most recently completed cycle period for the Normal cycle with an indefinite time out, if the cycle period is in process or no completed cycle period can be identified.
  • ArchiveCyclePeriod("Normal","Jul13","600")
    • Archive the cycle period Normal-Jul13 with a time out of 600 seconds, if the cycle period is in process at the time of execution.
CompleteCyclePeriod Cycle, [Cycle Period], [Scenario to Publish], [Time out] Completes the selected cycle period. Changes the status of the selected cycle period from Running to Completed and sets the status of the scenario to Published. The status of the selected cycle period must be Running.
  • CompleteCyclePeriod("Normal","","","")
    • Complete the running cycle period for the Normal cycle, setting the first Approved scenario in the Integrated module to Published. Assumes that the Integrated module is the Publish module, and consists of a scenario with the status = Approved. The Wait period is indefinite, if the cycle period or scenario is currently unavailable.
  • CompleteCyclePeriod("Normal","Dec 12","","")
    • Complete the cycle period Normal-Dec 12, which updates the only scenario in the Integrated module to Published. Assumes the Integrated module is the Publish module, and contains no scenario with the status = Approved, but only one scenario is defined. The Wait period is indefinite, if the cycle period or scenario is currently unavailable.
  • CompleteCyclePeriod("Tactical","Y12 W44","Supply-Upside","600")
    • Complete the cycle period Tactical-Y12 W44, which updated the "Supply-Upside" scenario to Published. Assumes the Supply module is the Publish module and contains Supply-Upside scenario. The macro step is topped after 600 seconds, if the cycle period or scenario is not available at the time of execution.
RestoreCyclePeriod Cycle, [Cycle Period], [Time out] Restores the specified cycle period. The status of the selected cycle period must be, Archived.
  • RestoreCyclePeriod("Normal","","")
    • Restore the most recently completed cycle period with Available=Archived for the Normal cycle with an indefinite time out, if the cycle period is in process or no archived cycle period can be identified.
  • RestoreCyclePeriod("Normal","Jul13","600")
    • Restore the cycle period Normal-Jul13 with a time out of 600 seconds, if the cycle period is in process at the time of execution.
PauseCyclePeriod Cycle, [Cycle Period], [Time out] Pauses the selected cycle period. Changes the status of the cycle period from, Running to Paused. The status of the selected cycle period must be Running.
  • PauseCyclePeriod("Normal","","")
    • Pause the running cycle period of the Normal cycle, with indefinite time out, if the cycle period is unavailable.
  • PauseCyclePeriod("Normal","Oct 12","600")
    • Pause the cycle period Normal-Oct12 with a time out of 600 seconds, if the cycle period is unavailable at the time of execution.
ResumeCyclePeriod Cycle, [Cycle Period], [Refresh], [Current Planning Bucket], [Time out] Resumes the selected cycle period. Changes the status of the selected cycle period from, Paused to Running. The status of the selected cycle period must be Paused.
  • ResumeCyclePeriod("Normal","","True","","")
    • Resume the Paused cycle period for the Normal cycle with a configuration update (refresh), maintaining the current planning period and with an indefinite time out.
  • ResumeCyclePeriod("Normal","Nov 12","","","")
    • Resume the cycle period Normal-Nov 12 without a configuration update (refresh), maintaining the current planning period and with an indefinite time out.
StartCyclePeriod Cycle, [Cycle Period], [Current Planning Period, [Time out] ] Starts the cycle period for the current/ selected cycle. Changes the status of the cycle from Pending to Running. The status of the selected cycle period must be Pending.
  • StartCyclePeriod("Normal","","","")
    • Start the cycle period with status = Pending for the normal cycle, setting the current planning period equal to the first base period in the cycle period bucket, with an indefinite time out.
  • StartCyclePeriod("Normal","Dec 12","Dec 12","")
    • Start the Pending cycle period Normal-Dec 12, and the current planning period of Dec 12, with an indefinite time out.
  • StartCyclePeriod("Normal","Dec 12","","600")
    • Start the Pending cycle period Normal-Dec 12, updates the current planning period to equal the first base period in the period bucket Dec 12 (i.e. Y12 W48), with a time out of 600 seconds if the setup checker or other blocking process is currently running.
RunCodeListInterfaceService Interface Service Name, Direction, [Reject all on error], [Time out]
  • Reject all on error = "true" or "false". Null = false.
Run an interface service that imports or exports the code list elements.
  • RunCodeListInterfaceService("Import My Items","Import","","")
    • Execute code list interface service Import My Items, with direction = Import, processing until completion of the import source data.
  • RunCodeListInterfaceService("Import My Items","Import","True","")
    • Execute code list interface service Import My Items, with the direction = Import, and exit if any data errors occur.
  • RunCodeListInterfaceService("Export My Items","Export","")
    • Execute code list interface service Export My Items, with direction = Export, with indefinite time out.
CreateCyclePeriod Cycle, [Cycle Period], [Cycle Period Label], [Previous Period], [Time out] Creates a new cycle period for the current cycle.
  • CreateCyclePeriod("Normal", "Nov12","","","")
    • Creates the cycle period currently indicated by Normal.Next Period using the corresponding calendar period name as the cycle period name. Previous Period is determined automatically, with an indefinite time out.
  • CreateCyclePeriod("Normal","Nov 12","","","")
    • Creates the cycle period Normal-Nov 12 (with label "Nov 12") linking to the Previous Period Oct 12, if defined (and status running or completed) with an indefinite time out.
RunCommand Data Source, Command text, [Time out] Run a command for a data source. This command is similar to RunSQL, but also supports ITK commands on the system level that are not specific to the context of a scenario.
  • RunCommand("ITK Data Source","Transfer_Static_Data_Inbox_To_Core","")
  • RunCommand("ITK Data Source","Transfer_Static_Data_Inbox_To_Core","600")
RunSQL Data Source, SQL Command, [Time out] Run an SQL command for the data source of a database.
  • RunSQL("DPOracleDB","begin mlcs_rp.batchcalcsched(null, 'chan_prods.cp_ref = chan_prods.cp_ref', null, null, null, null, 1, null, null, false); end;","")
  • RunSQL("DPOracleDB","begin mlcs_rp.batchcalcsched(null, 'chan_prods.cp_ref = chan_prods.cp_ref', null, null, null, null, 1, null, null, false); end;","600")
SaveDiscardScenarios Cycle, [Cycle Period], [Module], [Scenario], [Discard], [Time out] Save or Discard a single scenario, or Save or Discard all the scenarios for a module or a cycle period. This is defined as a system macro as the completion of processes and an update of the status is required, before the additional commands are executed. This is used to unlock the scenarios of a specific cycle period.
  • SaveDiscardScenarios("Normal")
    • Save all scenarios for the currently running cycle period for Normal cycle.
  • SaveDiscardScenarios("Normal","Mar-13","","","","")
    • Save all scenarios for the cycle period "Normal"-"Mar-13"
  • SaveDiscardScenarios("Normal","","","","True","")
    • Discard all scenarios for the currently running cycle period for Normal cycle.
EditShareScenario Cycle, [Cycle Period], [Module], [Scenario], [Share], [Users], [Roles], [Time out] Edit and/or Share scenario or Edit and/or Share, all scenarios for a module or cycle period to all account managers. This is defined as a system macro and requires completion of the process, an update of the status, and availability before executing the additional commands.
  • EditShareScenarios("Normal")
    • Edit all scenarios for the currently running cycle period for Normal cycle, with no sharing and with an indefinite time out, if the cycle period or scenarios are unavailable.
  • EditShareScenarios("Normal","Mar-13","","","","","","")
    • Edit all scenarios for the cycle period "Normal"-"Mar-13", with no sharing and with indefinite time out.
  • EditShareScenarios("Normal","","","","True","","","")
    • Edit and Share all scenarios for the currently running cycle period for Normal cycle, sharing with all authorised users and roles for the macro command, with indefinite time out.
RunCyclePeriodMacro Macro, Cycle, [Cycle Period], [Time out] Run a Cycle Period Macro, passing the Cycle and Cycle Period. RunCyclePeriodMacro("CreateUpsideScenario","Normal","Nov 12","")
RunScenarioMacro Macro, Cycle, [Cycle Period], Module, Scenario, [Time out] Run a Scenario macro, passing the macro name and Cycle, [Cycle Period], Module and Scenario names. When you run this macro, you can also transfer context variables for the worksheet data, using these parameters:
  • %cyclecontext%
  • %cycleperiodcontext%
  • %scenariocontext%
  • %itemcontext%
  • %locationcontext%
  • %periodcontext%
RunScenarioMacro("InitFinanceScenario","Normal","","Finance","Baseline","") .
RunSCV Job, [Log level], [Parameters] Run a job in Supply Chain Vault (SCV) passing Job, logging level and parameters details. Parameters can be named or ordered

RunSCV("Import from M3","","Base")

Run an "Import from M3" SCV job to execute commands for the import of data from M3 to SCV and transfer data to the core table, with the default logging and a single "Base" parameter: RunSCV("Import from M3","","Base"). Examples of SCV commands:
  • Import from M3 to staging tables @p1
  • Transfer M3 staging to inbox @p1
  • Validate inbox @p1
  • Transfer inbox to core tables @p1
    Note: @p1 relates to the first job parameter (value "Base"). At least one parameter must be transferred to run a job.

RunSCV(job:"Export to M3",logLevel:"Debug",profile:"Base")

Run an "Export to M3" SCV job to execute commands to transfer data from SCV to the outbox, before exporting data to M3. The log level of the job is set to Debug; and a single parameter, profile, with the value "Base" is transferred to the job: RunSCV(job:"Export to M3",logLevel:"Debug",profile:"Base"). Examples:
  • Transfer plan to outbox profile: "Base"
  • Export outbox to M3 profile:"Base"

RunSCV("Update statistcs from M3","Info","Base","Transactional")

Run an "Update statistics from M3" SCV job to execute commands to import transactional data from M3 to SCV. Data is transferred to the core table, with log level set to Info, and two parameters: "Base" and "Transactional" are transferred to the job: RunSCV("Update statistcs from M3","Info","Base","Transactional"). Examples:
  • Import from M3 to staging tables @p1 @p2
  • Transfer M3 staging to inbox @p1 @p2
  • Validate inbox @p1 @p2
  • Transfer inbox to core tables @p1 @p2
    Note: @p1 relates to the first job parameter (=Base). @p2 relates to the 2nd job parameter (=Transactional). At least two parameters must be transferred to run a job.
RunSystemMacroMacroCall a System Macro from the current system macroRun the system macro S+ Initialize Engine from another macro:
  • RunSystemMacro("S+ Initialize Engine")
  • RunScenarioMacro("S+ Import Supply Plan","Supply Plus (W)","","Supply","SPlus-Baseline","")
  • RunScenarioMacro("S+ Solve Plan Continuous","Supply Plus (W)","","Supply","SPlus-Baseline","")
  • RunScenarioMacro("S+ Initialise Plan","Supply Plus (W)","","Supply","SPlus-Revised","")
  • RunScenarioMacro("S+ Import Supply Plan","Supply Plus (W)","","Supply","SPlus-Revised","")
  • RunScenarioMacro("S+ Solve Plan Continuous","Supply Plus (W)","","Supply","SPlus-Revised","")
Run the system macro S+ Initialize Engine from another macro, with a time out of 600 seconds if the cycle period or scenario is unavailable at the time of execution: RunSystemMacro("S+ Initialize Engine",600).