スーパーセッションマクロコマンド

スーパーセッションマクロコマンドは、スーパーセッションロジックをシナリオレベルで実行します。スーパーセッション定義はコードリストに保存されます。マクロ実行時に、切替日が設定され、履歴メジャー日が先行品目から後続品目へ複製されます。

次の表に、スーパーセッションマクロで使用するパラメーターを示します。

パラメーター 説明
コードリスト スーパーセッション定義を含むコードリスト。
先行品目属性 先行品目を含むコードリストの属性。これはシナリオの基本レベル要素に対して検証されます。
後継品目属性 後継品目を含むコードリストの属性。これはシナリオの基本レベル要素に対して検証されます。
先行場所属性

転送の先行場所を含むコードリストの属性。コードリスト内の属性値は基本レベルまたは集計レベルで設定できます (後継場所属性に値がない場合のみ、集計レベルを使用できます)。これは実行時にモジュール階層に対して検証され、値が定義されていない場合、エラーメッセージが表示されます。

切替日属性 スーパーセッションの日付を含むコードリストの属性。これはどの日付でもかまいません (カレンダーバケットの開始日または終了日は必要ありません)。
転送係数属性

先行品目およびメジャーから後継品目およびメジャーへの転送係数を含むコードリストの属性。この値は 0 より大きい数値です。

供給開始日メジャーコード 後継品目/場所の切替日をコピーするメジャーコード。供給開始日は、処理された各基本レベル後継品目および場所について、指定されたメジャーの PCONST に書き込まれます。
供給終了日のメジャーコード

先行品目/場所の切替日をコピーするメジャーコード。供給終了日は、各基本レベルの先行品目と処理される場所について、指定されたメジャーの PCONST に更新されます。この値は、供給開始日メジャーコードに指定された値と異なっている必要があります。

転送元メジャーコード 先行品目と場所からコピーされるメジャーコード。
転送先メジャーコード

後継品目と場所にコピーするメジャーコード。これは転送元メジャーコードと同一の場合があります。

品目階層ノード
スーパーセッション定義を処理するための品目選択。指定した場合、スーパーセッション定義コードリストの選択範囲 (のノードまたは子) 内にあるノードが処理されます。
注: 定義からの先行と後続の両方が選択に含まれている必要があります。値が指定されていない場合、スーパーセッション定義コードリスト内のユーザーにアクセス可能なすべてのノードが処理されます。
場所階層ノード
スーパーセッション定義を処理する場所の選択。指定した場合、スーパーセッション定義コードリストの選択範囲 (のノードまたは子) 内にあるノードが処理されます。
注: 値が指定されていない場合、スーパーセッション定義コードリスト内のユーザーにアクセス可能なすべてのノードが処理されます
有効品目場所メジャーコード 現在のモジュールに定義されているメジャー。集計場所にスーパーセッションを適用する場合、基本レベルにおける後継の有効な品目/場所の組合せを示します。
上書き

ソースデータの上書きパターンを示します。次のような値があります。

  • 未定義: ソースからのデータがターゲットの値に追加されます。
  • 定義済: 品目、場所、期間選択について、宛先のデータが上書きされます。
後継場所の属性
後継場所を含むコードリストの属性。コードリスト内の属性値は基本で設定する必要があります。これは実行時にモジュール階層に対して検証されます。
注:  任意の定義の属性値が Null の場合、スーパーセッションは先行場所に適用されます。
コマンドフィールドの値を次の形式で指定する必要があります: SuperSession(コードリスト、先行品目属性、後継品目属性、先行場所属性、切替日属性、転送係数属性、供給開始日メジャーコード、供給終了日メジャーコード、転送元メジャーコード、転送先メジャーコード、[品目階層ノード]、[場所階層ノード]、[有効品目場所メジャーコード]、[上書き]、[後継場所属性])
注: オプションパラメーターは [ ] で指定します。

スーパーセッションマクロの検証と実行

