idRef
# mulesoft Tradacoms Edi Connector - Full Documentation # TRADACOMS EDI Connector TRADACOMS EDI Connector v2.0 TRADACOMS EDI Connector は、リストとマップを使用して TRADACOMS トランスミッションと DataWeave 互換表現との間で相互に変換を行います。 サポートされる TRADACOMS ファイルとバージョンは、ACKMNT:4、AVLDET:4、CORDER:6、CRAINF:3、CREDIT:9、CUSINF:8、DELIVR:9、DLCDET:5、DRAINF:3、EXCINF:3、GENRAL:3、INVOIC:9、LPRDET:2、ORDERS:9、PAYINF:3、PICKER:4、PPRDET:2、PRIINF:8、PROINF:8、SADDET:3、SNPSTS:3、SRMINF:9、UCNDET:3、UPLIFT:4、UTLBIL:3 です。 ## [](#始める前に)始める前に このドキュメントでは、読者が TRADACOMS、Mule、Anypoint Connector、Anypoint Studio、Mule フロー、そして Mule グローバル要素に精通していることを前提としています。 互換性の詳細は、リリースノートを参照してください。リリースノートへのリンクは、このドキュメントの「関連情報」セクションに含まれます。 TRADACOMS EDI Connector を本番環境で使用するには、Anypoint B2B 用の MuleSoft ライセンスを購入しておく必要があります。 ## [](#このコネクタの新機能)このコネクタの新機能 TRADACOMS EDI Connector 2.x では、TRADACOMS EDI Connector 1.x で実装されていた設定と処理にいくつかの変更が加えられています。 - TRADACOMS EDI Connector 1.x では、標準の単一バージョンに準拠したメッセージのみをサポートします。Mule 4 TRADACOMS EDI Connector 2.x は、標準の複数バージョンのメッセージをサポートします。メッセージヘッダー (UNH セグメント) データ内のバージョン情報を使用して標準バージョンを識別し、メッセージ識別子により特定のスキーマが決まります。 - 読み取りおよび書き込み操作で ID パラメーターが使用されなくなりました。書き込み操作に渡す実際のメッセージデータ内ですべてのパラメーター値を設定できます。 - TRADACOMS EDI Connector 2.x では、「デフォルト」のスキーマ設定のサポートが追加されています。設定でスキーマが参照されていない場合、メッセージごとに標準バージョンのスキーマがクラスパスから検索され、読み取りと書き込みで使用されます。この場合、デザインの段階では実際のメッセージは未知となるため、メッセージのデータ構造のメタデータはありません。 ## [](#anypoint-studio-7-でこのコネクタをインストールする方法)Anypoint Studio 7 でこのコネクタをインストールする方法 1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。 2. Anypoint Exchange で \[Login (ログイン)\] をクリックします。 3. コネクタを検索して \[Install (インストール)\] をクリックします。 4. 画面の指示に従ってコネクタをインストールします。 Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。 TRADACOMS EDI Connector 2.0.0 を使用するようにデフォルトの Anypoint 設定を変更する必要があります。 ## [](#スキーマの作成方法)スキーマの作成方法 実装規定が標準とは異なる場合、スキーマを作成し、実装に従ってメッセージを記述することができます。定義されているすべての TRADACOM ファイル用のスキーマの標準バージョンは、ディストリビューションに含まれています。 ### [](#edi-スキーマ言語について)EDI スキーマ言語について TRADACOMS EDI Module は、ESL (EDI Schema Language) と呼ばれる YAML 形式を使用して EDI スキーマを表現します。ESL は、構造 (TRADACOMS の用語ではメッセージ)、グループ、セグメント、複合、および要素について EDI メッセージの構造を定義しています。 TRADACOMS に関する ESL 特有の使い方には、特に TRADACOMS における「ファイル」と「メッセージ」の概念に関して他の EDI 形式とは相違点がいくつかあります。TRADACOMS が定義する各ファイル形式は、特定の用途向けのデータを表現しています。ファイル形式は、いくつかのメッセージコンポーネントに分割され、特定のメッセージコンポーネント 1 つは反復できます。各メッセージコンポーネントはさらにいくつかのセグメントとセグメントグループに分割され、それらの一部も反復できます。 ESL では、各 TRADACOMS ファイル形式は、特定のスキーマ定義で表現されます。用意されている ESL スキーマは、ファイルの汎用名を使用します。この汎用名は、反復する詳細メッセージの名前と同じです。したがって、たとえば、Prince Information File 構造は PRIINF.esl スキーマで定義されます。ファイルスキーマ内では、各コンポーネントメッセージ種別が構造として定義されます。ファイル内でのコンポーネントメッセージの順序は、1 桁の文字列である `class` 値によって決定されます。値 `'1'` はヘッダーメッセージ、値 `'2'` は反復詳細メッセージ、それ以上のすべての値は、ファイル内の後続メッセージを表します。 オーバーレイスキーマを定義することで、TRADACOMS スキーマ定義をデータに合わせてカスタマイズできます。オーバーレイスキーマとは特殊な形式の ESL であり、TRADACOMS INVOIC などのベーススキーマを、独自の規則に従って変更することができます。標準で定義されている構造を使用する場合は、オーバーレイスキーマは必要ありません。 また、独自のスキーマをゼロから定義したり、TRADACOMS のベーススキーマをコピーして、データに合わせて編集したりすることもできます。
|
YAML では、リストとキー-値ペアのセットの組み合わせが使用されます。必須項目が存在する場合、値の順序は重要ではありません。数字で構成される可能性があっても文字列として解釈するように意図される値は、引用符 (単一引用符または二重引用符) で囲みます (そうしないと、YAML パーサーは値を数値として処理するため)。インデントを使用して、リストのネストを示します。 読みやすくすることを目的として、ここで示している ESL 構造では、同じ定義の一部であるリストの前に、すべての簡単なキー-値ペアを定義しています。 |
| Key (キー) | 説明 |
|---|---|
idRef |
変更するメッセージの ID。 |
クラス |
ファイル内のメッセージの位置 (省略可能)。 |
name (名前) |
メッセージの名前とバージョン (省略可能)。 |
データ |
構造内でのセグメントとグループへの変更のリスト (省略可能。それぞれ該当セクションに変更がある場合にのみ使用されます)。 |
| Key (キー) | 説明 |
|---|---|
idRef |
参照されるセグメント ID。これは省略可能で、指定された場合は検証されますが、それ以外の場合は無視されます。position (位置) の値を使用して、セクション内のセグメントを一意に識別します。 |
position (位置) |
メッセージセクション内のセグメントの位置。 |
usage (使用方法) |
用途コード。M は必須、C は条件的、U は未使用。 |
count (数) |
最大反復数の値。数値、または任意の反復数を意味する特別な値「 |
| Key (キー) | 説明 |
|---|---|
groupIdRef |
参照されるグループ ID。このキーは省略可能で、指定された場合は検証されますが、それ以外の場合は無視されます。position (位置) の値を使用して、セクション内のグループを一意に識別します。 |
position (位置) |
メッセージセクション内のセグメントの位置。 |
usage (使用方法) |
用途コード。M は必須、C は条件的、U は未使用。 |
count (数) |
最大反復数の値。数値、または任意の反復数を意味する特別な値「 |
items (項目) |
グループを構成するセグメント (およびネストされている可能性のあるグループ) のリスト。 |
| Key (キー) | 説明 |
|---|---|
idRef |
セグメント識別子。 |
trim (切り取り) |
セグメント内の切り取り位置。つまり、この位置以降のすべての値は未使用としてマークされます (省略可能)。 |
values |
個々の値の変更のリスト。 |
| Key (キー) | 説明 |
|---|---|
position (位置) |
セグメント内の値の位置。 |
name (名前) |
セグメント内の値の名前 (省略可能。指定しない場合はベース定義の値を使用)。 |
usage (使用方法) |
用途コード。M は必須、C は条件的、U は未使用。 |
| XML 値 | Visual Studio オプション |
|---|---|
schemas=値のリスト |
コネクタで使用するスキーマのパスのリスト。ファイルシステムまたはクラスパスのどちらかのパスを使用できます。 |
partnerCode |
パートナーを識別するためのコード。この値を指定すると、受信したトランスミッションの Transmission Sender Code (トランスミッション送信者コード) の検証と、送信するトランスミッションの Transmission Recipient Code (トランスミッション受信者コード) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Sender Code (トランスミッション送信者コード) は検証されません。 |
partnerName=パートナーを識別するための名前。この値を指定すると、受信したトランスミッションの Transmission Sender Name (トランスミッション送信者名) の検証と、送信するトランスミッションの Transmission Recipient Name (トランスミッション受信者名) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Sender Name (トランスミッション送信者名) は検証されません。 |
selfCode |
Mule アプリケーションを識別するためのコード。この値を指定すると、受信したトランスミッションの Transmission Recipient Code (トランスミッション受信者コード) の検証と、送信するトランスミッションの Transmission Sender Code (トランスミッション送信者コード) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Recipient Code (トランスミッション受信者コード) は検証されません。 |
selfName |
| XML 値 | Visual Studio オプション |
|---|---|
enforceLengthLimits="true" |
受信値の最小長と最大長を適用します。 |
allowUnknownSegments="false" |
メッセージ内の不明なセグメントを許可します。 |
allowUnusedSegments="false" |
メッセージ内で「未使用」としてマークされたセグメントを許可します。 |
enforceSegmentOrder="true" |
メッセージ内のセグメント順序を適用します。 |
| XML 値 | Visual Studio オプション |
|---|---|
sendSenderReference |
トランスミッションを作成する際に使用される Default Sender’s Transmission Reference (デフォルトの送信者のトランスミッション参照)。 |
sendRecipientReference |
トランスミッションを作成する際に使用される Default Sender’s Transmission Reference (デフォルトの送信者のトランスミッション参照)。 |
sendApplicationReference |
トランスミッションを作成する際に使用される Default Application Reference (デフォルトのアプリケーション参照)。 |
sendPriorityCode |
トランスミッションを作成する際に使用される Default Transmission Priority Code (デフォルトトランスミッション優先度コード)。 |
| キー名 | 説明 |
|---|---|
{File} |
メッセージデータのラッパーと、コンポーネントメッセージ名と一致し、これらのメッセージのデータにリンクするキー。ファイルの反復詳細メッセージ (常にクラス「2」) の値はマップのリストとなり、ファイルの単一メッセージについて、値はマップとなります。 |
Errors (参照のみ) |
入力メッセージに関連付けられたエラーのリスト。(下記「TRADACOMS EDI メッセージの読み込みと検証の方法」セクションの TradacomsError 構造の説明を参照してください。) |
Id |
ファイル (読み込んだ TRADACOMS ファイルの名前)。 |
STX |
ファイルの先頭からの STX セグメントデータのマップ。 |
| プロパティ | 説明 |
|---|---|
segment |
エラーの原因となったセグメントの入力内の開始値 0 のインデックス。 |
fatal |
致命的なエラーのフラグ。ファイルデータは返されません。 |
errorText |
エラーの説明。 |
| 名前 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Name (名前) |
String (文字列) |
この設定の名前。コネクタはこの名前の設定を参照します。 |
x |
|
Expiration Policy (有効期限ポリシー) |
ExpirationPolicy |
動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。ランタイムによって適切と判断されたときに、インスタンスが実際にパージされます。 |
||
Schema definitions (スキーマ定義) |
Array of String (文字列の配列) |
モジュールで使用するスキーマのパスのリスト。ファイルシステムまたはクラスパスのどちらかのパスを使用できます。 |
||
Partner Code (パートナーコード) |
String (文字列) |
パートナーを識別するためのコード。この値を指定すると、受信したトランスミッションの Transmission Sender Code (トランスミッション送信者コード) の検証と、送信するトランスミッションの Transmission Recipient Code (トランスミッション受信者コード) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Sender Code (トランスミッション送信者コード) は検証されません。 |
||
Partner Name (パートナー名) |
String (文字列) |
パートナーを識別するための名前。この値を指定すると、受信したトランスミッションの Transmission Sender Name (トランスミッション送信者名) の検証と、送信するトランスミッションの Transmission Recipient Name (トランスミッション受信者名) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Sender Name (トランスミッション送信者名) は検証されません。 |
||
Mule Code (Mule コード) |
String (文字列) |
Mule アプリケーションを識別するためのコード。この値を指定すると、受信したトランスミッションの Transmission Recipient Code (トランスミッション受信者コード) の検証と、送信するトランスミッションの Transmission Sender Code (トランスミッション送信者コード) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Recipient Code (トランスミッション受信者コード) は検証されません。 |
||
Mule Name (Mule 名) |
String (文字列) |
自身を識別するための名前。この値を指定すると、受信したトランスミッションの Transmission Recipient Name (トランスミッション受信者名) の検証と、送信するトランスミッションの Transmission Sender Name (トランスミッション送信者名) の設定に使用されます (マップデータで指定されていない場合のみ)。指定しないと、受信したトランスミッションの Transmission Recipient Name (トランスミッション受信者名) は検証されません。 |
||
Enforce length limits (長さ制限を適用) |
Boolean (ブール) |
受信値の最小長と最大長を適用します。true の場合、長すぎる、または短すぎる値を持つトランスミッションは拒否されます。false の場合、値の長さに関係なくトランスミッションは受け入れられます。どちらの場合もエラーがログに記録され、エラーリストに含まれます。 |
true |
|
Allow unknown segments (不明なセグメントを許可) |
Boolean (ブール) |
メッセージ内の不明なセグメントを許可します。false の場合、未知のセグメントを含むトランスミッションは拒否されます。true の場合、未知のセグメントは無視され、トランスミッションが受け入れられます。どちらの場合もエラーがログに記録され、エラーリストに含まれます。 |
false |
|
Allow unused segments (未使用のセグメントを許可) |
Boolean (ブール) |
メッセージ内で「未使用」としてマークされたセグメントを許可します。false の場合、スキーマで「未使用」としてマークされたセグメントを含むメッセージは拒否されます。true の場合、メッセージは拒否されず、未使用のセグメントは無視されます。いずれの場合も、エラーが CONTRL 機能肯定応答で報告されます。 |
true |
|
Enforce segment order (セグメント順序を適用) |
Boolean (ブール) |
メッセージ内のセグメント順序を適用します。true の場合、セグメントの順序が不適切なメッセージは拒否されます。false の場合、かつ、セグメントを並び替えることができる場合、メッセージは拒否されません。いずれの場合も、エラーが CONTRL 機能肯定応答で報告されます。 |
true |
|
Transmission Reference (トランスミッション参照) |
String (文字列) |
トランスミッションを作成する際に使用される Default Sender’s Transmission Reference (デフォルトの送信者のトランスミッション参照)。指定した場合、送信トランスミッション用のマップデータ (Write 操作) で必要な Sender’s Transmission Reference (送信者のトランスミッション参照) 値が指定されていない場合に、この値がデフォルトとして使用されます。 |
||
Recipient Reference (受信者参照) |
String (文字列) |
トランスミッションを作成する際に使用される Default Recipient’s Transmission Reference (デフォルト受信者のトランスミッション参照)。指定した場合、送信トランスミッション用のマップデータ (Write 操作) で省略可能な Recipient’s Transmission Reference (受信者のトランスミッション参照) 値が指定されていない場合に、この値がデフォルトとして使用されます。 |
||
Application Reference (アプリケーション参照) |
String (文字列) |
トランスミッションを作成する際に使用される Default Application Reference (デフォルトのアプリケーション参照)。指定した場合、送信トランスミッション用のマップデータ (Write 操作) で省略可能な Application Reference (アプリケーション参照) 値が指定されていない場合に、この値がデフォルトとして使用されます。 |
||
Priority Code (優先度コード) |
String (文字列) |
トランスミッションを作成する際に使用される Default Transmission Priority Code (デフォルトトランスミッション優先度コード)。指定した場合、送信トランスミッション用のマップデータ (Write 操作) で省略可能な Transmission Priority Code (トランスミッション優先度コード) 値が指定されていない場合に、この値がデフォルトとして使用されます。 |
| 名前 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Configuration (設定) |
String (文字列) |
使用する設定の名前。 |
x |
|
Read Content (読み取りコンテンツ) |
Binary (バイナリ) |
|
||
Target Variable (対象変数) |
String (文字列) |
操作の出力が配置される変数の名前。 |
||
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価する式。その式の結果は対象変数に保存されます。 |
|
型 |
Object (オブジェクト) |
| 名前 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Configuration (設定) |
String (文字列) |
使用する設定の名前。 |
x |
|
Write Content (書き込みコンテンツ) |
Object (オブジェクト) |
|
||
Streaming Strategy (ストリーミング戦略) |
|
反復可能ストリームを使用すべきかどうか、およびその動作を設定します。 |
||
Target Variable (対象変数) |
String (文字列) |
操作の出力が配置される変数の名前。 |
||
Target Value (対象値) |
String (文字列) |
操作の出力に対して評価する式。その式の結果は対象変数に保存されます。 |
|
型 |
Binary (バイナリ) |
| 項目 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Max Idle Time (最大アイドル時間) |
Number (数値) |
有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値 |
||
Time Unit (時間単位) |
Enumeration (列挙)。次のいずれかになります。
|
maxIdleTime 属性の時間単位 |
| 項目 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Initial Buffer Size (初期バッファサイズ) |
Number (数値) |
ストリームをコンシュームし、ランダムアクセスを提供するために割り当てられるメモリ量。ストリームのデータ量がこのバッファサイズを超える場合は、bufferSizeIncrement 属性に従って、maxInMemorySize を上限としてバッファが拡張されます。 |
||
Buffer Size Increment (バッファサイズ増分) |
Number (数値) |
バッファサイズが初期サイズを超えた場合に、どれだけ拡張するか。0 以下の値を設定すると、バッファは拡張されません。つまり、バッファがフルになると STREAM_MAXIMUM_SIZE_EXCEEDED エラーが発生します。 |
||
Max Buffer Size (最大バッファサイズ) |
Number (数値) |
使用するメモリの最大量。これを超えると、STREAM_MAXIMUM_SIZE_EXCEEDED エラーが発生します。0 以下の値は無制限を意味します。 |
||
Buffer Unit (バッファ単位) |
Enumeration (列挙)。次のいずれかになります。
|
これらのすべての属性の単位。 |
| 項目 | 型 | 説明 | デフォルト値 | 必須 |
|---|---|---|---|---|
Max In Memory Size (最大メモリ内サイズ) |
Number (数値) |
データをメモリ内に保持するためにストリームで使用する最大メモリを定義します。これを超えると、ディスクへのコンテンツのバッファが開始されます。 |
||
Buffer Unit (バッファ単位) |
Enumeration (列挙)。次のいずれかになります。
|
maxInMemorySize で表される単位 |