このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

MapForce により、デフォルトで提供された EDI 構成ファイル内では、データ要素の一部は、フィールドの検証の弛緩で説明されているように不完全な検証が存在するように構成されています。これは、これらのデータ要素の可能なコード値は、 EDI 標準自身の外部である仕様に依存するからです。

 

不完全な (または、 弛緩されている) フィールドの検証が受け入れられない、または希望されない場合、MapForce を構成してフィールド全体を検証することができます。このアプローチは、 MapForce 内で使用できるデフォルトのものに加え、カスタムの .codelist カスタムに対しても使用することができます。.codelist ファイルの役割は、 デフォルトで EDI 標準内で定義されていないために MapForce 構成ファイルに存在しないコードに値を与えます。これは、外部の標準、または勧告内で定義されているコードの値に通常適用されます。

 

カスタムの .codelist ファイルは、検証される使用できるコードの値のためにエントリを必要とします (場合によっては数百個のエントリになる場合があります)。 UN/EDIFACT D16A のデータ要素 4405 は1つの例です。UN/EDIFACT 標準で定義されているコードの値に追加して、このフィールドは、UN/ECE 勧告 24 (「貿易および運送のステータスコード」 内で指定されているコードの値も許可します。346 個のコードを持つ次を参照してください: http://www.unece.org/fileadmin/DAM/cefact/recommendations/rec24/rec24_ecetrd258e.pdf) 。勧告内の 346 個のそれぞれのコードのためのエントリを含む外部のコードの値すべてに対応するため、カスタムの .codelist ファイルを作成する必要があります。ですから、特定のビジネスのケースで不完全な検証の使用が許可されている場合、不完全な検証は簡単な解決方法です (次を参照してください: フィールド検証の弛緩)。不完全な検証は、マッピングの出力内で無効なデータが生成されることを許可する可能性があるため、代わりにフィールド全体の検証が奨励されます。

 

フィールド全体を検証するには、外部の標準内で定義されているコード値で定義されているコードの値を使用します。次の手順を追ってください:

 

1.MapForce により与えられるデフォルトの .codelist ファイルのコピーを作成します。.codelist ファイルは、 C:\Program Files\Altova\MapForce2020\MapForceEDI\ ディレクトリ内で、各 EDI 種類のために使用することができます。例えば、 カスタムの .codelist ファイルを UN/EDIFACT メッセージを検証するために追加すると、C:\Program Files\Altova\MapForce2020\MapForceEDI\EDIFACT\ 内の UNCL.Codelist ファイルをテンプレートとして使用します。

 

メモ:コンテンツを変更するには、 C:\Program Files\Altova\MapForce2020\MapForceEDI ディレクトリへ書き込む権限が必要です。

 

2.ファイルは、他の MapForce 構成ファイルから参照されるため、新規に作成された .codelist ファイルの名前を短くかつ分かりやすいファイル名に変更します。このサンプルのスコープのために、 カスタムの .codelist ファイルには、UNECE24.codelist という名前が与えられます。

3.XMLSpy などの XML エディターを使用して、<Codelist></Codelist> タグ間に含まれる全てのコンテンツを新規のファイルから削除します。ファイルは以下のようになります:

<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">  
  <Codelist>
     

...

 
  </Codelist>
</Config>

4.<Codelist> の下の新規の <Field> 構成は下に示されています。このサンプルでは、 UN/EDIFACT. のデータ要素 4405 ために外部のコードの値を追加します。これ以外の場合、フィールドの属性を特定のケースで必要とされるとおり置き換えます。MapForce により提供されるデフォルトの .codelist ファイル 内の各フィールドの名前、長さ、型を確認することができることに注意してください。(このサンプルでは、UNCL.Codelist です)。

<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">  
  <Codelist>      
    <Field Name="F4405" Length="3" Type="Alphanumeric">
        <Title>Trade and transport status codes</Title>
        <Description>Code specifying a status.</Description>        
        <Values>
           

...

 
        <Values>
    </Field>
  </Codelist>
</Config>

5.<Values> の下に、各外部のコードのために新規の <Value> を以下のように追加します。このサンプルでは、UN/ECE 勧告 24 「貿易および運送のステータスコード」内で定義されている最初の 2 つのコードを追加します( 次を参照してください: http://www.unece.org/fileadmin/DAM/cefact/recommendations/rec24/rec24_ecetrd258e.pdf)。

<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">  
  <Codelist>      
    <Field Name="F4405" Length="3" Type="Alphanumeric">
        <Title>Trade and transport status codes</Title>
        <Description>Code specifying a status.</Description>        
        <Values>
          <Value Code="1">
              <Title>Arrival, completed</Title>
              <Description>The goods/consignment/equipment/means of transport has arrived.</Description>
          </Value>
          <Value Code="2">
              <Title>Loading, authorized</Title>
              <Description>Authorization to load has been given.</Description>
          </Value>
        <Values>
    </Field>
  </Codelist>
</Config>

この段階では、カスタムの .codelist ファイルの準備はできていますが、 MapForce にバウンドされてはいません。 このサンプルのスコープのために、2 つの外部コード (「1」 と 「2」)のみが追加されていますが、実社会のシナリオでは、 カスタムの .codelist ファイルは、外部の標準により指定される全てのコードの値を含むよう期待されます。

 

最後に、 カスタムの .codelist ファイルが MapForce により認識される前に、以下を行う必要があります:

 

1.データ要素 4405 には不完全な検証がもう存在しないため、 MapForce はフルの検証を適用するように命令されなければなりません。具体的には、 Incomplete="1" 属性は、 UNCL.codelist ファイル内で、このフィールドのために変更される必要があります (属性が削除されるか、または Incomplete="0"に設定されなければなりません)。 このため、UNCL.codelist ファイルを下記の通り変更します。

...

 

<Field Name="F4405" Length="3" Type="Alphanumeric" Incomplete="0">
        <Title>Status description code</Title>
        <Description>Code specifying a status.</Description>
        <Note>1 For transport status, use UN/ECE Recommendation 24.</Note>

 

...

2.UNCL.codelist ファイルを変更して、新規に作成された UNECE24.codelist ファイルにレファレンスを追加する方法は、は以下のとおりです:

<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">
  <Include href="UNECE24.codelist"/>
  <Codelist>

 

....

 

カスタムファイル内で定義されたコードの値からのフィールド 4405 を検証するための、 MapForce 構成ファイルの適用が完了しました。このアプローチは、外部の標準をベースにしたフィールド全体の検証を達成するために、他の EDI 種類のために使用することもできます。

 

外部コードリストを MapForce により提供される既存の .codelist ファイル を編集して定義することもできますが、 (このサンプルでは、UNCL.codelist です )、これは奨励されません。 外部コードリスト in カスタムファイル内の外部コードリストを定義して、デフォルトの MapForce 構成ファイルへの変更を最低限にとどめておくことが奨励されます。これは、将来 EDI フォーマット の新しいバージョンを移行する際に簡単に作業を行うためです。

 

上記の命令は、フィールド 4405 を使用する可能性のあるセグメントのために、フィールド検証をグローバルにします。一部のケースでは、 特定のメッセージのみにカスタムのコードリストを適用する場合があります (すなわち、 構成は、全てのメッセージのためにグローバルに適用されてはならず、特定のメッセージのためのみにインライン、またはローカルに適用されます)。 に関する詳細は、「インライン」 アプローチの使用に関しては、次を参照してください: メッセージレベル (インライン)でコードの値を定義する

(C) 2019 Altova GmbH