Parameters in Production

Parameters allow flexibility in replacing attribute values within Production scripts. Parameters are also used under the covers to communicate between the server and clients, for example DiveLine and Production, DiveLine and DivePort, and Production and DivePort.

You can define parameters so that they are available at the following levels:

  • Entire script—Create in the Overview pane of the script. These parameters are available to all nodes that accept parameters in all branches. See Creating Script-Level Parameters.
  • Script Configurations—Create in the Overview pane of the script using different configurations. These parameters are available as run-time configuration parameters and can be set both manually as you run and test a script as well as on scheduled jobs. See Script Configurations.
  • Node—Create in the attributes pane of any nodes that accept parameters. These parameters are only available for the node where they are created. See Process Nodes Overview and Control Nodes Overview.
  • Branch—Create using the Parameter process node. These parameters are available from this node and downstream in the branch in which they appear, and in any child branches. See Parameter Process Node.

Production Scripts that run from DivePort automatically have access to certain Portal parameters such as QuickViews. For example, Sales Region=North becomes a parameter $(_Sales Region) with the value North. Multi-valued parameters from DivePort are not loaded directly into the parameter system, but are written to a flat file in the Production logs.

Parameters can be defined on many levels. When a Production script executes, the parameter merge order is:

  • Script-level parameters such as "Warehouse"

  • Solution parameters such as "_diveline_dataroot"
  • DivePort QuickView parameters such as "_Sales Region"
  • DivePort run-time parameters such as "_USER"
  • Parameter node parameters such as "Year"

In the merge order list, at a given level, a parameter can reference any parameter that is earlier in the list. For example, Parameter nodes can override or reference any values in this list. Parameter node parameters are never overridden, while script level parameters are overridden by any values passed into the script, either when called by another Production script, by DivePort, or from the UI.

This is also the order that a parameter is prioritized over another parameter with the same name. A Parameter node parameter named _USER is prioritized over the run-time parameter _USER.