#FORMATマッピング・タイプのコンポーネント

#FORMATタイプ・マッピングは、次のコンポーネントで構成されます:

表24. #FORMATマッピング・タイプのコンポーネント

コンポーネント説明
#FORMAT FORMATマッピング・タイプがターゲット・メンバーに指定されたことを示します。
<format mask>ユーザー定義のフォーマット・マスク。フォーマットの定義には次の文字が使用されます:
  • ? - ソース・メンバーまたはメンバー内のセグメントで特定位置にある1文字を含みます。

  • # - ターゲット・メンバーを作成するときにソースの1文字をスキップ(削除)します。#記号と?記号は、いずれか一方を使用できます。

  • 文字 - ユーザー定義の文字をターゲットに"そのまま"含めます。接頭辞、接尾辞、固定文字列または必要な文字のために使用されます。これは、特別なフォーマット・マスク文字と組み合せて使用できます。

  • * - ソース・セグメントまたはソースのすべての文字を含めます。セグメントの唯一のフォーマット・マスク文字として"*"を使用すると、セグメント全体の値がソースからコピーされます。

    "#"または"?"記号と組み合せて"*"を使用すると、残りの未使用の文字すべてが引き継がれます。

    "*"は、ワイルドカード文字で、"?"または"#"で指定されていない残りの文字を採用します。たとえば、ソースがabcdの場合に*を使用すると、ターゲットはabcdになります。ターゲットが?#*の場合、結果はacdになります。

    FDMEEがセグメントで"*"を検出すると、フォーマットに指定された"文字"を除き、"*"の後の指定は無視されます。

<segment delimiter>オプションのセグメント区切り記号は、ソース・メンバーとターゲット・メンバーのセグメントを区切るために使用される文字を定義します。このルール・タイプではソースとターゲットの区切り記号を同じにする必要があります。セグメント・デリミタが指定されていない場合、フォーマット・マスクはセグメント指定またはデリミタに依存せずにメンバー全体に適用されます。

#FORMATマッピングの例

次に、#FORMATのすべてのオプションを使用する例を示します:

表25. #FORMATマッピングの例

ソースターゲット結果
12345-6789-012-3456ABC-001#FORMAT(“???-*-GROUP-AA##?#*X-GROUP”,”-“)

説明: 最初のセグメントの最初の3文字を採用し、2番目のセグメント全体を採用し、3番目のセグメントをテキスト「GROUP」で置換し、4番目のセグメントに接頭辞としてAAを付けて、3番目と4番目の文字を削除し、5番目の文字は保持し、6番目の文字を削除し、ABCは保持して接頭辞「X」を付けて、5番目のセグメントをテキスト「GROUP」で置換します。

123-6789-GROUP-AA5ABCX-GROUP