替代宏命令

替代宏命令会在方案级别执行替代逻辑。接替定义存储在代码列表中。执行宏时,将设置切换日期,并且历史度量数据在循环周期范围的指定位置从前置任务项目复制到后续任务项目。

此表描述了用于替代宏的参数:

参数 说明
代码列表 包含替代定义的代码列表。
前项货品属性 包含前项货品的代码列表属性。这将针对方案中基础级别元素进行验证
后续货品属性 包含后续货品的代码列表属性。这将针对方案中基础级别元素进行验证。
前项库位属性

包含前项库位进行转移的代码列表属性。代码列表中的属性值可以在基础级别或聚合级别设置(仅当未填充“后续库位属性”时才允许聚合级别)。这将在运行时针对模块分级结构进行验证,如果未定义任何值,则会显示错误消息。

切换日期属性 包含替代日期的代码列表属性。可以是任何日期(不需要日历时段开始或结束日期)。
传输因子属性

代码列表中的属性,包含从前项货品和度量传输因子到后续货品和度量。可以是大于 0 的数字值。

生效日期度量代码 用于复制后续货品/库位切换日期的度量代码。针对处理的每个基础级别后续货品和库位的指定度量,将引入日期写入 PCONST。
停产日期度量代码

用于复制前项货品/库位切换日期的度量代码。针对处理的每个基础级别前项货品和库位的指定度量,将停产日期更新至 PCONST。此值必须与“引入日期度量代码”指定的值不同

自度量代码 要从前项货品和库位复制的度量代码。
至度量代码

要复制到后续货品和库位的度量代码。可以与自度量代码相同。

货品层次结构节点
处理替代定义的货品选择。如果指定,则处理替代定义代码列表中选择(等于或子级)的节点。
注意:选择中必须同时存在定义中的前项和后续。如果未指定值,则处理替代定义代码列表中用户可访问的所有节点。
库位层次结构节点
处理替代定义的库位选择。如果指定,则处理替代定义代码列表中选择(等于或子级)的节点。
注意:如果未指定值,则处理替代定义代码列表中用户可访问的所有节点
有效的货品库位度量代码 为当前模块定义的度量,用于指示在应用聚合库位替代时的有效后续货品/库位组合。
改写

指示源数据的改写模式。可能的值:

  • 未定义:将源数据添加到目标值。
  • 已定义:用货品、库位、周期选择项改写目标处的数据
后续库位属性
包含后续库位的代码列表属性。代码列表中的属性值必须在基础级别。这将在运行时针对模块分级结构进行验证。
注意: 如果任何定义的属性值为空,则将替代值应用于前项库位。
“命令”字段的值必须用以下格式指定:SuperSession(Code List, Predecessor Item Attribute, Successor Item Attribute, Predecessor Location Attribute, Changeover Date Attribute, Transfer Factor Attribute, Introduction Date Measure Code, Discontinuation Date Measure Code, From Measure Code, To Measure Code, [Item Hierarchy Node], [Location Hierarchy Node],[Valid ItemLocation Measure Code],[Overwrite],[Successor Location Attribute])
注意:可选参数在 [ ] 中指定。

替代宏的验证和执行

在宏成功验证和执行后,将为当前方案执行替代逻辑。以下是验证规则:

  • 系统将验证代码列表中定义的每个替代关系。
  • 可以在聚合级别设置前置库位,即此聚合库位的所有子项都必须在指定的库位选择内应用替代:
    • 如果聚合的子库位也用于代码列表,则该代码列表中的最后一个条目将应用于该子库位
    • 如果前项库位是聚合,则后续库位必须为空
  • 如果使用聚合前项库位,则仅复制有效的库位货品组合、引入日期和停产日期的值。要使用的有效组合度量来自在循环中定义的有效组合。
  • 如果在前项货品、后续货品和库位之间的定义不是唯一的,则应用代码列表中的最后一个条目。
  • 度量转移发生在循环周期范围内所有周期前项货品和前项库位的“自度量”和后续货品和后续库位的“至度量”之间。
  • 因子用作从前项货品/库位到后续货品/库位的比重因子(乘数),而不是比率。如果两个后续的值都设置为 1,则每个后续都获得前项历史度量中的 100%(总计 200%)。
  • 空传输比率假设为 1。
  • 传输因子 0 不会执行到当前后续的任何历史传输,从而有效地设置所需的切换日期。
  • 确保每个替代关系的前项货品节点和后续货品节点有效。所有前项和后续货品都必须定义为相应模块分级结构中的基础级别元素。
  • 确保每个替代关系的前项货品节点和后续库位节点有效。
    • 如果前项库位是聚合,则后续库位必须为空。
    • 如果前项库位是基础库位,则后续库位必须为空或基础库位。
    • 必须在相应模块分级结构中定义两个库位。
    • 确保前项库位不为空。
    • 指定聚合库位元素时,执行宏的用户必须有权访问数据安全设置中的聚合元素。
  • 确保填充每个替代关系的前项货品节点和后续货品节点。
  • 将在放弃日志中记录任何错误,并将继续处理代码列表中的其余关系。
  • 无法在替代中使用市场情报、订单或业务数据类型的度量。

有关详细信息,请参阅替代宏示例

执行宏时执行验证。如果任何验证失败,将中止宏并显示相关错误消息。

此表描述了方案宏命令与循环周期/方案状态的比较和验证消息:
循环周期状态 方案状态 是否可以执行? 验证消息
未决 N/A 由于循环周期的状态为“未决”,因此无法运行宏 {0}
正在运行 WIP N/A
已暂停 任意 由于循环周期不是“正在运行”,因此无法运行宏 {0}
已中止 已停止 由于循环周期的状态为“已中止”,因此无法运行宏 {0}
已存档 任意 由于循环周期的状态为“已存档”,因此无法运行宏 {0}
已完成 任意 由于循环周期的状态为“已完成”,因此无法运行宏 {0}
此表描述了宏执行过程中显示的错误消息:
验证条件/规则 错误消息
确保指定的代码列表有效 未找到代码列表“{0}”。
确保指定的代码列表属性有效。 在代码列表 {1} 中找不到代码列表属性“{0}”。
确保指定的度量对此 cycle.Module 有效并且已启用。此度量包括指定的引入日期、停产日期、自和至度量。 未找到度量“{0}”。
确保指定的生效和停产日期度量为正确的类型(日期)。 {0} 度量代码需要类型为日期的度量。
确保指定的“自”和“至”度量类型正确(“单位”或“货币”)。 {0} 度量代码需要类型为单位或货币的度量。
确保指定的引入日期和停产日期度量不同。 “引入日期”度量代码和“不连贯的日期”度量代码不能为同一个度量。
如果已指定,则确保货品节点有效 未找到货品 {0}
确保指定的度量不是“市场情报”类型。 度量 {0} 不能为“市场情报”类型。
确保指定的度量不是“业务数据”类型。 度量 {0} 不能为“业务数据”类型。
确保指定的度量为“订单”类型。 度量 {0} 不能为“订单”类型。
如果已指定,则确保改写标志有效。值必须为 true 或 false。 无效参数值 {0}。必须为 true 或 false。
注意:系统还将验证代码列表中定义的每个替代关系。对于错误,将在放弃日志中记录日志,并将继续处理代码列表中的其余关系。