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文に異なるプレフィックスを指定してください。