スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

請求伝票登録BAPI

BAPI_BILLINGDOC_CREATEMULTIPLE

概要

請求伝票を登録するBAPIです。パラメータに複数の明細を設定することで一括請求画面(VF04)のように複数の請求伝票を登録することができます。

このBAPIでは内部でコミット処理が実施されるため、請求伝票を登録したくない場合はパラメータのTESTRUNに「X」を設定して実行する必要があります。

パラメータ

請求伝票の登録に必要なパラメータは、処理予定明細データのテーブル(BILLINGDATAIN)です。

処理予定条件のテーブル(CONDITIONDATAIN)に値を設定することで条件レコードを追加することができます。参照元伝票にすでに同じ条件タイプがある場合は、参照元伝票の条件タイプの方が価格決定表上で優先順位が高くなり、BAPIで設定した条件タイプは無効になります。
パラメータ一覧
種別パラメータ説明
インポートCREATORDATAIN入取り込まれる日付の順序
TESTRUNシミュレーション実行('X')、更新実行(' ')
POSTING転記カテゴリ
テーブルBILLINGDATAIN処理予定明細データのテーブル
CONDITIONDATAIN処理予定条件のテーブル
CCARDDATAIN処理予定支払方法のテーブル
TEXTDATAIN請求インタフェースの通信構造テキスト
ERRORS前明細の不正処理に関する情報
RETURNエラー処理のテーブル
SUCCESS正常に処理された明細のテーブル

処理予定明細のパラメータを設定する

処理予定明細データのテーブル(BILLINGDATAIN)には、請求日と参照伝票番号、参照明細番号、先行伝票の伝票カテゴリを設定します。
先行伝票の伝票カテゴリは受注伝票参照の場合は「C」、出荷参照の場合は「J」です。先行伝票の伝票カテゴリを正しく設定しないと伝票フローが生成されないので注意してください。
設定例:BILLINGDATAIN
項目項目名称設定値
ORDBILLTYP提案請求タイプF2
BILL_DATE請求日20141031
REF_DOC参照伝票番号0000001234
REF_ITEM参照明細番号000010
REF_DOC_CA先行伝票の伝票カテゴリC

価格のパラメータを設定する

価格を変更したい場合は、処理予定条件のテーブル(CONDITIONDATAIN)に条件を設定します。
別テーブルへのポインタには、処理予定明細データのテーブル(BILLINGDATAIN)の行番号を指定します。
設定例:CONDITIONDATAIN
項目項目名称設定値
DATA_INDEX別テーブルへのポインタ1
COND_TYPE条件タイプRB00
COND_VALUE条件金額/率100
COND_CURR条件通貨JPY

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。請求伝票登録のBAPIは内部でコミットされるため、ロールバックすることはできません。

請求登録のBAPIは、パラメータで複数請求伝票を作成するようにした場合、エラーが発生しても登録可能な伝票のみ登録されます。そのため、RETURNパラメータにメッセージタイプが「E」のレコードが1件以上あってもSUCCESSパラメータに伝票番号が1件以上ある場合は正常終了(一部エラーあり)として扱う必要があります。
DATA: LS_BILLINGDATAIN        TYPE BAPIVBRK,
      LT_BILLINGDATAIN        TYPE TABLE OF BAPIVBRK,
      LT_CONDITIONDATAIN      TYPE TABLE OF BAPIKOMV,
      LT_SUCCESS              TYPE TABLE OFBAPIVBRKSUCCESS,
      LT_RETURN               TYPE TABLE OF BAPIRET2.

* パラメータに値を設定する
LS_BILLINGDATAIN-BILL_DATE  = '20141031'.   " 請求日
LS_BILLINGDATAIN-REF_DOC    = '0080001234'. " 参照伝票番号
LS_BILLINGDATAIN-REF_ITEM   = '000010'.     " 参照明細番号
LS_BILLINGDATAIN-REF_DOC_CA = 'J'.          " 先行伝票の伝票カテゴリ
*             :
*          (以下略)

CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'
  EXPORTING
    TESTRUN              = ' '
  TABLES
    BILLINGDATAIN        = LT_BILLINGDATAIN
    CONDITIONDATAIN      = LT_CONDITIONDATAIN
    RETURN               = LT_RETURN
    SUCCESS              = LT_SUCCESS
  .
* 登録伝票番号の取得
READ TABLE LT_SUCCESS.

* 登録伝票がある場合
IF SY-SUBRC = 0.
  " 正常処理.
ELSE.
  " エラー処理.
ENDIF.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

2017年:ブログをリニューアルしました。(旧Zの高速道路)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。