下图是使用ABAP代码创建的S/4HANA的Sales Order的截图:

其中红色区域的值是我代码里硬编码的,而蓝色是函数SD_SALESDOCUMENT_CREATE自己创建的。

来看下代码:

DATA: ls_header       TYPE bapisdhd1,
ls_headerx      TYPE bapisdhd1x,
lt_bapiret2     LIKE bapiret2   OCCURS 0 WITH HEADER LINE,
po_order_number TYPE bapivbeln-vbeln,
lt_partners     TYPE TABLE OF bapiparnr,
ls_partners     LIKE LINE OF lt_partners.ls_header-serv_date = '20200101'.
ls_header-doc_type = 'TA'. “销售订单的类型ls_header-comp_cde_b = '0001'. ” 公司代码
ls_headerx-comp_cde_b = 'X'.ls_headerx-doc_type = 'X'.
ls_headerx-updateflag = 'I'. “ 指定修改模式为I-创建ls_partners-partn_role = 'WE'. "ship to party
ls_partners-partn_numb = '0000000001'. ”这个客户主数据在数据库表KNA1里必须存在
APPEND ls_partners TO lt_partners.ls_partners-partn_role = 'AG'. " sold to party
ls_partners-partn_numb = '0000000001'.
APPEND ls_partners TO lt_partners.“调用BAPI:
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
sales_header_in       = ls_header
sales_header_inx      = ls_headerx
int_number_assignment = 'X'
IMPORTING
salesdocument_ex      = po_order_number
TABLES
return                = lt_bapiret2
sales_partners        = lt_partners.LOOP AT lt_bapiret2 ASSIGNING FIELD-SYMBOL(<return>) WHERE type = 'E'.
WRITE:/ 'Error:', <return>-message COLOR COL_NEGATIVE.
RETURN.
ENDLOOP.IF po_order_number IS INITIAL.
WRITE:/ 'PO number initial'.
RETURN.
ENDIF.CLEAR: lt_bapiret2.CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait   = 'X'
IMPORTING
return = lt_bapiret2.

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

使用ABAP代码创建S/4HANA里的Sales Order相关推荐

  1. SAP HU 序列号里的Sales Order号码不一致导致PGI失败问题之对策

    SAP HU & 序列号里的Sales Order号码不一致导致PGI失败问题之对策 笔者所在的项目上,某日收到业务部门用户报问题说某个DN发货过账,报错:"The indicato ...

  2. 用ABAP代码读取S/4HANA生产订单工序明细

    在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...

  3. 用ABAP代码读取S/4HANA生产订单工序明细 1

    在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...

  4. 使用ABAP代码返回S/4HANA Material上维护的Attachment明细

    在事务码 MM02里为ID为16的material维护附件: 如何使用ABAP代码获得如下附件的名称和文件内容? REPORT zgos_api.DATA ls_appl_object TYPE go ...

  5. 使用ABAP代码获得tcode RZ11里的参数值

    Created by Jerry Wang, last modified on May 15, 2014 transaction code RZ11可以查询和修改各种类型的系统参数,例如http pl ...

  6. 使用BAPISDORDER_GETDETAILEDLIST创建S/4HANA的Outbound Delivery

    要在S/4HANA里创建Outbound Delivery,首先要具有一个销售订单,ID为376,通过事务码VA03查看. 只用61行代码就能实现基于这个Sales Order去创建对应的outbou ...

  7. 关于SAP S/4HANA里ABAP源代码管理功能的增强

    关于SAP S/4HANA里ABAP源代码管理功能的增强 和以前老的ECC里的版本管理功能相比,S/4HANA里增添了两个按钮:Fetch Remote Version和Search: 前者可以直接将 ...

  8. 在Visual Studio Code里编写ABAP代码

    今天在公司在线安装SAPGUI,一上午的时间都没把安装包下载完,有点怀念07年刚入坑ABAP时那会儿身材苗条的SAPGUI. 最近Visual Studio Code里和ABAP相关的扩展越来越多了, ...

  9. 如何查找Authorization object在哪些ABAP代码里使用到

    2019独角兽企业重金招聘Python工程师标准>>> 使用事务码SUIM: 双击where-Used List->Authorization Objects->In P ...

最新文章

  1. 团队开发中的 Git 实践
  2. git 远程仓库版本的回退以及git reset 几种常用方式记录
  3. 5.9、离散卷积的一般描述
  4. 项目管理的五个核心风险区
  5. 【做题记录】AtCoder AGC做题记录
  6. [攻防世界 pwn]——pwn1(内涵peak小知识)
  7. scrollview下拉刷新_SwiftUI之View Tree 实战3(下拉刷新)
  8. 超棒的在线Bootstrap主题编辑工具 - lollytin
  9. javascript 栈 Stack
  10. vue点击切换类名_vue 新用户引导(vue-dirver)
  11. centos安装词典——图形界面的和命令行
  12. gsm模块 java 录音_Android GSM驱动模块详细分析
  13. vim修改tab默认4个空格
  14. (递归)666:放苹果
  15. Html辅助方法(分页、下拉框)
  16. 选课系统软件功能测试报告,学生选课系统测试报告.doc
  17. 微信开发者工具公众号网页调试跨域问题的解决
  18. 图层重命名快捷键_图层的基础知识
  19. 《深入理解RPC框架原理与实现 华钟明》读书笔记
  20. H3C光模块专题笔记

热门文章

  1. Jmock 原理简单说明
  2. angularjs 路由---angularjs 搭建前端框架
  3. python定时刷新tkinter界面_如何在python中“刷新”Tkinter窗口?
  4. filestream 生成xml 文件时被如何让禁止转义_从Edgecam到PCDMIS,如何将工艺工程师的思想加入质量检测?...
  5. SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上
  6. 手动调用cx-table.focus和a.focus方法的效果比较
  7. Windows环境下,如何在Docker里运行SAP UI5应用
  8. SAP S/4HANA系统Fiori UI上Adapt UI按钮显示与否的控制逻辑
  9. SAP S4HANA custom logic的一个实际例子
  10. SAP Fiori application do filtering will real delete note in DB