メッセージレベル (インライン)でコードの値を定義する

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  データソースとターゲット > MapForce と EDI > 構成ファイルを使用して EDI 検証をカスタマイズする >

メッセージレベル (インライン)でコードの値を定義する

前のトピックの 外部ソースからコードの値を適用する では、(特定のフィールドを使用しているメッセージに適用する)カスタムのコードリストをグローバルに使用してフィールド検証を構成する方法について説明がされました。 特定のメッセージのみに検証を適用する必要がある場合は、 (特定のメッセージのためにローカルに適用し)カスタムのコードリストをインラインに追加することが可能です。以下の手順に従ってください:

 

1.XML エディター内で必要なメッセージに対応する、 {Message}.config ファイルを開きます。{Message}.config ファイルは、C:\Program Files\Altova\MapForce2019\MapForceEDI\ ディレクトリ内の必要とされる EDI 種類の名前に対応するサブディレクトリ内で検索することができます。
2.必要とされる <Segment> の下から <Data> 要素を検索し、カスタムの コードの値を <Values> の子として追加します 例:

<Group name="Message_270-B1" info="Health Care Eligibility Benefit Inquiry" maxOccurs="unbounded">
    <Segment name="ST" info="Transaction Set Header">
      <Condition path="F1705" value="005010X279A1" />
      <Data ref="F143" info="Transaction Set Identifier Code">
        <Values>
          <Value Code="270" />

 

[>>>> custom values can be added here...]

 
        </Values>
      </Data>
      <Data ref="F329" info="Transaction Set Control Number" />
      <Data ref="F1705" info="Implementation Convention Reference" />
    </Segment>

 

以下の点に留意してください:

 

コンテンツを変更するには、 C:\Program Files\Altova\MapForce2019\MapForceEDI ディレクトリに書き込む権限が必要です。
フィールドが(上のコードリスティング内で説明されているような)ローカルで定義された、および、(外部ソースからコードの値を適用する で表示されている .codelist ファイルのような) グローバルで定義されたコードの値 の両方を有する場合、 ローカルのコードの値がグローバルなコードの値としても定義されていることを確認してください。 これ以外の場合、 検証エラー*** が挙げられます: {Value} is not a legal value for field {Field}
インラインの (local) 検証は、フィールドレベル(すなわち、そのフィールドでの可能な値がリストとして表示されることができるレベル)で検証が必要な場合使用することができます。インラインの検証は、文字レベルで複雑な検証を必要とするフィールドのためには使用することができません。( UN/EDIFACT 標準のデータ要素 8155 に適用することのできる ISO 6346 内で定義されているような)フィールドが複雑な検証ルールを文字レベルで必要とする場合、外部ソースからコードの値を適用するで示されるとおり、コードの値をグローバルに追加し、 検証を文字レベルの検証の構成で示されるとおり構成します。

 

*** 実際の検証の結果は EDI 検証設定 ダイアログボックス内のルール「無効なコード リストの値」のために構成された設定を考慮することに注意してください (このダイアログボックスを開くには、 EDI コンポーネント設定 ダイアログボックスの「検証」ボタンをクリックしてください)。


(C) 2019 Altova GmbH