Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Why SAP is not fully Object Oriented

Former Member
0 Likes
838

Hi,

Can any one tell me why SAP is not fully Object oriented, I guess there is some problem with screens,,,?

Thanks and Regards

Narendra

7 REPLIES 7
Read only

matt
Active Contributor
0 Likes
819

Why do you think it isn't?

matt

Read only

GrahamRobbo
SAP Mentor
SAP Mentor
0 Likes
819

Hi Narendra,

SAP have a strategy of making ABAP upwardly compatible. This means ABAP code written for on an earlier release will compile and execute on later releases.

I am told there is still old R/2 ABAP code running inside the latest SAP ERP release.

Cheers

Graham Robbo

Read only

Former Member
0 Likes
819

Hello Naren,,

If you switch on debugging mode, you may find the code that is written in standard programs, are written using classess and objects.

eg: the function module reuse_alv_first_display, internally written sing classes and objects.

But there are ways that a user could straightlly write an alv program using classes, objects and methods!!

But simply to make the language simple and understandable, SAP has come out with simple commands!!

But inturn, it is written using ABAP objects!

Read only

0 Likes
819

Hi Naveena,

Thanks for ur comment, But i still had a doubt ,If every thing in ABAP is object why don't a method of a class accept CALL statement.

Read only

matt
Active Contributor
0 Likes
819

CALL what? CALL FUNCTION MODULE? CALL TRANSACTION?

What are you wanting to achieve?

matt

Read only

0 Likes
819

Hi

Any CALL statement to a Screen is not supported.Why

Read only

matt
Active Contributor
0 Likes
819

Ah, now I see what you are concerned about.

No, you can't call screens directly from ABAP Objects. The way I've seen this overcome is to use Function Groups to do all the screen handling, and call the relevant function module of the group from the class method. Any logic beyond screen handling you should write using Objects.

Effectively, you can use the MVC pattern - but with the VC part in partly non-OO code.

The whole screen handling has long been flawed from a software design perspective, but I guess it's too embedded now to change. Despite its flaws, it's still pretty good. But, alas, not object oriented.

matt