Bapi enhancement using user/customer exits

It is necessary to have access to all calls and purchase orders to be able to maintain the control of the ERS procedure centrally in the TBB system for the functionality u201CBestellselektionu201D [purchase order selection],. Without delay, all necessary purchase order and call data is provided for the table 'ERS'  u201Crealtimeu201D via the interface from SRM. It must be ensured that this table is always filled for SRM scopes synchronous with the SAP standard tables (EKKO, purchase order header data, EKPO purchase order item data, EKAN vendor address, EKPA partner roles etc.). For this purpose, efforts are made to load this table during each creation or change of a purchase order. On the ERP side, the u201EBAPI_PO_CREATE1u201C, which is called by SRM via RFC in the ERP, serves the purpose of creating purchase orders. The BAPI_PO_CHANGE is used for changes in the purchase orders. These BAPIs can be enhanced by the Customer exits EXIT_SAPL2012_003 respective EXIT_SAPL2012_004. With the help of the exits, a function module is called, which then provides the customer-specific fields of the table 'ERS'
i want to enhance bapi using customer /user exit
so how shall i proceed with this requirement ??
how sahll i code the include for this req???
i m using the functions ::
1] EXIT_SAPL2012_003
2] EXIT_SAPL2012_004
so how can i enhance the bapi using user exits..
I want to transfer the data from SRM system to TBB system with the customizzed table filled with this data at ERP ie TBB side .. so plz reply how shall i proceed ???

Thanks Naresh, it helped...
Can you please help on the below:
1. For outbound Sales order IDoc- CRMXIF_ORDER_SAVE_M01,need BADIs for modification of the IDoc before it gets generated.
2. Need program to generate output as outbound IDoc- CRMXIF_ORDER_SAVE_M01  for sales order conformation/acknowledgement.
3. Need a BADI after the EDI Sales order is saved.
Thanks in advance
Vijay

