才能の例では、SAPに接続する

PDRTJS_settings_712365_post_594 = {
"IDを":"712365"を
"UNIQUE_IDの':'のwp -ポスト- 594"
"タイトル""例:+才能+ +への登録+ +へのトンレサップ"
"Item_id"、"_post_594"
"パーマリンク":"のhttp%3Aの%2階%2F2010%2F01 2Fchurriwifi.wordpress.com%%2F13%2Fejemplo -才能には、%2階の樹液"
}
(言語イングレスの記事を読むここ

ファクトテーブルの販売をロードするETLプロセスに進む前に、我々はtSapOutput tSapInputは、tSapConnectionコンポーネントを使用してSAPに接続するために才能を使用する方法を確認して一時停止します。我々のプロジェクトにおいて、我々はERPからデータを読み込むためにこれらのコンポーネントを使用することもできます(しかし、我々は、データベースから直接読み込むにコンポーネントtOracleInputを使用しました)。

才能のSAPコンポーネントは、それを使用しては無料ですが、あなたは我々が我々のシステムにインストールされているよ、(sapjco.jar)SAPが提供するJavaライブラリが必要です。このライブラリは、ユーザーが登録されていない場合、彼らができる唯一のダウンロードすることが樹液( http://service.sap.com/connectors )。がインストールされてSapjcoの私たちは、バージョン)が2.1.8には 、(あるポスト3.0.4が動作しないことが才能を。

どのようにライブラリsapjco.jarをインストールすることです:

  • 後は、(オペレーティングシステムを使用しているのバージョンに応じて)適切なファイルをダウンロードしてお好みのディレクトリに解凍してください。テストは、我々の場合には、我々はWindows Vistaを使用してきた。
  • Windowsでsystem32ディレクトリにdllをlibrfc32.dllの古いバージョンをお持ちの場合は、SAPの到来と共に、それを置き換えてください。
  • PATH環境変数に含めるのインストールディレクトリ(我々の場合c:\ sapjco)。
  • 最後に、我々は(たとえば、CLASSPATHに=はC:\ sapjco \ sapjco.jar)フルパスでCLASSPATH環境変数sapjco.jarファイルに追加します。

次に、クラスのディレクトリにライブラリをインストールし、才能が正しくインストールされていることが分かった。これを行うには、私たちは、ディレクトリsapjco.jarの<directorio_instalacion_talend>でファイルを\ lib \ディレクトリのjavaドロップします。才能は、その後、オープンsapjco.jar(我々は、画像に見られるよう)が正しくインストールされてモジュールが表示されますモジュール]タブで、チェックしてください。

最後に、我々は情報を使用して汎用モジュール(RFC)をし、SAPの実装これは才能からアクセスすることができます(これは私たちが樹液を介してアクセスコンポーネントを行うことができますか実際に取得するために実用的な例SAP接続が表示されます。そのRFC'sy BAPIを)。

RFCのは、(リモート関数呼び出し)は、SAPと外部システム間の通信のための基礎となるものです。また、SAPの中から呼び出すことができます対応するインターフェイスの入力データと出力データ、関数内でカプセル化されたプログラミング(ABAPプログラムなど)のコンポーネントは、"、またはリモートで有効になっている場合ですリモートアクセスモジュール"(私たちは以下の画像に表示されるように)。この場合において、我々は才能から、例えば、呼び出すときです。


のRFC"RFC_READ_TABLE"の定義で、SAP

SAPは、多くのRFCはの標準的な予定しているまた、我々は、必要なタスクを実行するコードで我々を構築することができます。さらに、SAP内のRFCの別のタイプのがあると、SAPアプリケーションの動作(たとえば、統合、追加の規則を含むBAPIの呼び出し、BAPIのBAPI_SALESORDER_CREATEFROMDAT2は、データからの受注を作成することができます我々は)インターフェイス内の関数に渡される。

例:のRFCを使用してテーブルの内容を読む"RFC_READ_TABLEを。"

我々は、特定のでは、我々は、特定の型のすべての材料を取得するSAPのテーブルの内容を読み取るために才能のジョブを行う。次のように完全なジョブが構成されています:

才能のtSapInputでSAPへのRFCコールするコンポーネントを使用しています。これを行うには、我々はパラメータと結果、何を受け取ることができるデータ構造の種類に渡すことができますことを知ってトンレサップでこれを定義されているインターフェイスは何か知っておく必要があります。トランザクションではSAPのSE37を、関数のモジュールとして定義されて見ることができると、そのコンポーネントとの通信を実行する方法を参照してください。

たとえば、RFC_READ_TABLE汎用モジュールは、(以下の図のように)、[インポート]タブで定義されて5入力パラメータがあります。私達が私達の例で使用されるている:(表は、詳細を知りたい)QUERY_TABLE、デリミタ(データの区切り文字)。


のRFC定義SAPジャパン - インポート(入力パラメータ)

我々は、出力パラメータ(変数または単純な構造の場合)があることを見ることができる[エクスポート]タブには、もあります。テーブルでの作業の場合には、彼らが[テーブル]タブに表示されます。テーブルは、SAPの複雑な構造です(データの配列を使用します。)テーブルは、それらを渡すためにRFCからデータを受信するために両方を使用することができます。この例では、データベースから取得したレコードを受信するようにデータテーブルを使用します。


のRFC定義SAPジャパン - テーブル(/出力パラメータの入力)

その後、再び才能コンポーネントの様々な分野を完了します:

  • クライアント:樹液プリンシパルは、どのデータをします回復します。
  • ユーザーID:接続ユーザの。およびRFCを実行するために必要なデータにアクセスする権限を持っている必要があります。
  • パスワード:パスワードを入力します。
  • 言語:言語切り替える。
  • ホスト名は:樹液にあるホストここでされているサーバーは、。
  • システム番号:つのサーバー)は、SAPインスタンス番号のあるサーバー00(通常です。
  • 関数名は:RFCの名前に依存する私たちは。

例tSapInputコンポーネントを使用法

  • パラメータの入力の初期化を初期化入力:私たちは、ファンクションブロックに渡す値です。この例では、我々は単純な値(変数)、我々はまた、テーブルの一部に合格している値に合格していることを確認します。
    • シングル入力:パラメータ"QUERY_TABLE"と"区切り"input_singleの種類(シングルエントリー)と値を、使用する区切り文字と読みするテーブルの、すなわち名前を初期化拭いている。
    • 表の入力は:2つのテーブルに値を入力します。表オプション]テキストフ​​ィールドには、(条件場所など)データの読み取りを制限する条件を示しています。テーブルのフィールドは、人(この場合には、素材には、そのタイプと製品ラインのソース)を回復するものですが、表のフィールドは、フィールド名]フィールドに、我々は樹液を教えてください。得られたフィールドは、(この表の各レコードのすべてのフィールドを参照してくださいする必要はありません。)としてこのように、我々は、返されるレコードの両方の数を制限するどのようにフィールドにフィールド名のFIELDSテーブルに複数の値を指定を参照してください、私たちは、カンマで区切られた複数のエントリを持っています。
  • 出力:SAPによって返されたデータ定義の管理私たちはなる構造。ここでは、データフローの名前が取得された値(結果が表である場合のtable_output)は、SAPのテーブル(TableNameがフィールド(構造体名)と名前をスキーマの名前(の種類を示す我々 )いずれかを配置します。この例では、我々は、データSAPテーブルのレコードのテーブルを読んで、各レコードはWAと呼ばれる一意のフィールドを持っています。為替の適切な定義については、このセクションの手順次のように内容は下記の通り:
  • 記号のボタン"+"下我々は最初の出力ストリームを返します。スキーマは、このフロー(この例ではregistros_devueltos)に名前を与えるのと出口構造tSapInputコンポーネントを構成するフィールドを示すクリック。この場合において、私たちはSAPのデータテーブルのフィールドに対応しています(我々は、画像に見られるよう)ワシントンと呼ばれるフィールドを持つようになります。

定義されて出力構造体の"registros_devueltos"

  • それは、この列に関連付けるデータを取得されているコンポーネントをサップする必要があります。マッピングフィールド上に存在するこのクリックを行うには、我々は新しいウィンドウを開きますしてください。ここでは、表示される流れ辞書データは、SAPのデータが定義されているフィールドのフィールドの以前の地図才能たちが何であるかでき、XPatchQuerysスキーマフィールドのステップがするので、XPatchQuerysで導入することができます受信データを正しくする必要があります値(SAPはシンボル")を使用して、二重引用符で囲む必要があります。
出力の構造とSAP才能の間のマッピング

この例では、単一のコントロールに、SAPからデータを取得するために比較的単純な方法を持っています。私たちは、別の既存のRFCおよびBAPIはSAPを知ることができる確かにはるかに複雑なタスクとSAPで定義されている機能を活用しています。それも、これらのコンポーネントをすでに定義されて、パッケージを使用して、SAPとのインターフェイスの方法かもしれません。

詳細に表示するコンポーネントをどのように各々の定義には、才能で完全なHTMLドキュメントを生成アクセスすることができますここ 。あなたはドキュメンテーションzipファイルを含むことができますダウンロードはここ