2020-09-28 06:51发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
HI团队,我的要求是将确认控制键更新为空白(EKPO-BSTAE)。
要更新此值,我们在自定义程序中使用了批量事务MEMASSSA,因为无法更新空值ME32l。
我已经完成了MEMASSSA T代码的BDC记录,但是当我处理它时,空值没有得到更新。 我可以手动使用MEMASSSA来做到这一点。
我们可以为Memasssa t代码进行BDC录制吗?
如果由于收到收据而无法在线更新控制键,则也无法使用批量更改交易和BDC进行更新。
感谢您的答复,
我已经在SHDB中记录了MEMASSSA t代码的记录,当我处理记录数据时会正确更新,并且当我将相同的记录转换为程序或创建会话后会成功处理,但是值没有更新。
要了解此问题,我已经调试了MEMASSSA t代码背后的标准代码。
仅在SHDB中处理记录:该FM负责功能模块I_MASS_SAVE_DATA,以成功更新表值。 FM内部包含COMMIT WORK语句。
转换为程序后处理相同的记录:当COMMIT WORK触发时,= SAVE编译器到达I_MASS_SAVE_DATA并在FM内部后,BDC SESSION将完成,并且值也不会更新,因为编译器在COMMIT WORK之后不会处理FM 声明。
在COMMIT WORK语句之后,是否有任何解决方案来处理BDC SESSION并像RECORDING一样更新值?
谢谢。
感谢罗西。
根据您的进一步调查,您唯一的问题是,ABAP代码在COMMIT WORK后立即停止。
如果您搜索该论坛,就会发现这是正常的BDC行为。
提交后继续工作的唯一方法是使用带有特殊选项的CALL TRANSACTION ... USING ...(CTU); 请参阅ABAP文档(如果需要更多帮助,请访问+搜索论坛)。
请注意,批输入会话(不是CTU)总是在COMMIT WORK之后停止,无法避免这种情况(或通过CTU执行批输入会话的数据)。
PS:1)编译器不执行代码,而是编译程序。 2)您是在声明录制成功("仅处理录制"),但是使用"录制"一词会产生误导,因为实际上您只是在说顺便说一句正常交易(成功 当然!记录交易与正常交易的99%相同。
最多设置5个标签!
如果由于收到收据而无法在线更新控制键,则也无法使用批量更改交易和BDC进行更新。
感谢您的答复,
我已经在SHDB中记录了MEMASSSA t代码的记录,当我处理记录数据时会正确更新,并且当我将相同的记录转换为程序或创建会话后会成功处理,但是值没有更新。
要了解此问题,我已经调试了MEMASSSA t代码背后的标准代码。
仅在SHDB中处理记录:该FM负责功能模块I_MASS_SAVE_DATA,以成功更新表值。 FM内部包含COMMIT WORK语句。
转换为程序后处理相同的记录:当COMMIT WORK触发时,= SAVE编译器到达I_MASS_SAVE_DATA并在FM内部后,BDC SESSION将完成,并且值也不会更新,因为编译器在COMMIT WORK之后不会处理FM 声明。
在COMMIT WORK语句之后,是否有任何解决方案来处理BDC SESSION并像RECORDING一样更新值?
谢谢。
感谢罗西。
根据您的进一步调查,您唯一的问题是,ABAP代码在COMMIT WORK后立即停止。
如果您搜索该论坛,就会发现这是正常的BDC行为。
提交后继续工作的唯一方法是使用带有特殊选项的CALL TRANSACTION ... USING ...(CTU); 请参阅ABAP文档(如果需要更多帮助,请访问+搜索论坛)。
请注意,批输入会话(不是CTU)总是在COMMIT WORK之后停止,无法避免这种情况(或通过CTU执行批输入会话的数据)。
PS:1)编译器不执行代码,而是编译程序。 2)您是在声明录制成功("仅处理录制"),但是使用"录制"一词会产生误导,因为实际上您只是在说顺便说一句正常交易(成功 当然!记录交易与正常交易的99%相同。
一周热门 更多>