User exit for XK01 or XK02 called just before saving vendor

Is there a user exit for XK01 or XK02 that can be used just before the LFA1 table is updated?
My company wants to control LFA1-SPERR (Central posting block) and LFA1-SPERM (Centrally imposed purchasing block) based on custom criteria.
As part of the same project, I need to access the updates to LFB1-SPERR and LFM1-SPERM.

Hello friend.
U can find user exit and Badis as i mention below please check this ......
For User Exit's
goto to tcode->status->program name->double click on that,
then goto to-> attribute take the package name and
Goto SMOD tcode ->Utilities->give the package name and F8
then a list of exits will displkay for that tcode as well as that package.
For BADI's,
1)goto to tcode SE24 give the CL_EXITHANDLER and display and then double click on the GET_INSTANCE
keep Break point at this location 'call method cl_exithandler=>get_class_name_by_interface'
then the tcode it will trigger there and we can debugg there we can find badi'for that tcode and then remove the break point.
2)Goto to tcode->status->program name->double click on that program will display's
then  press crtl+F then cl_exithandler
Thank u,
santhosh

Similar Messages

  • How to find user exit for XK01/XK02/MK01/MK02/FK01/FK02

    I am working on an outbound interface and sending data from SAP to external syatem. I need to send the new supplier is created or modified data (transaction XK01/XK02/MK01/MK02/FK01/FK02) an user-exit is called to check which fields had been maintained / modified.
    Can you please help me in identifying how do i find the user exit for the above transactions.
    Thanks and regards
    Amol S

    Hi,
    If you need to find out the user-exits for the transaction which you have listed.
    you can goto T code SE85 under Enhancements -> Customer Exit -> type in the package name for the  tcode you are looking you would get the availlabel exits for the following tcode.
    and smod test those exits.
    Regards,
    Ranjith Nambiar

  • User exit, badi or enhancement to validate data before saving for  qm02

    Hi,
    Currently, I have a requirement to validate the data of a notification before saving data in Tcode qm02.
    I have found an user exit to check data for tcode qm02. It works for task tab, I mean I can get the data under task tab of qm02 and do the validation. However, for the tab processing: I want to validate the partner name before saving but I can not get the list of partners which is in Processing tab.
    Please let me know if you could show me the user exit, enhancement, or Badi so that I can validate the data under processing tab in qm02.
    Thanks in advance,
    Hung To

    Hi Keshav.T,
    Currently I am using this exit to validate data for the tab "Task". However, for the tab "Processing" I can not get the data, let say Partner, to validate.
    Thanks,
    Hung To

  • User Exit for ME21 PO Creation at the time of saving--Urgent

    Hi,
    Can some one help me out in finding the user exit for PO creation at the time of saving.
    The Requirement is:
    I need to create a custom field in EKKO table.
    After appending the structure with the field to the EKKO table, i need to create a PO.
    Now i need to update the field which has been created at the time of pressing the SAVE button.
    I need to update the EKKO table it self.
    I could find the user exits but none of them have the EKKO table either in Changing or in Tables.
    Thanks,

    Hi,
              You may want to check this user exits.
    EXIT_SAPMM06E_012 - Check Customer-Specific Data Before Saving
    EXIT_SAPMM06E_013 - Update Customer-Specific Data in Purchasing Document
    Here is the list of available user exits for ME21.
    EXIT_SAPMM06E_001 - Other Number Range or Own Document Number
    EXIT_SAPMM06E_004 - User Exit for Cust.-Specific Control of Import Data Screens in Purchasing
    EXIT_SAPMM06E_005 - Field Selection Control: Vendor Address Screen
    EXIT_SAPMM06E_006 - Export Data to Customer Subscreen for Purchasing Document Header (PBO)
    EXIT_SAPMM06E_007 - Export Data to Customer Subscreen for Purchasing Document Header (PAI)
    EXIT_SAPMM06E_008 - Import Data from Customer Subscreen for Purchasing Document Header
    EXIT_SAPMM06E_009 - Reset Customer Data at Beginning of New Document (Without Dialog)
    EXIT_SAPMM06E_012 - Check Customer-Specific Data Before Saving
    EXIT_SAPMM06E_013 - Update Customer-Specific Data in Purchasing Document
    EXIT_SAPMM06E_014 - Read Customer-Specific Data when Importing Purchasing Document
    EXIT_SAPMM06E_016 - Export Data to Customer Subscreen for Purchasing Document Item (PBO)
    EXIT_SAPMM06E_017 - Export Data to Customer Subscreen for Purchasing Document Item (PAI)
    EXIT_SAPMM06E_018 - Import Data from Customer Subscreen for Purchasing Document Item
    EXIT_SAPMM06E_020 - User Exit: Change Document for Requisitions (Conversion into PO)
    EXIT_SAPMM06E_021 - Fulfillment of Target Value: Release Orders Against a Contract
    <b>Reward points</b>
    Regards

  • User exit for reducing Query lines!

    Hello,
    IS it possible to use a User Exit for queries to reduce my resultpackage before the lines arrive the reporting area?
    For example:
    I have a due date and in case of an entry of a field in the query result package the <exit> must read a reference from a info provider to decide if this line of this resultpackage can be load or not!
    Query resultpackage
    Contract :
    a             look up in, ODS for example, decision! delete line from package or not
    and so on..
    b            Yes
    v            No
    f
    g
    Short form:
    Is it possible to manipulate the result package of a query in a user exit dynamically like described above??
    AND how is it to implent?
    Thank you for you answers!
    By Rene
    Edited by: NW-DEV on Oct 7, 2010 3:52 PM
    Edited by: NW-DEV on Oct 7, 2010 3:55 PM

    Hi,
    Is it necessary that you do this on the fly (during query execution)?
    A simpler way to achieve this is by adding a column to your cubes ... say Flag . Update this flag, during transformations. This Flag field will indicate 'Marked for Deletion' and you can filter out records in the Query, by adding this Flag Field in Query Restrictions.
    If you want to achieve this during Query execution, you may need to use Virtual Characteristics(You can search for the code/implementation steps on SDN). Again Flag field will be the Virtual Characteristic and Query Filters will contain Flag value exclusions.
    Regards,
    Advait

  • User exit for process order

    Hi experts,
    I need user exit for a process order (COR1). While saving the process order batch number has to generate based on the production version.
    I used the exit PPCO0007, but its not working. Is there any other exit available r not?
    Can u tell me exit name at process order creation?
    Naren

    Thanks for your reply.
    I maintained Production scheduling profile in workscheduling view. The number range i used in the user exit is not generating at the time of release. Is there any other user exit is available for process order.
    Yesterday i got another problem. While releasing the process order it is giving a message as release rejected. I went to the log details. In that no batch could be determined message came. I deactivated the user exit and tried. The std number range also it is not taking. I went to goods receipt tab and click on the batch creation button. There also it is giving message as no batch could be determined. How to resolve it. I checked everything in material master and as well as settings. I didint get the solution.
    Please help me.
    Naren

  • User exits for transaction va11,va21,va01

    i was looking for <b>user exits</b> after the transactions <b>va11</b>,<b>va21</b> and <b>va01</b>(in the order to cash cycle)transactions <b>commit</b>. once the transaction commits i wanted to take some data and send it to another system after the transaction commits by calling an RFC at the user exit.
    if anyone know such an user exit please let me know

    the following program are the user exit for billing.
    we often use RV60AFZC and RV60AFZZ.
    RV60AFZA
    RV60AFZB
    RV60AFZC
    RV60AFZD
    RV60AFZZ
    RV60BFZA
    For Sales order
    Pricing, item addtion deletion
    MV45AFZZ
    First, I did not find documentation for the BADI either. But at the first glance the process of implementing it looks quite straightforward. I assume you run R/3 Enterprise (4.7). So, you should implement BADI 'BADI_SD_SALES' - this must be done in transaction SE19. In particular for the purpose of adding some additional items into sales document I would implement method SAVE_DOCUMENT_PREPARE. This method has changing table parameter FXVBAP of type VA_VBAPVB_T - it holds all the sales document items. Just add items of yours to it. Certainly, you have to fill all the appropriate fields carefully.
    Hope this helps somehow.
    In that case you should use USEREXIT_DOCUMENT_SAVE_PREPARE subroutine (form). As far as I remember it has no parameters. To add items to the sales document you should modify internal table XVBAP.
    regards
    vinod

  • How to find user exits for a specific field

    hi,
        How can we find a user exit for a specific fields .
    as i know Three ways to search user-exits
    1. SE80 look includes in a packages with name user-exits
    2.  by zreport which will fetch user-exit in a T-CODE
    3. SMOD
    but what if we have to find a user-exit for particular field for e.g bupla(bussiness place) in MIRO.
    Please suggest me.
    Thanks and  Regards ,
    Rahul Singh.

    Hi Rahul,
    Here is the procedure to create field exits.
    Step by step procedure for creating Field Exits
    There are eight steps to creating a field exit:
    Step 1: Determine Data Element
    Step 2: Go To Field Exit Transaction
    Step 3: Create Field Exit
    Step 4: Create Function Module
    Step 5: Code Function Module
    Step 6: Activate Function Module
    Step 7: Assign Program/Screen
    Step 8: Activate Field Exit
    Step 1: Determine Data Element
    u2022     Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    Step 2: Go To Field Exit Transaction
    u2022     The transaction to create field exits is CMOD.
    u2022     You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    u2022     From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
    u2022     After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
    NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3: Create Field Exit
    u2022     From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    u2022     After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    u2022     Enter the data element name and click the u2018Continueu2019 pushbutton.
    u2022     Now, you will be able to create the function module associated to the data elementu2019s field exit.
    Step 4: Create Function Module
    u2022     You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the u2018Continueu2019 pushbutton.
    u2022     In the u2018Function moduleu2019 field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
    FIELD_EXIT_<data element>
    u2022     You can add an identifier (an underscore followed by a single character ).
    u2022     The first function module for a data elementu2019s field exit must be created without an identifier.
    u2022     To create the function module, click on the u2018Createu2019 pushbutton, choose menu path Function module -> Create, or press u2018F5u2019.
    u2022     After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing u2018Enteru2019, you will be able to go ahead and create the function module.
    u2022     Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
    Step 5: Code Function Module
    u2022     From the function moduleu2019s attributes screen, click on the u2018Source codeu2019 pushbutton or choose the Goto -> Function module menu path to the code of the function module.
    u2022     Here you will add your desired functionality for the field exit.
    u2022     Remember that field exitu2019s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
    u2022     You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
    Step 6: Activate Function Module
    u2022     After coding the function module, you must remember to activate it.
    u2022     Use the Function module -> Activate menu path to activate the function module.
    u2022     At this point, you can return to the field exit transaction.
    u2022     You should be able to 'green arrow' back to this transaction.
    u2022     When you return to the field exit transaction, you will see an entry for the newly created field exit.
    u2022     At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    u2022     Also, the field exit will not be triggered yet because it is inactive.
    Step 7: Assign Program/Screen
    u2022     This step is only needed if you want to make a field exit local.
    u2022     To make a field exit local, select the field exit and click on the u2018Assign prog./screenu2019 pushbutton.
    u2022     In the dialog box , indicate the appropriate program name and screen number.
    This information indicates that the field exit is local to the specified screen in the specified program.
    u2022     In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the u2018Fld. Exitu2019 field.
    u2022     If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    u2022     If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
    Step 8: Activate Field Exit
    u2022     The field exit must be active for it to be triggered by the system.
    u2022     Activate the field exit by choosing the Field exit -> Activate menu path.
    u2022     After assigning the field exit to a change request, its status will change to u2018Activeu2019 and it will be triggered automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Execute the transaction SE38 with PROGRAM NAME - RSMODPRF
    Then give the Data Element Name for which field you want to create the exit(Just cross check with your field data element) and execute.
    then it takes you to SE37 with the function module name FIELD_EXIT_<DATA ELEMENT NAME> and then create the same function module.
    and in the coding part, You can write your logic to display the output of that field. and activate it.
    once you complete the above,
    Again execute SE38 transaction with program RSMODPRF and again click on Execute button without any Data Element Name. Now you select the data element which you have created and click on Assign prog/ Screen button and assign the program name and screen number of the filed and click on the menu Field Exit and Activate.
    Hope it helps.
    Regards
    Radhika
    Edited by: Radhika Pande on Nov 26, 2009 7:58 AM

  • User Exit for Transaction V/76

    Hello Gurus,
    I'm looking for user exit for transaction V/76, Basically I just need to add an additional checking for the value entered in the product hierarchy using a check table (custom table) functionality. However I can't see any user exit that can be used since this is a view maintenance table/transaction. Can anyone of you experts can confirm that there is user exit for this transaction? If YES, I will continue my searching if there is NO then thanks for the confirmation. Thank you very much in advance!
    Best regards -

    Hi Rous,
    Please paste this code and check:
    report zuserexit no standard page heading.          
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.          
             tables : tstct.          
    data : jtab like tadir occurs 0 with header line.          
    data : field1(30).          
    data : v_devclass like tadir-devclass.          
    parameters : p_tcode like tstc-tcode obligatory.          
    select single * from tstc where tcode eq p_tcode.          
    if sy-subrc eq 0.          
       select single * from tadir where pgmid = 'R3TR'          
                        and object = 'PROG'     
                        and obj_name = tstc-pgmna.     
       move : tadir-devclass to v_devclass.     
          if sy-subrc ne 0.     
             select single * from trdir where name = tstc-pgmna.     
             if trdir-subc eq 'F'.     
                select single * from tfdir where pname = tstc-pgmna.     
                select single * from enlfdir where funcname =     
                tfdir-funcname.     
                select single * from tadir where pgmid = 'R3TR'     
                                   and object = 'FUGR'     
                                   and obj_name eq enlfdir-area.     
                move : tadir-devclass to v_devclass.     
              endif.     
           endif.     
           select * from tadir into table jtab     
                         where pgmid = 'R3TR'     
                           and object = 'SMOD'     
                           and devclass = v_devclass.     
            select single * from tstct where sprsl eq sy-langu and     
                                             tcode eq p_tcode.     
            format color col_positive intensified off.     
            write:/(19) 'Transaction Code - ',     
                 20(20) p_tcode,     
                 45(50) tstct-ttext.     
                        skip.     
            if not jtab[] is initial.     
               write:/(95) sy-uline.     
               format color col_heading intensified on.     
               write:/1 sy-vline,     
                      2 'Exit Name',     
                     21 sy-vline ,     
                     22 'Description',     
                     95 sy-vline.     
               write:/(95) sy-uline.     
               loop at jtab.     
                  select single * from modsapt     
                         where sprsl = sy-langu and     
                                name = jtab-obj_name.     
                       format color col_normal intensified off.     
                       write:/1 sy-vline,     
                              2 jtab-obj_name hotspot on,     
                             21 sy-vline ,     
                             22 modsapt-modtext,     
                             95 sy-vline.     
               endloop.     
               write:/(95) sy-uline.     
               describe table jtab.     
               skip.     
               format color col_total intensified on.     
               write:/ 'No of Exits:' , sy-tfill.     
            else.     
               format color col_negative intensified on.     
               write:/(95) 'No User Exit exists'.     
            endif.     
          else.     
              format color col_negative intensified on.     
              write:/(95) 'Transaction Code Does Not Exist'.     
          endif.     
    at line-selection.     
       get cursor field field1.     
       check field1(4) eq 'JTAB'.     
       set parameter id 'MON' field sy-lisel+1(10).     
       call transaction 'SMOD' and skip first   screen.
    Hope this helps you, reply for queries.
    Regards,
    Kumar.

  • How to find user exit for a perticular screen?

    Dear all,
    Can some one tell me how to find user exit for a perticular screen?
    ex: MC88 screen can we figure out are there any user exit for that screen!!
    Regards,
    Vj

    User exits are built into the Standard SAP code. You just activate them and insert your code into the include programs.
    Here is a program that will list the user exits per transaction code. Not perfect, but it may help.
    report z_find_user_exit no standard page heading.
    tables: tstc, tadir, modsapt, modact,
            trdir, tfdir, enlfdir, tstct.
    data : jtab like tadir occurs 0 with header line.
    data : hotspot(30).
    parameters : p_tcode like tstc-tcode obligatory.
    at line-selection.
      get cursor field hotspot.
      check hotspot(4) eq 'JTAB'.
      set parameter id 'MON' field sy-lisel+1(10).
      call transaction 'SMOD' and skip first screen.
    start-of-selection.
      perform get_data.
      perform write_list.
          FORM get_data                                                 *
    form get_data.
      select single * from tstc
                  where tcode eq p_tcode.
      check sy-subrc eq 0.
      select single * from tadir
                where pgmid = 'R3TR'
                  and object = 'PROG'
                  and obj_name = tstc-pgmna.
      if sy-subrc ne 0.
        select single * from trdir
                 where name = tstc-pgmna.
        if trdir-subc eq 'F'.
          select single * from tfdir
                         where pname = tstc-pgmna.
          select single * from enlfdir
                         where funcname = tfdir-funcname.
          select single * from tadir
                         where pgmid = 'R3TR'
                           and object = 'FUGR'
                           and obj_name eq enlfdir-area.
        endif.
      endif.
      select * from tadir into table jtab
                 where pgmid = 'R3TR'
                   and object = 'SMOD'
                   and devclass = tadir-devclass.
      select single * from tstct
              where sprsl eq sy-langu
                and tcode eq p_tcode.
    endform.
          FORM write_list                                               *
    form write_list.
      format color col_positive intensified off.
      write:/(19) 'Transaction Code - ',
      20(20) p_tcode,
      45(50) tstct-ttext.
      skip.
      if not jtab[] is initial.
        write:/(95) sy-uline.
        format color col_heading intensified on.
        write:/1 sy-vline,
        2 'Exit Name',
        21 sy-vline ,
        22 'Description',
        95 sy-vline.
        write:/(95) sy-uline.
        loop at jtab.
          select single * from modsapt
          where sprsl = sy-langu and
          name = jtab-obj_name.
          format color col_normal intensified off.
          write:/1 sy-vline,
          2 jtab-obj_name hotspot on,
          21 sy-vline ,
          22 modsapt-modtext,
          95 sy-vline.
        endloop.
        write:/(95) sy-uline.
        describe table jtab.
        skip.
        format color col_total intensified on.
        write:/ 'No of Exits:' , sy-tfill.
      else.
        format color col_negative intensified on.
        write:/(95) 'No User Exit exists'.
      endif.
    endform.
    SMOD, is where you can find the system modifications provided by SAP. CMOD is where you will implement them. If you are looking for all the enhancements provided, then go to CMOD, follow the menu, 'Utilities-->SAP Enhancements'. This will take you to a screen where if you just execute it, you will get all the enhancements provided by SAP.
    It is always difficult to find a user exit if all you have is a program name or a transaction code, unless you do a program like Rich suggested. But even there, you will not be able to find user exits that are implemented as sub-routines(also called forms not sapscript forms). Most of the user exits are documented under the corresponding task under IMG structure. So use transaction code SPRO, go to the IMG structure, choose the application area that your program or transaction might be and then you should find a task that talks about enhancements. If you execute that task most often it will take you to CMOD and sometimes to SE38. But all you want to know is there in the documentation attached to the task. Then you can go to CMOD and see which components are there.
    Regards,
    Amey

  • User Exit for Pricing Condition

    Hi all,
    I wanted to change the values of few fields in the communication structure KOMK and KOMP for Delivery Order when pricing is being processed.
    Is there a User exit for doing the same.
    Regards,
    Rupesh.

    hi,
    In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields.
       The fields which are not in either of the two tables KOMK and KOMP
    cannot be used in pricing .Sometimes a need arises when the pricing
    is to be based on some other criteria which is not present in the form of fields in either of the two tables.
      This problem can be solved by using USEREXITS which are provided for pricing in SD.
      Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is
    USEREXIT_PRICING_PREPARE_TKOMP  or
    USEREXIT_PRICING_PREPARE_TKOMK
    Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.
    In the case of userexit which will be called when invoicing is done ,these
    are provided in the include RY60AFZZ which is in the standard SAP
    program SAPMV45A. The name of the userexits are same. i.e
    USEREXIT_PRICING_PREPARE_TKOMP  or
    USEREXIT_PRICING_PREPARE_TKOMK
    These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely
    created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that
    has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.
    Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose
    includes are provided in each of them .
    To create the field in header data(KOMK) the include provided is KOMKAZ
    and to create the field in item data(KOMP) the include provided is KOMPAZ.
    One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.
    2)The other method of finding userexit is to find the word USEREXIT in the
    associated program of the transaction for which we want to determine userexit using SE38.
    3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.
    Some other examples of userexits in SD are:
    USEREXIT_NUMBER_RANGE
    This userexit is used to assign a different internal document number to the
    sales order(VA01) when it is created depending on some criteria like a different SALES ORGANIZAION(VKORG) .
    USEREXIT_SAVE_DOCUMENT_PREPARE
    This userexit is used to insert the ABAP code which will be called when
    the document (sales order VA01) is just about to be saved.This userexit is used generally for custom checks on different fields , to display some information before the order will be saved or for making changes to certain fields before the sales order will be saved.
    Hope this helps, Do reward.

  • User Exit for Vendor Master creation

    Hi SAP Gurus,
    We need to stop to create vendor using MK01 if there is no general data exist for it. I don't see any standard way for it.
    Does any one knows any user exit for it ?
    Thanks for your help.
    Regards,
    Manoj

    Hi Manoj, that's a very simple question. Before you save data, that record will not even exist in LFA1 table. so, you just need to check that table for the record. In case it doesn't exit, just give an error message.
    inclue some code in the user exit. something like
    if sy-tcode eq 'MK01'.
    select single from lfa1 where lifnr eq ???-lifnr. "check field name in exit
        if not sy-subrc eq 0.    "record doesn't exist
           message E 'Record ..........'
        endif.
    endif.
    if you want to use authorization, just include a mandatory field in a field group, like name1 (vendor name, you can create a vendor without a name) and that will only be open for maintenance for those who have the corresponding authorization value. Therefore, those who have authorization to create a vendor can create it using XK01/MK01/FK01, but those who can only maintain purchasing data cannot create a new vendor record.

  • User exit for BAPI_ACC_DOCUMENT_POST..?

    Hi,
    Is there any user exit for BAPI_ACC_DOCUMENT_POST...
    Please suggest...
    Thanks
    Cheers: Sam

    Hi,
    You can use the transaction SE18 to define a new BAdI definition which may be implemented by other developers later. It is not so challenging. Here is the roadmap:
    A. BAdI Definition
    1. SE18
    2. Enter the name for the BAdI to be created in customer namespace and press "Create".
    3. Enter a definition for your BAdI and on the interface tab enter a name for the BAdI interface. SAP proposes a name and it is pretty good. Meanwhile a BAdI class is also created which is not in our concern.
    e.g for "ZTEST", SAP proposes "ZIF_EX_TEST" for the interface and "ZCL_EX_TEST" for the class.
    4. Save your BAdI.
    5. Double-click on the interface name. It will pass to a Class Builder session to make you implement your interface. If you are not familiar to the Class Builder; it's a bit like Function Builder and it will be easy to discover its procedure.
    6. Save and activate your interface.
    B. Calling your BAdI from an application program
    1. Declare a reference variable with reference to the Business Add-In interface.
    e.g. DATA exit_ref TYPE REF TO zif_ex_test.
    2. Call the static method GET_INSTANCE of the service class CL_EXITHANDLER. This returns an instance of the required object.
    e.g.
    CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
    CHANGING instance = exit_ref .
    3. After those two steps, you can now call all of the methods of the BAdI where it is required in your program. Make sure you specify the method interfaces correctly.
    C. BAdI Implementations
    1. SE19
    2. Enter the name for the BAdI implementation to be created in customer namespace and press "Create".
    3. It will request the BAdI definition name to which this implementation will be tied.
    4. Enter a definition for your implementation and on the interface tab enter a name for the implementing class. Again SAP proposes a name and it is pretty good.
    e.g for "ZIMPTEST", SAP proposes "ZCL_IM_IMPTEST".
    5. Save your implementation.
    6. To implement a method, just double-click on the method name and you will be taken to the Class Builder to write the code for it. Here you redefine the BAdI interface methods.
    7. You must activate your implementation to make it executable. You can only activate or deactivate an implementation in its original system without modification. The activation or deactivation must be transported into subsequent systems
    I think this one will help you to implement BADI
    <u>
    I am not near to my system, so i could not able give you the code
    </u>
    aRs

  • GL Account User Exit for all FI transactions

    Hi Experts,
    We  have to create a Ztable and it stores GL bank account principal amount.
    Ex: 130121 (SCB Bank) - Rs.10,00,000.00
    In SAP , for the same GL account closing balances will available in FS10N of each month.
    Ex: 130121 (SCB Bank) for Sep'09 - Rs.8,50,000.00
    Now, the requirement is..
    I want to put an User Exit for this Bank GL Account . It has to perform a check operation whenever this GL accounts comes for posting on any FI transactions, and
    it'll check each time to the GL account principal balances(from Ztable) with the posting amounts and give a popup message regarding about the bank limits exceeded, remainaing amounts and then only they can able to post the transactions.
    Ex: If they are posting in F-02 (general ledger posting) the amount showing in GL account which go for my user exit calculations everytime and the same will be for all other FI GL transactions.
    Hope u understood else pls let me know by your replies.
    Pls advise.
    thanks & regards
    sankar.

    Hi..
    In the tcode where u want to put the user exit, In the menu select System--> Status and double click on the program.
    Then click on search and give the search term as "call-customer function".. and see if there are any available user exits..
    Select one, and double click on the 3 number..if '003' ,double click on it,it will take u to the Fm..where u will find an include starting with Z.
    Here u can write the code u want.
    Regards,
    Vishwa.

  • User Exit for Updating Delivery Plant at Item Level in Sales Order

    Hello Experts
    There is a requirement to determine the delivery plant for each item level and than update the items with newly determined plant.  There is a user exit MV45AFZZ routine FORM USEREXIT_MOVE_FIELD_TO_VBAP. to update the item level entries in Sales Order in VA01 or VA02. Is this the right place to do this?, if yes , do i need to perform any other standard logic (like re determine Shipping points , schedule lines ) for newly determined plant? If not , can you please suggest any other place , BADI or user exit to change the delivery plant of sales order.
    Thanks a lot....
    -Harkamal

    Best place is MV45AFZZ-USEREXIT_SAVE_DOCUMENT_PREPARE. Populates the values just before saving the document. You can have your own deriving logic. Make sure that peice of code is trigger only for Sales Order create or change (VA01/VA02).
    Are you kidding???  You do realize that this is AFTER all validations against configuration, ATP, pricing, etc. have been performed??!!!  Never, ever change a critical value like plant in the SAVE user exits...

Maybe you are looking for

  • Error message not authorized for use with Adobe ID

    I just started getting this error message when I transfer EPub books to my KOBO. They are e-books from the public library. I am asked to sign in with the authorized Adobe ID, but I thought I had done that when I set up Adobe DE 3.0

  • Lost start up CD

    Can't find start up CD for HP 1350 printer. What are my options? Thanks so much. Not sure if 32 or 64 bit.

  • Vendor number disappears in ME2N

    Hi, When using Vendors (General) search tab the vendor number disappears when I click on it to bring it into the search transaction. In transaction ME2N vendor selection by vendor (General) Searching for vendor number to bring into transaction.  Doub

  • Trigerring a search based on button

    Hello All, I am new to abap webdynpro.  I have a requirement to trigger a search for a filed based on a button click. Once the user clicks the search button on the screen, the user should  get a window where he should be able to enter selections and

  • Move CM content to the other system

    Hi all, As the portal have the function import/export of portal content, but in the CM&Collaboration it does not have it. So i would like to copy content such as docuement, folder in the KM content to the other system such as from DEV to QA, but i do