SAP Classic Dynpro和OO编程。为什么不?

时间:2016-03-15 10:35:37

标签: oop sap abap dynpro

我读了一些文章,说你不能在SAP经典dynpros中开发OO。 我是一个初学者,所以也许我有一些误解。但是当我使用类和对象时,我正在开发面向对象,对吧?

在dynpro中,我也可以使用类和创建对象,使用它们的方法等。 那么为什么Dynpro不是OO?

我知道这是一个基本问题,但如果我对OO有误解,我需要忘记这一点:)

2 个答案:

答案 0 :(得分:1)

这主要是因为经典的PBO-PAI处理。你必须得到一个"消息泵"像几年前开发的经典dynpro一样。但我必须不同意,不可能按照OOP原则发展。它不是很好,例如,您必须捕获PAI以进行进一步的导航,验证和处理,并且您可以在PBO中设置值,消息等。

但是尽管它很丑陋,它仍然为你提供完美的方法吗? 他是他?

MVC-设计模式。

只要您为一个好的模型和控制器建模,就可以将它作为top-include中的对象进行跟踪并创建一些包装器,它必须首先通过控件(我不喜欢它) PAI / PBO-模块到表单例程,在那些表单例程中你可以自由地执行你想要的一切,即使在OO-Context中也是如此。创建一个全局模型和控制器类,使用一个alv-grid创建一个dynpro,创建一个top-include并尝试玩。 已经有很多标准应用程序,使用完全相同的方法。 一个好处是(虽然你有模块 - formroutine-delegation),你可以真正开始一个很好的模型和控制器建模,这是oo定义。

答案 1 :(得分:0)

SAP ABAP Classic Dynpro屏幕是内置程序过程的一部分,在显示屏幕(PBO)之前运行处理,显示屏幕,然后在屏幕上检测到操作(PAI)后进行处理。

处理此问题的SAP代码是程序性的,因此您无法构建纯粹的" OO计划。

您可以在程序中使用类,对象和方法,但您还必须涉及程序处理。

你可以试图使用MVC制造皇家混乱,但那时你为什么不使用WebDynpro呢?