点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大师们,
我正在研究一个上载程序,它将大量创建销售订单。
简介如下:
1。 价格都是在上传过程中手动输入的。
2。 条件类型(ZEAP)配置为允许手动输入。
3。 通过VA01手动创建可以正常工作。
4。 我正在尝试上传并创建包含多个订单项的销售订单。
5。 所有订单项在上传文件中以及传递给bapi BAPI_SALESORDER_CREATEFROMDAT2之前都具有相同的条件类型(ZEAP)。
我的问题:
1。 当上传包含3个订单项的销售订单时,在创建的销售订单中,前两个订单项的价格会更新。 第三行未更新 。
2。 仅当有多个订单项时才会发生问题,并且仅在最后一个订单项时发生。
请告知可能的错误原因是什么,让我知道信息足够。
代码段:
"订单项条件详细信息开始 ls_cond-itm_number = lv_posnr。 ls_cond-cond_type =-kschl。 ls_cond-cond_value = -kbetr。 ls_cond-condvalue = -kbetr。 ls_cond-cond_p_unt = -kpein。 ls_cond-currency = -waers。 ls_cond-curr_iso = -waers。 ls_cond-cond_unit = -kmein。 ls_cond-cd_unt_iso = -kmein。 ls_cond-cond_st_no ='020'。 ls_cond-cond_count ='01'。 ls_cond-cond_updat = abap_true。 ls_condx-itm_number = lv_posnr。 ls_condx-cond_st_no ='020'。 ls_condx-cond_count ='01'。 ls_condx-cond_type = -kschl。 ls_condx-cond_value = abap_true。 ls_condx-cond_p_unt = abap_true。 ls_condx-currency = abap_true。 ls_condx-cond_unit = abap_true。 ls_condx-updateflag ='U'。 将ls_items附加到lt_items。 附加ls_itemx到lt_itemx。 附加ls_schedule至lt_schedule。 附加ls_schedulex至lt_schedulex。 附加ls_cond至lt_cond。 附加ls_condx至lt_condx。 结局。 通话功能'BAPI_SALESORDER_CREATEFROMDAT2' 出口 order_header_in = ls_header order_header_inx = ls_headerx 输入 salesdocument = lv_vbeln 桌子 返回= lt_return order_items_in = lt_items order_items_inx = lt_itemx order_partners = lt_partner order_schedules_in = lt_schedule order_schedules_inx = lt_schedulex order_conditions_in = lt_cond order_conditions_inx = lt_condx。
这很奇怪,但可能有多种原因。 从我的头顶开始:
1)它总是最后一个吗? 检查1件物品,例如5件物品。 在所有项目中使用相同的材料,以确保与材料无关。
2)在VA01中使用相同的数据并确认它可以工作-可能涉及其他因素,并且不能为特定商品输入此特定条件吗?
3) 用户出口出错了吗?
在代码中没有看到任何错误,我认为您已经在调用BAPI之前检查了数据。
已解决 它。 该问题是由现有的用户出口引起的。 我们添加了适当的过滤器,以使其不会被我们的程序触发。
一周热门 更多>