スポンサーサイト

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

会計伝票BAdI BAPI用拡張項目設定

[BADI_ACC_DOCUMENT] CHANGE

概要

会計伝票転記BAPIで会計伝票の項目に値を設定する時に実行されるBAdIです。拡張データからBAPIのパラメータにない伝票項目を設定することができます。

パラメータ

会計インタフェースの形でパラメータが構成されています。拡張項目(C_EXTENSION2)を受け取ることでBAPIのパラメータで渡すことができない項目の変更ができます。
パラメータ一覧
種別パラメータ説明
ImportingFLT_VAL参照処理
ChangingC_ACCHD会計管理インタフェース: ヘッダ情報
C_ACCIT会計インタフェース: 明細情報
C_ACCCR会計管理インタフェース: 通貨情報
C_ACCWTFIインタフェースの源泉徴収税情報
C_ACCTX税データと追加項目のRWINの伝票セグメント
C_EXTENSION2Extension2
C_RETURNリターンパラメータテーブル

実行タイミング

会計伝票転記BAPIのBAPI_ACC_DOCUMENT_POSTで実行されます。
項目設定処理が行われるタイミングでこのBAdIが実行されます。

サンプルコード

BAPIから備忘明細を登録するために伝票ステータスを変更するBAdIの例です。
EXTENSION2に「RFST」が設定された場合に会計伝票の値を変更します。

事前に拡張用にZZACCHDの構造を作成しておく必要があります。
method IF_EX_ACC_DOCUMENT~CHANGE.

  DATA: LS_EXTENSION2 TYPE BAPIPAREX,
        LS_ZZACCHD TYPE ZZACCHD.

  FIELD-SYMBOLS <FS_ACCIT> TYPE ACCIT.

  LOOP AT C_EXTENSION2 INTO LS_EXTENSION.
    CASE LS_EXTENSION2-STRUCTURE.
      WHEN 'ZZACCHD'.
        LS_ZZACCHD = LS_EXTENSION2-VALUEPART1.

*       取引がRFSTの場合
        IF LS_ZZACCHD-GLVOR = 'RFST'.
          C_ACCHD-GLVOR = LS_ZZACCHD-GLVOR. " 取引を変更

*         明細項目の設定
          LOOP AT C_ACCIT ASSIGNING <FS_ACCIT>.
            <FS_ACCIT>-BSTAT = 'S'. " 伝票ステータスを変更
          ENDLOOP.
        ENDIF.
  ENDLOOP.

endmethod.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

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