富士通

NetCOBOL 技術情報:トラブルシューティング

エラー

共通

NetCOBOL

Q

COBOLソースの翻訳時にJMN3483I-SおよびJMN5595I-Sのメッセージが出力されます。

A

COBOLの主プログラムに指定したパラメタの形式に誤りがあります。 パラメタの受け渡し方法を変更してください。

これらのメッセージは、主プログラムに指定されたパラメタが、 OSIV系システム形式でないために表示されています。
一般的な対処としては以下となります。

  • 主プログラムでパラメタを受け取る必要がある場合
    OSIV系システム形式に合わせる、または、USINGを使わず、ACCEPT文を 使用した「コマンド行引数の取出し」の機能を利用する方法があります。
  • 主プログラムでパラメタ受け取る必要がない場合
    パラメタとして定義されたデータ項目をデータ部および手続き部から 削除します。

JMN3483I-SおよびJMN5595I-Sは共に以下のメッセージを表示します。

「主プログラムの手続き部見出しのUSING指定に記述したパラメタは, 大きさが102バイトを超えないただ1つの集団項目で,従属する最初の 基本項目が2バイトの2進項目でなければなりません. 指定されたパラメタは無効になります.」

JMN3483I-SはPROCEDURE文などの手続きに対して、 JMN5595I-Sはデータ定義に対して表示されますが、原因は同じです。
NetCOBOLの仕様では、アプリケーションの起動時に最初に実行される 主プログラム(EXE)の、 PROCEDURE文に記述したパラメタは、 「OSIV系システム形式」となります。
OSIV系システム形式は、パラメタを受け取るためのデータ項目を1つだけ 定義することができ、そのパラメタは上記メッセージおよび、以下の マニュアルに記載されている形式で指定します。

詳細については、以下のマニュアルを参照してください。

NetCOBOL使用手引書

  • 付録G OSIV系システムとの機能比較
    プログラムの起動時にパラメタを渡す場合

なお、翻訳プログラムが主プログラムでない場合は、 翻訳オプションMAINで副プログラムを示す「NOMAIN」を指定してください。