請求書照合登録BAPI
BAPI_INCOMINGINVOICE_CREATE
請求書照合を行うBAPIです。請求書照合画面(MIRO)とほぼ同じ処理ができ、請求書とクレジットメモの両方の登録ができます。請求書伝票の保留や仮保存を行う場合は別のBAPIを使います。パラメータ
請求書伝票のデータ構成に近い形でBAPIのパラメータも構成されています。(請求書ヘッダ、明細、勘定設定、税、住所など)
勘定設定などが不要な請求書伝票を登録する場合は、請求書ヘッダ、明細のパラメータのみで伝票を登録することができます。
種別 | パラメータ | 説明 |
---|---|---|
インポート | HEADER_DATA | 請求書のヘッダデータ (登録) |
ADDRESS_DATA | 転送構造: 住所データ 請求書受領 (登録) | |
OIL_DATA | BAPIの OIL固有項目 請求書受領 登録 | |
エクスポート | INVOICEDOCNUMBER | 請求書伝票番号 |
FISCALYEAR | 会計年度 | |
テーブル | ITEMDATA | 請求書の明細データ |
ACCOUNTINGDATA | 請求書の勘定設定データ | |
GLACCOUNTDATA | 請求書受領における勘定コードデータ | |
MATERIALDATA | 請求書受領における品目勘定データ | |
TAXDATA | 請求書の税コード | |
WITHTAXDATA | 請求書受領における源泉徴収税データ | |
VENDORITEMSPLITDATA | 請求書受領における仕入先分割 | |
RETURN | リターンメッセージ | |
EXTENSIONIN | BAPIパラメータ ExtensionIn/ExtensionOutの参照構造 | |
TM_ITEMDATA | 転送構造: 輸送管理用の請求書明細データ |
請求書ヘッダ関連のパラメータを設定する
請求書のヘッダデータ(HEADER_DATA)には、伝票日付、転記日付、会社コード、通貨コード、総額などを設定します。請求書を登録する場合には区分: 請求書転記(INVOICE_IND)に「X」を設定します。この項目がブランクの場合はクレジットメモが登録されます。項目 | 項目名称 | 設定値 |
---|---|---|
INVOICE_IND | 区分: 請求書転記 | X |
DOC_DATE | 伝票の伝票日付 | 20141031 |
PSTNG_DATE | 伝票の転記日付 | 20141031 |
COMP_CODE | 会社コード | 1000 |
CURRENCY | 通貨コード | JPY |
GROSS_AMOUNT | 伝票通貨での請求書総額 | 10800 |
CALC_TAX_IND | 税額自動計算 | X |
請求書明細関連のパラメータを設定する
請求書明細(ITEM_DATA)に明細番号、購買発注番号、購買発注明細、税コード、金額、数量、発注単位などを設定します。入庫基準請求書照合の場合は参照伝票に入出庫伝票番号の設定も必要です。項目 | 項目名称 | 設定値 |
---|---|---|
INVOICE_DOC_ITEM | 請求書伝票明細 | 00001 |
PO_NUMBER | 購買発注番号 | 4500001234 |
PO_ITEM | 購買発注明細 | 00010 |
REF_DOC | 参照伝票の伝票番号 | 5000001234 |
REF_DOC_YEAR | 当会計年度 | 2014 |
REF_DOC_IT | 参照伝票の明細 | 0001 |
TAX_CODE | 税コード | V1 |
ITEM_AMOUNT | 明細金額 | 10000 |
QUANTITY | 数量 | 1 |
PO_UNIT | 発注単位 | ST |
サンプルコード
通常の汎用モジュールを実行するのと同様にCALL FUNCTIONで実行します。請求書照合登録のBAPIの内部ではコミットされないため、正常終了時は明示的にコミットを実行する必要があります。BAPIは例外を発生させない仕様なので、エラー判定はRETURNパラメータにメッセージタイプが「E」のレコードが1件以上あるかどうかで判定をします。
DATA: LS_HEADER_DATA TYPE BAPI_INCINV_CREATE_HEADER, LT_ITEMDATA TYPE TABLE OF BAPI_INCINV_CREATE_ITEM, LV_INVOICEDOCNUMBER TYPE BAPI_INCINV_FLD-INV_DOC_NO, LV_FISCALYEAR TYPE BAPI_INCINV_FLD-FISC_YEAR, LT_RETURN TYPE TABLE OF BAPIRET2. * パラメータに値を設定する LS_HEADER_DATA-INVOICE_IND = 'X'. " 区分: 請求書転記 LS_HEADER_DATA-DOC_DATE = '20141031'. " 伝票の伝票日付 LS_HEADER_DATA-PSTNG_DATE = '20141031'. " 伝票の転記日付 * : * (以下略) CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE' EXPORTING HEADER_DATA = LS_HEADER_DATA IMPORTING INVOICEDOCNUMBER = LV_INVOICEDOCNUMBER FISCALYEAR = LV_FISCALYEAR TABLES ITEMDATA = LT_ITEMDATA RETURN = LT_RETURN . * エラーメッセージの取得 READ TABLE LT_RETURN WITH KEY TYPE = 'E'. * エラーメッセージがない場合 IF SY-SUBRC <> 0. COMMIT WORK AND WAIT. ELSE. ROLLBACK WORK. ENDIF.