Wt are different ways to find enhancement spots(User Exits) in ECC 6.0??

Hi Friends,
How are you all doing??
Friends relevant  answers are awarded points. Pls give solutions..
What are the different ways to find the enhancement spots (i mean user exit points) in ECC 6.0??
I want to find the enhancement spot in sale order transaction (va01/va02) after save happening or else after commit happen. In that i need to call the badi method on_costing_component. So friends could you give solution for this.

Hi
You can see this document for knowing the Userexits for a given Trxn.
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/abap-code-samples/userexits%20in%20a%20transaction.doc">Listing UserExits in Transactions</a>
Regards
Raj

Similar Messages

  • How to find enhancement RSAP0001 user exit EXIT_SAPLRSAP_001 project CMOD

    Hi,
    I need to find in one system the project in cmod that contains the enhancement RSAP0001 with user exit EXIT_SAPLRSAP_001.
    How do I proceed?
    Thanks a lot

    Simon,
    Goto CMOD and enter * and select F4 so that you will get the list of packages. Most of the clients we have naming terminology with BW. Pick one of them and go for components there you can see the interface.
    Double click on that you will see four classes. Select any one of them and write your logic.
    If you provide what exactly your are trying to do enhancements, so that will provide better solutions.
    Thanks
    Ganesh reddy.

  • F110 - Enhancement spot / USer exit

    Hi ,
    I need to add some coding logic, once the idocs are generated after execution of transaction F110.
    I found an enhancement point in program RFFOEDI1,(which is called by this transaction).
    But when i create a new enhancement  in it. If i write any piece of code, it gives me an error saying "Statement not accessible".
    1)Could someone tell why this error appears.
    2) Is there some other way to meet the requirement.
    Thank you!!

    Hi,
      Could be that the ehnancement point that you are using is not getting triggered or the implementaiton that you have created is not properly activated.
    You can try other implicit and explict enhancement points also we have some user-exits go to transaction SMOD press F4 in the enahncement name and enter FBZ as development class and hit enter you would get a list of enhancement.
    Also if you could share the more info on what enh point you are using would be easier to ans.
    Regards,
    Himanshu

  • What are different ways to pass variables in a c# program?

    What are different ways to pass variables in a c# program?
    I was wondering if :
    var numbers = textBox1.Text.Split('
    .Select(int.Parse).ToArray();
    var min = numbers.Min();
    var max = numbers.Max();
    textBox2.Text = string.Format("min:
    {0} max: {1}", min, max);
    and
    private
    int[] numbers =
    new
    int[10];
     were considered passing variables and I am also interested in learning new ways.

    Hi Billst3r,
    Your examples would be considered creating variables or "instantiating" them, which basically means creating them in memory.  To pass variables, here is a brief example.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace ConsoleApplication1
    class Program
    static void Main(string[] args)
    // Declaring variables
    int num1 = 1;
    int num2 = 5;
    // Pass created variables to private method
    int answer1 = ComputeSum(num1, num2);
    // Print results
    Console.WriteLine(answer1);
    Console.ReadLine();
    private static int ComputeSum(int param1, int param2)
    // Return sum of 2 provided parameters
    return (param1 + param2);
    Best of luck.

  • Is there a way to find how many users are logging on to my site?

    Is there a way to find how many users are logging on to my site at a specific time?
    Thanks in advance..

    Is it possible to use an EJB3.1 Singleton beans for this too? (instead of the application context)
    Or will this create a bottleneck because of the standard write lock? It wouldn't be thread safe to provide a read lock on a user_counter increment method?

  • What are different ways to load a class

    what are different ways to load a class??

    manoj.java wrote:
    I am preparing for something and exploring the java.
    want to know in regard of the same.
    Please help me out.And this means essentially nothing.
    Essentially there is only one way. Through a ClassLoader, and it's loadClass method. Now, there are multiple ways of invoking this, however, either directly or indirectly.
    Edit: There is, of course, other things, such as defineClass in ClassLoader, that lets you manually read a class defintion from somewhere, anywhere, and define, which, logically, also "loads" it.
    Now, once again, What are you trying to do? "something" and "exploring the java" are meaningless in this form. If you tell us what, exactly you are trying to do, we could actually help you do it!

  • How to find the exact user exit in enhancement.

    Hi All,
    I am in learning phase. I am working on TCODE VA01 and want to change the PO Date. But i am unable to find out the exact user exit.  If somebody could guide me that what is the procedure to find the exact user exit for a perticular field or like that.  I am know how to find all the enhancements in the TCODE.

    hi
    Run this program and give the tcode and it will list down all the user exits for that Tcode.
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    TABLES : tstc, tadir,            modsapt,            modact,            trdir,             tfdir,      enlfdir,     tstct.   
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    START-OF-SELECTION.
      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 = 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.
    Regards
    Sajid
    Edited by: shaik sajid on Jun 26, 2009 12:06 PM
    Edited by: shaik sajid on Jun 26, 2009 12:10 PM

  • How to find out the user exit is implemented

    Hi All,
    Kindly let me know the process to be followed to find out the User exit is implemented in SAP system.
    I have seen many senriors suggestions for some treads to check if there is any Exit is implemented in the process when the system is behaving differently rather standard.
    Is it the only way with help of ABAP'er we can find out or the functional consultant also can find out through some procedure?
    I tied in google for this doubt, but i could not get the relavant answer.Pleaea execuse me if this already answered.
    Thanks,

    Hi Krishna/TW,
    Thank you for your immediate replies. Sorry i think i have not explained correctly my requirment.
    Let me explain my requirement once again.Let us say Comapny has implemented one Exit in the project, now i want to find out what exactly the Exit was implemented.
    Example: In STO process user is able to increase the  qty in delivery. As per the client requriement system should not allow.
    This is not possible in standard to control even after maintainig  check over delivery field in 0VLP.
    For this comapny has already implemented one enahnceament.
    User Exit : USER EXIT_READ_DOCUMENT
    Program: MV50AFZ1
    like this when any one joined in the project we do not know what are all the Exits are implemented in the SAP system where we are working.
    So if i want to find out if there is any Exit or enhancement implemented, what is the process to find out?
    I hope now  am clear with my requirement.
    Thanks in advance.

  • How to find out appropriate user exit

    Hi,
    I want to know how to find out the user exit that matches to the requirement. Suppose for a material master program, there are so many include programs hence im unable to find call custer-function and even unable to debug an appropriate include. Please help me out how to learn user exits in a rightious way.
    Thanks
    Basu

    Look for program SAPICSS_ in your system and run it. This program can also be found under CMOD menu:  Utilities -> SAP enhancements.
    This will only give you the CMOD user exits.
    There is a program someone made that searches for all sorts of user-exits (including BADI's etc.). I remember that it was posted on sapfans.com
    Edited by: Maen Anachronos on Apr 6, 2009 3:22 PM

  • How to find my specific user exit

    hi friends,
    in the transaction vl06O , we have different screens under different tabs,
    in the screen under shipment tab, there are two fields,
    incoterm
    productcode
    i should change the values appearing in these fileds only for specific data,
    the data to the incoterm field is brough from likp table,
    i felt that, i shpuld be using a user exit  for this,
    can any one plz suggest  me which  user exit  to user  or how  do i
    find the correct user exit  for this  using break points, i found out that,
    the field incoterm is being called from
    a screen 2000 in
    SAPMV50A program.
    did any one face this problem earlier.
    thank you.

    Hi,
    Use this code to find user exits for specific transaction. You can create a tool program with this..
    REPORT z_find_userexit NO STANDARD PAGE HEADING.
    TABLES : tstc,     "SAP Transaction Codes
             tadir,    "Directory of Repository Objects
             modsapt,  "SAP Enhancements - Short Texts
             modact,   "Modifications
             trdir,    "System table TRDIR
             tfdir,    "Function Module
             enlfdir,  "Additional Attributes for Function Modules
             tstct.    "Transaction Code Texts
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK a01.
    *& Start of main program
    START-OF-SELECTION.
    Validate Transaction Code
      SELECT SINGLE * FROM tstc
        WHERE tcode EQ p_tcode.
    Find Repository Objects for transaction code
      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 = enlfdir-area.
            MOVE : tadir-devclass TO v_devclass.
          ENDIF.
        ENDIF.
    Find SAP Modifactions
        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.
    Take the user to SMOD for the Exit that was selected.
    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.
    Enjoy SAP.
    Pankaj Singh.

  • How to find out whether USER-EXIT is active or not

    Hello!
    How can I  find out whether USER-EXIT is active or not ?
    I set a break-point at these points and nothing happens
    if I want save my daocument ???
    Why
    PERFORM USEREXIT_SAVE_DOCUMENT.
    PERFORM USEREXIT_SAVE_DOCUMENT_PREPARE.
    Ragards
    Ilhan

    Hi Ilhan
    The easiest way, I guess, is by going to transaction SMOD, sticking in your enhancement name and pressing the test button.
    When placing breakpoints, don't use <b>Breakpoints > Breakpoint at > Statement...</b> and enter
    PERFORM USEREXIT_SAVE_DOCUMENT
    because you won't get any hits since the function module names are stored dynamically.
    Rather use <b>Breakpoints > Breakpoint at > Function Module...</b> and enter
    USEREXIT_SAVE_DOCUMENT
    for a better chance of hitting the breakpoint.
    Cheers
    Lyal
    Message's terrible grammar was edited by:
            Lyal Schumann

  • How to find out the user-exits?

    hi.
    how to find out the user-exits?
    regards
    eswar.

    Hi,
    *& Report  ZEXITFINDER
    *report  zexitfinder.
    *& Enter the transaction code that you want to search through in order
    *& to find which Standard SAP User Exits exists.
    *& Tables
    tables : tstc, "SAP Transaction Codes
    tadir, "Directory of Repository Objects
    modsapt, "SAP Enhancements - Short Texts
    modact, "Modifications
    trdir, "System table TRDIR
    tfdir, "Function Module
    enlfdir, "Additional Attributes for Function Modules
    tstct. "Transaction Code Texts
    *& Variables
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    *& Selection Screen Parameters
    selection-screen begin of block a01 with frame title text-001.
    selection-screen skip.
    parameters : p_tcode like tstc-tcode obligatory.
    selection-screen skip.
    selection-screen end of block a01.
    *& Start of main program
    start-of-selection.
    Validate Transaction Code
    select single * from tstc
    where tcode eq p_tcode.
    Find Repository Objects for transaction code
    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 = enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    Find SAP Modifactions
    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.
    Take the user to SMOD for the Exit that was selected.
    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.
    Regards

  • How to find the appropriate user exit for invoic02 idoc in idoc_output_invo

    Hi all,
    I am new to this community p
    i have issue regarding  the How to find the appropriate user exit for invoic02 idoc in idoc_output_invoic function module.........
    thanks,

    Hi ,
    welcome to SDN.
    You can select the appropriate Customer exit accrding to the available parameters .
    The list of exits available are 
    EXIT_SAPLVEDF_001
    EXIT_SAPLVEDF_002
    EXIT_SAPLVEDF_003
    EXIT_SAPLVEDF_004
    For Example , if you want  to modify the Idoc data(EDIDD) you have to use the EXIT_SAPLVEDF_002. accodingly you can select the user exit according to the avaialable parametres.Use Table MODSAP fto get the Enhancement name.
    Hope this Helps
    Rgds
    Sree
    Edited by: Sree on Jul 23, 2010 12:11 PM

  • Brief about enhancements and user exits

    hai,
    can any  one tell me what are enhancements and user exits in sap sd,
    their  signifcance & configuration
    regards
    sriram

    hi,
    an example of user exit
    In case of Inbound DELINS IDOC (830 type) once there was a requirement of taking the “Target *** Qty required” and the “Target *** Date” for a specific customer who was not sending “*** Qty Received” by him.
    So for that specific customer we used the search term and added the same in the “Data 4” field of the IDOC under segment E1EDK09.
    There was one user exit available in IDOC_INPUT_DELINS_START Function module of SAP. We triggered this logic by the search term of customer and reached the user exit where we had made some code changes. (User Exits are used to make code changes when we are running standard programs or reports or function modules). With this we were able to reach the desired point of calculating “*** Issued” and then find out the difference from “Target *** Qty” and get “*** Qty Received” for the scheduling agreement. We did not copy the standard function module into Z . Instead the same was done using a user exit.
    <b>User exits in SD</b>
    Menu Path:
    SPRO- IMG- SD- System Modification- User Exists. User Exists are available in SD for the following processes:
    • User exits for price determination
    • User exits for partner determination
    • User exits for credit check & risk management
    • User exits in sales:
    o User exits in sales doc processing
    o User exits for contract processing
    o User exits for product allocation processing
    o User exits for availability checking
    o User exits for component supply processing
    o User exits for product selection
    o User exits for billing plan
    • User exits for shipping
    • User exits for transportation
    • User exits for billing
    • User exits for general billing interface
    • User exits for sales support
    • User exits for lists.
    The topic of user exits is a subject that concerns ABAP development & extensive experience in ABAP is required to understand and use the user exits.
    A customer user exit is essentially a function module using a unique naming convention, in which set import and export parameters are defined to limit the data that can be manipulated. This is to protect certain data from being changed. This function module is attached to an enhancement that may contain other function modules. A user exit should only be used if the possibilities for customizing or application-specific user exits are inadequate.
    NEW FIELDS IN PRICING:
    To use a field in pricing, one creates a cond table. This cond table is created using the allowed fields from the field catalog. Should the fields one requires not be included in the list of allowed fields, one can add the fields from the list of available fields. However, one may find that a new field may not be in the list of available fields. For this reason, one must create new fields for pricing. The document & item data in SD is stored in data tables such as VBAK & VBAP (for the order transaction). Many of the fields from these tables are available in the field catalog.
    The field catalog is a structure (KOMG) that consists of 2 tables (KOMK & KOMP). These tables contain the header & item data for pricing respectively. They are called KOM”x” because they are communications structures used to communicate the transaction data with the pricing procedure. Table KOMG contains the field KOMK & KOMP.
    If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP. This means that the field you require cannot be used in pricing because there is no communication of this field from the transaction to the pricing procedure via the communication structures.
    To use a field not defined in the field catalog, you need to add this field to KOMK or KOMP structures, and then write the ABAP code to transfer the data in the field from the transaction tables to the communication structure. Follow these steps:
    Create the field in the KOMK (header data) & KOMP (item data) tables using the standard includes provided for this requirement.
    Write the code in the user exit to read the transaction data & transfer it to the KOM”x” structures.
    Menu Path:
    SPRO- IMG- SD- System Modification- Create New Fields (using the cond tech)- New fields for Pricing.
    Adding the field to KOMK & KOMP:
    This process requires some knowledge of the ABAP dictionary & how to use the ABAP dictionary to create & change fields & tables. If the field is from the header table (for e.g. the order table: VBAK), you will need to add it to the include table KOMKAZ in the table KOMK. If the field is from the item table (for e.g. the order item table: VBAP), you will need to add it to the include table KOMPAZ in table KOMP.
    Let’s say you need to use the ‘base material’ to define a price & the base material is no in the pricing field catalog. The base material is a field on the MMR basic data screen & is defined as MARA-WRKST. Since this relates to the material, it is at the item level, so you would add the field to KOMKAZ include table.
    • When you add a field to these tables, it must start with ‘ZZ’. Therefore, the field you add would be ZZWRKST. In ABAP, when you add the field, use the same domain as in the field in the original table MARA-WRKST.
    • After adding the field, generate the structure KOMP. This field is not available in the field catalog & can be used in condition tables.
    Menu Path:
    SPRO- IMG- SD- System Modification- User Exists. User Exists are available in SD for the following processes:
    • User exits for price determination
    • User exits for partner determination
    • User exits for credit check & risk management
    • User exits in sales:
    o User exits in sales doc processing
    o User exits for contract processing
    o User exits for product allocation processing
    o User exits for availability checking
    o User exits for component supply processing
    o User exits for product selection
    o User exits for billing plan
    • User exits for shipping
    • User exits for transportation
    • User exits for billing
    • User exits for general billing interface
    • User exits for sales support
    • User exits for lists.
    The topic of user exits is a subject that concerns ABAP development & extensive experience in ABAP is required to understand and use the user exits.
    A customer user exit is essentially a function module using a unique naming convention, in which set import and export parameters are defined to limit the data that can be manipulated. This is to protect certain data from being changed. This function module is attached to an enhancement that may contain other function modules. A user exit should only be used if the possibilities for customizing or application-specific user exits are inadequate.
    NEW FIELDS IN PRICING:
    To use a field in pricing, one creates a cond table. This cond table is created using the allowed fields from the field catalog. Should the fields one requires not be included in the list of allowed fields, one can add the fields from the list of available fields. However, one may find that a new field may not be in the list of available fields. For this reason, one must create new fields for pricing. The document & item data in SD is stored in data tables such as VBAK & VBAP (for the order transaction). Many of the fields from these tables are available in the field catalog.
    The field catalog is a structure (KOMG) that consists of 2 tables (KOMK & KOMP). These tables contain the header & item data for pricing respectively. They are called KOM”x” because they are communications structures used to communicate the transaction data with the pricing procedure. Table KOMG contains the field KOMK & KOMP.
    If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP. This means that the field you require cannot be used in pricing because there is no communication of this field from the transaction to the pricing procedure via the communication structures.
    To use a field not defined in the field catalog, you need to add this field to KOMK or KOMP structures, and then write the ABAP code to transfer the data in the field from the transaction tables to the communication structure. Follow these steps:
    Create the field in the KOMK (header data) & KOMP (item data) tables using the standard includes provided for this requirement.
    Write the code in the user exit to read the transaction data & transfer it to the KOM”x” structures.
    Menu Path:
    SPRO- IMG- SD- System Modification- Create New Fields (using the cond tech)- New fields for Pricing.
    Adding the field to KOMK & KOMP:
    This process requires some knowledge of the ABAP dictionary & how to use the ABAP dictionary to create & change fields & tables. If the field is from the header table (for e.g. the order table: VBAK), you will need to add it to the include table KOMKAZ in the table KOMK. If the field is from the item table (for e.g. the order item table: VBAP), you will need to add it to the include table KOMPAZ in table KOMP.
    Let’s say you need to use the ‘base material’ to define a price & the base material is no in the pricing field catalog. The base material is a field on the MMR basic data screen & is defined as MARA-WRKST. Since this relates to the material, it is at the item level, so you would add the field to KOMKAZ include table.
    • When you add a field to these tables, it must start with ‘ZZ’. Therefore, the field you add would be ZZWRKST. In ABAP, when you add the field, use the same domain as in the field in the original table MARA-WRKST.
    • After adding the field, generate the structure KOMP. This field is not available in the field catalog & can be used in condition tables.
    Pl reward if helpful.
    Thanks
    Sadhu Kishore

  • How to find the exact user exit for our requirement?

    Dear Mr. keerthi,
    can you please explain me how to find the exact user exit for our requirement?

    Hi sandip
    There is more than one method in which you can check for user-exits.The following method is used very often.
    <b>How to find the exact user-exit for your requirement.</b>
    1.     You can check the user exists using transaction SE85.
    2.     Repository Information System -> Enhancements -> Customer exits
    3.     You can search the user-exits by package name.
    4.     Double click on each exit name to check the function module exits.
    <b>The procedure to find the package name.</b>
    Execute transaction SE93 
    Enter the tcode of the transaction for which you want to check the user exit.
    Example: if you want to find the user-exit for purchase orders while changing, enter ME22n  and press display.
    You will get to see the package name
    But you need to confirm that the user exit will get triggered at the appropriate event.
    ( example: you might want some validations to be done ON SAVE of a purchase order)
    <b>Checking if the user-exit is getting triggered or not.</b>
    1.     Open the user exit function module (that you have got in step 4) in Tcode SE37.
    2.     Click on where used button. In the pop up that immediately appears choose only programs .
    3.     You will get a list of programs. Double click on the program name.
    4.     You will get the list of location where this function module user exit is used.
    5.     Place session break points at each of these location ( at each CALL FUNCTION statement)
    6.     Now go to your transaction ( say change purchase order tcode:Me22n) and check if the user exit is getting triggered on appropriate event.
    regards,
    Prasad

Maybe you are looking for

  • Bluetooth performance with Keyboard and headphones

    I have three bluetooth devices - Dell Keyboard, Magic Mouse, and stereo headphones. Whenever I play music and start typing on the keyboard, the music stops playing until I stop typing. Is there a fix for this?

  • XML support in SAP 4.6

    Hi all ! I'm looking for information about XML support in SAP 4.6c. I have to implement a data exchange mechanism between SAP and web application written in Java. Whole idea looks simple: Java application send an XML document through RFC and ABAP pro

  • Letting user to click a button and run an application

    Hi all, I'm trying to do this: once the user logged on, the user can click a button to run an application. If it's the first time he/she use it, it'll let user to download the program and then run it. How can I do that? Thank you. Cal

  • Message processing after document release

    Hi Is there a way by which we can send a IDOC or any kind of message to external system when a document is released in GTS manually? I tried to search the blogs and it looks like no pointers on this. Any help appreciated. Thanks, Vijay V

  • 4710 -standby cold

    I just configured FT on our 4710's running software 4.1 We currently only have 3 contexts.....Admin/Development/Reserved Howerver I only configured an FT group for the Development context. The configs seemed to have replicated to the secondary but ft