UNSTRING文は,送り出し側作用対象の連続したデータを分解し,幾つかの受け取り側作用対象データ項目に移します。
UNSTRING文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.52 UNSTRING文」を参照してください。
UNSTRING文の使用例を次に示します。
77 SEND-02 PIC X(19).
77 RR-21 PIC X(8).
77 RR-22 PIC X(8).
77 RR-23 PIC X(8).
:
UNSTRING SEND-02 DELIMITED BY ','
INTO RR-21 RR-22 RR-23.
実行 | 結果 | ||||
---|---|---|---|---|---|
AAの値 | BBの値 | CCの値 | CTRの値 | OVERFLOW条件 | |
1回目の実行 | K01 | K02 | K03 | 3 | 成立する |
2回目の実行 | T1 | N4 | K05 | 3 | 成立する |
: | : | : | : | : | : |
n回目の実行 | N1 | M35 | 2 | 成立しない |
77 SEND-03 PIC X(100).
77 AA PIC X(5).
77 BB PIC X(5).
77 CC PIC X(5).
77 SW-1 PIC 9(1) VALUE 0.
77 PTR-1 PIC 9(3) VALUE 1.
77 CTR PIC 9(3) VALUE 0.
:
PERFORM TEST AFTER UNTIL SW-1 NOT = 0
MOVE SPACE TO AA BB CC
MOVE 0 TO SW-1, CTR
UNSTRING SEND-03
DELIMITED BY ',' OR ALL SPACE
INTO AA, BB, CC,
WITH POINTER PTR-1
TALLYING IN CTR
NOT ON OVERFLOW MOVE 1 TO SW-1
END-UNSTRING
:
AA, BB, CCを使った処理をする
:
END-PERFORM.
: