1.3 標準サブルーチンの呼び出し方法
標準サブルーチンの呼び出しをソースプログラム中に直接コーディングする場合は,次のように記述してください。
(WORKING-STORAGE SECTIONに) COPY インタフェースID PREFIXING プレフィックス-. (PROCEDURE DIVISIONに) MOVE ・・・・・・ TO プレフィックス-I-xxx MOVE ・・・・・・ TO プレフィックス-I-yyy : CALL 'サブルーチンID' USING プレフィックス-TBL IF プレフィックス-O-RTN-CD = SPACE THEN MOVE プレフィックス-O-zzz TO ・・・・・・ :
(例)年月日変換(西暦→和暦)(LXRPID05)を呼び出す場合
(WORKING-STORAGE SECTIONに) COPY LXRCID05 PREFIXING D05-. (PROCEDURE DIVISIONに) MOVE ・・・・・・ TO D05-I-YMD CALL 'LXRPID05' USING D05-TBL IF D05-O-RTN-CD = SPACE THEN MOVE D05-O-YMDWA TO ・・・・・・ :
標準サブルーチンの呼び出しでは,次の点に注意して記述してください。
-
提供しているインタフェーステーブル以外を使用して呼び出した場合,またはインタフェーステーブルの01レベルの項目名(プレフィックス-TBL)以外に引数を指定した場合,結果は保証しません。
- (例1)不正な利用例:提供しているインタフェーステーブル以外を使用した場合
(WORKING-STORAGE SECTIONに) COPY LXRCIX99 PREFIXING X99-. (PROCEDURE DIVISIONに) CALL 'LXRPID01' USING X99-TBL.
- (例2)不正な利用例:01レベル以外の項目名を引数に使用した場合
(WORKING-STORAGE SECTIONに) COPY LXRCID05 PREFIXING D05-. (PROCEDURE DIVISIONに) MOVE ・・・・・・ TO D05-I-YY CALL 'LXRPID05' USING D05-I-YY. :
-
提供しているインタフェーステーブルの01レベルの項目名はすべて'TBL'なので,標準サブルーチンを2つ以上使うときは,COPY文に異なるプレフィックスを指定してください。