`
JerryWang_SAP
  • 浏览: 1031107 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何利用BAPI SD_SALESDOCUMENT_CHANGE修改Sales Order的字段

阅读更多

假设我想修改S/4HANA里Sales Order抬头的Service Date字段SERV_DATE:

首先从数据库表VBKD里查找到SERV_DATE修改之前的值为2020年1月1日

 

使用如下代码,将这个字段的值改成2020年1月2日。


REPORT zchange_so1.

DATA: lv_num        TYPE bapivbeln-vbeln,
      ls_doc_header TYPE bapisdhd1,
      lt_vbap       TYPE STANDARD  TABLE OF vbap.

lv_num = '0000000268'.

CALL FUNCTION 'SD_VBAP_READ_WITH_VBELN'
  EXPORTING
    i_vbeln          = lv_num
  TABLES
    et_vbap          = lt_vbap
  EXCEPTIONS
    record_not_found = 1
    OTHERS           = 2.

BREAK-POINT.

DATA: i_order_header_in  LIKE bapisdhd1 .
DATA: i_order_header_inx LIKE bapisdhd1x,
      lt_bapiret2        LIKE bapiret2   OCCURS 0 WITH HEADER LINE.

i_order_header_inx-updateflag = 'U'.
i_order_header_in-serv_date = '20200102' .
i_order_header_inx-serv_date = 'X'.


CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
  EXPORTING
    salesdocument    = lv_num
    order_header_in  = i_order_header_in
    order_header_inx = i_order_header_inx
  TABLES
    return           = lt_bapiret2.

clear: lt_bapiret2.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  IMPORTING
     RETURN = lt_bapiret2.

BREAK-POINT.

执行之后,从输出参数lt_bapiret2里查看到这个Sales Order已经成功被更新了。

 

从后台数据库表VBKD里查看到这个字段的值也已经成功更新了:

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 
0
0
分享到:
评论

相关推荐

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

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

    凭证导入BAPI_ACC_DOCUMENT_POST

    整个过程展示了如何在SAP系统中利用BAPI_ACC_DOCUMENT_POST导入凭证的同时,有效地处理非标准字段。从创建结构以容纳额外信息,到实现BADI增强以确保这些信息能被系统识别和应用,再到使用EXTENSION2参数表实际传递...

    BAPI_NETWORK_COMP_CHANGE 修改项目网络组件的BAPI

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

    BAPI_ACC_DOCUMENT_POST增强

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

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

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

    创建销售订单

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

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

    ### BAPI-ACC-DOCUMENT-POST 结构字段扩展 #### 概述 在SAP系统中,`BAPI_ACC_DOCUMENT_POST` 是一个重要的业务应用程序接口(BAPI),用于执行财务凭证的过账处理。但在实际应用过程中,可能会遇到现有BAPI无法...

    sap abap常用bapi

    12. BAPI_SALESORDER_CHANGE/MB_CANCEL_GOODS_MOVEMENT/BAPI_SALESORDER_CHANGEMB_CANCEL_GOODS_MOVEMENT 这些BAPI分别用于更改销售订单、取消物资移动和更改销售订单中的物资移动。 13. BAPI_ACC_DOCUMENT_POST/...

    销售订单创建BAPI批导程序源码.txt

    ABPA 销售订单创建BAPI批导程序的源码,有详细的检查和美观的界面。主要用两个BAPI:BAPI_SALESORDER_CREATEFROMDAT2和SD_SALESDOCUMENT_CREATE

    BAPI_NETWORK_MAINTAIN 下达项目网络的BAPI

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

    实用BAPI做内部调拨

    在SAP系统中,BAPI(Business Application Programming Interface)是一种预定义的函数模块,用于在不同组件之间进行集成和自动化业务流程。本示例中的"实用BAPI做内部调拨"是指使用BAPI_GOODSMVT_CREATE来执行物料...

    BAPI批量修改工单的工艺路线.pdf

    以上内容介绍了通过BAPI批量修改工单工艺路线的基本方法和注意事项,详细阐述了使用CO_SE_PRODORD_CHANGE函数的方法,并指出了处理未包含在函数参数中的字段和实施增强的重要性。这些知识点将帮助技术人员有效地在...

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

    采购订单BAPI增强数值型字段转换方法 在采购订单系统中,使用BAPI(Business Application Programming Interface)可以实现采购订单的自动化创建和更新。然而,在使用BAPI时,需要注意数值型字段的转换问题。数值型...

    BAPI_PO_CREATE.zip_bapi_po_create help

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

    BAPI字段扩展.txt

    ABAP开发中调用BAPI执行业务,有时会遇到所需字段在标准BAPI没提供,可以通过该方法实现字段扩展

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

    BAPI 批量创建工艺路线解决方案 在本文中,我们将详细介绍如何使用 BAPI 批量创建工艺路线的解决方案。该解决方案是围绕 BAPI_ROUTING_CREATE 函数的使用,旨在解决 BAPI_ROUTING_CREATE 不可以创建定额工艺路线的...

    BAPI创建SO.doc

    在销售订单管理中,BAPI_SALESORDER_CREATEFROMDAT2是一个非常重要的接口,用于创建新的销售订单。本文将详细介绍如何使用BAPI_SALESORDER_CREATEFROMDAT2接口创建销售订单,并提供相应的ABAP代码示例。 BAPI_SALES...

    创建及修改物料主数据

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

    SAP 所有BAPI的清单

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

    采购订单抬头和行项目屏幕增强&BAPI传入自定义字段

    在SAP系统中,屏幕增强是一项重要的自定义功能,它允许用户根据自己的需求对标准屏幕进行扩展和修改。采购订单抬头和行项目屏幕增强主要是对ME21N(创建和更改采购订单)、ME22N(更改采购订单)和ME23N(显示采购...

Global site tag (gtag.js) - Google Analytics