在外部子例程调用中拦截错误消息

2020-08-30 02:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 正在创建一个包装外部...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

正在创建一个包装外部子例程调用的"外观"功能模块,然后使用EXCEPTIONS error_message = xx 添加目前仍然是"拦截"由外部调用的子例程发出的错误消息的唯一且唯一的方法吗? 还是有另一种方法(可以说是一种技巧)不需要创建功能模块?

上下文是:试图几乎无一例外地但有能力地勤奋地包装有价值的" SAP逻辑"(合理的代码模块化程度;最小化全局状态的直接使用;在PBO/PAI模块中直接使用的代码很少,在 子例程具有广泛的子例程,甚至到处都启用了对话框抑制功能)都与DYNPRO绑定在一起,因此假定"外部功能"无法重构或复制(就维护而言,这可能会打开更大的蠕虫病毒罐)。

谢谢,
Janis

4条回答
nice_wp
2020-08-30 03:03

我正在看……大约18 FM,仅用于包装包含用于"主屏幕"表控件的输入验证的逻辑:)

和另一个 input-validation- &-state-modification 子例程提出了特殊的挑战,因为出于某种奇怪的原因(到目前为止,这对我来说还不为人所知),该子例程直接从全局功能组状态TC声明中获取当前表控制行,而不是使用 像大多数需要当前TC行的其他INPUT子例程一样,从PAI模块传递下来的...但是我有一种奥秘的方法,可以通过执行滚动逻辑来"控制"全局TC当前行,[我想说的是:]

< 据我从系统中所看到的推测,当SAP员工自己开始实施要求时,将预算帐单计划编辑功能的一部分向外界公开(最初是另一个"表达变更"交易,然后是CRM系统)。 ..),他们都看了看,然后...

  1. 缩小了绝对需要公开的最小功能,
  2. 围绕" Yuge,复杂类型"编程了另一个功能组,该功能组表示已处理的"对象"的其他状态,并通过外部重用 执行哪些验证/状态修改被认为可直接重用,并且...
  3. 复制了需要调整的位...

从来没有,现在我怀疑会永远 成为一个BAPI或与此类似的东西...现在甚至还有一个SAP多渠道公用事业和公共部门基金会,同样,它具有ODATA Entity BudgetBillingPlan,但是,可惜-仍然没有POST(创建),DELETE和 仅限 S/4HANA 1909 的非常有限的PUT(更改) Yevgen Trukhin :)-我怀疑,至少在大约15年或以上的时间里,我忠实地反映了技术决策 前。

我正在计划一个任务,以使世界和我们的衰老系统变得更美好! :)并希望我知道编写EA61EX FG的人们知道或怀疑的事情...

一周热门 更多>