5.3.2 UNSTRING文
UNSTRING文は,送り出し側作用対象の連続したデータを分解し,幾つかの受け取り側作用対象データ項目に移します。
UNSTRING文については,マニュアル「COBOL2002 言語 標準仕様編」 「10.8.52 UNSTRING文」を参照してください。
UNSTRING文の使用例を次に示します。
- (例1)
-
コンマで区切られている19文字のデータを分解して転記します。
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.
- (例2)
-
-
100バイトのデータ項目中にコンマで区切られたデータが入っているときに,データ項目のデータを3個ずつ取り出して転記します。
-
すべてのデータを処理したかどうかの判定には,OVERFLOW指定を使用します。
送り出し側作用対象:
受け取り側作用対象
実行
結果
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. :
- 注
-
データの個数はCTRに入っています。
-