ALL を指定すると、literal-1 (表意定数またはそれ以外) または identifier-2 が参照するデータ項目の内容を単体または複数で連続して使用しても、それらは単体として扱われ、一般規則 13d の規則に従って、その内容が受け取り側項目に転記される。
各区切り文字は、UNSTRING 文で指定した順番で送り出し側フィールドに適用される。
区切り条件を検出する前に identifier-1 が参照するデータ項目の末尾に達すると、最後の文字を検査した時点で検査が終了する。
![]()
DELIMITED BY を指定しない場合、受け取り側項目が動的長基本項目であれば、検査される文字位置の数は送り出し側項目の長さに等しくなる。
NOT ON OVERFLOW 指定 (ある場合) は無視され、
制御は UNSTRING 文の最後に移るか、ON OVERFLOW が指定されている場合は imperative-statement-1 に移る。制御が imperative-statement-1 に移ると、imperative-statement-1 で指定した各文に関する規則に従って実行処理が続けられる。制御を明示的に移す手続き分岐文または条件文を実行すると、その文に関する規則に従って制御が移る。これ以外の場合は、imperative-statement-1 の実行が終了すると、UNSTRING 文の末尾に制御が移る。
NOT ON OVERFLOW を指定した場合、制御は imperative-statement-2 に移る。制御が imperative-statement-2 に移ると、imperative-statement-2 で指定した各文の規則に従って、実行が継続される。制御を明示的に移す手続き分岐文または条件文を実行すると、その文に関する規則に従って制御が移る。これ以外の場合は、imperative-statement-2
の実行が終了すると、UNSTRING 文の末尾に制御が移る。
01 WS-INPUT-BUFFER.
05 FILLER PIC X(050) VALUE
'AAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBB'.
01 WS-OUTPUT-UNSTR-1 PIC X(50) VALUE SPACES.
01 WS-OUTPUT-UNSTR-2 PIC X(50) VALUE SPACES.
01 WS-DELIMITER1 PIC X(10) VALUE SPACES.
01 WS-DELIMITER2 PIC X(10) VALUE SPACES.
UNSTRING WS-INPUT-BUFFER DELIMITED BY ':'
INTO WS-OUTPUT-UNSTR-1
DELIMITER IN WS-DELIMITER1
WS-OUTPUT-UNSTR-2
DELIMITER IN WS-DELIMITER2
display WS-OUTPUT-UNSTR-1
display WS-OUTPUT-UNSTR-2
display WS-DELIMITER1
display WS-DELIMITER2.