INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILE-1 ASSIGN to DATABASE-FILE1-ALWNULL
ACCESS is DYNAMIC RECORD KEY IS FULL-PRODUCT-CODE IN FILE-1
ORGANIZATION IS INDEXED.
FD FILE-1.
01 FULL-PRODUCT-CODE.
05 TYPE-CODE PIC X(2).
05 COLOR-CODE PIC X(2).
05 LOCATION-CODE PIC X(2).
WORKING-STORAGE SECTION.
01 FILE1-N.
05 FULL-PRODUCT-CODE-NKM.
06 FILLER PIC X VALUE ZERO.
06 COLOR-CODE-NF PIC 1 VALUE B"0".
06 LOCATION-CODE-NF PIC 1 VALUE B"0".
フィールド 2 および 3 はヌル可能フィールドであり、'-' はヌルを示し、xx は任意の値を示します。
以下は、ファイルの中のレコードを表しています。
NN----
NN--xx
NNxx--
以下の START ステートメントを考えてみます。
START FILE-1
NULL-KEY-MAP IS FULL-PRODUCT-CODE-NKM
INVALID KEY DISPLAY "No data in system for product code " TYPE-CODE
GO TO ERROR-ROUTINE
END-START.
START ステートメントのヌル・キー・マップの値が 010 の場合は、
ポインターはキー NN--xx をもったレコードを指すように設定されます。
START ステートメントのヌル・キー・マップの値が 011 の場合は、
ポインターはキー NN---- をもったレコードを指すように設定されます。ヌル可能フィールドの使用について詳しくは、「IBM Rational Development Studio for i: ILE COBOL プログラマーの手引き」を参照してください。