创建一个新的ABAP报告:我应该使用include吗?

2020-08-15 22:42发布

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

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


在创建ABAP报告时:关于使用包含的当前最佳实践是什么? 是否使用它们? 过去是这样的:

报告Y_MY_REPORT。

 包括Y_MY_REPORT_top。
 包括Y_MY_REPORT_cld。
 包括Y_MY_REPORT_sel。
 包括Y_MY_REPORT_cli。
 

...这仍然有意义吗? (为什么?)还是应该将所有代码都放在报表本身中? (我会根据情况使用AdT。)

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

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


在创建ABAP报告时:关于使用包含的当前最佳实践是什么? 是否使用它们? 过去是这样的:

报告Y_MY_REPORT。

 包括Y_MY_REPORT_top。
 包括Y_MY_REPORT_cld。
 包括Y_MY_REPORT_sel。
 包括Y_MY_REPORT_cli。
 

...这仍然有意义吗? (为什么?)还是应该将所有代码都放在报表本身中? (我会根据情况使用AdT。)

付费偷看设置
发送
2条回答
落灬小鱼
1楼-- · 2020-08-15 23:10

你好约阿希姆,

这个问题的答案通常在系统所有者提供的文档中指出:"编程准则"/"编码标准"。 但通常,您是否应该使用它们的第一个问题的答案应该为"是":)

生成新报告时,系统将提示您指出是否要包含TOP。我建议您这样做。 生成报告后,将提供更多包含项,但将其显示为灰色。.(O01/I01/F01)

一般而言,我建议人们始终使用以下内容:

  • TOP-为报表提供全局变量
  • S01-用于选择屏幕(如果创建一个编码的话)
  • C01-用于本地班级行为
  • I01-用于PAI模块(仅在使用屏幕时)
  • O01-用于PBO模块(仅在使用屏幕时)

关于F01,我建议将其省略。 这是人们用来编写FORM/PERFORM逻辑的地方,但由于SAP建议不要再使用此技术,因此您不应再为它烦恼了:P对于类似的编程方式,我建议使用本地 课:)

关于第二个问题,为什么要使用它们?

对于其他开发人员而言,在出于调试目的(或用于扩展/改进报告)而查看报告时,可以很容易地概述所有逻辑的位置(对于所有与屏幕相关的行为,I01/O02,S01) 当必须使某些内容适应您的选择屏幕时,如果需要添加或更改变量,则返回TOP,...)

简而言之:

-您应该使用它吗? -是的

-为什么要使用它? -这是最佳做法,在编写较大的报告/程序时将有助于保持概述:)

礼物

hengyuye
2楼-- · 2020-08-15 23:10

您好,Joachim,

虽然在ABAP文档中没有提到包含程序已过时,但确实知道子例程实际上已过时了:

 SAP NetWeaver AS ABAP 751版,©版权所有2017 SAP AG。 版权所有。

 ABAP-关键字文档→ABAP-参考→过时的语言元素→过时的模块化→子例程

 在引入ABAP对象之前,子例程主要用于程序的本地模块化,但是,也可以在外部调用它们。 它们的功能在语句FORM和ENDFORM之间实现。 子例程在实现时立即声明。
 

include程序倾向于让您使用子例程,除非您希望使用它们来分隔选择屏幕和本地类,否则就可以了。 但是最好的选择是使用全局类,并且使用此选项,您不会用那么多的代码行充斥您的ABAP报告,因此不会感到需要使用包含程序。

一周热门 更多>