SAP接続⇒レコード生成,値格納⇒BAPI呼出⇒コミットという、ジョブフローだけみると前回とあまり変わりがないように見えます。このBAPIは、入力にテーブル構造を持つため、前回のRFC_READ_TABLEとは入力パラメータの与え方がかなり違って難しいです。コンポーネントのパラメータを見ていくそれでは、具体的に各コンポーネントの設定を見ていきましょう。接続先情報を正しくセットします。詳しくはこちら「SAPへのパラメータ格納変数初期化」tJavaコンポーネントですね。SAPに渡すためのパラメータの受け皿を初期化しておきます。いうのも、後でtJavaRow「パラメータ格納」ではAddだけしていきたいので、事前にここでAddさせるためにインスタンスを生成しておきます。CURRENCYAMOUNT_AMT_DOCCUR);[/java]ええと、見かけはすごくJavaのコードを書いてゴリゴリしている風ですが、実際は大したことをしていなくて、Stringのリストを生成⇒生成したリストをglobalMap(グローバル変数)に格納、というのを、必要な入力パラメータ分生成しているだけです。(globalMapってなに?という方はこちら)「貸借2レコード生成」ここで、起票したい会計伝票の明細を生成しています。貸借対になるレコードを生成したいので、2行生成しています。TENPO_CDは本支所、金額は起票する金額です。「ACCOUNTGL,CURRENCYAMOUNT編集」このBAPIを使用するためには、ACCOUNTGLとCURRENCYAMOUNTの2つの種類のテーブルを入力として与える必要がありますので、それぞれの項目にセットする値をtMapで編集します。真ん中のVarでは、連番を採番しています。ITEMNO_ACCというパラメータで、対応する明細番号を振る必要があるためです。(連番の振り方についてはこちら)他のパラメータは、SAPのBAPIパラメータをご覧ください。今回はとりあえずこれだけをセットしておきます。「パラメータ格納」ここで、tRowGenerator⇒tMapで生成した行情報をglobalMapに格納していきます。格納先は、「SAPへのパラメータ格納変数初期化」で作成した受け皿です。globalMapから該当キーでgetし、そのリストに今回流れてくるrowデータを格納します。参考までに、コードは下記の通りです。CURRENCYAMOUNT_AMT_DOCCUR);[/java]「BAPI_ACC_GL_POSTING_POST」ここでSAPのBAPI呼出を行います。globalMapに格納しておいた各種情報をgetしてParameterValueにセットします。ここで、SAP側の入力が構造(Structure)であれば、Type項目をinput_structureに変更、その構造名をTableName(StructureName)にセットします。ParameterNameはその構造のメンバ(プロパティ?要素?)の名称をしていします。SAP側の入力がテーブルであれば、Type項目をtable_inputに変更します。table_inputの場合は、globalMapから取得した値をキャストする必要はなく、Object型のままセットしてあげれば良いようです。いうわけで、BAPIの入力側がテーブル構造の場合は、呼び出す時はそんなに大変ではないです。下準備であるパラメータ作成が結構大変、という感じですね。Outputs側のRETURNは下記の様に定義します。この項目名やXPathQuerysの求め方は、前回記事に書いてありますので参考にしてください。「SAP戻り値編集」ここはお好きな様に使用してください。私は、TYPEという項目のリターンコードだけを参考に成否判定しています。直前のtJavaRow(SAP戻り値編集)で保存したcontext.sap_return_cdの値が”S”だった場合に、IfリンクでSAPコミットするようにしています。当たり前ですが、コミットし忘れるとSAPに伝票が登録されません。上記の設定を行い、一応動作確認をします。SAPからの戻り値を出力しているtLogRowのログを見ると、MESSAGEに伝票が転記された旨のメッセージが表示されています。FB03などで確認しても、この伝票がきられていることを確認できます。hidetaso[...]【React】Reactに爆速で入門する2。hidetaso[...]【Javascript】爆速でChrome拡張プラグイン開発を試す。作り方は意外とかんたんでした。St[...]【React】Reactに爆速で入門する3。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。【Javascript】爆速でChrome拡張プラグイン開発を試す。作り方は意外とかんたんでした。【コマンド/bat】ファイル検索の結果ファイルをコピーする2つの方法(Windows)ETL開発ツールは比較するまでもなくTalend一択だと思う。コスト重視なら特に【JSF入門02】ボタン押下時のイベントを扱う。入門01】開発環境の構築。入門02】CSVデータを変換する。Talendの使い方からはじめます。最近のコメント外れない/固いボルト(ナット)の外しかた。【WebSlides】HTML+CSS+Javascriptでプレゼン資料を作成したら割とウケた話。Songバイクでツーリングいこっ!心に残る絶景を写真にGN倶楽部IT系カテゴリの最新記事2019.03.06Wordpress,【WordPress】突然固定ページが404エラーで表示されなくなった!?ので私の対処法を書きます。WebSlides,【WebSlides】HTML+CSS+Javascriptでプレゼン資料を作成したら割とウケた話。React,【React】Reactに爆速で入門する4。React,【React】Reactに爆速で入門する3。React,【React】Reactに爆速で入門する2。WordPress.。