search cancel

CA Gen : 多重反復グループ・ビューについて

book

Article ID: 134100

calendar_today

Updated On:

Products

Gen

Issue/Introduction

多重反復グループ・ビューを使って、画面/ウィンドウ上でリスト内のリストを表示させるアプリケーションはサポートされません。
したがって、リスト・ボックス内のオカレンスについての反復情報を表示させるには、ウィンドウなどでは副ダイアログ・ボックスを使用する必要があります。
プロシージャ・ステップのインポートまたはエクスポート・ビューのいずれにおいても、多重反復グループ・ビューはサポートされていません。
この状況を明確にするため、本ドキュメントでは次の質問を中心に説明します。 

* 反復グループ・ビューとはなにか?
* 多重反復グループ・ビューとはなにか?
* いつ、どこでこれらは使用できるのか?

Environment

Release: Advantage Gen 6.5

Resolution

1. 反復グループ・ビューは、ビュー保守でカージナリティを「1つまたは複数」に設定することで作成されます。 これを「1つ」に設定すると、グループ・ビューの反復は行われません。
ビュー保守において反復グループ・ビューは、グループ名の前にある「r」文字列で認識できます。

2. カージナリティが「1つまたは複数」に設定されていて、最大カージナリティが1となっているグループ・ビューも、やはり反復グループ・ビューであり、グループ名の前にある「r」文字列で認識できます。

3. 多重反復グループ・ビューは、親反復グループ・ビューの下位に反復グループ・ビューが作成された状態です。 入れ子構造は、ビュー名の字下げによって認識できます。
以下がその例です。

group (r) OUTER_REPEAT_IN_GRP(任意, 100, 暗黙, インポートのみ)
group (r) INNER_REPEAT_IN_GRP(任意, 100)
group (r) OUTER_REPEAT_IN_GRP(任意, 100, 暗黙, インポートのみ)
group (r) INNER_REPEAT_IN_GRP(任意, 1)
group (r) OUTER_REPEAT_IN_GRP(任意, 100, 暗黙, インポートのみ)
group INNER_IN_GRP(任意, 1)
group (r) INDIRECT_INNER_REPEAT(任意, 10)

4. プロシージャ・ステップのインポートまたはエクスポート・ビューのいずれにおいても、多重反復グループ・ビューを定義することはできません。 多重 非反復グループ・ビューの定義は可能です。 
以下はその例です。

group (r) OUTER_REPEAT_IN_GRP(任意, 100, 暗黙, インポートのみ)
group INNER_IN_GRP(任意, 1)
group OUTER_IN_GRP(任意, 1, 暗黙, インポートのみ)
group (r) INNER_REPEAT_IN_GRP(任意, 100)
group OUTER_IN_GRP(任意, 1, 暗黙, インポートのみ)
group INNER_IN_GRP(任意, 1)
group OUTER_IN_GRP(任意, 1, 暗黙, インポートのみ)
group (r) INNER_REPEAT_IN1_GRP(任意, 100)
group (r) INNER_REPEAT_IN2_GRP(任意, 100) *

* IN1およびIN2の字下げ位置は同じであり、同一の非反復親グループを持つことになるため、これは入れ子構造とはなりません。

5. プロシージャ・ステップのローカル・ビューでは、多重反復グループ・ビューを定義することが可能です。
つまり、インポートまたはエクスポート・ビ ューに多重反復グループ・ビューを含む既存の共通/外部アクション・ブロックは、引き続き再利用およびビュー・マッチングすることができることを意味します。 

6. 一貫性検査プロセスでは、上記3の例のような多重反復グループ・ビューのみをエラーとして認識およびトラップします。 上記4の例のような多重グループ・ビューをエラーとしてレポートすることはありません。 

7. 同様に、コード・ジェネレータは上記4で定義された多重グループ・ビューの使用を許可します。

COOL:Genで導入された一貫性検査エラーには、次のようなものがあります。

ICCBR13E:
ウィンドウや協調パッケージングを含むプロシージャ・ステップでは、そのインポートまたはエクスポート・ビューに多重反復グループ・ビューを含めることはできません。

ICCGV15E:
反復グループに、同一レベルの多重反復グループを複数含めることはできません。

ただし、上記4の例、特に以下のような状況において、誤ってレポートされることが判明しています。 

group OUTER_IN_GRP(任意、1、暗黙、インポートのみ)
group (r) INNER_REPEAT_IN1_GRP(任意, 100)
group (r) INNER_REPEAT_IN2_GRP(任意, 100)**

これは、一貫性検査に関する問題であり、コード・ジェネレータはこの構造を正常に処理します。

Additional Information

Old Japanese Knowledge document ID: JTEC001718

CA Genのその他のFAQについては、以下のリンクからご確認ください。

CA Gen FAQ一覧表