cancel
Showing results for 
Search instead for 
Did you mean: 

Basic question - Business Object Types, BOL, GenIL

0 Kudos

Working myself in into GenIL and BOL i read, that the reason for having BOL & GenIL is, that they act as a capsule, separating the WebUI Model-View-Controller layer from the real database tables. I understand it makes sense, when there is a change, not to change the code of hundreds of view controllers but only the code of maybe one single method in the GenIL.

BOL & GenIL offer objects and methods to read, write, search, and so on the respective objects, e.g. read/modify the BOL/GenIL component BT component with its object 'BuilHeader'

But isn't there already a concept in place to encapsulate the database tables of an object together with specific methods to read or modify the object. What about SAP Business Object Types, e.g. BUS1006 Business Partner. Why the Model-View-Controller Layer of the WebUI couldn't be based simply on that? Why making it that complex?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I think a business object type like BUS1006 only telle you the type of  the object (like business partner, opportunity, activity). You still need the business object like BTADMINH to read or save data without caring in which database table(s) the data is stored. Also with business objects you can use the buffer. If you would use SQL-statements all the time you would have problems and also no application buffer.

Another example: when you change data in the WebUI before saving the data is in the buffer like in BTADMINH and can be used and accessed by you if you have dependent data. Only when you click on save the data is stored in the database table.

Best regards,

Thomas Wagner

0 Kudos

Thank you for your answer:

'I think a business object type like BUS1006 only telle you the type of  the object (like business partner, opportunity, activity).You still need the business object like BTADMINH to read or save data without caring in which database table(s) the data is stored.'

But in transaction SWO1 i can see that the business object type BUS1006 (Business Partner) offers plenty of methods. I can even jump directly in the ABAP code of the method like "Change Business Partner" and see there which database tables are changed. Isn't that the same logic and knowledge the GenIL object BT has?

I am not deep into technology - from a satellite perspective i was just wondering why SAP innovated the complicated BOL/GenIL layer if there was already a concept for capsuled business objects in place. Yes - buffering is propably a plus but i am still wondering..maybe there is a simple reason but i do not see it because i am not deep enough in techology

Former Member
0 Kudos

Hello,

The business object for business partners is BuilHeader. There you can really have an object in coding and execute its methods. It might even be that then in background such BAPIs like the one in your screenshot get executed.

BUS1006 is no object. You won't have such an object in coding. It is an object type. Maybe it has some BAPI's but they are not executed by calling a BUS1006 object.

Another aspects: I think the object type BUS1006 exists for quite a while now. Maybe already in release 5.0 with PCUI or even before that. The business object BuilHeader is newer and only exists in WebUI (releases 6.0 and 7.0).

Best regards,

Thomas Wagner

Answers (0)