+----------------------------------IBM 拡張----------------------------------+
XML GENERATE ステートメントは、データを XML 形式に変換します。
ID-1 が英数字グループ項目を参照する場合、 ID-1 は、カテゴリー英数字の基本データ項目であるかのように取り扱われます。
ID-1は、JUSTIFIED 文節で記述されてはなりません。また、関数 ID であってはなりません。ID-1 は、添え字を付けたり、参照変更できます。
ID-1 は、ID-2 または ID-3 とオーバーラップしないようにしてください。
ID-1 がカテゴリー英数字のデータ項目を参照する場合、 生成された XML 文書は、 PROCESS ステートメント CCSID オプション d で指定される CCSID でエンコードされます (ソース・コードのコンパイル時に有効な XML GENERATE 1 バイト・データ CCSID)。有効な CCSID が 65535 である場合、 実行時のジョブ・デフォルトの CCSID が使用されます。
ID-1 がカテゴリー国別のデータ項目を参照する場合、生成された XML 文書は、UCS-2 でエンコードされます。 バイト・オーダー・マークは生成されません。
ID-1 は、生成された XML が以下の ID-2 からのデータを含む場合、カテゴリー国別のデータ項目を参照する必要があります。
ID-1 は、生成された XML 文書を十分に含むことができる大きさである必要があります。通常、これは ID-2 のサイズの 5 倍から 8 倍である必要があり、identifier-2 内の 1 つまたは複数のデータ名の長さによって異なります。 ID-1 の大きさが十分でない場合、XML GENERATE ステートメントの終了時にエラー状態が発生します。
ID-2 は、ID-1 または ID-3 とオーバーラップしてはいけません。
ID-2 は、RENAMES 節を指定してはいけません。
ID-2 で指定される以下のデータ項目は、XML GENERATE ステートメントによって無視されます。
上記の規則に応じて無視されない ID-2 によって指定されるすべてのデータ項目は、以下の条件を満たす必要があります。
たとえば、次のようなデータ宣言を想定します。
01 STRUCT. 02 STAT PIC X(4). 02 IN-AREA PIC X(100). 02 OK-AREA REDEFINES IN-AREA. 03 FLAGS PIC X. 03 PIC X(3). 03 COUNTER USAGE COMP PIC S9(9). 03 ASFNPTR REDEFINES COUNTER USAGE PROCEDURE-POINTER. 03 UNREFERENCED PIC X(92). 02 NG-AREA1 REDEFINES IN-AREA. 03 FLAGS PIC X. 03 PIC X(3). 03 PTR USAGE POINTER. 03 ASNUM REDEFINES PTR USAGE COMP PIC S9(9). 03 PIC X(92). 02 NG-AREA2 REDEFINES IN-AREA. 03 FN-CODE PIC X. 03 UNREFERENCED PIC X(3). 03 QTYONHAND USAGE BINARY PIC 9(5). 03 DESC USAGE NATIONAL PIC N(40). 03 UNREFERENCED PIC X(12).
以下のデータ項目を ID-2 として指定できます。
以下のデータ項目は ID-2 として指定できません。
APPEND 句も OVERWRITE 句も使用されない場合、 XML ファイル・エンコード CCSID を使用して新規ファイルが作成され、変換された XML データはそのファイルに保管されます。プログラムの実行中に同じ名前を持つファイルが存在する場合、XML 生成は停止し、特殊レジスター XML-CODE にはこのエラーを表す例外コードが含まれます。
APPEND 句が使用されるとき、ファイルが XML ファイル・エンコード CCSID を持つ場合には、変換された XML データは既存のファイルに追加されます。これ以外の場合、XML 生成は停止し、特殊レジスター XML-CODE にはこのエラーを表す例外コードが含まれます。
OVERWRITE 句が使用される場合、 XML ファイル・エンコード CCSID を使用して既存のファイルは新規ファイルで置換されます。変換された XML データは新規ファイルに保管されます。
上述したエラーを除く他のすべてのファイル操作エラーは、ファイル操作エラー・メッセージを含むランタイム照会メッセージをトリガーします。操作を継続するために "G" で応答された場合は、特殊レジスター XML-CODE に例外コードが設定されます。
ON EXCEPTION 句が指定されている場合には、制御が 命令ステートメント-1 に転送されます。ON EXCEPTION 句が指定されて いない場合、NOT ON EXCEPTION 句は、存在したとしても無視され、制御は、XML GENERATE ステー トメントの終わりに転送されます。特殊レジスター XML-CODE には、「ILE COBOL プログラミング・ガイド」に説明されている、例外コードが含まれます。
条件 XML GENERATE または XML PARSE ステートメントの有効範囲を以下を使用して終了することができます。
END-XML は、ON EXCEPTION または NOT ON EXCEPTION 句のいずれも指定し ていない XML GENERATE または XML PARSE ステートメントで使用することも可能です。