Sample implementation for Badi CRM_IC_INBOX_BADI

Hi,
In our project we are going to extend Inbox Search with some custom fields in Search box.
But I have no idea about what should I write inside the BADI which works in background to take care of the searching.
I need all help that can be used for this implementation. Some questions are,
1. Do i need to alter Get_Query_Result method?
2. What should be the implementation inside of the other methods like BEFORE_SEARCH, AFTER_SEARCH?
3. Do I need to redefine any other methods.
4. Most imp, instead of implementing BADI, is there any other way around to provide solution to do this?

Hi Omkar,
Please go through the below Link :
http://scn.sap.com/thread/1631361
Thanks & Regards,
Akshay Ruia

Similar Messages

  • How to create implementation for BADI BADI_SD_SALES_ITEM

    Hi all,
    When i try to create a implementation for BADI it erorrs out saying "its for intenal use". Is there any way i can still go ahead and create a implementation for this BADI BADI_SD_SALES_ITEM.
    Thanks in advance.

    Hello Jayakumar,
    The BADI <b>BADI_SD_SALES_ITEM</b> is designed as internal BADI; the implementation can only be done, if the BADI is set to external.  The property of a BADI is stored in the table <b>sxs_attr</b>. The flag <b>internal</b> must be cleared to use the BADI as external. The following short program will show you an example:
    report  z_xpra_upd_badi_def.
    data: gt_prot          type table of sprot_u,
          gs_prot          type sprot_u,
          gv_simulate      type xflag.
    * Constant Definitions for Protocoll:
    constants:
          gc_error_fatal   value 'E',      " Error message with stop_upgrade
          gc_error         value 'P',      " Error message: no prod use!
          gc_success       value space,    " Success
          gc_info          value space,    " Info
          gc_warning       value 'W',      " Warning
          gc_lv_error      type n value 2, " Level for type 'E'
          gc_lv_add_error  type n value 2, " Level for additional info
          gc_lv_warning    type n value 2, " This could be either 2 or 3
          gc_lv_success    type n value 3, " Success only at 3
          gc_lv_info       type n value 4, " Info-messages only at 3 or 4
          gc_lv_debug      type n value 4. " Additional info for yourself
    start-of-selection.
      gv_simulate = space.
      perform bc_action using 'BADI_SD_SALES_ITEM'
                               gv_simulate.
    * Finally, the transport protocol will be added:
      call function 'TR_APPEND_LOG'
        tables
          xmsg   = gt_prot
        exceptions
          others = 5.
      call function 'TR_FLUSH_LOG'.
    * END OF PROGRAM
    *&      Form  bc_action
    *       Function description/flow
    *       Used global variables:
    *       Read/Write
    form bc_action using li_badi_def   type sxs_attr-exit_name
                         li_simulate   type xflag.
      data: ls_sxs_attr type sxs_attr.
      select single * into ls_sxs_attr
             from sxs_attr client specified
             where exit_name = li_badi_def.
      if sy-subrc = 0.
        if not ls_sxs_attr-internal is initial.
          if gv_simulate is initial.
            clear ls_sxs_attr-internal.
            update sxs_attr client specified
            from ls_sxs_attr.
          endif.
          if sy-subrc = 0.
            perform bc_append_log using gc_lv_success
                                        gc_success
                                       '5@'
                                       '000'
                                        li_badi_def
                                        text-001
                                        sy-dbcnt
                                        space.
          else.
            perform bc_append_log using gc_lv_error
                                        gc_error
                                       '5@'
                                       '000'
                                        li_badi_def
                                        text-002
                                        sy-subrc
                                        space.
          endif.
        else.
          perform bc_append_log using gc_lv_success
                                      gc_success
                                     '5@'
                                     '000'
                                      li_badi_def
                                      text-003
                                      space
                                      space.
        endif.
      else.
        perform bc_append_log using gc_lv_success
                                    gc_success
                                   '5@'
                                   '000'
                                    li_badi_def
                                    text-004
                                    space
                                    space.
      endif.
    endform.                    "ACTION
    *&      Form  bc_append_log
    *       Function description/flow
    *       Used global variables:
    *       Read/Write
    form bc_append_log using li_level    type sprot_u-level    " Level
                             li_severity type sprot_u-severity " Severity
                             li_ag       type sprot_u-ag       " Message-ID
                             li_msgnr    type sprot_u-msgnr    " Messagenumb
                             li_var1
                             li_var2
                             li_var3
                             li_var4.
      clear gs_prot.
      gs_prot-level    = li_level.
      gs_prot-severity = li_severity.
      gs_prot-langu    = sy-langu.
      gs_prot-ag       = li_ag.
      gs_prot-msgnr    = li_msgnr.
      gs_prot-newobj   = space.
      gs_prot-var1     = li_var1.
      gs_prot-var2     = li_var2.
      gs_prot-var3     = li_var3.
      gs_prot-var4     = li_var4.
      append gs_prot to gt_prot.
    endform.                    " bc_bc_append_log
    This report can be used as <b>XPRA</b> run; for this you need to assign this report in a transport with property object type <b>XPRA</b>. After importing the transport the report will be started automatically.
    Please handle this proposal solution carefully.
    Best regards,
    Kurt.

  • Issues while creating implementation for BADI  "ME_PROCESS_PO_CUST"

    Hi Group,
    I have issues while creating implementation for  BADI "ME_PROCESS_PO_CUST".
    I tried to create implementation for the above mentioned BADI but, I was getting an error like this:
    "Interface implementation IF_EX_ME_PROCESS_PO_CUST does not exist".
    I want to implement this BADI and so, ideas/views at the earliest will be appreciated.
    Please let me know how to overcome this error.
    Thanks,
    Vishnu.

    Hi,
    Have you activated the class which is implementing the interface? (in transaction SE19 you should see class name)
    Best regards,
    Wojciech

  • Implementation for BADI - /SAPAPO/ADVX

    Hi,
    I have created and activated an implementation for the BADI /SAPAPO/ADVX for the method USER_EXIT_MACRO. But this implementation is not triggering when i execute a macro in Transaction /SAPAPO/SDP94. Could you please let me know how to achieve this? (I am implementing this BADI to display the Units in SUOM instead of Base UOM).
    Do we have any other BADI for changing the stock from UOM to SUOM?
    Thanks,
    Rajinikanth

    Hello Experts,
             I have created one Z class in which i am using the methods of BADI /sapapo/advx , i have hard coded my macro id ,layout id and view id so that it will execute my code on execution of that particular macro.now my problem is how to read the data for particular keyfigure from the internal tables of this interface.i am not getting how to read te data and process it.
    please help me on this.
    Regards,
    Saurabh Kulkarni

  • Please can you give me sample code for badi

    Dear Freinds
             i have tried writing coding for the badi HRPAD00INFTY, but iam not able to get, my requirement is when the user enters for the ansal amount that amount
    should be divided by 12 and should be defaulted for basic pay (p9008-bet01)  based on the wage type (p9008-lga01=MFPY),
    i have calculated the value as , but now i have to assign the value to  p9008-bet01.
    please let me know how i should code.
    i am giving the code which is have written can you please let me know where i am wrong
    method IF_EX_HRPAD00INFTY~AFTER_INPUT.
    data: wa_pa0008 type pa0008.
    select Single * from pa0008 into wa_pa0008 where pernr = NEW_INNNN-pernr .
    if wa_pa0008-lga01 = 'MFPY'.
         new_innnn-bet01 = wa_pa0008-ansal / 12  -
    here iam not able to assign  
    endif.
    endmethod.
    regards
    syamla

    Hi pranesh
               thanks for  replying , but the only problem is i have to default the value
    for bet 01 from ansal
    ie from p0008-ansal to q0008-bet01.
    then only the method
    CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
    EXPORTING
    prelp = new_innnn
    IMPORTING
    pnnnn = wa_0008. " wa_9008
    will trigger for me and th wa_0008 will be filled up.
    since when i say create 0008 , then if i entering for ansal then i asking for entering
    value for q0001-bet01 , since the wage type for which i have to default the bet01
    will be there on the screen before only, so the screen expects that i have to enter the value for amount bet01, so that measn bet01 becomes mandatory,
    the method will work for me if iam able to make the bet01 being filled automatically from the calcualtion ( as per my requiremnt) i.e ansal/100.
    regards
    shanti

  • Need sample code for Using BADI ME_PROCESS_REQ_CUST

    Dear all,
    Initially my requirement is to Validate the Document Type of Purchase Request ion as per material.
    I have created a implementation for BADI : ME_PROCESS_REQ_CUST .
    im new to OOPS-ABAP, so pls send *sample code for how to use these methods PROCESS_ITEM,
    like declarations, assignment of data into internal table  for further validation*.
    Regards,
    NIranjan.G

    Hi,
    get the item data ....
         *DATA : lt_item TYPE MEREQ_ITEM,
                       ls_item liek line of it_item*
             CALL METHOD im_item->GET_DATA
               RECEIVING
                 RE_DATA = lt_item .
    you will get the data in lt_item.. table
    Thanks,
    Shailaja Ainala.

  • Sample Code for CRM enhancement in BADI

    hi,
      can anybody please give me sample code for BADI for CRM enhancement.
    i have added couple of z field in a extract structure. now i have to write code in BADI to populate those fields.
    please do not send code for user exit.
    Regards
    Subrata

    Hi Aviral,
    Please consider below thread :
    http://scn.sap.com/thread/2069370
    Best regards - Christophe

  • Filter for BAdi CRM_ORDER_STATUS does not work in WebUI

    Hello,
    we have made an implementation for BAdi CRM_ORDER_STATUS for our sales cycle.
    In detail:
    The BAdi implementation shall be triggered if the user sets a special user status within an opportunity.
    Therefor we have used the standard filter functionality provided by this BAdi (giving the correct header status profile and user status).
    Using transaction CRMD_ORDER in SAP GUI, creating an opportunity and setting the special user status -> the BAdi implementation is triggered as expected.
    But: If we are using the WebUI the done BAdi implementation is triggered at every roundrip caused by creating/editing an opportunity and not only at setting the user status.
    Does anybody of you made similar experiences with using BAdis in WebUI (SAP CRM 7.0)?
    Cheers,
    André
    **EDIT***
    It´s possible coding the filter within the BAdi implementation.
    But we prefer using the provided SAP standard.
    Edited by: Andre Schillack on Apr 23, 2009 8:47 PM

    Hi Andre,
    I just checked my system CRM2007 and below is what I found in WebUI mode:
    During the build of DDLB for Status field, it calls method cl_crm_uiu_status_info=>get_status_info. What it does is:
    1. It derives all status codes for the user status profile (based on customizing)
    2. And then for each status code, it triggers the BADI based on filter value. In the BADI, customer can decide whether the particular status (filtered value) is allowed to see in the DDLB.
    Since it is building the DDLB for Status field every time there is change on the opportunity and therefore DDLB method calls the BADI every time to build the Status code list.
    If you want to do further processing based on status change in the method BEFORE_CHANGE, you can try the following code.
    if is_status_wrk-active_old = 'X' and
           is_status_wrk-user_stat_proc = 'CRMACTIV' and
           is_status_wrk-status = 'E0002'.
    Do something
    endif.
    I hope I have not confused you.
    I feel that this is standard behaviour in WebUI. You may want to check with SAP OSS also.
    Regards,
    Paparao Undavali

  • Sap pp sample implementation

    Dear all,
    I am an SAP PP trainner in ISPL. I have an idea for doing a sample implementation in PP only. So I dont know which datas from other modules needed to complete this sample implementation for SAP PP.
    Kindly guide me....\

    @Jeyakanthan A: sir actually i have a plan to switch to ABAP in future as now as a fresher i have got an opportunity to start with SAP -PP. So this is the reason i want to install it on my system and practice it at home. Pls suggest if this is possible.?

  • Transaction code against used for BADI BAPI Details

    Hi Gurus,
    How to find in Particular transaction Active BAPI and BADI  used Details.
    Pls, Advise me.
    Regards,
    Jeevan.

    Hi Jeevan,
    Your question is not clear. Please elaborate more on the requirement. As far as I understand BAPI are independent of any transaction and those are mainly used for communication between SAP and Non-SAP system.
    BADI's are transaction dependent. You can use SE18/19 to find out active implementation for BADI.
    Thanks,
    Augustin.

  • BADI FTR_CUSTOMER_EXTENT Implementation for Facility creation - TM_61

    Hello Experts
    I am trying to add new tab in the create facility transaction and I feel that the right BAID to do this is FTR_CUSTOMER_EXTENT. I am not able to update the new values in the screen to the database table. I check in the forum and there are many questions for the same but there is no clear answer for the same. Request your help in letting me know how this can be achieved.
    I have also checked the same Function Group FTR_CUSTOM_BADI_SAMPLE but still I am not clear as to how I can achieve this.
    Thanks in advance
    Vijay V

    Hello Claudia,
    I finally solved the problem, and I hope my solution may suite your problem.
    The bigger problem I had was pass the data from the screen to the BADI itself, so I created a function group following the FTR_CUSTOM_BADI_SAMPLE in which I developed the objects.
    Those are the steps I followed:
    I enhanced the structure VTBFHA with the custom field I needed;
    I created an implementation for the FTR_CUSTOMER_EXTENT
    in EVT_APPLICATION_START method I called a function module (copied from the FTR_CUSTOM_BADI_SAMPLE_START) in which I started the subscreen I draw in new tab. (Please note that by doing this I now have the interface if_open_trtm_customer_data always at hand). Follow the instruction of the sample code or the http://scn.sap.com/thread/1534252 thread)
    in the PBO of the subscreen I retrivied the custom data via GET_CUST_DATA of the IF_OPEN_TRTM_CUSTOMER_DATA interface and pass the data in my screen fields. In order to do that I called a function module developed in the same function group, so that the interface is ready to be used.
    in the PAI of the subcreen, once the data is entered I pass the new data via  SET_CUST_DATA of the IF_OPEN_TRTM_CUSTOMER_DATA interface, again developing a FM within the function group of the EVT_APPLICATION_START custom function module I used.
    I am sure there must be a better solution, but it owrked pretty fine for me, so I hope this my help you as well.
    Moody

  • BADI Implementation for MIGO

    Hi,
      My requirement is to <b>add a new field</b> at header level in transaction code <b>MIGO</b>. No new fields at item level is required
      To achieve above task i have implemented the BADI <b>MB_MIGO_BADI</b>. As per documentation of this BADI, copied the sample implementation.
    This sample code gives one field (Number) at header level and at item (Detail)level a screen with new tab  with three fields ( namely <b>Quantity , Unit of Measure  and Text</b>).
    Now i have commented the new screen at item level created by this BADI. Still the fields in the commented screen validation is taking place.
      Even though the screen is commented at item level still the fields validation has taken place. I dont want these iteme level validations also. how do it ?
    Can you please give us the solution to above requirement.
    Regards
    Badari Talanki
    Message was edited by: Badari narayana Talanki

    Hi,
      Can you please post the details of the BADI definition (Definition name), so that it would be helpful for the forum to answer the query.
    Rgds,

  • Problem in creating new implementation for filter dependent badi

    Hi Experts,
       I want to use badi NOTIF_EVENT_POST.It is a filter dependent badi. It is asking filter type while implementing thro se19. Could anyone pls tel me how to create new implementation for the filter dependent badi. Existing filter type is QMART. is there any problem if i change the filter type?
    Thanks in Advance!

    Hi ,
    NOTIF_EVENT_POST is filter dependent and filter values are based on QMART value in table TQ80. You need to specify the filter value ie : QMART value before implimentation , before that check all active implimentations for the same , if u have to impliment on same filter value , you need to deactivate the one which is implimented on same filter value .
    You are not supposed to change the filter type.
    Regards,
    Vamsi
    Edited by: CH. VAMSHI on Sep 29, 2009 11:58 AM

  • Unable to create the implementation for BBP_PD_DOWNLOAD badi

    Hi ,
    Iam trying to create a new implementation for this BADI BBP_PD_DOWNLOAD  as zbbp_pd_download but  when iam trying to activate it .iam getting a message that already active implementation is there and i cannot create a new implementation unless i deactivate the other one.since it is a standard one i cannot deactivate it .
    Has any one used this earlier . any inputs on this wil be of great help .
    Thanks in advance

    Hi
    <u>You can create any number of Customer Implementations, provided only one is active at a time.</u>
    <b><u>Here are the steps -></u></b>
    Either Using SE18 / SE19 Transaction, or
    After you call the IMG activity, the system displays a dialog box where you enter a name for the implementation.
    If implementations of this Business Add-In have already been created, the system displays them in a dialog box. You then choose one of them by choosing Create, and continue as follows:
    1. In the dialog box, enter a name for the implementation of the Add-In and choose Create. (Say ZBADI)
    The system displays the initial screen for creating Business Add-In implementations.
    2. On this screen, enter a short description for you implementation in the Implementation Short Text field.
    3. If you choose the Interface tab, you will notice that the system has filled in the Name of the Implementing Class field automatically, by assigning a class name based on the name of your implementation.
    4. Save your entries and assign the Add-In to a package.
    5. To edit a method, double-click its name.
    6. Enter your implementation code between the method <Interface Name>~<Name of Method>. and endmethod. statements.
    7. Save and activate your code. Navigate back to the Change Implementation screen.
    Note: You can also create an implementation for an Add-In and not activate it until later. If you want to do this, do not carry out the following step:
    8. Choose Activate.
    When the application program is executed, the system carries out the code in the method you wrote.
    Regards
    - Atul

  • Which table if for BADI and its implementation

    Which table if for BADI and its implementation
    I want to know which implementations have already been created and actived for one BADI.

    Hi
    check the tables for BADI
    SXC_ATTR   
    SXC_ATTRT  
    SXC_CLASS  
    SXC_COCO   
    SXC_EXIT   
    SXC_FCODE  
    SXC_FCODET 
    SXC_IMPSWH 
    SXC_SCRN   
    SXC_TABLE  
    SXC_TABLET 
    Regards
    Anji

Maybe you are looking for