COBOL2002 言語 拡張仕様編
IDENTIFICATION DIVISION. PROGRAM-ID. TESTPROG. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DYNAMIC LENGTH STRUCTURE C-STRING IS C-STATIC-STRUCTURE. DATA DIVISION. WORKING-STORAGE SECTION. 01 FIXDATA PIC X(20). 01 DYNADATA PIC X DYNAMIC LENGTH C-STRING LIMIT 20. 01 DYNADATA-N PIC N DYNAMIC LENGTH C-STRING LIMIT 5. PROCEDURE DIVISION . MOVE 'error 01' TO DYNADATA. *> 空白詰めは行わない DISPLAY DYNADATA. *> 長さ8のメッセージを表示する。 MOVE 'err 02' TO DYNADATA. DISPLAY DYNADATA. *> 長さ6のメッセージを表示する。DYNADATAのサイズが変わる INITIALIZE DYNADATA. *> INITIALIZE文を実行すると動的長基本項目の長さは0になる MOVE 'error 0003' TO DYNADATA. DISPLAY DYNADATA. *> 長さ10のメッセージを表示する MOVE DYNADATA TO FIXDATA. *> 動的長基本項目が送り出し側となる例 *> DYNADATAは長さ10であるため,長さ10の固定項目を転記する場合と同等 MOVE 'error 0003' TO FIXDATA . DISPLAY FIXDATA. *> 長さ10+空白10のメッセージを表示する IF DYNADATA = FIXDATA THEN *> DYNADATAは'error 0003'を格納した長さ10の固定項目と DISPLAY 'MATCH' *> 同等のため,'MATCH'となる END-IF. MOVE FIXDATA TO DYNADATA. *> 埋字の空白も転記され,DYNADATAは長さ20となる MOVE FUNCTION TRIM(FIXDATA) TO DYNADATA. *> 空白を取る場合はTRIM関数を併用する MOVE '12345678901234567890ABC' TO DYNADATA. *> LIMIT 20のため送り出し側の *> 先頭20バイトしか格納されない MOVE N'あいう' TO DYNADATA-N. *> 空白詰めは行わない MOVE N'あいうえおかきく' TO DYNADATA-N. *> N'あいうえお' が格納される INITIALIZE DYNADATA-N. *> 初期化され,長さは0になる
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.