Use of Bol and Genil Programing

Hi All,
I am new to CRM, could you please explain what is the use of Bol & Genil programming?
Thanks,
Krishna

Hi Anil,
The BOL and GenIL essentially refer to the layers that handles the user interface in SAP CRM.
The GenIL (Generic Interaction Layer) consists of one implementation class that always derives from one of the two classes and implements a set of methods to provide the functionality. GenIL is like a bridge between the backend APIs and the UI i.e. for
a given UI, it identifies which APIs need to be called and also re-formats data accordingly.
The BOL (Business Object Layer) consists of upto 7 different kinds of objects that are defined in a model. At runtime, the BOL layer will hold data that is used on the UI. BOL provides a consistent way of modelling data so that data access is consistent and the UI can also be built faster.
This is just a brief information - you need to go through details documents to understand this in detail. SAP CRM comes with a sample genIL implementation that can be found in CRM_GENIL_SAMPLE package. You can check this package to see how GenIL and BOL layers can be implemented.
Regards,
Shiromani

Similar Messages

  • Difference between  BOL and Genil Objects

    Hi Team
    Am very  new to  CRM.So pls let me know the difference between the BOL and GENIL objects and their respective importance.
    Thanks

    Hi,
    The BOL and GenIL essentially refer to the layers that handles the user interface in SAP CRM.
    The GenIL (Generic Interaction Layer) consists of one implementation class that always derives from one of the two classes and implements a set of methods to provide the functionality. GenIL is like a bridge between the backend APIs and the UI i.e. for
    a given UI, it identifies which APIs need to be called and also re-formats data accordingly.
    The BOL (Business Object Layer) consists of upto 7 different kinds of objects that are defined in a model. At runtime, the BOL layer will hold data that is used on the UI. BOL provides a consistent way of modelling data so that data access is consistent and the UI can also be built faster.
    Regards,
    Shiromani

  • Printing the form using output type and Standard program

    Hi all,
       I am a beginner on SAP.Now i get a doc for smartforms.
       It need to print a form.And need to create a output.I don't know how to create it and how to use it.
       And how to use the standard program to print the smartfroms.
       Can you give me a thought about that??

    Hi steven,
    first u copy the standard form and modify as u required.
    copy the print program.
    after that assign modify form to modified print program using NACE transaction code.
    NACE->slect application->go with output types->select suitable one->go with processing routines->select medium->provide modified program  name and form name->save the details.
    go for view->go for transport.
    go with the appropriate transaction suitable to your application.
    and provide one existing record->issue out put->go with print
    i think it will useful for you.
    Reward points if useful.
    Thanks,
    Usha

  • Can I use Sample Tank and Beatmaker2 programs. I have those in my iPad. and if so how?

    I have Beat Maker 2 and Sample Tank in my ipad 2, can I integrate the sounds and possibly songs so that I can work with
    them in Logic Pro? 

    I have Beat Maker 2 and Sample Tank in my ipad 2, can I integrate the sounds and possibly songs so that I can work with
    them in Logic Pro? 

  • Question about GenIL programming for CRM 7.0

    Hi All, I am confused in GenIL programming in CRM 7.0, pls help.
    1 Why there are 2 methods related to object method execution u201CIF_GENIL_APPL_INTLAYEXECUTE_OBJECT_METHODu201D and u201CIF_GENIL_APPL_INTLAYEXECUTE_OBJECT_METHOD2u201D, as I debugged, the former one will be called whatever the return type is Object or DDIC and I don't know how "EXECUTE_OBJECT_METHOD2" could be called.
    2 whatu2019s the usage of Object with Type u201CSearch Result Objectsu201D? I see it could combine data into result. But how to use it? Is there any sample for it?
    3 whatu2019s the usage of Object with Type u201CView Objectsu201D? Is there any sample for that?
    4 the best practice of using u201CIF_GENIL_APPL_INTLAYON_AFTER_COMMITu201D and u201CIF_GENIL_APPL_INTLAYON_AFTER_ROLLBACKu201D? whatu2019s the general purpose of those two methods? in it, what should I do and what should not do? 
    Thanks.

    Hi Richard,
    I am going to try and tackle all four at once. The answers are not complete clarifications, but should give you a good start. I am not logged into a system to check everything right now.
    1.
    As far as I recall the two methods differ in ther signature. METHOD() will only allow you to pass flat values and recieve flat values whereas METHOD2() gives you the ability to at least recieve references to objects and data.
    2.
    Your assumption is right. Result objects are exactly for the purpose to combine data of different areas into one handy object in a result list. The are create on the fly. Meaning there is no implementation class. Just specify them in your BOL dynamic query as resu lt object and fill the structure accordingly. It is just a nice thing to have on the UI. Logic for data fetching is combined in one central place. Can be reused everywhere
    3.
    Same as 2.. From my experience you can include view objects in the model hierarchy. For instance when fetching data from a remote destination and just displaying it on the UI.
    4.
    Looks to me like methods for implementing your own GenIL component and/or Root Object. In these two cases you would want to get information about the BOL transaction context. Cleanup your stuff or initialize. Have a look at the BP component. It is rather cleanly implemented. BT tends to be a little bit cetralized around CRM_ORDER_MAINTAIN.
    Hope it helps. I held  trainings concerning those topics and it is a topic I could go on about for at least an hour. BOL and GenIL are badly documented and there are many pitfalls.
    cheers Carsten

  • Computer and Recover program won't boot after virus forces me to format C: drive.

    I recently got the MS antispyware 2009 virus which made me lose my internet, task manager, regedit, disk management, and rpc server. It also made my settings all retarded. I had the classic start up screen, and classic windows screens and taskbar. Even though I had my settings set to the newer windows settings. I tried to use the rescue and recovery program from windows and had no success in recovering. I also tried pressing F11 during startup to try and enter the rescue and recovery program again with no success. And by that I mean I couldn't enter the program. I got tired of troubleshooting and said screw it and opened partition manager and tried formatting my c: drive. I tried to do it from my computer but I couldn't. I turned my computer back on and it wont boot anything. It shows the think center screen and then goes to a blank black screen. F11 still doesn't work and I'm now at a stand still. Any help will be appreciated. Thanks.

    I have a similar probem,due to some virus my whole Think program got deleted including many other files and no chanse for recovery.
    I thought of formating and reinstaling Xp but the cd dosen't boot.It comes to the ThinkCenter screen then the curser flashes and the error as follows "error Loading Operating System".Im searching the whole site to find solution since 2 days.I don't even have a recovery cd as the PC was second hand.Please hep.

  • Using a BOL Programming on an API level?

    Hi Experts,
    For the time being I was pretty sure that SAP CRM developers shouldn't combine layers when developing some enhancement.
    However recently I had a problem to convince my colleagues and myself as well - why not?
    I understand all the architecture and layers logic, but what is exactly wrong when someone uses BOL programming when creating own programs or when enhancing system via BADI. BOL programming in SAP CRM is much simplier, efficient and convenient. Using BOL programming to update some data instead of CRM_ORDER_MAINTAIN (I hate it ) is luring, so what the arguments are against using it, in example in a BAdI like ORDER_SAVE?
    I am looking forward your opinions
    Kind regards
    Lukasz

    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

  • I  used to have an OLD Photoshop cd but it has been lost and my program is no longer on cd. I talked with some photographer friends and this is what one of them told me to get: Adobe Photoshop Lightroom and CS CC... HELP please?

    I  used to have an OLD Photoshop cd but it has been lost and my program is no longer on cd. I talked with some photographer friends and this is what one of them told me to get: Adobe Photoshop Lightroom and CS CC... HELP please?

    If you still have your serial number, look at OLDER previous versions http://www.adobe.com/downloads/other-downloads.html
    Otherwise, the US$ 9.99 plan is what is current at Cloud Plans https://creative.adobe.com/plans

  • Cannot uninstall I tunes. In control panel add and remove programs it will not give me the option to remove any of the I tunes. In program files it tells me access denied to remove any of the related items. I have tried using the removal methods from i tu

    My i tunes will not work at all. I have tried all the steps given to remove my I tunes player but in my control panel, add and remove programs it does not give me an option to remove any of the apple/ I tunes. I tried to go to program files and remove all the files but access is denied. This all started about 1 1/2 years ago and with every i tunes update i got more and more errors or problems until it stopped working. At one time i could remove and reinstall i tunes to try to fix it but now i cannot do anything. I believe one of the last  was i could not open i tune because it was being used or was on another network, not 100% sure its been so long and frustrating I quit trying 6 months ago. Hopefully someones got some help !!!
    Thanks I appreciate your time; Philip

    See Troubleshooting issues with iTunes for Windows updates.
    tt2

  • I am using Lightroom 5 and am hapy about it, but recently I hav encountered a problem when trying to edit an image in another program, i.e. Elements. I used the clone tool, saved the result and went back to Lightroom to open the image there. I did find a

    I am using Lightroom 5 and am hapy about it, but recently I hav encountered a problem when trying to edit an image in another program, i.e. Elements. I used the clone tool, saved the result and went back to Lightroom to open the image there. I did find a second copy, but this is identic with the one I already had in Lightroom, and I can see noe result of the clone process.

    At the moment I would say it is uncertain whether Acrobat is completely ignoring the change, or whether the changes you are making aren't affecting the ink density. I have a suggestion for a test you could make to see which is the case.
    When editing in Photoshop just add a box or mark on the image, for your tests.
    - If this box does not appear in Acrobat, you know Acrobat is not seeing the edit
    - If this box does appear in Acrobat, you know the problem is that your tool for changing ink densities is not taking effect.

  • I'm new to Mac and the program/all called Numbers. I'm trying to use both Average and small in the same formula. What's I'm trying to do is take 20 cells, find the 10 lowest numbers, then get the average and after that multiply it by .96

    I'm new to Mac and the program/all called Numbers. I'm trying to use both Average and small in the same formula. What's I'm trying to do is take 20 cells in a column,  find the 10 lowest numbers, then get the average and after that multiply it by .96  I used to use Excel and the formula worked fine in that. Here is my Formula
    =(average(small(H201:H220,{1,2,3,4,5,6,7,8,9,10})))*.96
    This formula worked in Excel and when I converted my spreadsheet over to Numbers, this formula no longer works.
    The best that I have been able to do so far is use small in 10 different cells, then get the average of the 10 cells and finally multiply that average by .96  So instead of using 1 cell, I'm using 12 cells to get my answer.
    This is a formula that I will be using all the time. The next cell would be =(average(small(H202:H221,{1,2,3,4,5,6,7,8,9,10})))*.96
    Hoping I explain myself well enough and that someone can help me.
    Thanks

    You can still do it in one cell but it will be more unruly than the Excel array formula.
    =average(small(H201:H220,1),small(H201:H220,2),small(H201:H220,3),...,small(H201:H220,10))*0.96
    where you would, of course, replace the "..." with the remaining six SMALL functions.

  • Good Morning.  I'm having a problem using both my Photoshop elements and premiere programs.  I've installed the programs, redeemed my code and entered the serial numbers, and created the adobe log-in.  I am able to open up the organizer without problems,

    Good Morning.  I'm having a problem using both my Photoshop elements and premiere programs.  I've installed the programs, redeemed my code and entered the serial numbers, and created the adobe log-in.  I am able to open up the organizer without problems, but when I try to open up the photo editor (either by trying to open up the program from the main menu, or right-clicking on a photo in the organizer to edit in elements), the program asks me to sign in to adobe (which I can do and it doesn't give an an "incorrect password" or log-in ID error) then accept the terms and conditions.  When I click to accept the terms and conditions, nothing happens and the editor fails to open.  Everytime I click on the program, I get this same "loop" of signing in and accepting T&C's, but the program fails to open.  Any advice?

      Premiere Elements 10 is now 64 bit, but not PSE10.
    Take a look at your scratch disk set-up and if you have a spare volume, allocate that first before the C drive. Elements use scratch disks when it gets low on RAM.
    Click image to enlarge
    Turn off face recognition and the auto-analyzer to improve performance.
    When editing photos or videos check the task manager to see what background processes may be running and end them temporarily if not needed.

  • Everytime I try to enter something into the search box a further box appears to tell me this is a json file and what program should I use to open it. How can I

    I am using Linux mint 12 with firefox.
    Everytime I try to type something in the search box a further box appears to tell me this is a JSON file and what program should I use to open it.
    This has only happened since reinstalling my system a couple of weeks ago.
    I am not really interested in what a json file is I simply want to get rid of this pop up box.

    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    See also:
    *[[/questions/921535]]

  • I am new to Mac. I have iphone and ipad but I bought a used Mac G4 and all is well except I cannot figure out how to download a program from a CD that I need for my business. I think it's a simple fix so HELP!

    I am new to Mac. I own an iphone and an ipad but have always used a PC for my business use.  I bought a used Powerbook G4 and all is well EXCEPT I cannot get a program to download from a CD. I think it's an easy fix so HELP!

    A few questions ....
    What is the program you are trying to download? It is a mac version?
    Is this a vendor's CD or a copy or ?
    What error message or other indication do you get that says the download won't happen?

  • Customer Statement using SAP Script and Standard print program RFKORD10

    Using sap script and standard print program RFKORD10 I need to create a customer statement where the main window will be as follows
    Invoice #     InvoiceDate  CustomerPO  Debit Amt  Credit Amt  Total
        6        7           8               9               10               11
        6        7           8               9               10               11
                                     Totals               12             13              14
    Where company code BKORM-KUKRS
                Invoice              BSID-BELNR
                Invoice date      BSID-BLDAT
                Customer PO    VBKD-BSTKD
    For each document number selected there will be one to many records in VBRP.  For each invoice item in VBRP:
    u2022     Select BSTKD from VBKD where
    o     VBELN = VBRP-VGBEL and
    o     POSNR = VBRP-VGPOS
    u2022     If no hits then select BSTKD from VBKD where
    o     VBELN = VBRP-VGBEL
    If there is more than one PO per invoice then list them in the Customer PO field without repeating the other fields.PO shouldnu2019t come more than once per invoice.
                 Debit Amt         if BSEG-SHKZG = S then WRBTR ELSE 0
                 Credit Amt        if BSEG-SHKZG = H then WRBTR ELSE 0
                 Total                  Debit Amt u2013 Credit Amt
                  Totals                Subtotals
    It will be of great help if some one can help me with the script and the alterations required in standard print program RFKORD10
    Points will b rewarded for sure.
    Thanks.

    Hi Suganya,
    The custom form is getting displayed properly. But the requirement is to have it as an editable PDF. So the functional team is working on configuring the settings of PDF forms with customers email address.
    But for right now, i customized the standard form F140_ACC_STAT_01 and standard print program RFKORD10_PDF and did the configuration. It is getting displayed (I tested only with the transaction FBL5N - customer open line items..)
    Please let me know any further details on this.
    Poornima

Maybe you are looking for