PowerFX V1.0 移行説明書 - Microsoft(R) Windows(R) - |
目次
索引
![]() ![]() |
付録A COBOL GとNetCOBOLの相違点と修正方法 |
プログラム間連絡でのCOBOL GとNetCOBOLの相違点と対処方法は、以下のとおりです。
ASPとWindows(R)では、利用者パラメーターの受け取り方法が異なります。
例:
CALL PROG1,("AAA",100,A.LIB1) |
[プログラムソースの内容]
[実行結果]
注):値の設定されない領域の内容は不定
[入力コマンドの内容]
PROG1 AAA 100 A.LIB1 |
[ソースプログラムの内容]
[実行結果]
パラメーターの受け取り方法として、コマンド行引数の操作機能を使用するようにプログラムを修正します。Windows(R)では整数型のパラメーターを受け取ることができないので、文字を数字に変換する必要があります。変換は、以下のように行います。
Windows(R)では名前型のパラメーターを受け渡すことができません。1つの文字列として受け取り、UNSTRING文などを使って分解します。
COBOL GとNetCOBOLでは、EXIT PROGRAM文の動作が異なります。
副プログラムは呼び出し元のプログラムに戻りますが、主プログラムはEXIT文として扱われます(EXIT PROGRAM 文の後に記述された文も実行されます)。
常に、プログラムを起動した上位のプログラムに戻ります。たとえば以下の場合、NetCOBOLではSTOP RUN文に対して翻訳エラーメッセージが出力されます。
「JMN2692I-W 'EXIT PROGRAM'の後に実行されない文が存在する。」
EXIT PROGRAMの後に実行文を記述しないように修正します。
上記のNetCOBOLの例では、Wレベルの翻訳エラーとなるため、実行上問題はありません。翻訳エラーをなくすには、以下のようにプログラムを修正してください。
COBOL GとNetCOBOLでは、特殊レジスタPROGRAM-STATUSの項目長が異なります。
PIC S9(4) COMP |
PIC S9(9) COMP-5 |
対処は不要です。
目次
索引
![]() ![]() |