BAPI_INCOMINGINVOICE_CANCEL
时间: 2023-12-17 16:05:12 浏览: 31
BAPI_INCOMINGINVOICE_CANCEL是一个SAP函数模块,用于取消已经过账的进货发票。该函数模块需要传入以下参数:
- INVOICE_DOC_NUMBER:发票号码
- FISCAL_YEAR:会计年度
- COMPANYCODE:公司代码
以下是一个使用BAPI_INCOMINGINVOICE_CANCEL取消进货发票的例子:
```abap
DATA: ls_invoice_cancel TYPE bapi_acc_invoice_cancel,
lt_return TYPE TABLE OF bapiret2.
ls_invoice_cancel-invoice_doc_number = '123456'.
ls_invoice_cancel-fiscal_year = '2021'.
ls_invoice_cancel-companycode = '1000'.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CANCEL'
EXPORTING
invoice_header = ls_invoice_cancel
TABLES
return = lt_return.
IF sy-subrc = 0.
WRITE: 'Invoice cancelled successfully.'.
ELSE.
WRITE: 'Error cancelling invoice:', lt_return.
ENDIF.
```
相关问题
BAPI_INCOMINGINVOICE_PARK
根据提供的引用内容,可以了解到BAPI_INCOMINGINVOICE_CREATE1是一个用于创建进货发票的标准BAPI。而BAPI_INCOMINGINVOICE_PARK是一个用于将进货发票暂存的标准BAPI。下面是一个简单的示例代码,演示如何使用BAPI_INCOMINGINVOICE_PARK:
```ABAP
DATA: lt_invoice_header TYPE STANDARD TABLE OF bapivbrk,
lt_invoice_item TYPE STANDARD TABLE OF bapivbrp,
ls_invoice_header LIKE LINE OF lt_invoice_header,
ls_invoice_item LIKE LINE OF lt_invoice_item,
ls_return LIKE bapiret2.
* 填充进货发票头信息
ls_invoice_header-companycode = '1000'.
ls_invoice_header-docdate = '20220101'.
ls_invoice_header-pstngdate = '20220101'.
ls_invoice_header-duedate = '20220131'.
ls_invoice_header-vendor = '10000001'.
APPEND ls_invoice_header TO lt_invoice_header.
* 填充进货发票行项目信息
ls_invoice_item-material = 'MATERIAL001'.
ls_invoice_item-quantity = 10.
ls_invoice_item-netvalue = 1000.
APPEND ls_invoice_item TO lt_invoice_item.
* 调用BAPI_INCOMINGINVOICE_PARK
CALL FUNCTION 'BAPI_INCOMINGINVOICE_PARK'
EXPORTING
headerdata = ls_invoice_header
TABLES
itemdata = lt_invoice_item
return = lt_return.
* 检查返回结果
IF lt_return IS NOT INITIAL.
LOOP AT lt_return INTO ls_return.
WRITE: / ls_return-type, ls_return-id, ls_return-number, ls_return-message.
ENDLOOP.
ENDIF.
```
上述代码中,我们首先定义了进货发票的头信息和行项目信息,并将其填充到对应的表中。然后,我们调用了BAPI_INCOMINGINVOICE_PARK,并将进货发票的头信息作为EXPORTING参数传递给该BAPI,将进货发票的行项目信息作为TABLES参数传递给该BAPI。最后,我们检查了返回结果,如果有错误信息,则将其输出。
BAPI_INCOMINGINVOICE_CREATE如何使用
BAPI_INCOMINGINVOICE_CREATE是一个SAP标准的BAPI,用于创建应付账款发票。以下是使用BAPI_INCOMINGINVOICE_CREATE的步骤:
1. 准备输入参数数据:需要创建发票的供应商、发票行项目数据、发票头信息等。
2. 调用BAPI_INCOMINGINVOICE_CREATE:将输入参数传递给BAPI_INCOMINGINVOICE_CREATE,调用该BAPI创建发票。
3. 检查返回值:BAPI返回一个结构体,其中包含了创建发票的结果信息。需要检查返回值,以确定发票是否成功创建。
以下是一个简单的ABAP代码示例,演示如何使用BAPI_INCOMINGINVOICE_CREATE来创建发票:
```
DATA: wa_head LIKE bapi_incinv_create_header,
wa_item LIKE bapi_incinv_create_item,
it_item TYPE STANDARD TABLE OF bapi_incinv_create_item WITH HEADER LINE.
* 准备输入参数数据
wa_head-companycode = '1000'.
wa_head-documentdate = sy-datum.
wa_head-pstngdate = sy-datum.
wa_head-duedate = sy-datum + 30.
wa_head-vendor = '10000001'.
wa_head-purch_org = '1000'.
wa_head-purch_group = '001'.
wa_head-currency = 'USD'.
wa_item-po_item = '00010'.
wa_item-gross_amount = '100.00'.
wa_item-currency = 'USD'.
wa_item-quantity = 1.
wa_item-orderid = '1000'.
wa_item-material = 'M-0001'.
wa_item-short_text = 'Test item'.
APPEND wa_item TO it_item.
* 调用BAPI_INCOMINGINVOICE_CREATE
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
EXPORTING
headerdata = wa_head
TABLES
invoicedata = it_item.
* 检查返回值
IF sy-subrc <> 0.
MESSAGE 'Failed to create invoice.' TYPE 'E'.
ELSE.
MESSAGE 'Invoice created successfully.' TYPE 'S'.
ENDIF.
```
在实际使用中,需要根据具体业务需求,调整输入参数数据的内容。同时,还需要注意,BAPI_INCOMINGINVOICE_CREATE可能会抛出多种异常情况,需要对这些异常情况进行处理。