我正在努力寻找一种方法,在标准事务中实现当用户试图在Item Overview窗口中删除Item时的新警告信息窗口。
现在有一个标准的警告窗口,上面有 "删除所选项目?YN "的问题,之后,我的自定义窗口就会出现。
因为是标准事务,所以我不知道如何实现该任务。我是应该看看增强版还是其他方法?
通过调试器探索代码后,我发现了显示警告窗口的那一行,我是否可以把我的部分代码放在第一个警告窗口的函数调用后?
路径是SAPMV50A -> MV50AF0F_FUNKTION_AUSFUEHREN -> call functioin FUNKTION_AUSFUEHREN(第65行后)
使用可以使用的方法 CHECK_ITEM_DELETION
或 ITEM_DELETION
BadI LE_SHP_DELIVERY_PROC
为显示你的警告,这里是官方文档。
这个方法在删除交付物品之前被调用。你可以使用这个方法来执行检查是否可以删除一个项目,如果有必要,然后防止删除一个交付项目。
DATA: lf_error TYPE abap_bool.
delete_item(
EXPORTING
is_xlips = is_xlips
if_check_only = abap_true
CHANGING
cf_error = lf_error
ct_log = ct_log
).
IF lf_error EQ abap_true.
cf_item_not_deletable = abap_true.
ENDIF.
我相信只有通过添加自定义增强点,然后用消息来实现你的自定义消息。
在需要实现消息的地方添加增强点。
enhancement-point <enhancement> spots <spot>.
在这个地方增加一个增强。
enhancement 1 <name>.
message 'my_msg' type 'W'.
endenhancement.