Highlighted
Contributor

ALMで Production List が引き起こすマジック

Production data を有効にしたList (Production List) は同期されないとAnapedia で紹介しているが、これには例外がある。

下記の流れでALM環境を構築したと想定する。

  1. 開発モデル作成
  2. Production Data を有効にしたList (L1) を作成
  3. 上記リストをRows に、Line Items をColumns に置きモジュール (M1) を作成。ラインアイテムは少なくても一つ作成
  4. リビジョンを作成し、モデルコピーから本番モデルを作成
  5. 開発モデルでL1 にアイテム a, b, c を追加
  6. 本番モデルでL1 にアイテム x, y, z を追加
  7. 開発モデルで b を非表示にし、モジュールを保存
  8. リビジョンを作成し、同期

作業完了後、M1 は下記の状態になっていることを期待する:
開発モデルでは列 a, c が表示されていて、本番モデルでは列 x, y, z が表示されている。

しかし実際には下記のようになっている:
開発モデルでは列 a, c が表示されていて、本番モデルでは列 x, z が表示されている。

開発モデルで b を非表示にしているのに、同期後なぜか y が非表示になる。
これはAnaplan が内部的にリストアイテムをID で管理しており、"M1 でID##が非表示された" という情報が同期されているからだ。

ID はアイテムが作成される度に自動的に加算されていき、また始まりの数値は同じであるため、開発モデルと本番モデルでID が重なることがある。

上記の通り、名前が全く一致しないのにFilter や表示/非表示の変更を同期後、想定外のアイテムが変更されるのは、IDが重なっているのが理由である。