如何处理用代码创建SD Sales order时遇到的错误消息KI 180

简介: 错误消息KI 180:You must enter a company code for transaction Create sales document 代码: REPORT zcreate_so.

错误消息KI 180:You must enter a company code for transaction Create sales document

代码:

REPORT zcreate_so.


DATA: ls_header   TYPE bapisdhd1,
      ls_headerx  TYPE bapisdhd1x,
      lt_bapiret2 LIKE bapiret2   OCCURS 0 WITH HEADER LINE.


ls_header-serv_date = '20200101'.
ls_header-doc_type = 'TA'.

ls_headerx-doc_type = 'X'.
ls_headerx-updateflag = 'U'.

CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
  EXPORTING
    sales_header_in       = ls_header
    sales_header_inx      = ls_headerx
    int_number_assignment = 'X'
  TABLES
    return                = lt_bapiret2.

LOOP AT lt_bapiret2 ASSIGNING FIELD-SYMBOL(<return>) WHERE type = 'E'.
  WRITE:/ 'Error:', <return>-message COLOR COL_NEGATIVE.
  RETURN.
ENDLOOP.

通过调试,发现错误消息是在下面的函数里抛出的:

原因:事务码VA03,打开一个已有的Sales Order,Goto->Header->Billing, 查看Company code:

得知Company code存储于表VBAK的字段BUKRS里。

解决方案:上述代码加上下面两行,问题即解决:

ls_header-comp_cde_b = '0001'.

ls_headerx-comp_cde_b = 'X'.

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

相关文章
|
4月前
|
数据库
大事件后端项目25-------更新文章分类和添加文章分类---分组校验
大事件后端项目25-------更新文章分类和添加文章分类---分组校验
|
设计模式 JavaScript 前端开发
SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑
SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑
|
中间件 Go
使用SAP CRM中间件下载customer的错误消息:Number not in interval XXX – XXX
使用SAP CRM中间件下载customer的错误消息:Number not in interval XXX – XXX
使用SAP CRM中间件下载customer的错误消息:Number not in interval XXX – XXX
SAP WM 明明为OBD创建成功了GroupNumber,却被提示该Group Number不存在?
SAP WM 明明为OBD创建成功了GroupNumber,却被提示该Group Number不存在?
SAP WM 明明为OBD创建成功了GroupNumber,却被提示该Group Number不存在?
SAP WM 2-Step Picking流程里创建的Group的分析
SAP WM 2-Step Picking流程里创建的Group的分析
SAP WM 2-Step Picking流程里创建的Group的分析
SAP WM 执行VL06P为交货单创建组,报错-TO for multiple deliveries only with delayed delivery update-
SAP WM 执行VL06P为交货单创建组,报错-TO for multiple deliveries only with delayed delivery update-
SAP WM 执行VL06P为交货单创建组,报错-TO for multiple deliveries only with delayed delivery update-
SAP RETAIL 为分配表触发PO后将PO删除,不能再次为它创建PO了
SAP RETAIL 为分配表触发PO后将PO删除,不能再次为它创建PO了
SAP RETAIL 为分配表触发PO后将PO删除,不能再次为它创建PO了
SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明
订阅专栏 在浏览器里访问如下url遇到错误: https://jerry.sap.corp:44300/sap/opu/odata/sap/C_SALESCONTRACTITMFLFMTQ_CDS/$metadata
SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明