例: ANSI X12 トランザクションのカスタム化

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

ホーム >  データソースとターゲット > MapForce と EDI > EDI 構造のカスタム化 >

例: ANSI X12 トランザクションのカスタム化

この例は、非標準、または、変更された X12 フォーマットを処理するために、 MapForce のカスタム化について説明しています。このサンプルには、サンプルマッピングが存在し、以下のパスで見つけることができます: <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\Orders-Custom-X12.mfd。このマッピングを次のカスタム化を行う前に開いた場合、 MapForce は、正確に検証できないことに注意してください。この理由は、マッピングが、使用中のマシン上にまだ存在しない カスタム  X12  構成を参照しているからです(この例の中でこの構成は作成されます)。

 

 

Orders-Custom.X12  ファイルからデータを読み取るサンプルのマッピングは、<マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\ ディレクトリ内にあります。このファイルをテキストエディターで開くと、カスタム化された N2  セグメントが使用されていることに気がつきます。具体的には、  6 列目では、「++Mrs 」エントリを含みます:

x12-source1

上記のような カスタム X12  ファイルからデータをマップする前に、 カスタム X12 構成が作成される必要があります。このサンプルでは、 この例では、 個人のタイトルに対応するように  N2  セグメントに新規フィールドを持つように拡張するために、デフォルトの X12 構成をカスタマイズします。参照のために、カスタマイズの最終結果は、 ZIP アーカイブ(X12.Nanonull.zip) として <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\ ディレクトリ内にあります。下の手順は、 ZIP ファイルが C:\Program Files\Altova\MapForce2019\MapForceEDI ディレクトリ ディレクトリに既にアンパック済みであると想定しています。

 

カスタマイズファイルのセットアップ

1.MapForce インストールディレクトリ (C:\Program Files\Altova\MapForce2019\ )を開きます。32-ビット MapForce が 64-ビット オペレーティングシステム上で作動している場合は、 パスを C:\Program Files (x86)\Altova\MapForce2019\MapForceEDI に調整してください。
2...\MapForceEDI\ ディレクトリの下に X12.Nanonull という名前のディレクトリを作成します。
3. ...\MapForceEDI\X12 フォルダーから次のファイルを X12.Nanonullフォルダーにコピーします。

 

EDI.Collection
Envelope.Config
850.Config
X12.Segment
X12.Codelist

 

各ファイルの目的に関する詳細に関しては、次を参照してください EDI 構成ファイル.

 

メモ:        ファイルの属性を編集できるように「読み取り-書き込み」に変更してください。

 

EDI.Collection ファイルの構成

1.EDI.Collection ファイルを、XML エディターで開きます (例えば、 XMLSpy)。
2."Purchase Order"  メッセージ以外のすべての "Message" 要素を削除します。<Messages> タグが保持されていることを確認してください。

 

<?xml version="1.0" encoding="UTF-8"?>
<Messages Version="3">
  <Meta>
    <Release>6040</Release>
    <Agency>X12</Agency>
  </Meta>
  <Root File="Envelope.Config"/>
  <Message Type="850" File="850.Config" Description="Purchase Order"/>
</Messages>

 

3.ファイルを保存します。

 

新規の EDI.Collection ファイル は、 MapForce により使用できるようになっています。以下のようにテストします:

 

1.MapForce を起動します。
2.「挿入」 メニューから、「EDI」 をクリックします。 または、 「EDI の挿入」 ic-edi ツールバーボタンをクリックします。下に表示されているような、新規コレクションの名前  "X12.Nanonull" を表示するダイアログボックスが開かれます。選択されると、コレクションは、次のメッセージの型のみを表示しています: "Purchase Order"。

mf_x12_customize_01

 

メモ:開始する時点で、 MapForce は、 ...\MapforceEDI\ ディレクトリの下の全ての兄弟サブフォルダーをスキャンし、 "EDI.Collection" という名前のファイルを検索します。EDI.Collection ファイルを含む各フォルダー名がダイアログボックス内に表示されます。メッセージの型リストがコレクションファイルのコンテンツを表示します。この例では、 ORDERS メッセージだけが含まれています。

 

 

グローバルとインラインのカスタム化

この例の目的は、 N2 "Additional Name Information" セグメントを再定義し、個人のタイトルを保管する カスタム X1000 データ要素が含まれるようになります (例えば、 "Mrs")。 カスタム化の前に、N2 は、1つのデータ要素"F93 Name" のみを構成しています。カスタマイズを行うには複数の方法があります:

 

X12.Segment ファイルをカスタマイズすることにより、グローバルにカスタマイズを行うことができます。 "グローバル" とは、すべてのセグメントでは、N2 を使用するすべてのトランザクションのすべてのセグメントで、新しい要素を含むまたは参照することを意味します。
850.Config ファイルをカスタマイズすることにより、インラインにカスタマイズを行うことができます。"ローカル" とは、現在の トランザクション内のカスタム化されたセグメント (N2) に新規の 要素が含まれることを意味します。

 

 

グローバルなカスタム化

