Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.140.2.4. リポジトリーの設定
概要 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
リポジトリーの設定は、SAP コンポーネントの
repositoryDataStore
プロパティーで維持されます。このマップの各エントリーは、個別のリポジトリーを設定します。各エントリーのキーはリポジトリーの名前で、このキーはこのリポジトリーが割り当てられているサーバー名にも対応します。
各エントリーの値は、メタデータリポジトリーの内容を定義するリポジトリーデータ設定オブジェクト
org.fusesource.camel.component.sap.model.rfc.impl.RepositoryDataImpl
です。リポジトリーデータオブジェクトは、関数テンプレート設定オブジェクト org.fuesource.camel.component.sap.model.rfc.impl.FunctionTemplateImpl
のマップです。このマップの各エントリーは、関数モジュールのインターフェイスを指定し、各エントリーのキーは指定された関数モジュールの名前です。
リポジトリーデータの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のコードは、メタデータリポジトリーを設定する簡単な例を示しています。
関数テンプレートのプロパティー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
関数モジュールのインターフェイスは、データが RFC 呼び出しの function モジュールに転送される 4 つのパラメーター一覧で設定されます。各パラメーター一覧は 1 つ以上のフィールドで設定され、各フィールドは RFC 呼び出しで転送される名前付きパラメーターです。以下のパラメーター一覧および例外リストがサポートされます。
- import パラメーター一覧 には、RFC 呼び出しの関数モジュールに送信されるパラメーター値が含まれます。
- export パラメーター一覧 には、RFC 呼び出しの function モジュールによって返されるパラメーター値が含まれます。
- 変更パラメーター一覧 には、RFC 呼び出しの関数モジュールとの間で送受信されるパラメーター値が含まれます。
- table パラメーター一覧 には、RFC 呼び出しの関数モジュールに送信され、返される内部テーブル値が含まれます。
- 関数モジュールのインターフェイスは、RFC 呼び出しでモジュールが呼び出されたときに発生する可能性がある ABAP 例外の例外 リスト で設定されます。
関数テンプレートは、関数インターフェイスの各パラメーター一覧のパラメーターの名前とタイプ、関数によって出力される ABAP 例外を記述します。関数テンプレートオブジェクトは、以下の表で説明されているように、メタデータオブジェクトの 5 つのプロパティーリストを維持します。
プロパティー | 説明 |
---|---|
importParameterList
|
list フィールドメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMeataDataImpl の一覧。関数モジュールへの RFC 呼び出しで送信されるパラメーターを指定します。
|
changingParameterList
|
list フィールドメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMeataDataImpl の一覧。関数モジュールとの間で RFC 呼び出しで送受信されるパラメーターを指定します。
|
exportParameterList
|
list フィールドメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMeataDataImpl の一覧。関数モジュールから RFC 呼び出しで返されるパラメーターを指定します。
|
tableParameterList
|
list フィールドメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMeataDataImpl の一覧。関数モジュールとの間の RFC 呼び出しで送受信されるテーブルパラメーターを指定します。
|
exceptionList
|
ABAP 例外メタデータオブジェクトの一覧 org.fusesource.camel.component.sap.model.rfc.impl.AbapExceptionImpl 関数モジュールの RFC 呼び出しで発生する可能性のある ABAP 例外を指定します。
|
関数テンプレートの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の例は、関数テンプレートの設定方法の概要を示しています。
フィールドメタデータプロパティーを一覧表示します。 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
list フィールド meta-data object
org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMeataDataImpl
は、パラメーター一覧のフィールドの名前とタイプを指定します。要素的なパラメーターフィールド(CHAR
, DATE
, BCD
, TIME
, ----------|-----, splunk, splunk, splunk, splunk, splunk, splunk, ----------|-----, ----------|-----, ----------|-----, list field meta-data object: 通表は、リストフィールドの meta-data オブジェクトに設定できる設定プロパティーを示しています。BYTE
NUM
FLOAT
INT
INT1
INT2
DECF16
DECF34
STRING
XSTRING
名前 | デフォルト値 | 説明 |
---|---|---|
name
|
- | パラメーターフィールドの名前。 |
type
|
- | フィールドのパラメータータイプ。 |
byteLength
|
- | Unicode 以外のレイアウトのフィールドの長さ(バイト単位)。この値は、パラメーターのタイプによって異なります。「RFC のメッセージボディー」 を参照してください。 |
unicodeByteLength
|
- | Unicode レイアウトのフィールドの長さ(バイト単位)。この値は、パラメーターのタイプによって異なります。「RFC のメッセージボディー」 を参照してください。 |
decimals
|
0
|
フィールド値の 10 進数数。パラメータータイプ BCD および FLOAT にのみ必要です。「RFC のメッセージボディー」 を参照してください。 |
optional
|
false
|
true の場合、フィールドはオプションであり、RFC 呼び出しで設定する必要はありません。
|
すべての elementary パラメーターフィールドでは、
name
、type
、byteLength
、および unicodeByteLength
プロパティーを meta-data オブジェクトで指定する必要があります。さらに、BCD
、FLOAT
、DECF16
、および DECF34
フィールドには、meta-data オブジェクトで decimal プロパティーを指定する必要があります。
TABLE
または STRUCTURE
タイプの複雑なパラメーターフィールドの場合、以下の表には、list フィールド meta-data オブジェクトに設定できる設定プロパティーが記載されています。
名前 | デフォルト値 | 説明 |
---|---|---|
name
|
- | パラメーターフィールドの名前 |
type
|
- | フィールドのパラメータータイプ |
recordMetaData
|
- |
構造またはテーブルのメタデータ。レコードメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.RecordMetaDataImpl は、構造行またはテーブル行にフィールドを指定するために渡されます。
|
optional
|
false
|
true の場合、フィールドはオプションであり、RFC 呼び出しで設定する必要はありません。
|
すべての複雑なパラメーターフィールドでは、
name
、type
および recordMetaData
プロパティーをフィールドの meta-data オブジェクトに指定する必要があることに注意してください。recordMetaData
プロパティーの値はレコードフィールドのメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.RecordMetaDataImpl
で、ネストされた構造またはテーブル行の構造を指定します。
elementary list field meta-data example リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のメタデータ設定は、オプションの 24 桁のパックされた BCD 番号パラメーターと、
TICKET_PRICE
という名前の小数点を指定します。
複雑なリストフィールドのメタデータの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のメタデータ設定は、
TABLE
レコードメタデータオブジェクトで指定された行構造を持つ CONNINFO
という名前の必須パラメーターを指定します。connectionInfo
<bean class="org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMetaDataImpl"> <property name="name" value="CONNINFO" /> <property name="type" value="TABLE" /> <property name="recordMetaData" ref="connectionInfo" /> </bean>
<bean class="org.fusesource.camel.component.sap.model.rfc.impl.ListFieldMetaDataImpl">
<property name="name" value="CONNINFO" />
<property name="type" value="TABLE" />
<property name="recordMetaData" ref="connectionInfo" />
</bean>
レコードのメタデータ属性 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
レコードのメタデータオブジェクト
org.fusesource.camel.component.sap.model.rfc.impl.RecordMetaDataImpl
は、ネストされた STRUCTURE
または TABLE
パラメーターの名前および内容を指定します。レコードの meta-data オブジェクトは、レコードフィールドのメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.FieldMetaDataImpl
の一覧を維持します。これは、ネストされた構造またはテーブル行にあるパラメーターを指定します。
以下の表は、レコードメタデータオブジェクトに設定できる設定プロパティーの一覧です。
名前 | デフォルト値 | 説明 |
---|---|---|
name
|
- | レコードの名前。 |
recordFieldMetaData
|
- |
レコードフィールドのメタデータオブジェクトの一覧 org.fusesource.camel.component.sap.model.rfc.impl.FieldMetaDataImpl 構造内に含まれるフィールドを指定します。
|
注記
レコードメタデータオブジェクトのすべてのプロパティーが必要です。
レコードのメタデータの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の例は、レコード meta-data オブジェクトを設定する方法を示しています。
レコードフィールドのメタデータプロパティー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
レコードフィールド meta-data オブジェクト
org.fusesource.camel.component.sap.model.rfc.impl.FieldMetaDataImpl
は、構造を持つパラメーターフィールドの名前およびタイプを指定します。
レコードフィールド meta-data オブジェクトはパラメーターフィールド meta-data オブジェクトと似ていますが、ネストされた構造またはテーブル行内の個別のフィールドのオフセットを追加で指定する必要があります。個々のフィールドの Unicode および Unicode オフセットは、構造または行に前述のフィールドの Unicode および Unicode バイトの長さ以外のものの合計から計算して指定する必要があります。ネストされた構造やテーブル行のフィールドのオフセットを適切に指定できないと、基礎となる JCo および ABAP ランタイムのパラメーターのフィールドストレージが重複し、RFC 呼び出しの値が適切に転送されないことに注意してください。
要素的なパラメーターフィールド(
CHAR
, DATE
, BCD
, TIME
, ----------|-----, splunk, splunk, splunk, splunk, splunk, NORMAL, ----------|-----, ----------|-----, ----------|-----, …" には、レコードフィールドの meta-data オブジェクトに設定できる設定プロパティーが記載されています。BYTE
NUM
FLOAT
INT
INT1
INT2
DECF16
DECF34
STRING
XSTRING
名前 | デフォルト値 | 説明 |
---|---|---|
name
|
- | パラメーターフィールドの名前 |
type
|
- | フィールドのパラメータータイプ |
byteLength
|
- | Unicode 以外のレイアウトのフィールドの長さ(バイト単位)。この値は、パラメーターのタイプによって異なります。「RFC のメッセージボディー」 を参照してください。 |
unicodeByteLength
|
- | Unicode レイアウトのフィールドの長さ(バイト単位)。この値は、パラメーターのタイプによって異なります。「RFC のメッセージボディー」 を参照してください。 |
byteOffset
|
- | Unicode 以外のレイアウトのフィールドオフセット(バイト単位)。このオフセットは、エンクロージング構造内のフィールドのバイトロケーションです。 |
unicodeByteOffset
|
- | Unicode レイアウトのフィールドオフセット(バイト単位)。このオフセットは、エンクロージング構造内のフィールドのバイトロケーションです。 |
decimals
|
0
|
フィールド値の 10 進数数。パラメータータイプ BCD および FLOAT にのみ必要です。「RFC のメッセージボディー」 を参照してください。
|
TABLE
または STRUCTURE
タイプの複雑なパラメーターフィールドの場合、以下の表には、レコードフィールドのメタデータオブジェクトに設定できる設定プロパティーが記載されています。
名前 | デフォルト値 | 説明 |
---|---|---|
name
|
- | パラメーターフィールドの名前 |
type
|
- | フィールドのパラメータータイプ |
byteOffset
|
- | Unicode 以外のレイアウトのフィールドオフセット(バイト単位)。このオフセットは、エンクロージング構造内のフィールドのバイトロケーションです。 |
unicodeByteOffset
|
- | Unicode レイアウトのフィールドオフセット(バイト単位)。このオフセットは、エンクロージング構造内のフィールドのバイトロケーションです。 |
recordMetaData
|
- |
構造またはテーブルのメタデータ。レコードメタデータオブジェクト org.fusesource.camel.component.sap.model.rfc.impl.RecordMetaDataImpl は、構造行またはテーブル行にフィールドを指定するために渡されます。
|
要素のレコードフィールドのメタデータの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のメタデータ設定は、Unicode 以外のレイアウトの場合で、Unicode レイアウトの場合で 170 バイトをエンクロージング構造(Unicode レイアウトの場合)に 85 バイトに配置された
DATE
フィールドパラメーターを指定します。ARRDATE
複雑なレコードフィールドのメタデータの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下のメタデータ設定は、
flightInfo
レコードメタデータオブジェクトで指定された構造を持つ FLTINFO
という名前の STRUCTURE
フィールドパラメーターを指定します。このパラメーターは、Unicode レイアウトと Unicode レイアウトの両方の場合、エンクロージング構造の先頭にあります。