SAP ABAP BAPI_PRODORD_CHANGE 修改生产订单基本信息
其实用两个函数:
BAPI_PRODORD_SCHEDULE
BAPI_PRODORD_CHANGE
l_aufnr --为定义的工单号
l_aufnr = <fs_alv>-aufnr. "加上前导零 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = l_aufnr "生产订单号 IMPORTING output = l_aufnr. "生产订单号 IF <fs_alv>-terkz IS NOT INITIAL. iw_aufnr-order_number = l_aufnr. APPEND iw_aufnr TO it_aufnr. CALL FUNCTION 'BAPI_PRODORD_SCHEDULE' EXPORTING sched_type = <fs_alv>-terkz * FWD_DLV_ORIGIN = * FWD_DLV_DATE = * FWD_DLV_TIME = * FWD_DLV_OFFSET = * FWD_DLV_UNIT = * FWD_BEG_ORIGIN = * FWD_BEG_DATE = * FWD_BEG_TIME = * FWD_BEG_OFFSET = * FWD_BEG_UNIT = * BCK_DLV_ORIGIN = * BCK_DLV_DATE = * BCK_DLV_TIME = * BCK_DLV_OFFSET = * BCK_DLV_UNIT = * BCK_BEG_ORIGIN = * BCK_BEG_DATE = * BCK_BEG_TIME = * BCK_BEG_OFFSET = * BCK_BEG_UNIT = * WORK_PROCESS_GROUP = 'COWORK_BAPI' * WORK_PROCESS_MAX = 99 * IMPORTING * RETURN = TABLES orders = it_aufnr * DETAIL_RETURN = * APPLICATION_LOG = . COMMIT WORK. ENDIF. CLEAR:it_wo,it_wox. it_wo-quantity = <fs_alv>-gamng."修改数量 it_wox-quantity = 'X'."修改数量标志 it_wo-basic_start_date = <fs_alv>-gstrp."修改开始日期 it_wox-basic_start_date = 'X'."修改开始日期标志 it_wo-basic_end_time = '235900'. "kaven20250211 强制附加一个时间,否则可能提前一天 it_wo-basic_end_date = <fs_alv>-gltrp."修改结束日期 it_wox-basic_end_date = 'X'."修改结束日期标志 CALL FUNCTION 'BAPI_PRODORD_CHANGE' EXPORTING number = l_aufnr orderdata = it_wo orderdatax = it_wox IMPORTING return = errmsg. IF errmsg-type = 'E' OR errmsg-type = 'A'. message = errmsg-message. <fs_alv>-type = 'E'. CONCATENATE errmsg-message ' ' <fs_alv>-msg INTO <fs_alv>-msg. ELSE. COMMIT WORK. message = '生产订单修改成功!'. <fs_alv>-msg = message. <fs_alv>-type = 'S'. ENDIF.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?