NULL-KEY-MAP IS 句の例

この例では、以下の値はファイルの中のキーを表しており、これにはそれぞれが 2 バイトでできた 3 個のフィールドが入っています。 キーは、ファイル・セクションで以下のコードによって定義されます。
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 プログラマーの手引き」を参照してください。