Similar Messages

  • How to use a customer exit in WebI

    Hi expert,
    I read from official SAP document that customer exit variable are supported within WebI query.
    I created an universe based on a query bex. In this query I use a variable exit for 0calmonth2.
    Within the WebI universe I don't see any variable.
    How can I use/build a customer exit variable in my WebI query?
    System feature: BO 3.1
    Many Thanks.
    Claudia

    Hi,
    I havethe same issue, even though I place the user exit variable in Filter section, its not working as expected in WEBI/crystal.
    the variable that i have created will assign default value as sysdate.its working fine BW.
    Are there any extra settings at BEX/BW level which have to be set before using user/sap exit variables in webi/crystal?
    How should the user/customer exit variables be defined in order to get them carried properly to webi or crystal, I mean what should be the properties set for these variables?

  • Search for User/Customer-Exit in Printing Quality-Notifications

    Hello,
    because we want to use the standard of SAP, we don't want to use a custom print programm for our quality-notifications. One of the print programms is "RQQMUD01". Are there spezific User/Customer Exits for the print programs of the quality-notifications. Or do we have to copy the original print program and make our modifications? Thanks.
    Regards, Lars.

    Hi,
      In our casewe have copied the standard SAP Program RQQMUD01 and the form QM_NOTIF_OVERVW1 to meet our requirements.
    regards
    Aveek

  • Use of Customer Exit - IP Wad Input ready Query

    Hi All,
    Can anyone confirm if we can use a customer exit variable(populates a SEQ number) be used in a input layout on IP>>WAD application.
    In my case it displays the seq number in the header area,but displays the "No rows or cols displayed because the axis not input readyu".
    We applied the note  SAP Note 1337901 - Query not ready for input if there is an empty results set;
    But had little luck;
    When I remove the exit variable it works fine as long it is drill-down in the rows;
    Any help would be apreciated.
    Thanks
    Rao

    My Exit variable works fine,and generates the sequence in WAD/BEX..
    The problem I have is when I include teh exit var on the query/filter of the agg lvl;
    The Wad screen displays the generated seq number in the header area, but turns the input grid  OFF.
    Thanks
    Rao

  • What is diff b/w user & customer exit

    Hi
    Good afternoon everybody,
    Plz differentiate user exit and customer exit.
    What is the way to findout user exits and how to modify it.
    Thanks in advance
    Venkat

    Hi Venkat,
    Check the following description
    Customer exits: The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
    They do not affect standard SAP source code
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    They do not affect software updates
    When you add new functionality to your SAP System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    In contrast to customer exits, user exits allow developers to access and modify program components and data objects in the standard SAP System.
    User exits: Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT. The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include any changes (enhancements) that they want to make to the system. These includes are always processed during program flow.
    I hope this helps.
    Regards,
    Kinshuk

  • Authorizations by use of customer-exit: in  i_step = 3,   i_vnam is empty

    Hello all,
    I have checked multiple scenarios and they do not work:
    Current situation/setup:
    1. <b>Creation of several variables and adding each of them to different queries</b> :
    Variable   Type   Processing      Infoobject                     Selection  ready for input
    COB     1     6     ZCCOSTCTR__ZCCOB     S     
    CB2     1     6     ZCCOB                                     S     
    CBV     1     3     ZCCOB                                     S     
    2. <b>Adding values in a role</b> (currently 3.0 is used and we want to check the exit and if it works before upgrading to 7.0) and assign it to the user:
    Old active Object:ZCKS_COB:
    1KYFNM    *                                                                            
    9ZCCOB    $C-B2, $C-OB , $C-BV    
    added new object without 1KYFNM:                                                                               
    ZCCOB      $C-B2, $C-OB, , $C-BV             
    3. <b>Marked the used object auth. relevant</b> for the cube of the query
    4. Enhanced ZXRSRU01 via CMOD with coding and activated also the project:
      WHEN 'COB' or 'RESPNO'.
       IF I_STEP = 0.
        IF I_STEP = 1.
       IF I_STEP = 3.
          CALL FUNCTION 'Z_VARIABLE_BY_AUTH'
            EXPORTING
              I_VNAM           = I_VNAM
            TABLES
              E_T_RANGE        = E_T_RANGE
            EXCEPTIONS
              NO_AUTH          = 1
              NOT_VALID        = 2
              MISSING_OPERATOR = 3
              OTHERS           = 4.
          IF SY-SUBRC = 1.
            MESSAGE W007(EYE).
          ENDIF.
          IF SY-SUBRC = 2.
            MESSAGE W707(BRAIN).
          ENDIF.
          IF SY-SUBRC = 3.
            MESSAGE W999(BRAIN).
          ENDIF.
          IF SY-SUBRC = 4.
            MESSAGE W649(BRAIN) with I_VNAM ''.
          ENDIF.
        endif.
    The function 'Z_VARIABLE_BY_AUTH' was tested separately and fills in E_T_RANGE as expected.
    I also changed the variable names each time to all the other existing variables while debugging.
    If I use a variable of <b>type customer-exit</b> and process it with <b>i_step =1</b> the value selection and query result is OK.
    But this <b>scenario works without roles</b> and authorization values triggered by a variable $<VARIABLE> and is not the intended and documented way proposed by SAP. The documentation says to create a variable of type authorizations and to process it in I_Step = 3. But in this step I_VNAM is empty and so there is no processing ot the function module.
    Has anyone a solution? I could not find the issue during several debugging sessions. One strange thing is the protocol of rssm: the authorization buffer is not reflecting the enhanced role but only the value $C-B2 for object ZCKS_COB.
    Thanks in advance to have a look on this tricky issue.
    Bye,
    Petra

    Try this:
    IF i_s_rkb1d-compid = 'Query Name'
    Validation of data for the value entered in your Variable
        READ TABLE i_t_var_range INTO yourworkarea
                    WITH KEY vnam = yourvariable
        IF sy-subrc = 0.
          IF w_s_var_range-low(4) <>  w_s_var_range-high(4).  " Your condition or Logic
            l_msgv1     = c_qtr_com1.  " Your message
            i_handle = 9998.
            CALL FUNCTION 'RRMS_HANDLE_MESSAGE_INIT'
              EXPORTING
                i_handle         = i_handle
                i_msg_handler_id = sy-uzeit.
            CALL FUNCTION 'RRMS_MESSAGE_HANDLING'
              EXPORTING
                i_class  = 'RSBBS'
                i_type   = 'I'
                i_number = '000'
                i_msgv1  = l_msgv1
            RAISE again.
          ENDIF.
        ENDIF.
      ENDIF.

  • User / Customer Exits

    Dear SAP Gurus
                   Hi!!
    As an SD functional consultant, I know the list of User Exits are available in SD. But if I want to check about any exit, i mean what this exit will do, How can I see that or check that??

    Jp Support,
    SPRO --> IMG --> Sales and Distribution --> System Modifications --> User Exits --> User Exits in Sales (select the documentation node & you will get an ocean of information.)
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    Amit.

  • User,Customer exits or BADI for IDOC Type - CRMXIF_ORDER_SAVE_M01 in CRM

    Hi Friends,
    We are creating teh EDI Sales order in CRM using below details:
    Basic Type - CRMXIF_ORDER_SAVE_M01
    Message Type - CRMXIF_ORDER_SAVE_M
    Functional Module  - IDOC_INPUT_CRMXIF_ORDER_SAVE_M
    Direction -Inbound
    We need to customize the values for the IDOC,
    Can any one help  us in providing the details on any Customer Exits , User Exits and /or  BADIs for the abov ementioned FM.
    We greatly appreciate your early responce.
    Thanks
    Vijay

    Thanks Naresh, it helped...
    Can you please help on the below:
    1. For outbound Sales order IDoc- CRMXIF_ORDER_SAVE_M01,need BADIs for modification of the IDoc before it gets generated.
    2. Need program to generate output as outbound IDoc- CRMXIF_ORDER_SAVE_M01  for sales order conformation/acknowledgement.
    3. Need a BADI after the EDI Sales order is saved.
    Thanks in advance
    Vijay

  • User/customer exit after receiving e-mail

    Hi,
    I want to process the mail after receiving it. Is there any user/customer that can be used after receiving an e-mail? Is there any alternative way?
    thank,
    - ferudun

    Hi,
    I have examined PROCESS_INBOUND method of class CL_RMPS_INCOMING_MAIL. I found that there is RMPS_POST_DEFATTR badi call. I have implemented the badi and insert endless loop in methods SET_DEFAULTS_MAIL_SMTP and SET_DEFAULTS_MAIL_BOR. I sent an e-mail but the methods I have implemented were not reached.
    I have traced the incoming mail and there were the following lines:
    IBND_PROC_POST_DECR     G     Start of Exit Processing
    EXIT_PROCESSING     G     No Exits Found
    IBND_PROC_POST_DECR     G     End of Exit Processing
    IBND_PROC_POST_DECR     G     Try to Find Internal Recipients
    What is missing or wrong in my work?
    tahnks,
    - ferudun

  • 0PROG_POS_TEXT uses ATTR customer exit!

    This is a strange one!
    I created an enhancement for 0PROG_POS_TEXT in CMOD, customer exit EXIT_SAPLRSAP_003 (which is the customer exit for texts?), but when I debug 0PROG_POS_TEXT in RSA3 it calls up EXIT_SAPLRSAP_002 (which is for attributes)!
    An idea why and how to fix it?

    hi Rudolph,
    as of bw 2.0b, attributes and texts use exit_saplrsap_002
    hope this helps.
    Note 413539 - TextDataSource enhancement with exit_saprsap_002 as of BW20B
    Solution
    You can use the SAP enhancement RSAP0001 to enhance the DataSources of the SAP Business Information Warehouse. This enhancement includes the following components for transferring data into a BW with a release level as of 2.0B:
    Transaction data:       exit_saplrsap_001
    Attributes, texts:      exit_saplrsap_002
    Hierarchies:            exit_saplrsap_004.
    For transferring data into a BW 1.2B, you still use the following enhancement components for InfoSources:
    Transaction data:  exit_saplrsap_001
    Attributes:        exit_saplrsap_002
    Texts:             exit_saplrsap_003
    Hierarchies:       exit_saplrsap_004.

  • To Supress variable screen in WAD - variable used in customer exit

    Hi All,
    We have a requirement to supress variable screen with WAD 7.0, but the report on which we have built the WAD contains a variable which is used to calculate quaterly utilization in customer exit and ready for input.
    So as there is a variable in CMOD and used in report level, eventhough we supress variable screen in WAD, not getting supressed.
    Can you provide some pointers.
    Thanks,
    Sri Arun Prian

    Hi Arun.
    Can you please tell me, is the variable entry mandatory? If yes please make the variable entry is optional.
    Regards,
    Lokanatha.

  • WAD Variable screen not displaying when using a customer exit variable

    Hello,
    I have a query which has 3 variables, one of which is of type customer exit and gets populated with a default value.
    When I run this query on the web from within BEX it works fine, however when I run it within any BI7 web template the variable screen does not pop up. Of course if I remove or change the offending customer exit variable the variable screen pops up.
    I have switched the display variable check-box to on, and it still doesn't work.
    Is this a 'feature' of BI7?
    Many thanks
    Sarah

    Fixed it myself by tweaking the URL....
    Added &VARIABLE_SCREEN=X to the end of the url and the variable screen now pops up. Its not an ideal solution but it works.
    Anyone have any better ideas?

  • Runtime error in MIRO while using User/Screen exit

    Hello,
    I have implemented an exit in ABAP for MIRO which when transported to Quality server through runtime error.
    I have used EXIT (SMOD) : LFDCB001 which contains FM -> EXIT_SAPLFDCB_001 and include -> ZXM08U31. In this exit I have written my code to disable Inv. Party field. This field exist in Details Tab in Miro Transaction.
    Location of the field: MIRO -> Details (tab) -> Inv. Party (Field)
    Code written in include ZXM08U31 is:
    LOOP AT SCREEN.
      IF screen-name = 'INVFO-LIFRE'.
        screen-input = 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
    This exit is assigned to a project in CMOD and I tested the same in Development system. It is working perfectly.
    Now I transported the TR (Includes program ZXM08U31 and Customer enhancement projects ZMIRO). Now when I run MIRO in quality server it triggers the my logic and then through runtime error.
    Runtime error says:
    Short text
        Dynpro does not exist
    Error analysis
        The system attempted to use dynpro 0400 in program "SAPLXM08".
        This dynpro does not exist.
    I agree that screen 400 does not exists in program for MIRO but it does not exists in development system as well. So if the runtime error is valid in QEC server then why not in DEV server. And when it can run successfully in DEV server why cant it run in QEC server.
    Hope I have explained all the things in detail.
    Please provide me the solution since user can bombard anytime for the MIRO dump everytime in QEC.
    Regards,
    Harjeet Grover

    Hi Harjeet,
    Reason of your Dump is that the enhancement "LFDCB001" which you used contains one Function module exit "EXIT_SAPLFDCB_001" and another one screen exit in calling screen  "SAPLFDCB" number 0150.
    So when you activate your project these above mentioned both components were activated.
    So when you execute transaction SAP looks for called screen "SAPLXM08" No-0400 but as you havn't created and program go for DUMP.
    Solution - Just Create called screen  "SAPLXM08" No-0400 and activate.
    Thanks,
    Vijay

  • Variables used as Customer Exits

    Hello Gurus,
    Calender date in selection screen is defauled to
    Current date. but If a user enters calender date, this calender date is not passed during the query execution.
    Reason: The BADI used is as follows:
    method ZIF_EX_BXB_VARIABLES_BADI~MODIFY_VARIABLE.
    DATA: l_s_range TYPE rrrangesid.
      IF imp_step = 1 or imp_step = 2.   " Process after input of all variables
        CLEAR l_s_range.
        l_s_range-sign = 'I'.
        l_s_range-opt  = 'EQ'.
        l_s_range-low  = sy-datum.
        if imp_step = 2.
         concatenate l_s_range-low4(2) '/' l_s_range-low6(2)  '/'
                     l_s_range-low+0(4) into l_s_range-low.
        endif.
        APPEND l_s_range TO e_t_range.
      ENDIF.
    endmethod.
    For Eg: Calender Date: 06/20/2008 (date1)
    But user enters: 07/17/2007 (date2)
    The date2 should go to step 2 using the imp_step = 2 statement.
    How do I make sure this is happening?
    I tried to debug using RSRT, but couldl not figure out.
    Thanks,
    Kitu

    Make the following change in your code
    method ZIF_EX_BXB_VARIABLES_BADI~MODIFY_VARIABLE.
    DATA: l_s_range TYPE rrrangesid.
    IF imp_step = 1 or imp_step = 2. " Process after input of all variables
    CLEAR l_s_range.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    l_s_range-low = <Name of Input Variable for Date>.
    if imp_step = 2.
    concatenate l_s_range-low4(2) '/' l_s_range-low6(2) '/'
    l_s_range-low+0(4) into l_s_range-low.
    endif.
    APPEND l_s_range TO e_t_range.
    ENDIF.
    endmethod.
    Regards,
    Swati

  • Trying to use the customer exit to retrieve prior year dates HELP

    i have the code below where i want to return a to & from date of the prior period.  the "TO" date is always the 1st of the month of the day they entered - 1 to get prior year.  when i debug they are populated but I get an error when i run the query sayin gthe enhancement has errors. 
    CASE I_VNAM.
      WHEN 'ZD_TOFROMDATEPRIOR'.
        IF i_step = 2.
          loop at  I_T_VAR_RANGE INTO Loc_Var_Range
          where vnam = 'ZD_DATEENTERED'.
            Clear L_S_Range.
            L_S_Range-low0(4) = Loc_Var_Range-low0(4) - 1.
            CONCATENATE L_S_Range-low0(4) loc_var_range-low4(2) '01' INTO L_S_RANGE-low.
       CONCATENATE L_S_Range-low0(4) loc_var_range-low4(2) loc_var_range-low+6(2) INTO l_s_range-high.
         l_s_range-high = loc_var_range-low+4(4).
            L_S_RANGE-sign = 'I'.
            L_S_RANGE-opt = 'BT'.
            APPEND L_S_Range TO E_T_RANGE.
          endloop.
        ENDIF.
    ENDCASE.

    In case you haven't considered it, there is an easier way to accomplish this.
    Since you are ignoring the day anyway, change your query to prompt for Calendar Month/Year or Fiscal Year/Period instead of prompting for a date range, then use variable offset of "-12" on first entry ("From") to get prior year's data.
    Alternatively, you could use the current date range variable with an offset of "-365", but it doesn't sound like that would be good enough in your case.
    Hope this helps...
    Bob

Maybe you are looking for