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

注: カスタマイズされた文字セット変換を作成する場合、作業場所節の直後に局所記憶節宣言が記述されていない限り、結果として生成されるプログラムはスレッド セーフではなくなります。

コードセット モジュールは、DIALECT"MF" を使用してコンパイルする必要があります。また、NOCANCEL 指令も指定する必要があり、そうしない場合、エンタープライズ サーバー リージョンでの実行時にモジュールが最初に呼び出された際に RTS114 の異常終了が発生することがあります

インストール ディレクトリの src\codeset サブディレクトリに用意されているサンプル プログラム CSnnnn.cbl には、必要なセクション、宣言、および指令が含まれています。

  1. (Windows のみ) Visual COBOL command promptを起動します。手順については、「Visual COBOL command promptを起動するには」を参照してください。
  2. (UNIX のみ) シェル プロンプトを起動し、COBOL 環境が正しく構成されていることを確認します (たとえば、COBDIR がインストール ディレクトリを指しており、COBMODE が正しく設定されていることを確認します)。
  3. 一時ファイルの格納先として新しいディレクトリを作成し、そのディレクトリに移動します。次に例を示します。

    Windows:

    md mylang
    cd mylang

    UNIX:

    mkdir mylang
    cd mylang
  4. プロンプトで、次のように入力します。

    Windows:

    set mfcodeset=nnnn

    UNIX:

    export MFCODESET=nnnn

    nnnn には、カスタマイズに適した文字セット変換テーブルに対応する MFCODESET 値 (「サポートされている国別コード」トピックに記載) を指定します。

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

    mapfile.a2e ファイルおよび mapfile.e2a ファイルが現在のディレクトリに作成されます。

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

    codeset.cpy ファイルが現在のディレクトリに作成されます。

  8. 次のように入力します。

    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 を除く) です。

  9. 次のように入力します。

    Windows:

    cbllink -d csnnnn.cbl

    UNIX:

    cob -z csnnnn.cbl
  10. 生成された実行可能モジュール CSnnnn.dll (Windows) または CSnnnn.so (UNIX) を、PATH (Windows) または $LD_LIBRARY_PATH (UNIX) で指定されているディレクトリにコピーします。