BAPI_SALESORDER_SIMULATE V1524仅允许数量1 ST(项目000001)

2020-08-23 21:34发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,
我们正在使用BAPI_SALESORDER_CREATEFROMDAT2创建一个订单,并且可以正常工作。
现在,为了获得价格计算并执行一些检查,需要在订单创建前进行模拟。

因此,我创建了一个新方法来传递bapi BAPI_SALESORDER_CREATEFROMDAT2中使用的表并填充BAPI_SALESORDER_SIMULATE的表。
但我总是收到此错误" V1524仅允许数量1 UN(商品000001)"

表中的值相同,并且可用于创建bapi。

我想我需要在日程表表中填写其他字段,现在我只传递了ITM_NUMBER和REQ_QTY(在创建bapi中工作正常)。 我也尝试过传递SCHED_LINE = 0001和REQ_DATE = sy-datum,但是存在相同的错误...

这是我正在使用的代码(数据来自我在创建bapi中使用的表)

 METHOD模拟订单。

   数据:
     lv_salesorder TYPE bapivbeln-vbeln,
     ls_header_in TYPE bapisdhead,
     ls_items_in TYPE bapiitemin,
     ls_partners_in TYPE bapipartnr,
     ls_schedule_in TYPE Bapischdl,
     ls_return TYPE bapireturn,
     lt_item_in bapiitemin的类型标准表,
     lt_partners_in bapipartnr的类型标准表,
     lt_schedule_in bapischdl的类型标准表,
     lt_item_out bapiitemex的类型标准表,
     lt_cond类型标准表,
     lt_messagetable bapiret2的类型标准表。

   字段符号:
      TYPE bapisditm,
      TYPE bapiparnr,
      TYPE Bapischdl。

   将is_header_in移动到ls_header_in。

   循环至it_items_in分配。
     将移动到ls_items_in。
     附加ls_items_in至lt_item_in。
   结局。

   循环至it_partner ASSIGNING 。
     将移动到ls_partners_in。
     APPEND ls_partners_in至lt_partners_in。
   结局。

   循环至it_schedules分配。
     将移动到ls_schedule_in。
     附加ls_schedule_in至lt_schedule_in。
   结局。

   通话功能'BAPI_SALESORDER_SIMULATE'
     出口
       order_header_in = ls_header_in
     输入
       salesdocument = lv_salesorder
       返回= ls_return
     桌子
       order_items_in = lt_item_in
       order_partners = lt_partners_in
       order_schedule_in = lt_schedule_in
       order_items_out = lt_item_out
       order_condition_ex = lt_cond
       messagetable = lt_messagetable。


 ENDMETHOD。

有任何线索吗?

谢谢!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,
我们正在使用BAPI_SALESORDER_CREATEFROMDAT2创建一个订单,并且可以正常工作。
现在,为了获得价格计算并执行一些检查,需要在订单创建前进行模拟。

因此,我创建了一个新方法来传递bapi BAPI_SALESORDER_CREATEFROMDAT2中使用的表并填充BAPI_SALESORDER_SIMULATE的表。
但我总是收到此错误" V1524仅允许数量1 UN(商品000001)"

表中的值相同,并且可用于创建bapi。

我想我需要在日程表表中填写其他字段,现在我只传递了ITM_NUMBER和REQ_QTY(在创建bapi中工作正常)。 我也尝试过传递SCHED_LINE = 0001和REQ_DATE = sy-datum,但是存在相同的错误...

