ページの先頭行へ戻る
NetCOBOL V12.1 メッセージ集
FUJITSU Software

3.3.32 JMP0086I-E/W/U

[Solaris][Solaris64][Linux][LinuxIPF]
文字コードの変換に失敗しました.'$1'

[Linux64]
文字コードの変換に失敗しました.'$1''$2'

システムの処理

重大度コードがEの場合、処理を続行します。

重大度コードがWの場合、変換に成功した文字までを設定し、処理を続行します。

重大度コードがUの場合、プログラムを異常終了させます。

プログラマーの処置

  • COBOLプログラム中で、データ項目のエンコード方式で文字として保証されている範囲外のデータが使用されました。
    $1に設定されたエラーコードをシステムのerrnoの説明を参考にエラーの原因を取り除いて、再度実行してください。

  • [Linux64]シフトJISを扱うアプリケーションを実行した場合は、以下を確認してください。

    • 入力した資源(ファイル)のコード系は正しいか

      参照

      “NetCOBOL ユーザーズガイド”の“6.2.4 資源”

    • シフトJISの文字範囲を超えたデータをACCEPT文で入力していないか

    • 定量制限を超えたデータをACCEPT文で入力していないか

  • $2にはエラーアドレスが設定されます。

    表3.12 JMP0086I-W/Uの$1に設定されるエラーコードの内容

    エラーコード

    エラーの意味

    プログラマーの処置

    E2BIG 7(0x7)

    変換先コード列格納域が不足しました。

    変換先のデータ項目の長さが十分であるか確認してください。

    ENOMEM 12(0xc)

    領域不足が発生しました。

    付録B 注意事項”の“COBOLプログラムの実行時に仮想メモリ不足が発生する場合”を参照して対処してください。

    EINVAL 22(0x16)

    変換元コード列の終りに、不完全なコードが現れました。

    変換元のデータ項目に格納された文字データが転記、部分参照などで不完全な状態になっていないか確認してください。

    [Solaris][Solaris64]

    EILSEQ 88(0x58)

    [Linux][LinuxIPF][Linux64]

    EILSEQ 84(0x54)

    変換元コード列中に、変換元コード系に存在しないコードが現れました。

    変換元のデータ項目に格納されたデータがエンコード方式の範囲外です。エンコード方式の異なるデータ項目を重ね合わせ(REDEFINES句)で使用していないか、文字コード以外のバイナリデータを格納していないか確認してください。

    コード変換にInterstage Charset Managerを使用している場合は、「Interstage Charset Manager 使用手引書 標準コード変換機能編」を参照してエラーの原因を確認してください。

    上記以外のエラーコードについては、システムのエラーコードを参照してください。

参照

[Linux64]
“NetCOBOL ユーザーズガイド”の“A.2.8 CONVCHAR”
[Linux64]
“NetCOBOL ユーザーズガイド”の“C.1.13 CBR_CONVERT_CHARACTER”