新規の X1000 フィールド にグローバルにアクセスを作成する場合、 X12.Segment ファイルのみに変更が加えられます。 すべてのセグメントでは、N2 を使用するすべてのトランザクションで、新規の 要素を含む、または、参照します。

 

N2 をグローバルに再定義します:

 

1.X12.Segment ファイルを、XML エディターで開き、 構成 | 要素 | Segment name="N2" に移動します。

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>
</Segment>

2.F93 の下に次を挿入して、ファイルを保存します。

<Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>

セグメント定義は以下のようになります:

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>

  <Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>
</Segment>

メモ:

 

新規の X1000 フィールドは、 ref 属性を使用セグメントの他のフィールドに対して、 name 属性を使用して定義されています。F93 フィールドは、 X12.Segment ファイルの始めで定義されており、1度のみ参照されます。
F93 の mergedEntries 属性は、同じ名前を持つこの要素の2つの連続した発生を指定しています。これは、 ASC X12 仕様内で定義されているようにこのフィールドの定義を示しています。このため、ここでカスタム化されている ソース EDI ファイル内では、 N1 セグメントは以下のようになります:

N2+Michelle Butler++Mrs'

上のラインでは、 "Michelle Butler" と "Mrs" の間の 2つの連続した "+"セパレーターに注意してください。 N2 セグメントは、 カスタム "X1000" データ要素 ("Mrs")が後に続く、 "+" セパレーターが後に続く、2番目の (空の) "F93" 要素が後に続く、"+" セパレーターが後に続く、 "F93" データ要素 ("Michelle Butler") により構成されているからです。   mergedEntries 属性に関する詳細は、次を参照してください 複数の連続したデータ要素の扱い.

 

セグメント N2 を使用する全てのトランザクションで新規の X1000 フィールドを使用することができます。MapForce 内の新しいフィールドを以下のようにプレビューすることができます:

1.「挿入」 メニューから 「EDI」 をクリックしてください。または、 「EDI の挿入」 ic-edi ツールバーボタンをクリックします。
2."X12.Nanonull" コレクションをクリックし、 "Purchase Order" メッセージを選択します。
3.ソース EDI ファイルを選択するようにプロンプトされると、「スキップ」をクリックします。850 コンポーネントが、マッピングウィンドウ内で表示されています。
4.コンポーネントヘッダーをクリックし、 「Ctrl + F」 を押して、"X1000" を検索テキストとして入力します。「次を検索」 をクリックし ( Envelope/Interchange/Group/Message_850/Loop_N1/N2 の下に存在する)新規の X1000 要素の次の発生に移動します。

mf_x12_customize_02

 

ローカルでのカスタム化

新規の X1000 フィールドへローカルにアクセスするには、 850.Config ファイルのみに変更が加えられなければなりません。この場合、"850 - Purchase Order" トランザクション内の セグメント N2 のみが、新規の X1000 フィールドを含む、または、参照します。

 

N2 をローカルで再定義する:

 

1.850.Config ファイルをテキストまたは XML エディター内で開き、 Group name="LoopN1" (または、 LoopN1 を検索します)。

 

<Group name="LoopN1" maxOccurs="10" minOccurs="0">
  <Segment ref="N1"/>
  <Segment ref="N2" minOccurs="0" maxOccurs="2"/>

 
  ... ...

 

</Group>

 

2.ライン<Segment ref="N2" minOccurs="0" maxOccurs="2"/> を次のラインと置き換えます:

 

<Segment name="N2" info="Additional Name Information">
  <Data ref="F93" mergedEntries="2"/>
  <Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>
</Segment>

 

Group 定義は以下のようになります:

 

<Group name="LoopN1" maxOccurs="10" minOccurs="0">
  <Segment ref="N1"/>
  <Segment name="N2" info="Additional Name Information">
    <Data ref="F93" mergedEntries="2"/>
    <Data name="X1000" type="string" maxLength="35" minOccurs="0" info="New Element"/>
  </Segment>

 
  ... ...

 

</Group>

 

グローバルなカスタム化のために説明された命令を使用して、MapForce 内で新規のフィールドをプレビューすることができます。

mf_x12_customize_02

 

マッピング内でカスタム化されたメッセージを使用する

上記の命令に従うと、マッピング内でカスタム X12 構成を使用できます。上記のカスタム EDIFACT 構成を使用するサンプルマッピング Orders-Custom-X12.mfd<マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Tutorial\ フォルダー。は内で見つけることができます。このサンプルは、ORDERS-Custom.X12 ファイルを Order-EDI.xsd スキーマにマップします。ターゲット スキーマ内の Salutation アイテムに上記のステップで追加されたカスタム X1000 フィールドがマップされます。

mf_x12_customize_03

Orders-Custom-X12.mfd

上記の説明に従うと、このマッピングを開き、実行することができます。マッピングの結果をプレビューするには、「出力」 タブをクリックします。期待されているとおり、 Salutation ターゲットアイテムがX12 ファイルのカスタム X1000 データ要素より抽出された値 "Mrs" と共に表示されます。

x12-example2


(C) 2019 Altova GmbH