Quantcast
Channel: SCN: Message List - SAP CRM: Webclient UI - Framework
Viewing all articles
Browse latest Browse all 7775

Re: Using a BOL Programming on an API level?

$
0
0

Hi Stephen,

 

The best answer on why not to mix BOL and one order BADI's is "recursion".   If you look underneath the covers all those BOL objects for one order are calling the one order API which then stuff like ORDER_SAVE sits inside of those API calls.  Now if you want to write standalone code outside of the API layer(BADI's, BTE's) and use BOL instead of one order API function modules, there should be no problems.

 

Another way of looking at this is that even if you avoid recursion, then calling BOL inside a one order API badi for one order data is like being in your backyard and going to your front door by going out to the front yard, walking to the closest highway exit where you live and then walking back to your front door.  It's not something you would want to do frequently.

 

Good points and nice analogy.

 

I guess the interesting question is always if in a particular BADI using the BOL is OK or not. I was just looking around some of the BADIs implemented in one of our systems. The best hints regarding the APIs to use when implementing a particular BADI are always the default implementations and the BADI interface. For example, the interface of the BADI CRM_IUICMD_BADI uses the class CL_CRM_BOL_ENTITY in most of the methods. This is already a pretty good hint, that using the BOL would be OK here .

 

In contrast to that, the interface for the BADI ORDER_SAVE just uses GUIDs (CRMT_OBJECT_GUID). All existing implementations are implemented using function modules like CRM_ORDERADM_H_READ_OB or CRM_ORDER_MAINTAIN. Again, this should be hints enough to not use the BOL when implementing this BADI.

 

I'm really confused about BOL and webservices since there is a webservices tool for CRM that uses BOL objects, but I guess once again if you want to build custom webservices by hand without using the tool, that should work also.

 

Yes, I was thinking about implementing a custom Web service without the usage of the Web service tool. But now that you mention it; the Web service created by the Web services tool are based on the BOL. So this shows, that the BOL is definately suitbale to implement interfaces to external systems (as SOAP Web service, simple RFCs or what ever).

 

Christian

 

 


Viewing all articles
Browse latest Browse all 7775

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>