スーパーセッションロジックは、マクロの検証と実行に成功したときに、現在のシナリオに対して実行されます。次の検証ルールがあります。

  • コードリスト内で定義済の各スーパーセッション関係が検証されます。
  • 先行場所は集計レベルで設定できます。つまり、この集計場所の子すべては、指定した場所選択内でスーパーセッションを適用する必要があります。
    • コードリスト内で集計の子の場所も使用する場合、コードリスト内の最後のエントリは、その子の場所に適用されます。
    • 先行場所が集計の場合、後継場所は Null にする必要があります。
  • 集計先行場所を使用する場合、有効な場所の品目、供給開始日、および供給終了日の値だけがコピーされます。使用する有効な組合せメジャーは、サイクル内で定義された有効な組合せから派生されます。
  • 定義が先行品目、後継品目、および場所間で一意でない場合、コードリストの最後のエントリが適用されます。
  • サイクル期間範囲のすべての期間の先行品目の「開始メジャー」と先行場所、および後継品目の「終了メジャー」の間に、メジャー転送が行われます。
  • 係数は、比率ではなく、先行品目/場所から後継品目/場所への重み係数 (乗数) として機能します。2 つの両方の後継の値が 1 に設定されている場合、先行履歴メジャーの 100%を受け入れます (合計は 200%です)。
  • 転送率が Null の場合、1 とみなされます。
  • 転送係数 0 は、現在の後継への履歴転送を実行せず、所要切替日を効果的に設定します。
  • 各スーパーセッション関係の先行品目ノードと後継品目ノードが有効であることを確認します。すべての先行品目と後継品目は、対応するモジュール階層で基本レベル要素として定義する必要があります。
  • 各スーパーセッション関係の先行場所と後継場所が有効であることを確認します。
    • 先行場所が集計の場合、後継場所は Null にする必要があります。
    • 先行場所が基本の場所の場合、後継場所は Null または基本場所である必要があります。
    • どちらの場所も、対応するモジュール階層内で定義する必要があります。
    • 先行場所が Null でないことを確認してください。
    • 集合場所要素を指定するとき、マクロを実行するユーザーはデータセキュリティ設定の集合要素にアクセスできる必要があります。
  • 各スーパーセッション関係の先行品目ノードと後継品目ノードが設定されていることを確認します。
  • 廃棄ログと処理にエラーが発生すると、コードリストの残りの関係が続行されます。
  • マーケットインテリジェンス、オーダー、またはトランザクションデータのタイプのメジャーは、スーパーセッションでは使用できません。

詳細については、「スーパーセッションマクロの例」を参照してください。

マクロの実行時に検証が実行されます。いずれかの検証が失敗した場合、マクロは中止され、関連するエラーメッセージが表示されます。

次の表に、シナリオマクロコマンドと、対応するサイクル期間/シナリオの状況および検証メッセージを示します。
サイクル期間の状況 シナリオの状況 実行可 検証メッセージ
保留中 N/A いいえ サイクル期間の状況が「保留中」であるため、マクロ {0} を実行できません。
実行中 WIP はい N/A
一時停止 任意 いいえ サイクル期間が実行されていないため、マクロ {0} を実行できません。
中止済 停止済 いいえ サイクル期間の状況が「中止」であるため、マクロ {0} を実行できません。
アーカイブ済 任意 いいえ サイクル期間の状況が「アーカイブ済」であるため、マクロ {0} を実行できません。
完了済 任意 いいえ サイクル期間の状況が「完了」であるため、マクロ {0} を実行できません。
次の表に、マクロの実行中に表示されるエラーメッセージを示します。
検証条件/ルール エラーメッセージ
指定したコードリストが有効であることを確認します。 コードリスト "{0}" が見つかりません。
指定したコードリスト属性が有効であることを確認します。 コードリスト属性 {0} がコードリスト {1} で見つかりません。
指定したメジャーがこのサイクル (モジュール) に対して有効であることを確認し、有効にします。このメジャーには、指定した供給開始日、供給終了日、開始メジャー、および終了メジャーが含まれます。 メジャー "{0}" が見つかりません。
指定した供給開始日および供給終了日のメジャーが、正しいタイプ (日付) であることを確認します。 {0} メジャーコードには、type = Date のメジャーが必要です。
指定された開始メジャーと終了メジャーが、正しいタイプ (単位または通貨) であることを確認します。 {0} メジャーコードには、type = Units または Currency のメジャーが必要です。
指定された供給開始日と供給終了日のメジャーが異なることを確認します。 供給開始日メジャーコードと供給終了日メジャーコードを同じメジャーにすることはできません。
指定した場合、品目ノードが有効であることを確認します。 品目 {0} が見つかりません。
指定したメジャーがマーケットインテリジェンスタイプでないことを確認します。 メジャー {0} は、タイプ「マーケットインテリジェンス」にすることはできません。
指定したメジャーのタイプがトランザクションデータでないことを確認します。 メジャー {0} は、タイプ「トランザクションデータ」にすることはできません。
指定したメジャーがオーダータイプであることを確認します。 メジャー {0} はオーダータイプにできません。
指定する場合は、上書きフラグが有効であることを確認します。値は True または False でなければなりません。 パラメーター値 {0} が無効です。True または False でなければなりません。
注: コードリスト内で定義された各スーパーセッション関係も検証されます。エラーがある場合は、破棄ログにログが生成され、コードリストの残りの関係の処理が続行されます。