269.6. IDoc のメッセージ本文
IDoc メッセージタイプ リンクのコピーリンクがクリップボードにコピーされました!
IDoc Camel SAP エンドポイントの 1 つを使用する場合、メッセージ本文のタイプは、使用している特定のエンドポイントによって異なります。
				sap-idoc-destination エンドポイントまたは sap-qidoc-destination エンドポイントの場合、メッセージ本文は Document タイプです。
			
org.fusesource.camel.component.sap.model.idoc.Document
org.fusesource.camel.component.sap.model.idoc.Document
				sap-idoclist-destination エンドポイント、sap-qidoclist-destination エンドポイント、または sap-idoclist-server エンドポイントの場合、メッセージボディーは DocumentList タイプです。
			
org.fusesource.camel.component.sap.model.idoc.DocumentList
org.fusesource.camel.component.sap.model.idoc.DocumentList
IDoc 文書モデル リンクのコピーリンクがクリップボードにコピーされました!
Camel SAP コンポーネントの場合、IDoc ドキュメントは、基礎となる SAP IDoc API のラッパー API を提供する Eclipse Modeling Framework (EMF) を使用してモデル化されます。このモデルで最も重要なタイプは次のとおりです。
org.fusesource.camel.component.sap.model.idoc.Document org.fusesource.camel.component.sap.model.idoc.Segment
org.fusesource.camel.component.sap.model.idoc.Document
org.fusesource.camel.component.sap.model.idoc.Segment
				Document タイプは、IDoc ドキュメントインスタンスを表します。概説すると、Document インターフェイスは次のメソッドを公開します。
			
				次の種類のメソッドが Document インターフェイスによって公開されます。
			
- 制御レコードにアクセスする方法
 - ほとんどのメソッドは、IDoc 制御レコードのフィールド値にアクセスまたは変更するためのものです。これらのメソッドは、AttributeName、AttributeName の形式です。ここで、AttributeName はフィールド値の名前です (を参照してください)。表269.2「IDoc ドキュメントの属性」)。
 - ドキュメントコンテンツへのアクセス方法
 getRootSegmentメソッドは、ドキュメントコンテンツ (IDoc データレコード) へのアクセスを提供し、コンテンツをSegmentオブジェクトとして返します。各Segmentオブジェクトには任意の数の子セグメントを含めることができ、セグメントは任意の程度にネストできます。ただし、セグメント階層の正確なレイアウトは、文書の特定の IDoc タイプ によって定義されることに注意してください。したがって、セグメント階層を作成 (または読み取り) するときは、IDoc タイプによって定義された正確な構造に従う必要があります。
				Segment タイプは、IDoc ドキュメントのデータレコードにアクセスするために使用されます。セグメントは、ドキュメントの IDoc タイプによって定義された構造に従って配置されます。概説すると、Segment インターフェイスは次のメソッドを公開します。
			
				getChildren (String segmentType) メソッドは、新しい (ネストされた) 子をセグメントに追加する場合に特に便利です。次のように定義されているタイプ SegmentList のオブジェクトを返します。
			
				したがって、E1SCU_CRE タイプのデータレコードを作成するには、次のような Java コードを使用できます。
			
Segment rootSegment = document.getRootSegment();
Segment E1SCU_CRE_Segment = rootSegment.getChildren("E1SCU_CRE").add();
Segment rootSegment = document.getRootSegment();
Segment E1SCU_CRE_Segment = rootSegment.getChildren("E1SCU_CRE").add();
Document インスタンスの作成例 リンクのコピーリンクがクリップボードにコピーされました!
				例えば、例269.1「Java での IDoc ドキュメントの作成」 Java で IDoc モデル API を使用して、IDoc タイプ FLCUSTOMER_CREATEFROMDATA01 で IDoc ドキュメントを作成する方法を示します。
			
例269.1 Java での IDoc ドキュメントの作成
ドキュメント属性 リンクのコピーリンクがクリップボードにコピーされました!
				表269.2「IDoc ドキュメントの属性」 Document オブジェクトに設定できる制御レコード属性を示します。
			
