Map From の削除

単一選択の使用可能性: MapFromStatement (その他のステートメントについては、その他の削除を参照してください。)

単一選択時の動作は以下のとおりです。
  • ユーザーにプロンプトを出す。確認されると、以下のように削除が進行します。
    • MapFromStatement (s1) の親 MapStructureStatement (s2) が (s2 のすべての内容も共に) 削除される。
    • MapStructureStatement (s2) に最も近い祖先 MapStructureStatement (s3) に対し、単一レベルの拡張が実行される (祖先 (s3) のマップ構造の子がすべて削除される場合を除く)。

複数選択の使用可能性: 各アイテムを個別に選択したときにアクションが使用可能になるのであれば、使用可能。

複数選択の振る舞い: 選択したすべてのものに対して 1 つのプロンプトが出されます。これを確認すると、選択した各ステートメントが適切な方法で削除されます。
アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment
  Items+MapFrom(exp_5)

こうして得られた結果は、式ペインから式を除去した場合や、セルを選択してから「削除」をクリックした場合と同じです。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
    FirstName
    LastName    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)

これは複数選択です。これは、複数回アクションを起動するのと同じ結果になります。通常の拡張ルールが適用されます (つまり、LastName が固定値なら MapFrom が設定される、など)。.

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo + MapFrom(exp)
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo + MapFrom(exp)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo + MapFrom(exp)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)

ShipTo の子がすべて除去されます。拡張は必要ありません。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo + MapFrom(exp)
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address
      Street + MapFrom(exp_3a)
      City + MapFrom(exp_3b)
      PostalCode + MapFrom(exp_3c)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5
PurchaseOrder
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)

ShipTo のすべての子孫が削除されます。事実上、大きな分岐が切り取られたことになります。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo + MapFrom(exp)
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)

ShipTo は削除されるため、その子を選択するのは無意味です。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo + MapFrom(exp)
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
  Items+MapFrom(exp_5)

ShipTo が削除されるため、一部の子が選択されていない場合でもすべての子が削除されます。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
    Items (minOccurs=1)
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)

一部のインスタンスが削除されます。Items の拡張プロセスをたどって、なお十分のインスタンスが残るかどうかを調べてください。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
    Items (minOccurs=2)
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName
      UnitPrice
      Quantity

一部のインスタンスが削除されます。Items の拡張プロセスをたどり、さらにインスタンスを追加してください。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
    Items (minOccurs=2)
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
      ItemName
      UnitPrice
      Quantity

どのインスタンスも削除することができます。末尾から削除しなくてもかまいません。 追加インスタンスが付加されます。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
    Items (sequence, minOccurs=1)
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice
      Quantity

<ItemName UnitPrice Quantity> はグループとして一緒に指定される必要があります。そのため、十分なインスタンスがすでにあるにも関わらず、UnitPrice と Quantity が追加されます。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
    Items (sequence, minOccurs=1)
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      UnitPrice + MapFrom(exp_1b)
      ItemName + MapFrom(exp_2a)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName
      UnitPrice + MapFrom(exp_1b)
      ItemName + MapFrom(exp_2a)
      Quantity + MapFrom(exp_2c)
ORPurchaseOrder
    Items
      UnitPrice + MapFrom(exp_1b)
      ItemName + MapFrom(exp_2a)
      UnitPrice
      Quantity + MapFrom(exp_2c)

拡張時に、UnitPrice の前に欠落している ItemName が挿入されます。UnitPrice の後ろの余分の ItemName は無視されます。 拡張時に、最初の UnitPrice は余分の項目として扱われ、無視されます。それから、欠落している UnitPrice が ItemName と Quantity の間に挿入されます。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
    Items (sequence, minOccurs=2)
      ItemName + MapFrom(exp_1a)
      UnitPrice + MapFrom(exp_1b)
      Quantity + MapFrom(exp_1c)
      ItemName + MapFrom(exp_2a)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      Quantity + MapFrom(exp_1c)
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)
PurchaseOrder
    Items
      ItemName + MapFrom(exp_1a)
      UnitPrice
      Quantity + MapFrom(exp_1c)
      ItemName
      UnitPrice + MapFrom(exp_2b)
      Quantity + MapFrom(exp_2c)

欠落しているインスタンスが挿入されます。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
MapOp
  Insert_1 - db1.sch2.tbl3
    col_1 + MapFrom(exp_1)
    col_2 + MapFrom(exp_2)
MapOp
  Insert_1 - db1.sch2.tbl3
    col_2 + MapFrom(exp_2)
MapOp
  Insert_1 - db1.sch2.tbl3
    col_1
    col_2 + MapFrom(exp_2)

列を削除する場合、削除の後に表が拡張されます。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items
    ItemName + MapFrom(exp_5)
    Price + MapFrom(exp_6)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
  Items
    Price + MapFrom(exp_6)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
  Items
    ItemName
    Price + MapFrom(exp_6)

無関係の 2 つの場所での複数の削除。無関係の拡張ポイント。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items
    ItemName + MapFrom(exp_5)
    Price + MapFrom(exp_6)
PurchaseOrder
  Comment + MapFrom (exp_4)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
  Items

無関係の複数の削除、拡張の一般的な項目。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items
    ItemName + MapFrom(exp_5)
    Price + MapFrom(exp_6)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)
PurchaseOrder
  ShipTo
    FirstName
    LastName
    Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items

無関係の複数の削除ポイント、ネストされた拡張ポイント。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    FirstName + MapFrom(exp_1)
    LastName + MapFrom(exp_2)
    ForEach (fe_exp)
      Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
PurchaseOrder
  Comment + MapFrom (exp_4)
PurchaseOrder
  ShipTo
  Comment + MapFrom (exp_4)

削除される MapStructureStatement には、MapStructureStatement 以外の子孫 (ForEach など) が含まれる場合があります。

アクションの前のステートメント (太字を選択) 削除の結果 (表示されない。太字を拡張) アクションの後のステートメント (太字は拡張部分)
PurchaseOrder
  ShipTo
    DeclareStatement (int x)
      AssignmentStatement (x = 1)
      FirstName + MapFrom(exp_1)
      LastName + MapFrom(exp_2)
      Address + MapFrom(exp_3)
  Comment + MapFrom (exp_4)
  Items
PurchaseOrder
  ShipTo
    DeclareStatement (int x)
      AssignmentStatement (x = 1)
  Comment + MapFrom (exp_4)
  Items
PurchaseOrder
  ShipTo
    DeclareStatement (int x)
      AssignmentStatement (x = 1)
  Comment + MapFrom (exp_4)
  Items

ShipTo にはマップ構造の子孫が含まれないため、これに取り込みを行う必要はありません。

関連タスク
メッセージ・マッピングの開発
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
ar25236_2_