文字セット変換をカスタマイズするには

注: カスタマイズされた文字セット変換を作成すると、結果として生成されるプログラムはスレッド セーフではなくなります。これは通信プロセス (MFCS) の問題を引き起こしメモリ破損の原因になります。

これを防ぐには、局所記憶節宣言を %ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\codeset\csnnnn.cbl ファイルの作業場所節の直後に挿入します。ここで、nnnn は 4 桁の国別コードです。

  1. Visual COBOL コマンド プロンプトを起動します。手順については、「Visual COBOL コマンド プロンプトを起動するには」を参照してください。
  2. 一時ファイルの格納先として新しいフォルダーを作成し、そのフォルダーに移動します。次に例を示します。
    Windows:
    md mylang
    cd mylang
    UNIX:
    mkdir mylang
    cd mylang
  3. コマンド プロンプトで、次のように入力します。
    Windows:
    set mfcodeset=nnnn
    UNIX:
    export MFCODESET=nnnn

    nnnn には、カスタマイズに適した文字コード変換テーブルに対応する 4 桁の国別コードを指定します。

  4. 次のように入力します。
    codecomp /p mapfile.a2e mapfile.e2a

    mapfile.a2e ファイルと mapfile.e2a ファイルが、現在のフォルダーに作成されます。

  5. マップファイル内の変換テーブルを必要に応じて編集します。mapfile.a2e には ANSI から EBCDIC への変換テーブルが含まれ、mapfile.e2a には対応する EBCDIC から ANSI への変換テーブルが含まれています。
  6. 次のように入力します。
    codecomp mapfile.a2e mapfile.e2a

    codeset.cpy ファイルが現在のフォルダーに作成されます。

  7. 次のように入力します。
    Windows:
    copy "%ProgramFiles(x86)%\Micro Focus\Visual COBOL\src\codeset\csnnnn.cbl" csnnnn.cbl
    UNIX:
    cp $COBDIR/src/codeset/csnnnn.cbl csnnnn.cbl
    注: 32 ビットの Windows では、%ProgramFiles(x86)%%ProgramFiles% になります。

    %ProgramFiles(x86)%\Micro Focus\Visual COBOL はインストール ディレクトリで、nnnn はカスタマイズ コードセット モジュールを指す 2000 ~ 9999 の番号 (9122 を除く) です。

  8. 次のように入力します。
    Windows:
    cobol csnnnn.cbl omf(gnt);
    UNIX:
    cob -u csnnnn.cbl
  9. 次のように入力します。
    32 ビット Windows 環境の場合:
    copy csnnnn.gnt "%ProgramFiles%\Micro Focus\Visual COBOL\bin"
    64 ビット Windows 環境の場合:
    copy csnnnn.gnt "%ProgramFiles(x86)%\Micro Focus\Visual COBOL\bin64"
    UNIX:
    cp csnnnn.gnt $COBDIR/bin
    注: 32 ビットの Windows では、%ProgramFiles(x86)%%ProgramFiles% になります。

    %ProgramFiles(x86)%\Micro Focus\Visual COBOL はインストール ディレクトリで、nnnn はカスタマイズ コードセットの番号です。