スポンサーサイト

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

請求伝票取消BAPI

BAPI_BILLINGDOC_CANCEL1

概要

請求伝票の取消をするBAPIです。請求伝票番号を指定することで請求伝票を取消すことができます。

パラメータ

取消しのBAPIのためパラメータは少ししかありません。取消対象の請求伝票番号と取消用の起算日(請求日)が主なパラメータです。
請求伝票登録のBAPIと異なり、NO_COMMITパラメータに「X」を指定することでBAPI内部での自動コミットを抑制することができます。
パラメータ一覧
種別パラメータ説明
インポートBILLINGDOCUMENT取り消される請求伝票番号
TESTRUNテスト実行('X')、更新実行(' ')
NO_COMMITBAPIインタフェースでのCOMMIT制御
BILLINGDATE起算日
テーブルRETURN登録されたエラーメッセージのテーブル
SUCCESS正常に処理された伝票のテーブル

取消伝票のパラメータを設定する

取消を行う請求伝票番号(BILLINGDOCUMENT)の設定と起算日(BILLINGDATE)を設定します。
設定例:インポートパラメータ
項目項目名称設定値
BILLINGDOCUMENT請求伝票番号0090001234
BILLINGDATE起算日20141031

サンプルコード

通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。NO_COMMITパラメータに「X」を指定した場合はBAPIの内部ではコミットされないため、正常終了時は明示的にコミットを実行する必要があります。

BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LV_BILLINGDOCUMENT      TYPE BAPIVBRKSUCCESS-BILL_DOC,
      LV_BILLINGDATE          TYPE BF_DATM1EB,
      LT_SUCCESS              TYPE TABLE OF BAPIVBRKSUCCESS,
      LT_RETURN               TYPE TABLE OF BAPIRETURN1.

* パラメータに値を設定する
LV_BILLINGDOCUMENT = '0090001234'. " 請求伝票番号
LV_BILLINGDATE     = '20141031'.   " 請求日
*             :
*          (以下略)

CALL FUNCTION 'BAPI_BILLINGDOC_CANCEL1'
  EXPORTING
    BILLINGDOCUMENT      = LV_BILLINGDOCUMENT
    NO_COMMIT            = 'X'
    BILLINGDATE          = LV_BILLINGDATE
  TABLES
    RETURN               = LT_RETURN
    SUCCESS              = LT_SUCCESS
  .
* エラーメッセージの取得
READ TABLE LT_RETURN WITH KEY TYPE = 'E'.

* エラーメッセージがない場合
IF SY-SUBRC <> 0.
  COMMIT WORK AND WAIT.
ELSE.
  ROLLBACK WORK.
ENDIF.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

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