Skip to Content
avatar image
Former Member

BOL and GENIL layer ,importance of Transactions GENIL_BOL_BROWSER

Hi ,

Can someone please clarify the following

1. How do we identify which BOL object is mapped to which buisness object.

2. How important is GENIL layer > and the configuration of component set and conponents defined in there .

3. What is the benefit of transactions like GENIL_BOL_BROWSER AND GENIL_MODEL_BROWSER .

4. If we have to enhance the inbox_search view of the component ICCMP_INBOX with the product id How do we go about it ? what is the correct approach ? should we append the BT_QUERYAUI attribute's structure with product id field ? or we should create a new context node with product ?

Thanks

Sonia

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Sep 20, 2008 at 07:23 AM

    1. How do we identify which BOL object is mapped to which buisness object.

    There is no specific tool available to find this out. We always surf through the BOL model to find out the correct associated bussiness object.

    For example, If you are in sales related developments based on ONEORDER model, then you can open the BOL model for ONEORDER set. For this we use transaction GENIL_MODEL_BROWSER.

    open transaction, give model as ONEORDER, then it will show you all the root BOL objects, access obj. QueryObjects involved in this Model.

    Now which BUS object :

    The BOL object names are mostly derived from the BUS object names.

    for customers, its BTCUSTOMER ( H & I )

    for Account you have BuilHeader

    for SalesOrder( BUS2000115) , BT115H_SLSO quotation BT115QH_SLSO . opportunitiy (BUS200111) BT111H_OPPT etc.

    Generally you dont necessarily need to know the underlying business object as far as the WEB UI developments are concern. You can always use F2 on the view/field on Webclient to find out which is the Component / View /context node/ Attribute its using.

    2. How important is GENIL layer > and the configuration of component set and conponents defined in there .

    In WEB UI framework. Genil Layer lies between Business Layer and Database layer ( Application Layer ). In view of MVC architechture ( which is the fundamental for WEB UI framework), GENIL layer represent the MODEL part. Its besically the GeniL Layer methods that access the respective APIs from DataBase and provide the data to controller (component/ view Controllers ie ".do" part of componennt/view ) which then hands it over to the Presentation Layer( View layout i.e. ".htm" part , basically the BSP page )

    If BOL layer is base of Bussiness Layer , GENIL layer is the esscence of it.

    3.What is the benefit of transactions like GENIL_BOL_BROWSER AND GENIL_MODEL_BROWSER .

    GENIL_MODEL_BROWSER :

    Well, the benifit of this one ,i have already outlined in point 1. Its main use it to find out what are the different BOL objects and how they are related.

    In component workbench developments, you often need to visit this transaction because, you will many time need to find the related data for which you need to know which is the parent of current object, whats the relation so that you could retrive the related data.

    For example , if i have to find out quotation type of a perticulat sales order which is created as a follow up document for quotation, then my trace would be

    -open the BOL Model browser for BT set

    -Find out the DOCFLOW BOL...it should be either in Access object or Dependent objects

    -Open its relations part and find out the relation for related Quotation

    Now, in my component structure, i would retrive current entity for DOCFLOW node, then would find the related entity using the relation we found in MODEL broswer by using get_related_entity method and then would retrieve the Quotation type attribute of the entity.

    GENIL_BOL_BROWSER :

    Using this transaction you can actually find how the data flows amongst all related BOL entities.

    The sstart point for tis are the query objects. You can select and execte any query object. For example BTQOpp when executed with object id, BTQROpp gets filled with the resulted Opportunity. You can then choose Get Parent button or get child button to see how the data is flowing.

    This is typically useful when you are coding for specific requirement on web ui . You can study actual BOL data flows in this transaction and then develop your code to get the expected output.

    4. If we have to enhance the inbox_search view of the component ICCMP_INBOX with the product id How do we go about it ? what is the correct approach ? should we append the BT_QUERYAUI attribute's structure with product id field ? or we should create a new context node with product ?

    You have to find the related Query Object and look into its attributes. If it has the product id as an attribute you can then modify the existing search crieteria. Else you will have to bring the required context node ( which is the query object having product id as attribute ) in your view and accordingly modify the query.

    Correct approch wise , what i feel , is you can append zproduct_id attribute into vurrent BOL objevt throgu EEWB and use it . If you dont want to enhance the current BOL and if there is qureyobject with product id field ( which there is available readily ) , you can modify your program and query structure accorfingly.

    Hope this helps you.

    Thanks & Regards,

    Suchita

    Edited by: suchita P on Sep 20, 2008 12:29 AM

    Add comment
    10|10000 characters needed characters exceeded

  • May 18, 2012 at 07:05 AM

    HI CRM WebUi Expert,

    I have Idea about ABAP , OOPS , Webdynpro and BSP but i want to Learn CRM WebUI,

    So , Please tell Me how to start CRM WebUI, and if you have any basic Material for CRM then Please send to My mail ID.

    I fill CRM is Easy because somewhat same as BSP but i get confuse with BOL and Genil Class.

    Email ID : Moderation 😔: Please see Rules of engagement

    Thanks & Regard.

    Pappu Mehta.

    Message was edited by: Leon Limson

    Add comment
    10|10000 characters needed characters exceeded