MFS ダブルバイト文字セット (DBCS) のサポート

Micro Focus IMS MFS は、静的リテラル内、および入力フィールドと出力フィールド内で、ダブルバイト文字セット (DBCS) 単独でサポートし、ダブルバイト文字とシングルバイト文字の混合データもサポートします。

MFS コード

DBCS データのみを含むリテラルとフィールドごとに、拡張属性 EATTR=EGCS を指定します。

DBCS およびシングルバイト文字の両方を含む混合データが入るリテラルとフィールドごとに、拡張属性 EATTR=MIX を指定します。

次に例を示します。

FLD0001  DFLD  LTH=0008,POS=(02,02),ATTR=(NUM,PROT,MOD),
               EATTR=EGCS
         DFLD  'Double- and Single-byte Literals',X
               POS=(02,12),ATTR=HI,EATTR=MIX
重要: DBCS データを含む MFS ソースを編集する場合:
  • 特に、ASCII Shift-JIS DBCS エンコーディングをサポートするエディターを使用します。UTF-8 編集モードで MFS コードを編集する場合、エディターが Shift-JIS DBCS 文字をすべて ASCII の疑問符 (?)文字 (デフォルトの Unicode 置き換え文字) に自動的に置換する可能性があります。この自動置換によって、MFS ファイルに取り返しのつかない破損が発生する可能性があります。
  • DBCS データを Shift Out/Shift In (SO/SI) 文字で囲まないでください。それらの文字は、MFS 生成の際に必要に応じて挿入されます。

MFS の生成

DBCS データを含む MFS を生成するには、mfims mfsgen を実行する際に CBEGCS 指令を指定します。詳細は、「CBEGCS」を参照してください。

制限事項

Enterprise Developer の MFS DBCS は以下をサポートしません。

  • DBCS または混合データ MFS リテラルの文字列の継続。つまりこれらの文字列は、MFS ファイルの中で複数行にまたがることはできません。
  • データのタイプを指定する拡張属性 (EATTR) の動的変更。これは、シングルバイトのフィールドをダブルバイトのフィールドに変更できない (逆もまた同様) ことを意味します。これは、ダブルバイトまたは混合のフィールドの他の拡張属性には適用されません。それらは通常どおり変更できます。