玉ちゃんの文科系IT入門 > ERP(SAP R/3) > BAPI:受注伝票の変更(6)

BAPI:受注伝票の変更(6)

さて、いったん、BAPIの受注伝票変更(BAPI_SALESORDER_CHANGE)を離れて、変更する受注伝票の取得の作りこみをやりたい。

受注伝票を変更するためには、変更対象の受注伝票を取得して、ユーザーに提示してやらねばならない。


そのためには、一番簡易なツールは、EXCELである。


使うBAPIは

BAPI_SALESORDER_GETLIST

これは、以前、アプレッソさん主催のDataspider事例紹介のときに、デモで使ったことがある。


携帯電話から、得意先名を入れて、メール送信すると、SAPから、このBAPIが当日の受注状況を取得して、メールへ返信してくれるものだ。

このBAPIは、参照系だから、扱いも非常に楽でわかりやすい。


パラメータで必須なのは、販売組織と得意先(受注先)コードのみ。


任意で、品目コードや得意先発注番号、登録日が選べる。

SE37で見ると、任意のパラメータに、登録日付と入力日付(以前/以降)とあるのだが、

これは、日本語訳の誤訳だろう。

登録日の範囲指定である。

登録日の開始日が、登録日付〜入力日付(以前/以降)の間にあるものを抽出してくれる。

例によって、ユーザーが受注伝票を抽出する画面を作成する。


こんな感じで、得意先コードだけ、javascriptで必須チェックを入れる。


このページから、送られた変数をDataspiderのHTTPトリガーを起動して、BAPIへ送信する。

SAPが吐き出すときに、マッパー条件で、「請求ブロックが立っているときだけ」という繰り返し条件を入れてやると、請求ブロック(BILL_BLOCK=03価格不完全)のかかったものだけを抽出してくれる。

これをEXCELに吐き出して、HTML経由でユーザーのブラウザへ表示してやる。

EXCELのマクロはいつものとおり、マクロの使い手である、F君にお任せ。

ここまではすんなりである。


お世辞にも、SOAとは言えないが、いったんスクリプトの蓄積があると、ここまでは簡単にできるのだ。