对于已经创建HU的物料,再调用HU_CREATE_GOODS_MOVEMENT
创建凭证的时候遇到了下面的问题
情景是这样:
先对ct00 工厂的数据进行了bapi调用
commit后
又对CT20 工厂数据进行操作
这个时候就报错了。
报错位置
SERNR_COPY_DOC_DOC
很好奇这个原因,因为同时把两个工厂数据维护到参数里一起过账,是没问题的。
但是分着调用就出问题了。
按这个代码分析是没清空什么内容。
然后在这个检查函数所在的函数组中发现下面的函数
所以每次调用前先加上这个就行了
"清空变量
CALL FUNCTION 'SERIAL_INTTAB_REFRESH'
* EXPORTING
* OBJECTS_STATUS_REFRESH = ' '
.
CALL FUNCTION 'HU_CREATE_GOODS_MOVEMENT'
EXPORTING
if_event = if_event "'0023' "block '0022' "unblock
if_commit = space
is_imkpf = is_imkpf
it_move_to = it_move_to[]
it_external_id = it_external_id[]
IMPORTING
ef_posted = l_subrc "return
es_message = wa_message "export message
et_messages = it_message[]. "
另外调用完一次不commit就又调用,会报错。
PS:感谢同事春总的协助
本文探讨了在使用HU_CREATE_GOODS_MOVEMENT创建凭证时遇到的问题,特别是在不同工厂数据操作间的错误处理。文章详细分析了错误原因,并提供了解决方案,包括如何清空变量以避免后续调用中的冲突。




207

被折叠的 条评论
为什么被折叠?