这是我正在使用的代码(数据来自我在创建bapi中使用的表)

 METHOD模拟订单。

   数据:
     lv_salesorder TYPE bapivbeln-vbeln,
     ls_header_in TYPE bapisdhead,
     ls_items_in TYPE bapiitemin,
     ls_partners_in TYPE bapipartnr,
     ls_schedule_in TYPE Bapischdl,
     ls_return TYPE bapireturn,
     lt_item_in bapiitemin的类型标准表,
     lt_partners_in bapipartnr的类型标准表,
     lt_schedule_in bapischdl的类型标准表,
     lt_item_out bapiitemex的类型标准表,
     lt_cond类型标准表,
     lt_messagetable bapiret2的类型标准表。

   字段符号:
      TYPE bapisditm,
      TYPE bapiparnr,
      TYPE Bapischdl。

   将is_header_in移动到ls_header_in。

   循环至it_items_in分配。
     将移动到ls_items_in。
     附加ls_items_in至lt_item_in。
   结局。

   循环至it_partner ASSIGNING 。
     将移动到ls_partners_in。
     APPEND ls_partners_in至lt_partners_in。
   结局。

   循环至it_schedules分配。
     将移动到ls_schedule_in。
     附加ls_schedule_in至lt_schedule_in。
   结局。

   通话功能'BAPI_SALESORDER_SIMULATE'
     出口
       order_header_in = ls_header_in
     输入
       salesdocument = lv_salesorder
       返回= ls_return
     桌子
       order_items_in = lt_item_in
       order_partners = lt_partners_in
       order_schedule_in = lt_schedule_in
       order_items_out = lt_item_out
       order_condition_ex = lt_cond
       messagetable = lt_messagetable。


 ENDMETHOD。

有任何线索吗?

谢谢!

付费偷看设置
发送
5条回答
当学会了学习
1楼-- · 2020-08-23 21:59

如果您尝试创建数量不同于1的销售订单商品,并且该商品的类型是检查以下字段的类型,则会生成错误V1524:

通常该设置用于与服务相关的项目。

查看销售订单项目的配置和销售情况 订购商品配置,请查看您要创建的商品类型。

是您尝试创建错误的商品类型,还是商品类型配置错误。

最诚挚的问候

Dominik Tylczynski

宇峰Kouji
2楼-- · 2020-08-23 21:46

我忘了评论我使用的数量= 1

小灯塔
3楼-- · 2020-08-23 21:51

嗨,

您是否传递了波纹管信息

 ls_header_in-doc_type ='ZZZ'。
   ls_header_in-sales_org = p_vkorg。
   ls_header_in-distr_chan = p_vtweg。
   ls_header_in-division = p_spart。
   ls_header_in-purch_no ="测试"。

 * - -伙伴
   ls_partners-partn_role ='AG'。
   ls_partners-partn_numb = P_kunnr。
   追加ls_partners至lt_partners。

 *-填项数据
   将gt_mat循环到gwa_mat中。
     ls_items_in-itm_number = ls_items_in-itm_number + 10。
     ls_items_in-material = gwa_mat-matnr。
     ls_items_in-req_qty ='1'。
     附加ls_items_in至lt_items_in。

 *-时间表行

     ls_schedule_in-itm_number = ls_schedule_in-itm_number + 10。
     ls_schedule_in-req_qty ='1'。
 * ls_schedule_in-req_date = sy-datum。
     附加ls_schedule_in至lt_schedule_in。
   结局。

   通话功能'BAPI_SALESORDER_SIMULATE'
     出口
       order_header_in = ls_header_in
     输入
       返回= ls_return
     桌子
       order_items_in = lt_items_in
       order_partners = lt_partners
       order_schedule_in = lt_schedule_in
       order_items_out = lt_items_out。
 
土豆飞人
4楼-- · 2020-08-23 22:05

嗨,谢谢您的回答。
我已经检查了tx vov7,并且我尝试创建的商品类别已选中此标志。

但是我 在创建和模拟中使用数量= 1的m。
在创建过程中工作正常,但在模拟中效果不佳。

一只江湖小虾
5楼-- · 2020-08-23 22:03
以获取价格计算并执行一些检查。

尝试提供所有输入参数 例如条件类型,条件速率,还可以将字段T685A_KMANU设置为C。如果这不适用于您的测试目的,请查看OSS注释536483,查看是否需要进行代码更正。

一周热门 更多>