About VA01 user exit(exigence)

now,i have a requirement,when i created a sale order,saved,then dap one report that it show this order list,i have test all user exit for va01,but it can't achieve.can anyone tell me how can i do,thank you very much.

HI
GOOD
GO THROUGH THE FOLLOWING USER EXITS.
SDTRM001     Reschedule schedule lines without a new ATP check
V45A0001     Determine alternative materials for product selection
V45A0002     Predefine sold-to party in sales document
V45A0003     Collector for customer function modulpool MV45A
V45A0004     Copy packing proposal
V45E0001     Update the purchase order from the sales order
V45E0002     Data transfer in procurement elements (PRreq., assembly)
V45L0001     SD component supplier processing (customer enhancements)
V45P0001     SD customer function for cross-company code sales
V45S0001     Update sales document from configuration
V45S0003     MRP-relevance for incomplete configuration
V45S0004     Effectivity type in sales order
V45W0001     SD Service Management: Forward Contract Data to Item
V46H0001     SD Customer functions for resource-related billing
V60F0001     SD Billing plan (customer enhancement) diff. to billing plan
THANKS
MRUTYUN

Similar Messages

  • Use CREATE_TEXT on VA01 user exits

    Hi,
    I need to write item text using FM CREATE_TEXT in VA01 user exits. The FM required VBELN and I don't have when creating order.
    How can I create item text in VA01 user exits ?
    Thanks,
    Quincy

    Hi,
    i have a similar requirement where i need to copy custom populated fields of vbap table into item->text->item notes tab.
    i tried with both create_text and save_text. but i couldn't see the item in the item->texts->item notes.
    here is my code:
    CONCATENATE vbap-zzrelid vbap-zzsorg2 vbap-zzsorg3
                  vbap-zzsorg4 vbap-zzsorg5 vbap-zzsorg6
                  vbap-zzsorg7 vbap-zzsorg8 vbap-zzsorg9
                  vbap-zzsorg10 INTO gt_textname.
      gt_textobject-tdid  = c_0002.
      gt_textobject-tdname     = gt_textname.
    gt_textobject-tdobject   = c_vbbp.
      gt_textobject-tdspras    = sy-langu.
      APPEND gt_textobject.
      CONCATENATE 'relationship Owner:' vbap-zzrelid INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 2 :' vbap-zzsorg2 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 3 :' vbap-zzsorg3 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 4 :' vbap-zzsorg4 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 5 :' vbap-zzsorg5 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 6 :' vbap-zzsorg6 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 7 :' vbap-zzsorg7 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 8 :' vbap-zzsorg8 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 9 :' vbap-zzsorg9 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
      CONCATENATE 'sales org 10 :' vbap-zzsorg10 INTO gt_text-tdline
      SEPARATED BY space.
      APPEND gt_text.
    CALL FUNCTION 'SAVE_TEXT'
          EXPORTING
            header          = gt_textobject
            savemode_direct = 'X'
          TABLES
            lines    = gt_text
          EXCEPTIONS
            id       = 1
            language = 2
            name     = 3
            object   = 4
            OTHERS   = 5.
        IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    kindly resolve the problem with the above code.
    Thanks,
    Preethi.

  • About which user-exit do they talk at note  424635

    Hi!
    Has Anyone an idea about which user exit they talk about at note  424635 ?
    Thanks and Regards,
    Franz

    1)go to the main program sapmv45a
    include MV45AFZZ ->userexit_move_field_to_vbak
    depending on ur conditions ...
    keep a break-point in the form userexit_move_field_to_vbak ,and if it stops there Check for vbak-lifsk .
    Write a condition to set the deliveryblock that is vbak-lifsk = 'xx'.
    2)then regarding your second point ...what is the middle ware used to interact with legacy system
    let me know

  • VA01 user-exit to modify net price of line item...

    Hello Experts,
    Is there a user-exit to modify the net price value of a line item upon 'ENTERING' in
    VA01 transaction?
    Hope you can help me guys. Thank you and take care!

    Hi,
    The user exits and badis for va01 tcode:
    Enhancement/ Business Add-in Description
    Enhancement
    V45L0001
    SD component supplier processing (customer enhancements)
    V45E0002
    Data transfer in procurement elements (PRreq., assembly)
    V45E0001
    Update the purchase order from the sales order
    V45A0004
    Copy packing proposal
    V45A0003
    Collector for customer function modulpool MV45A
    V45A0002
    Predefine sold-to party in sales document
    V45A0001
    Determine alternative articles for product selection
    SDTRM001
    Reschedule schedule lines without a new ATP check
    V60F0001
    SD Billing plan (customer enhancement) diff. to billing plan
    V46H0001
    SD Customer functions for resource-related billing
    V45W0001
    SD Service Management: Forward Contract Data to Item
    V45S0004
    Effectivity type in sales order
    V45S0003
    RP-relevance for incomplete configuration
    V45S0001
    Update sales document from configuration
    V45P0001
    SD customer function for cross-company code sales
    Business Add-in
    BADI_SD_SCH_GETWAGFZ
    Scheduling Agreement: Read WAGFZ from S073
    BADI_SD_V46H0001
    SD Customer functions for resource-related billing
    Pls. reward if useful...

  • VA01 user exit at line item with partner address

    I need a user exit for VA01 that is at the line item level.  The catch is I also need access to the partner address data.  I have found userexit_pricing_prepare_tkomk (include MV45AFZZ) but that doesn't give you the "instance" address information (the address data that is specific to that order, after being changed).  It only gives you the address number for the partner's default address.
    Does anybody know if such an exit exists?
    Regards,
    Aaron

    Hi Aaron,
    I had a similar requirement Long back & This was my code I written. Hope this helps you.
    *  Extract and Update field for partner-id - Goods Supplying vendor
      CLEAR TKOMK-Y_GSVN.
      PERFORM XVBPA_LESEN(SAPFV45K) USING 'WL'  VBAP-POSNR SY-TABIX.
      IF XVBPA-UPDKZ <> 'D'.
        TKOMK-Y_GSVN = XVBPA-LIFNR.
      ENDIF.
      PERFORM XVBPA_LESEN(SAPFV45K) USING 'ZP'  VBAP-POSNR SY-TABIX.
      IF XVBPA-UPDKZ <> 'D'.
        TKOMK-BSART = 'ZIN'.
        SELECT SINGLE LAND1 FROM LFA1 INTO TKOMK-Y_COMM_CTY  WHERE LIFNR = XVBPA-LIFNR.
      ENDIF.
    FORM XVBPA_LESEN USING US_PARVW US_POSNR US_TABIX.
    DATA: DA_VBADR   TYPE   VBADR.
    DATA: DA_VBPA    LIKE   XVBPA.
    CLEAR DA_VBPA.
    READ TABLE XVBPA INDEX 1 INTO DA_VBPA TRANSPORTING VBELN.
    XVBPAKEY-MANDT = VBAK-MANDT.
    XVBPAKEY-VBELN = DA_VBPA-VBELN.
    XVBPAKEY-PARVW = US_PARVW.
    XVBPAKEY-POSNR = US_POSNR.
    READ TABLE XVBPA WITH KEY XVBPAKEY.
    IF SY-SUBRC > 0.
       XVBPAKEY-POSNR = POSNR_LOW.
       READ TABLE XVBPA WITH KEY XVBPAKEY.
    ENDIF.
    IF SY-SUBRC > 0.
      CLEAR XVBPA.
      IF  US_PARVW = 'WE'.
        CLEAR KUWEV.
      ENDIF.
      IF  US_PARVW = 'RG'.
        CLEAR KURGV.
      ENDIF.
    ENDIF.
    US_TABIX = SY-TABIX.
    * CAM is not activated
    IF ZAV_FLAG IS INITIAL.
      IF NOT XVBPA-ADRNR IS INITIAL.
        CLEAR XVBADR.
        XVBADR-ADRNR = XVBPA-ADRNR.
        READ TABLE XVBADR.
        IF SY-SUBRC > 0.
          CLEAR XVBADR.
        ENDIF.
      ENDIF.
    * CAM is activated
      ELSE.
    *if there is an address
        IF NOT XVBPA-ADRNR IS INITIAL.
    *clear address data
          CLEAR XVBADR.
    *try to read address in internal table XVBADR
          READ TABLE XVBADR WITH KEY ADRNR = XVBPA-ADRNR  ADRNP = XVBPA-ADRNP.
    *if address is not in internal table XVBADR
          IF SY-SUBRC NE 0.
    *read address in CAM tables
       CALL FUNCTION 'SD_ADDRESS_GET'
          EXPORTING
            FIF_ADDRESS_NUMBER    = XVBPA-ADRNR
            FIF_PERSONAL_NUMBER   = XVBPA-ADRNP
            FIF_ADDRESS_INDICATOR = XVBPA-ADRDA
          IMPORTING
            FES_ADDRESS           = DA_VBADR
          EXCEPTIONS
            OTHERS                = 4.
            IF SY-SUBRC EQ 0.
              MOVE-CORRESPONDING DA_VBADR TO XVBADR.
              APPEND XVBADR.
            ELSE.
              CLEAR XVBADR.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.
    Thanks & Regards,
    Dileep .C

  • Doubt In VA01 User Exit........

    Hi,
            we are using <b>sap4.7.</b> In VA01 ( sales Order ) we have a tab called <b>additional data B</b>. where we can write our own user exit coding.
             my doubt is where can i find <b>user exit</b> <b>enhancement</b>. i tried in <b>smod t.code</b> but i am not able to find. can any one tell me the enhancement name if you already done.
    thank you,
    Regards,
    Saravanan.

    Check out this documentation.....
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    Under user exits>user exits in sales>user exits in sales document processing
    Regards,
    Rich Heilman

  • Calling a screen in VA01 user exits

    hi friends,
    based on certain condition i neet to call custom module pool program from SD user exits in VA01.
    Please suggest.. Pop up with values as in table control will also be OK..
    thanks

    Hi,
    You need to create a custom module pool and call its screen on a suitable place. It is not clear what exactly is your problem.
    There are more possibilities:
    1.) You do not know how to create a module-pool
    2.) You do not know how to call its screen in popup
    3.) You do not know where to place your code for calling your screen
    Solutions:
    1.) Check chapter Dialog Programs: Overview in [BC - ABAP Programming|http://help.sap.com/printdocu/core/print46c/en/data/pdf/BCABA/BCABA.pdf]
    2.) Check chapter Calling Modal Dialog Boxes in [BC - ABAP Programming|http://help.sap.com/printdocu/core/print46c/en/data/pdf/BCABA/BCABA.pdf]
    3.) Look at subroutines in include MV45AFZZ and find the one that You are looking for. You can also check [User Exits In Sales Document Processing|http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm]
    If You need something more, be more specific.
    Regards,
    Adrian

  • VA01 User exit

    Hi
    I have requirement to load values from a certain custom table into Sales Order Header & item data additional screens when I create the order by reference to quotation...
    So for this reason I need to find a User Exit or BADI which will trigger before I enter into VA01 screen or after I click the create with reference button...
    I was able to find the BADI BADI_SD_SALES_ITEM but it cannot modify the fields of VBAP
    Please help me find the user exit which can modify the fields of VBAK and VBAP...

    Grame,
    than you can use Include(Exit)MV45AFZZ and form
    FORM USEREXIT_MOVE_FIELD_TO_VBAK      
    and
    FORM USEREXIT_MOVE_FIELD_TO_VBAP
    code should be like in above perform:
    vbak-zzfield = xxxx-zzfield2.
    VBAP-zzfield = xxxx-zzfield2.
    Amit.

  • VA01 user-exit for external price

    I have a little bit hard question,
    I want to know if anybody have already do thing like that :
    We need to find a user-exit to the VA01, VA02,  for each time I press enter to a line. This user-exit will call a RFC function to an other system to get the price of the material number.
    After getting the price, the user-exit must modify the price of the item.
    Any help will be welcome
    Frédéric

    Hi Wolfgang,
    No I can't, in fact, the price depend of the number of items, the kind of item, the customer, the vendor ....
    So, I really need each time, that this kind of order will be created to send all the informations to an external system, and get back the price.
    I'm agree with you with the disastrous time that will cost. But, I have not really the choice.
    And the more funy, after this, I need to modify a purchase order with special price too
    A friend from SAP, advice me to do this in background job. But, I think, I will need to answer before to my customer and boss, that's possible ...  but cost too much time.
    My question, for the moment, is : Is it possible to modify the price of all the items of an order, in an user-exit/badi, when I save my order ?

  • About the user exit of MM06

    Dear experts,
        Can you tell me the user exit of MM06?
    Best regards,
    Merry zhang

    hi,
    there is no user exits availble for this transactions..but badi's are availble.please find badi for your requirement..
    finding badi.
    go to se 24
    and give class CL_EXITHANDLER
    click diplay
    and goto method GET_INSTANCE and double click on this
    and put break point at call method cl_exithandler=>get_class_name_by_interface
    and in another session open MM06 transaction ,then it will go to debugger mode
    then keep on press F8 and observ on which badi it triggers MM06.
    based on your rerquirement.find apprpriate badi
    Thanks and regards
    Durga.K

  • VA01 user exit , update value

    hi..
    I need to copy a value in header to, item level, that is after highlighting the lineitem goto --> item --> more functions --> additional data A --> Material Grp 4
    this should occur at the sales order creation stage..
    I tried in USEREXIT_SAVE_DOCUMENT the following but this doesn't seem to work.. Any ideas pls ? thanks
    loop at xvbap.
    xvbap-mvgr4 = vbak-j_3akvgr7.
    modify xvbap.
    endloop.

    Hi,
    U'll get all user exits in MV45AFZZ.
    try USEREXIT_FIELD_MODIFICATION .
    I've used it to modify some fields & its working.

  • VA01 user exit to manually insert condition record for sales order

    Hello Experts,
    I have a req. to find a user exit through which I can insert a new condition record for a sales order everytime a sales order is created.
    Whenever a sales order is created I should check whether condition types X and Y are being generated for the particular sales order.If yes I have to insert a new condition record with type Z for that sales order after some calculations.
    Does anybody have an idea which user exit should be used so that my new condition comes up in the CONDITIONS tab for the sales order item.
    Thanks in anticipation.
    Vipul

    Hi,
    What I suggest is suppose you want condition type say 'XXX' to appear with some calculated value only when condition type 'X' & 'Y' are present, then let the consultant define that condition type in pricing procedure, with 'Manual Entry not allowd flag on, so that nobody can overwrite the value calculated by your routine in condition type 'XXX'  & let him 'attach; a routine say 901 to it. Now via VOFM in routine 901 you can put your logic. In routine 901 you can loop at xkomv & check if both condition types viz. 'X' & 'Y' are present. IF yes then calculate the value of condition type 'XXX' as per the logic required & pass it on to SAP by xkomv-kwert = w_amount, where w_amount is the value calculated by you as per the logic required.
    I hope this helps,
    Regards
    Raju Chitale

  • Urgent help in va01 user exit

    va01
    userexit_check_vbap.
    an idoc is coming from edi .
    i need to read idoc and depending on condition of field value which is in idoc .
    i need to pass a error log to some transation
    how to read a idoc which is coming form edi
    any sample code is help full

    Hi Vijay,
    There are a number of options depending upon your requirement but these are the things I would try (I don't have access to a system with inbound orders so cannot give conclusive answer).
    1. Use userexits in inbound processing FM to transfer data to the application. In your case this will be IDOC_INPUT_ORDERS and CMOD exit VEDA0001 (FM EXIT_SAPLVEDA_011).  This exit is called prior to to the BDC and contains all the data from the IDOC and the IDOC number.  You could pass this data in a number of ways:
    - import/export to memory
    - use a common function group for all processing - place data into function group memory during EXIT_SAPLVEDA_011 and retrieve back in the sales userexits
    2. The same processing FM IDOC_INPUT_ORDERS exports a flag to memory so you can detect in the sales userexits (da_edi_sign value SDEDI - see include LVEDAF01) - this will be useful for separating IDOC processing to other processing modes
    3. Again using the userexit and the idoc number pass these to the application as in (1).  You should then be able to call the IDOC function modules to read the IDOC content back (with something like FM IDOC_READ_COMPLETELY).  Use this method if the data in the IDOC that you require is not parsed into the sales order tables
    Hope this helps.
    Thanks,
    Pete

  • VA01 - User Exit mv45afzz

    Dear All
    I have crated one validation for VBAK-VKBUR  (Sales office) field in VA01.  - MV45aFZZ
    In  FORM USEREXIT_FIELD_MODIFICATION.  section, I put the validation. 
    On error message, it come out of the session, 
    However, i want to stay in the same session and focus on filed VKBUR.
    my code as
          if <Conditon>
            MESSAGE 'error message here..!' TYPE 'E' DISPLAY LIKE 'S'.
          endif.
    I want the error message and control should stay on the same session.
    Your input will be helpful to me
    Regards,
    Venkat

    Hi,
    You can try as below.
         if <Conditon>
            MESSAGE 'error message here..!' TYPE 'S' DISPLAY LIKE 'E'.
          endif.
    Regards
    Gangadhar

  • User exits documents

    can any one provide the information about the User exits and how to work with user exits ?
    please provide me step by step informatin.
    Regards
    vamsi

    hi
    USEREXIT
      Userxits allow us to add our own functionality to SAP standard program
    without  modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.
        All Userexits start with the word USEREXIT_...
    FORM USEREXIT_..
    z..
    ENDFORM.
    The problem lies in finding the correct userexit and how to find it if one exists for the purpose. Once the correct userexit is found the necessary
    customer code is inserted in the customer include starting with the z..
    in the form routine.
    e.g. USEREXIT_SAVE_DOCUMENT_PREPARE
    Certain application like SD still provide this form of enhancement using userexit but this practice is no longer being followed for newer extensions
    instead they are using EXITs which come bundeled in enhancement packages . Neverthiless existing USEREXITS will be supported by SAP an all the newer versions of SAP.
    HOW TO FIND USEREXITS
      Userexits can be found in number of ways:
    1) To find userexits in SD module , goto object navigator(SE80) and select
        development class from the list and enter VMOD in it. All of the userexits in SD are contained in the development class VMOD. Press
    enter and you will find all the includes which contain userexits in SD for
    different functions like PRICING, ORDER PROCESSING etc. Select the userexit according to the requirement and read the comment inserted in it
    and start coding .
    Some examples of userexits in SD(SALES & DISTRIBUTION ) are:
    1)ADDING OF NEW FIELDS IN PRICING  
    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.
    Exits & Enhancements
    There are mainly six types of EXITs in sap which have been collected in the form of enhancement packages and attached to standard code in SAP.
    These are different from USEREXIT in the way that they are implemented
    in the form of FUNCTIONs while in USEREXITS we use form routines for their implementation. These are also sometimes known as function exits .
       These start from the word EXIT_ followed by the program name and then followed by a three digit number.
    e.g.  EXIT_SAPMV45A_002
      This exit is found in SD in enhancement V45A0002.
    TYPES OF EXITS
    1)MENU EXITS
    2)FUNCTION EXITS
    3)TABLE EXITS
    4)SCREEN EXITS
    5)KEYWORD EXITS
    6)FIELD EXITS
    We use SAP transactions CMOD and SMOD to manage exits. Before implementing an exit , it is required to create the project by using CMOD
    selecting the enhancement e.g. V45A0002 and selecting the component
    (one which fulfills our need) i.e the exit which will be implemented in SMOD and after coding has been done the project has to be activated.
      An exit can be coded only once.
    FUNCTION EXITS
      These are used to add functionality through ABAP code . These start from the word EXIT_programname_NNN ending in a 3 digit number. No access code is required to implement any tupe of exit including function exits.
       The function exits are called from the standard SAP program in the form
    of ABAP statement
    CALL CUSTOMER-FUNCTION 'NNN'
    This is in contrast to USEREXITs where PERFORM statement is used to call
    the required userexit.
    To implement the FUNCTION EXITs first of all the project is created and a suitable enhancement package is selected and from its compnents the function exit to be implemented is selected and on double clicking it the exit code will appear in ABAP EDITOR(se38) where a Z include will be found and the customer code should be entered in this include. 
    e.g.
    ADDING A DEFAULT SOLD-TO-PARTY in Sales Order Creation
        To show a default sold-to-party in this field when the user creates a sales order (VA01) we can use a function exit .This function exit is located
    in enhancement no V45A0002 . Before we can choose the exit we have to
    create a project in CMOD after that enter V45A0002 in the enhancement field and click on the components . In the components you will see the
    exit EXIT_SAPMV45A_002 . This exit is used for our purpose.
      Double clicking on this exit will takes us to function builder (SE37) . This
    function exit has one exporting parameters and two importing parameters, we are interested in exporting parameter which is  E_KUNNR
    of type KNA1-KUNNR i.e if we move the desired customer name to this
    structure(E_KUNNR) it will be shown in the field as the default value when we create the sales order.
    This function also contains a customer include ZXVVA04 . This include
    will be used to write our custom code .
      Double clicking on this include and it will prompt us that this include does not exists do you want to create this object ,select yes and the include will be created .In this include we can write our own code that will fill the field E_KUNNR.
    e.g. E_KUNNR = 301.
    Activate the include and Activate the project. Now when ever the SALES ORDER will be created , sold-to-party field will come up with a predefined
    customer .
    FIELD EXITS
      The field exits are managed,created,activated through program RSMODPRF. The field exit is associated with a data element existing in ABAP dictionary and hence to the screen field using that data element.
      The format of field exit is :
    FIELD_EXIT_dataelement_A-Z or 0-9
       If a particular screen and program name is not specified than the field exit will effect all the screens containing that data element.
       The function module associated with field exit shows two parameters
    INPUT and OUTPUT.  Input parameter contains the data passed to the field exit when the field exit was invoked by the R/3 , We can write our own code to change the output parameter depending upon our requirements.
        Before the field exit can have any effect the system profile parameter
    ABAP/FIELDEXIT in all the application servers should be set to YES
    ABAP/FIELDEXIT = YES.
    Find the available exits with the following program:::
    *& Report  ZFINDUSEREXIT
    report  zfinduserexit.
    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).
    Execute the report, give the transaction you want to find user exit, and query.
    HI
    To search for a badi, go to se 24 display <b>class cl_exithandler.</b>
    double click on method get_instance, get a break point on case statement.
    execute and start the required transaction in new session.
    look for variable <b>exit_name.</b> It would show the available badi's.
    BADI
    http://www.allsaplinks.com/badi.html
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm.
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    User Exit
    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
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    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
    Please do reward if useful
    Regards
    Dinesh

Maybe you are looking for