对于已经创建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
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[]. "
另外调用完一次BAPI不commit就紧接着调用HU_CREATE_GOODS_MOVEMENT 或者BAPI_GOODSMVT_CREATE,会报错。