Basic question - Business Object Types, BOL, GenIL
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?
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).