選択ルールと例
選択ルール:
- 現行レコードでは「真」と評価される再定義基準がある最初のフィールド (および存在する場合は、その子フィールド) が選択されます。同じ領域をマップするその他すべてのフィールド (および存在する場合は、その子フィールド) は選択されません。
- 再定義基準が「真」と評価されない場合、この領域をマップし、再定義基準がない最初のフィールド (および存在する場合は、その子フィールド) が選択されます。この領域をマップし、再定義基準を持たないフィールドが存在しない場合、フィールドは選択されません。
- 親再定義基準が「真」と評価される場合、ネストされた再定義基準のみが適用可能です。同じ選択ルールがネストされた再定義に適用されます。
例
この例では、次のデータを処理するとします。
Record 1 AA1A2
Record 2 B0102
Record 3 C.... (X'C300010002')
再定義基準のないテンプレートを使用して、TABL モードでこのデータを表示すると、次のようになります。
Process Options Help
───────────────────────────────────────────────────────────────────────────────
View FMN.PI97117.DATA(TESTR) Top of 3
Command ===> _____________________________________________________ Scroll CSR
Record AT TOP Format TABL
REDEF-TYPE DATA-A1 DATA-A2 DATA-B1 DATA-B2 DATA-C1 DATA-C2
#2 #4 #5 #7 #8 #10 #11
AN 1:1 AN 2:2 AN 4:2 ZD 2:2 ZD 4:2 BI 2:2 BI 4:2
- <> <> <-> <-> <---+> <---+>
******* **** Top of data ****
0000001 A A1 A2 *** *** -15887 -15886
0000002 B 01 02 1 2 -3855 -3854
0000003 C .. .. *** *** 1 2
******* **** End of data ****
前回の例で説明した再定義基準を使用して、このデータを TABL モードで表示すると次のようになります。
Process Options Help
───────────────────────────────────────────────────────────────────────────────
View FMN.PI97117.DATA(TESTR) Top of 3
Command ===> _____________________________________________________ Scroll CSR
Record AT TOP Format TABL
REDEF-TYPE DATA-A1 DATA-A2 DATA-B1 DATA-B2 DATA-C1 DATA-C2
#2 #4 #5 #7 #8 #10 #11
AN 1:1 AN 2:2 AN 4:2 ZD 2:2 ZD 4:2 BI 2:2 BI 4:2
- <> <> <-> <-> <---+> <---+>
******* **** Top of data ****
0000001 A A1 A2
0000002 B 1 2
0000003 C 1 2
******* **** End of data ****
選択された再定義フィールドのみが TABL モードで取り込まれます。選択されないフィールドはブランクになり、保護されます。
注: REDEF-TYPE 値を変更すると、再定義基準で異なる結果が生成される場合は、選択フィールドが変更されることがあります。
SNGL モードで再定義データを表示する場合は、次にようになります。
Process Options Help
───────────────────────────────────────────────────────────────────────────────
View FMN.SAMPLE.DATA(TESTR) Rec 1 of 3
Command ===> _____________________________________________________ Scroll CSR
Record 1 Format SNGL
Top Line is 1 of 7
Current 01: REDEFINES-LAYOUT Length 5
Field Data
REDEF-TYPE A
DATA-A1 A1
DATA-A2 A2
DATA-B1 ***
DATA-B2 ***
DATA-C1 -15887
DATA-C2 -15886
*** End of record ***
Process Options Help
───────────────────────────────────────────────────────────────────────────────
View FMN.SAMPLE.DATA(TESTR) Rec 1 of 3
Command ===> _____________________________________________________ Scroll CSR
Record 1 Format SNGL
Top Line is 1 of 5
Current 01: REDEFINES-LAYOUT Length 5
Ref Field Data
1 1 REDEFINES-LAYOUT
2 2 REDEF-TYPE A
3 2 DATA-A
4 3 DATA-A1 A1
5 3 DATA-A2 A2
*** End of record ***
REDEF-TYPE = 'A' にすると、「DATA-A」フィールドとその子が選択されます。
Process Options Help
───────────────────────────────────────────────────────────────────────────────
View FMN.SAMPLE.DATA(TESTR) Rec 2 of 3
Command ===> _____________________________________________________ Scroll CSR
Record 2 Format SNGL
Top Line is 1 of 5
Current 01: REDEFINES-LAYOUT Length 5
Ref Field Data
1 1 REDEFINES-LAYOUT
2 2 REDEF-TYPE B
6 2 DATA-B REDEFINES DATA-A
7 3 DATA-B1 1
8 3 DATA-B2 2
*** End of record ***
REDEF-TYPE = 'B' にすると、「DATA-B」フィールドとその子が選択されます。
Process Options Help
───────────────────────────────────────────────────────────────────────────────
View FMN.SAMPLE.DATA(TESTR) Rec 3 of 3
Command ===> _____________________________________________________ Scroll CSR
Record 3 Format SNGL
Top Line is 1 of 5
Current 01: REDEFINES-LAYOUT Length 5
Ref Field Data
1 1 REDEFINES-LAYOUT
2 2 REDEF-TYPE C
9 2 DATA-C REDEFINES DATA-A
10 3 DATA-C1 1
11 3 DATA-C2 2
*** End of record ***
REDEF-TYPE = 'C' にすると、「DATA-C」フィールドとその子が選択されます。