| 属性 | 長さ | SAP フィールド | 説明 | 
|---|---|---|---|
|   
								  |   70  |   
								  |   EDI アーカイブキー  | 
|   
								  |   3  |   
								  |   クライアント  | 
|   
								  |   8  |   
								  |   IDoc が作成された日付  | 
|   
								  |   6  |   
								  |   IDoc が作成された時間  | 
|   
								  |   1  |   
								  |   方向  | 
|   
								  |   14  |   
								  |   メッセージ参照  | 
|   
								  |   14  |   
								  |   メッセージグループへの参照  | 
|   
								  |   6  |   
								  |   EDI メッセージタイプ  | 
|   
								  |   1  |   
								  |   EDI 規格  | 
|   
								  |   6  |   
								  |   EDI 規格のバージョン  | 
|   
								  |   14  |   
								  |   エクスチェンジファイルへの参照  | 
|   
								  |   8  |   
								  |   IDoc タイプ  | 
|   
								  |   16  |   
								  |   IDoc 番号  | 
|   
								  |   4  |   
								  |   IDoc の SAP リリース  | 
|   
								  |   30  |   
								  |   基本 IDoc タイプの名前  | 
|   
								  |   30  |   
								  |   拡張タイプの名前  | 
|   
								  |   3  |   
								  |   論理メッセージコード  | 
|   
								  |   3  |   
								  |   論理メッセージ機能  | 
|   
								  |   30  |   
								  |   論理メッセージタイプ  | 
|   
								  |   1  |   
								  |   出力モード  | 
|   
								  |   10  |   
								  |   受信者アドレス (SADR)  | 
|   
								  |   70  |   
								  |   受信者の論理アドレス  | 
|   
								  |   2  |   
								  |   受信者のパートナー機能  | 
|   
								  |   10  |   
								  |   受信機のパートナー番号  | 
|   
								  |   2  |   
								  |   受信者のパートナータイプ  | 
|   
								  |   10  |   
								  |   受信側ポート (SAP システム、EDI サブシステム)  | 
|   
								  |   
								  |   送信者アドレス (SADR)  | |
|   
								  |   70  |   
								  |   送信者の論理アドレス  | 
|   
								  |   2  |   
								  |   差出人のパートナー機能  | 
|   
								  |   10  |   
								  |   送信者のパートナー番号  | 
|   
								  |   2  |   
								  |   送信者のパートナータイプ  | 
|   
								  |   10  |   
								  |   送信側ポート (SAP システム、EDI サブシステム)  | 
|   
								  |   20  |   
								  |   EDI/ALE: シリアル化フィールド  | 
|   
								  |   2  |   
								  |   IDoc のステータス  | 
|   
								  |   1  |   
								  |   テストフラグ  | 
Java でドキュメント属性を設定する リンクのコピーリンクがクリップボードにコピーされました!
				Java で制御レコード属性を設定する場合 (から表269.2「IDoc ドキュメントの属性」)、Java Bean プロパティーの通常の規則に従います。つまり、属性値を取得および設定するために、getName および setName メソッドを介して name 属性にアクセスできます。たとえば、iDocType、iDocTypeExtension、および messageType 属性は、Document オブジェクトで次のように設定できます。
			
// Java
document.setIDocType("FLCUSTOMER_CREATEFROMDATA01");
document.setIDocTypeExtension("");
document.setMessageType("FLCUSTOMER_CREATEFROMDATA");
// Java
document.setIDocType("FLCUSTOMER_CREATEFROMDATA01");
document.setIDocTypeExtension("");
document.setMessageType("FLCUSTOMER_CREATEFROMDATA");
XML でドキュメント属性を設定する リンクのコピーリンクがクリップボードにコピーされました!
				XML で制御レコード属性を設定する場合、idoc:Document 要素に属性を設定する必要があります。たとえば、iDocType、iDocTypeExtension および messageType 属性は次のように設定できます。