2020-09-09 16:13发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我已经实现了BADI_UJJ_CALCULATED_AMOUNT。 在调试日记帐ID 153时,字段IT_JOURNALS-JRN_ID继续显示1。 这样可以防止我撤消 BADI 以前更新的条目。 是否可以在此BADI中获取正确的日记ID?
rgds
酯
抱歉,但不清楚您在做什么! 请提供测试代码并说明如何执行调试。
首先:如果使用不正确的"插入文件"插入图像,而不是"插入图像",我不回答! 我已经写了一百遍了,但是似乎没人在看帖子……
第二:代码在哪里???
debug-badi.jpg
嗨,瓦迪姆,
我已通过BADI将数量80更新为日记帐ID 153。 当用户输入备注时,我需要回退该金额80。我需要转到日记帐明细表并选择日记帐ID 153以冲销金额80。当我调试此代码时,我注意到IT_JOURNALS-JRN_ID字段显示日记帐ID 1不是153。 您可以参考附件。 有什么办法可以在此BADI中获取日记ID 153?
Rgds
酯 amount-80-has-been-updated-via-badi.jpg a>
好! 现在很清楚! 我会测试一下自己。
以下是示例代码。如果您看到以下调试屏幕,内部表IT_JOURNALS-JRN_ID始终显示1,而不是日记ID513。要求是用户输入备注时,我需要通过BADI撤回金额80。 仅当IT_JOURNALS-JRN_ID显示日记帐ID 513时,我才能这样做。
BADI编码:
方法IF_UJJ_CALCULATED_AMOUNT〜CALCULATE_AMOUNTS。字段符号: TYPE STANDARD TABLE, TYPE ANY, TYPE ANY, TYPE。 -符号: 类型ujj_s_keymem, 类型ujj_s_keymem, 类型ujj_s_keymem, 类型uj_value, 类型ujj_s_badi_ca_journal。 dim_flow类型uj_dim_name值'FLOW', lo_exception类型对cx_root的引用,ET_MESSAGE类型UJ0_T_MESSAGE,对 lox_ex_handler类型对cx_uj_static_check, lo_static_check类型对cx_static_check,的引用 常量:闭合流类型uj_dim_name值'F_175'。 DATA:lv。 lv =1。 try.IF sy-uname EQ'ESTER'。",当(lv = 1)时。 清除ls_journal_amounts。清除ls_journal_amounts-journal_id = -jrn_id。清除处的ls_amount-members.loop-分配的量。 > ls_amount-amount =80。在 -members分配的情况下清除ls_amount-members.loop。 fs_member>到ls_amount-members.endif.endloop。将ls_amount附加到ls_journal_amounts-amounts。 endloop。如果line(ls_journal_amounts-amounts)> 0.将ls_journal_ulated量追加到et。 endif.endloop。" ENDWHILE.ENDIF。将cx_root捕获到lo_exception.raise异常类型cx_ujj_exceptionexporting previous = lo_exception textid = cx_ujj_exception => ex_badi_exception。 endtry。 endmethod。
注释中说明了解决方案: https://launchpad.support.sap.com/#/notes/2752929
必须实现!
最多设置5个标签!
抱歉,但不清楚您在做什么! 请提供测试代码并说明如何执行调试。
首先:如果使用不正确的"插入文件"插入图像,而不是"插入图像",我不回答! 我已经写了一百遍了,但是似乎没人在看帖子……
第二:代码在哪里???
debug-badi.jpg
嗨,瓦迪姆,
我已通过BADI将数量80更新为日记帐ID 153。 当用户输入备注时,我需要回退该金额80。我需要转到日记帐明细表并选择日记帐ID 153以冲销金额80。当我调试此代码时,我注意到IT_JOURNALS-JRN_ID字段显示日记帐ID 1不是153。 您可以参考附件。 有什么办法可以在此BADI中获取日记ID 153?
Rgds
酯 amount-80-has-been-updated-via-badi.jpg a>
好! 现在很清楚! 我会测试一下自己。
嗨,瓦迪姆,
以下是示例代码。如果您看到以下调试屏幕,内部表IT_JOURNALS-JRN_ID始终显示1,而不是日记ID513。要求是用户输入备注时,我需要通过BADI撤回金额80。 仅当IT_JOURNALS-JRN_ID显示日记帐ID 513时,我才能这样做。
BADI编码:
方法IF_UJJ_CALCULATED_AMOUNT〜CALCULATE_AMOUNTS。 TYPE STANDARD TABLE,
TYPE ANY, TYPE ANY,
TYPE。
类型ujj_s_keymem,
类型ujj_s_keymem,
类型ujj_s_keymem,
类型uj_value,
类型ujj_s_badi_ca_journal。 dim_flow类型uj_dim_name值'FLOW',
-jrn_id。处的ls_amount-members.loop-分配的量。 >
-members分配的情况下清除ls_amount-members.loop。 fs_member>到ls_amount-members.endif.endloop。
字段符号:
-符号:
lo_exception类型对cx_root的引用,ET_MESSAGE类型UJ0_T_MESSAGE,对
lox_ex_handler类型对cx_uj_static_check,
lo_static_check类型对cx_static_check,
的引用
常量:闭合流类型uj_dim_name值'F_175'。
DATA:lv。
lv =1。
try.IF sy-uname EQ'ESTER'。",当(lv = 1)时。 清除ls_journal_amounts。
清除ls_journal_amounts-journal_id =
清除
ls_amount-amount =80。
在
将ls_amount附加到ls_journal_amounts-amounts。
endloop。
如果line(ls_journal_amounts-amounts)> 0.将ls_journal_ulated量追加到et。 endif.endloop。
" ENDWHILE.ENDIF。
将cx_root捕获到lo_exception.raise异常类型cx_ujj_exceptionexporting
previous = lo_exception
textid = cx_ujj_exception => ex_badi_exception。
endtry。
endmethod。
注释中说明了解决方案: https://launchpad.support.sap.com/#/notes/2752929
必须实现!
一周热门 更多>