ILE COBOL 解説書

DELIMITED BY 句

この句では、データ転送を制御する、データ内の分離文字を指定します。

分離文字は、ID-2、ID-3、またはそれと対応するリテラルです。 指定される各 ID またはリテラルが 1 つの分離文字を表します。 それぞれが英数字データ項目でなければなりません。

DELIMITED BY 句を指定しなければ、DELIMITER IN 句および COUNT IN 句を指定してはなりません。

ID-2、ID-3
各 ID は 1 つの分離文字を表します。 それぞれが英数字データ項目でなければなりません。

+----------------------------------IBM 拡張----------------------------------+

いずれか一方が DBCS 項目である場合は、両方を DBCS 項目にしなければなりません。

+------------------------------End of IBM 拡張-------------------------------+

リテラル-1、リテラル-2
各リテラルは非数字リテラルでなければなりません。 それぞれ、ALL リテラルを除く任意の表意定数にすることができます。 表意定数が指定されている場合には、1 文字の非数字リテラルと見なされます。

+----------------------------------IBM 拡張----------------------------------+

いずれか一方のリテラルが DBCS リテラルである場合は、両方を DBCS リテラルにしなければなりません。 表意定数 SPACE は DBCS リテラルとして使用できます。

+------------------------------End of IBM 拡張-------------------------------+

ALL
連続した分離文字が 1 つ以上あっても、1 つだけであるかのように取り扱われ、 その 1 つが分離文字受け入れフィールド (指定された場合) へ移されます。 送り出しフィールドの中の分離文字は、基本英数字項目として取り扱われ、MOVE ステートメントの規則に従って現行の分離文字受け入れフィールドへ移動されます。

+----------------------------------IBM 拡張----------------------------------+

ALL が DBCS ID またはリテラルで使用されると、送り出しフィールド内の分離文字は DBCS 項目として扱われます。 これらは MOVE ステートメントの規則に従って移動されます。

+------------------------------End of IBM 拡張-------------------------------+

DELIMITED BY ALL が指定されていないで、2 つ以上の連続する分離文字 が検出されると、現行のデータ受け入れフィールドは、データ受け入れフィールドの記述に従ってスペースまたはゼロで埋められます。

1 つの分離文字に複数の文字が含まれている場合、 それが分離文字として認識されるのは、分離文字が連続しており、送り出しフィールドで指定されたとおりの順序になっている場合だけです。

複数の分離文字が指定されている場合には、OR 条件が存在し、重なり合わない各分離文字 は、指定された順序で送り出しフィールドの中で認識されます。 たとえば、DELIMITED BY "AB" OR "BC" が指定された場合には、 送り出しフィールド内に AB または BC があれば分離文字と見なされ、ABC があれば AB があった と見なされます。 データ・カウント・フィールド、ポインター・フィールド、およびフィールド・カウント・フィールドは、 それぞれ PICTURE 文字ストリング中に記号 P をもたない整数項目でなければなりません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]