付録 A - JSON GENERATE ソース項目

次のデータ宣言は、JSON 形式に変換するソースとして指定されています。

01 JSON-SRC-GRP.
  03 SRC-STAT PIC X(4). 
  03 SRC-AREA PIC X(100).  
  03 VAL-AREA REDEFINES SRC-AREA.  
     05 FLAGS PIC X.
     05 PIC X(3).
     05 COUNTER USAGE COMP-5 PIC S9(9). 
     05 ASFNPTR REDEFINES COUNTER USAGE FUNCTION-POINTER.
     05 UNREFERENCED PIC X(92).
  03 INVAL-AREA1 REDEFINES SRC-AREA.
     05 FLAGS PIC X. 
     05 PIC X(3).
     05 PTR USAGE POINTER.
     05 ASNUM REDEFINES PTR USAGE COMP-5 PIC S9(9).
     05 PIC X(92).
  03 INVAL-AREA2 REDEFINES SRC-AREA.
     05 FN-CODE PIC X.
     05 UNREFERENCED PIC X(3).
     05 QTYONHAND USAGE BINARY PIC 9(5).
     05 DESC USAGE NATIONAL PIC N(40).
     05 UNREFERENCED PIC X(12).

構文規則に従って、次のデータ項目は、identifier-2 として指定されている場合に JSON GENERATE 文で変換されます。

  • JSON-SRC-GRP。その下位データ項目 SRC-STAT および SRC-AREA が JSON 形式に変換されます。VAL-AREA、INVAL-AREA1、および INVAL-AREA2 は、REDEFINES 句を指定しているため無視されます。
  • VAL-AREA。その下位データ項目 FLAGS、COUNTER、および UNREFERENCED が変換されます。データ記述項で 05 PIC X(3) が指定されている項目は、基本 FILLER データ項目であるため無視されます。ASFNPTR は REDEFINES 句を指定しているため無視されます。
  • JSON-SRC-GRP に従属するいずれかの基本データ項目。ただし、次を除きます。
    • ASFNPTR または PTR (使用が許可されていない)
    • UNREFERENCED OF INVAL-AREA2 (データ項目の名前が一意ではない。それ以外の場合は対象となる)
    • FILLER データ項目
次のデータ項目は identifier-2 として指定できません。
  • INVAL-AREA1。下位データ項目 PTR で USAGE POINTER が指定されているが、REDEFINES 句が指定されていないため(PTR は、REDEFINES 句で定義されている場合は無視される)。
  • INVAL-AREA2。下位の基本データ項目が一意でない名前 UNREFERENCED を持つため。