关于WS_DELIVERY_UPDATE_2的NO_MESSAGES_UPDATE_1参数是否阻止交货单打印的问询
问题描述
在使用函数模块WS_DELIVERY_UPDATE_2时,已经在事务码NACE里针对指定发货点的LD00消息清空了打印机、份数设置,还取消了「立即打印」的勾选——这个配置在VL02N里是生效的,但在我们自己的Z程序里完全没用,交货单还是会自动打印。相关调用代码如下:
call function 'WS_DELIVERY_UPDATE_2' exporting vbkok_wa = vbkok_wa commit = 'X' delivery = lv_vbeln update_picking = 'X' nicht_sperren_1 = 'Y' if_database_update_1 = '1' if_error_messages_send = ' ' tables vbpok_tab = vbpok_tab.
后来发现这个函数有个导入参数NO_MESSAGES_UPDATE_1,想问问有没有人实际测试过这个参数,它能不能用来阻止消息打印?
解决方案说明
NO_MESSAGES_UPDATE_1参数就是专门用来控制交货单更新时是否触发输出消息(包括打印动作)的,把它设为'X',函数就会跳过输出消息的生成和发送流程。- 不少开发者都测试过这个参数:在调用
WS_DELIVERY_UPDATE_2时加上这个参数并赋值'X',原本会触发的LD00打印消息确实会被抑制,完全匹配你的场景需求。 - 修改后的代码示例:
call function 'WS_DELIVERY_UPDATE_2' exporting vbkok_wa = vbkok_wa commit = 'X' delivery = lv_vbeln update_picking = 'X' nicht_sperren_1 = 'Y' if_database_update_1 = '1' if_error_messages_send = ' ' no_messages_update_1 = 'X' " 新增该参数,抑制输出消息 tables vbpok_tab = vbpok_tab.
- 额外提醒:这个参数只影响当前函数调用时的消息触发,不会改动NACE里的配置,也不会影响VL02N这类标准事务的正常消息逻辑。
内容的提问来源于stack exchange,提问作者Nelson Miranda
相关产品推荐
相关产品推荐

