`

BAPI_INCOMINGINVOICE_CANCEL usage

 
阅读更多
The BAPI is equivalent to Tcode MR8M
CLASS mr8m DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS: cancel IMPORTING pt_belnr  TYPE mblnr
                                    pt_gjahr  TYPE gjahr
                                    pt_stgrd  TYPE stgrd
                                    pt_budat  TYPE budat
                          EXPORTING et_belnr  TYPE mblnr
                                    et_gjahr  TYPE gjahr
                                    et_return TYPE string.
ENDCLASS.                    "MR8M DEFINITION


CLASS mr8m IMPLEMENTATION.
  METHOD cancel.
    DATA: l_returns TYPE STANDARD TABLE OF bapiret2,
          l_return  TYPE bapiret2.
*Cancel invoice document
    IF pt_budat IS NOT INITIAL.
      CALL FUNCTION 'BAPI_INCOMINGINVOICE_CANCEL'
        EXPORTING
          invoicedocnumber          = pt_belnr
          fiscalyear                = pt_gjahr
          reasonreversal            = pt_stgrd
          postingdate               = pt_budat
        IMPORTING
          invoicedocnumber_reversal = et_belnr
          fiscalyear_reversal       = et_gjahr
        TABLES
          return                    = l_returns[].
    ELSE.
      CALL FUNCTION 'BAPI_INCOMINGINVOICE_CANCEL'
        EXPORTING
          invoicedocnumber          = pt_belnr
          fiscalyear                = pt_gjahr
          reasonreversal            = pt_stgrd
        IMPORTING
          invoicedocnumber_reversal = et_belnr
          fiscalyear_reversal       = et_gjahr
        TABLES
          return                    = l_returns[].
    ENDIF.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait = 'X'.
    CLEAR et_return.
*Return error message if error encountered
    LOOP AT l_returns INTO l_return.
      IF et_return IS INITIAL.
        et_return = l_return-message.
      ELSE.
        CONCATENATE et_return ';' l_return-message INTO et_return.
      ENDIF.
    ENDLOOP.
  ENDMETHOD.                    "CANCEL
ENDCLASS.                    "MR8M IMPLEMENTATION
分享到:
评论

相关推荐

    BAPI_NETWORK_COMP_CHANGE 修改项目网络组件的BAPI

    ### BAPI_NETWORK_COMP_CHANGE:修改项目网络组件的BAPI #### 概述 在SAP系统中,项目管理(Project Management, PM)是用于管理和控制工程项目的重要工具之一。项目网络则是PM模块中用来规划和控制项目活动的关键...

    用BAPI_PO_CHANGE修改(ME23N)PO出貨日期的方法

    ### 使用BAPI_PO_CHANGE修改(ME23N)采购订单(PO)出货日期的方法 在SAP系统中,采购订单(Purchase Order, PO)管理是供应链管理中的一个关键环节,涉及采购请求、供应商选择、合同谈判等多个流程。在实际业务操作...

    凭证导入BAPI_ACC_DOCUMENT_POST

    标题与描述中的“凭证导入 BAPI_ACC_DOCUMENT_POST”指向了一个特定的SAP系统功能,用于自动化导入财务凭证,尤其在银行流水与企业财务系统间建立接口时至关重要。此过程不仅涉及标准参数的传递,还触及了如何处理和...

    预置发票批量过帐

    调用BAPI函数:BAPI_INCOMINGINVOICE_POST实现批量MIR4功能。

    如何利用BAPI_SALESORDER_CHANGE修改vbak增强字段

    在本案例中,我们需要利用BAPI_SALESORDER_CHANGE来修改销售订单(Sales Order,简称SO)的抬头增强字段。这个需求在实际项目中常见,因为企业往往需要自定义一些标准字段来满足特定的业务需求。 首先,我们要了解...

    BAPI_ACC_DOCUMENT_POST增强

    SAP系统中的BAPI_ACC_DOCUMENT_POST增强 在SAP系统中,会计凭证过账时,需要将预留预算清掉,但是在接口中没有该字段。为了解决这个问题,可以使用BAPI_ACC_DOCUMENT_POST中的EXTENSION2传入值来实现。下面是实现的...

    BAPI_NETWORK_MAINTAIN 下达项目网络的BAPI

    ### BAPI_NETWORK_MAINTAIN:下达项目网络的BAPI #### 概述 在SAP系统中,**BAPI_NETWORK_MAINTAIN** 是一个用于维护和管理项目网络的业务应用程序接口(Business Application Programming Interface,简称BAPI)...

    sap abap常用bapi

    15. BAPI_GOODSMVT_CREATE/BAPI_GOODSMVT_CANCEL/BAPI_GOODSMVT_GETDETAIL/BAPI_GOODSMVT_GETITEMS 这些BAPI用于创建、取消、获取详细信息和获取商品移动的项目。 16. BAPI_PR_CREATEPR 此BAPI用于创建生产订单。 ...

    创建销售订单

    BAPI_SALESORDER_CREATEFROMDAT2是SAP系统中创建销售订单的API接口,通过调用这个接口,可以快速创建销售订单。 在创建销售订单时,需要设置订单的头信息、项目信息、伙伴信息和计划信息等。头信息包括订单类型、...

    BAPI_PO_CREATE.zip_bapi_po_create help

    通过JCo接口利用BAPI函数创建PO订单

    关于用BAPI批量创建工艺路线

    该解决方案是围绕 BAPI_ROUTING_CREATE 函数的使用,旨在解决 BAPI_ROUTING_CREATE 不可以创建定额工艺路线的问题。 首先,让我们了解 BAPI_ROUTING_CREATE 函数的基本参数。该函数主要包括三个参数:TASK、...

    BAPI-ACC-DOCUMENT-POST 结构字段扩展

    在SAP系统中,`BAPI_ACC_DOCUMENT_POST` 是一个重要的业务应用程序接口(BAPI),用于执行财务凭证的过账处理。但在实际应用过程中,可能会遇到现有BAPI无法完全满足特定业务需求的情况,比如需要额外的字段来存储...

    创建及修改物料主数据

    本文将详细介绍如何使用BAPI_TRANSACTION_COMMIT创建及修改物料主数据,包括物料主数据的创建和修改、物料描述的设置、客户端层次物料数据的设置、物料类型的设置等。 物料主数据的创建 在SAP系统中,物料主数据是...

    实用BAPI做内部调拨

    本示例中的"实用BAPI做内部调拨"是指使用BAPI_GOODSMVT_CREATE来执行物料在同一个工厂内的库存移动,即内部调拨。内部调拨在供应链管理中是一种常见的操作,用于调整库存位置,例如将物料从仓库的一个存储位置转移到...

    采购订单BAPI增强数值型字段转换方法.docx

    在这里,我们将使用BADI:ES_BADI_ME_BAPI中的ME_BAPI_PO_CUST来实现数值型字段的转换。 以下是实现BADI的步骤: 1. 进入TCode:SE19,在New BADI处填入ES_BADI_ME_BAPI,点击Create Impl按钮。 2. 填写名称和描述...

    LSMW_BAPI_MM02_CS01.xlsx

    LSMW_BAPI_MM02_CS01

    BAPI_GOODS的函数说明

    这是SAP ABAP 中BAPI GOODS的函数说明,有利于用户进行更深入的了解

    SAP 所有BAPI的清单

    SAP中很多情况下客户提出增强的需求时,我们通常会用到BAPI或者BADI。虽然你可以在SAP中直接输入TCd:BAPI来查找。但是并不是所有的BAPI都能查得到的。希望这个清单能够帮到你。

    批量冲销生产订单报工,ABAP程序

    这里提到了`BAPI_PP_CONF_KEY`结构,它用于传递确认号和计数器,`BAPI_PP_CONFIRM`结构则包含报工的日期和文本信息。 程序可能通过循环遍历`IT_AFRU`内的数据,调用BAPI撤销每个报工记录,并检查返回值`RETURN`来...

    BAPI_User_Guide word文档

    《BAPI用户指南》 本指南旨在为SAP开发者提供有关BAPI(Business Application Programming Interface)的详尽信息,帮助他们更好地理解和运用这些接口。BAPI是SAP系统中的核心组件,它允许外部应用程序与SAP系统...

Global site tag (gtag.js) - Google Analytics