导语:最近在做PP模块的开发,涉及到【计划订单】转【生产订单】,搜罗了一下资料,整理了一下,直接贴代码吧。
【BAPI记录清单…】
【BAPI名称】:BAPI_PRODORD_CREATE_FROM_PLORD
计划订单转生产订单,会存在实际需要转的生产订单与计划订单数量不相等的情况,这种情况不能直接调用下面的bapi。
需要先修改计划订单的数量,然后再调用bapi,修改(后面会写计划订单修改数量)
或者,调用BAPI之后,再修改生产订单的数量。
以上两种办法都可以
计划订单转生产订单
*&---------------------------------------------------------------------*
*& Report Z_JYH_TEST2
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_jyh_test2.
CALL FUNCTION 'BAPI_PRODORD_CREATE_FROM_PLORD'
EXPORTING
planned_order = gv_plnum_in "计划订单编号
order_type = 'ZP01' "<fs_alv>-auart
IMPORTING
production_order = lv_order_number "生产订单编号
return = ls_return.
修改计划订单数量
DATA:lv_msg TYPE string.
DATA:gv_flag .
DATA:gv_plnum_in TYPE plnum.
DATA:gv_plnum_out TYPE plnum.
DATA:gv_aufnr_in TYPE aufnr.
DATA:gv_aufnr_out TYPE aufnr.
" Create BAPI_PLANNEDORDER_CHANGE
* 修改计划订单数量
CALL FUNCTION 'BAPI_PLANNEDORDER_CHANGE'
EXPORTING
plannedorder = gv_plnum_in "计划订单
headerdata = VALUE bapiplaf_i2(
total_plord_qty = is_input-psmng "数量
order_start_date = ls_plaf-psttr " 日期
order_fin_date = ls_plaf-pedtr " 日期
stge_loc = is_input-lgort " 库存地点
firming_ind = 'X' " 标识必打,不然转单bapi报错
conversion_ind = 'X' ) " 标识必打,不然转单bapi报错
headerdatax = VALUE bapiplaf_i2x(
total_plord_qty = 'X'
order_start_date = 'X'
order_fin_date = 'X'
firming_ind = 'X'
conversion_ind = 'X' )
IMPORTING
return = ls_ret.
作者:小飞猪猪猪猪猪猪猪–CSDN