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

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

  • 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

  • Hide row in planning book using BADI /SAPAPO/ADVX USER_EXIT_MACRO

    Dear All,
       I would like to have your suggestion how to hide row in planning book using BADI USER_EXIT_MACRO
       the requirement is when I drill down the object by region, the first line will be "total" and the second and third line
       will be region like "north" and "south".
       I want to show only "total" line and hide region detail.
       Would it be possible to do this using the badi USER_EXIT_MACRO?
    Thank you in advance,
    Boonsom

    Hi,
    In the Interactive Planning, you see a Cap-like icon on the top-left...... click on it and choose the characteristic (say, region) and say ok. You will then be able to see the Region just on top of the planning table. When you load the data, by default, it will have "Total" as option, and with your wish, you can choose to see the data for a particular region (North, South etc).
    Regards,
    Guru Charan.

  • BAdI /SAPAPO/DM_PO_MNTN - CT_ORDKEY is not populated with the order data for PO Memo

    Dear All,
    I have done enhancement in the ERP system by adding the customer specific field ZZ_RESWK in structure CIFPUORCUS. This field is filled in the ERP user exit EXIT_SAPLMEAP_001, for the Purchase order (category BF & BG) and PO Memo (Category AH).
    Now, in APO I have implemented the BAdI /sapapo/dm_po_mntn, and in the method "Change" I am passing the field zz_reswk to ct_ordkey table field reswk, so to write the field in livecache.
    This set up is working for order category BF and BG. However, when I am transferring the PO memo (Category AH) from ERP to APO, the the BAdI internal table ct_ordkey is having no records. Hence I am not able to write field reswk for the PO memo in the live cache.
    Any one have any idea, why there is not data in ct_ordkey for PO memo ?
    Note: The data transfer from ERP to APO is using IDOC.
    Please Help.
    Regards,
    SC

    Hi,
    If you don't do what I told you, I can not do anything more....
    Your code should look like this:
    loop at it_item into ls_item.
    ls_cust-refobject = 'POITEM'.
    ls_cust-fieldname = 'CATALOGID'.
    ls_cust-REFFIELD1 = 'PO_ITEM'. <b>and not 'POITEM'</b>
    ls_cust-REFVAL1 = ls_item-number_int. <b>and not a fixed value</b>
    ls_cust-container = ls_item-catalogid.
    append ls_cust to ct_bapi_customer_fields.
    endloop.
    For R/3 mapping table BBP_CUFMAP:
    DOC_TYPE = PO
    KEY_TYPE = Z
    CUF_FIELD = CATALOGID
    R3_FIELD = ZSRMCATALOGID
    Rgds
    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

  • 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.

  • 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

  • BADI implementation for importing values from excel

    Hi All,
    This is my first ever post in this forum and I am a newbie in ABAP. I have this doubt rather I would say I am stuck while implementing a BADI for importing Excel values.
    We have a BADI for 'Upload flow rate' button which is built on PLM frame work on webdynpro.
    The requirement is that after clicking the ' 'Upload flow rate'  button it should prompt for selecting the excel file and after selecting that file, the values should get loaded to the internal table.
    what I have tried till now is that
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
       EXPORTING
        I_FIELD_SEPERATOR    =
         I_LINE_HEADER        = 'X'
         I_TAB_RAW_DATA       = IT_RAW       " WORK TABLE
         I_FILENAME           = 'C:\abcdl\book1.xlsx'
       TABLES
         I_TAB_CONVERTED_DATA = lt_result
       EXCEPTIONS
         CONVERSION_FAILED    = 1
         OTHERS               = 2.
    IF SY-SUBRC <> 0.
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endmethod.   
    I tried hard coding the xls file but it gives error as 'CNTL_error' which I guess is a known issue when we use this function module in webdynpro.
    So how can I get the values from excel without using datasource and just by hard coding the file name?
    Regards,
    Anand
    Anand

    There is no solution to this - SAP have said they will re-introduce this functionality, but they havent said when (as far as I am aware).
    However, we have developed a workaround (for Web reports anyway), let me know if you are interested.
    Patrick

  • Open hub services for badis implementations

    I want to implement a openhub services for badis.
    could u please send me a screen shot implementation am new to this task.
    thanks for help

    Hi Madhavi,
                    Can you please  send  those  docuemnts to me also.
    Mail-Id : [email protected]
    Thanks in advance
    Regards
    Ramakanth.

  • 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 T-code: QE71

    Hi Experts,
    I am implementing a badi in transcation QE71 my requirement is to automatically generate quality data. In this t-code we enter the value for the MIC of the material for each inspection lot.
    But in the screen only one entry can be done at a time our requirement is to enter 10 data at a time. Badi which hits when we press save button is QE_RESULT_VALUATION but the data entered in screen is column wise that is if it has 5 MIC for the material (thickness, socket length,....) then first it take thickness then in another loop it take socket length and so on. Please give me suggestion that how would I implement this badi. Please help
    Thanks and regards,
    Suruchi

    HI,
    Based on you requirement to enter the multiple entries at a time of inspection result data.
    you can perform the same scenario with the one more transaction called qa32. Over here you need to enter inspection lot no. and serial no. later on the another screen appears with different parameters to enter its respective values.
    using Badi QE_SAVE with two methods 1.) IS_ACTIVE 2.) TABLES_IN_OPERATION
    IS_ACTIVE-RV_ACTIVE = 'X'.
    in  TABLES_IN_OPERATION method, you will find the structure : IS_QALS
                                                                                    EV_SAVING_ALLOWED
                                                                                    CS_QAPO
                                                                                    CS_QAPP
                                                                                    CT_QAMK
                                                                                    CT_QASP
                                                                                    CT_QASE
                                                                                    CT_QAKL
    IS_QALS, CS_QAPP &  CT_QAMK , you will get the all the basic inform.
    and using function modules 1.) QAPB_QAPP_POST 2.) QEBU_QASR_POSTING
    we can update/ insert multiple entries of data in to the qapp, qasr, qals tables.
    At last by running the T-Code : qe71 you will find the all the entries you have inserted in the tables.
    regards,
    balu.

Maybe you are looking for