Regarding field and screen exits

Hi,
     plz. send me the step-by-step procedure to create Field and Screen exit.

Screen Exits:
Screen exits are provided by SAP to allow the programmer to add his own sub screen in the already available standard SAP screen. The standard screen will have a sub screen area defined especially for this purpose. The call to this sub screen will also be present already in the standard code.
For example, there is an enhancement RVEXAKK1 available for foreign trade transactions.
As you see in the above screen in screen areas block the calling screen, its number, sub screen area and the called screen with its number are defined. Here the main screen 101 in program SAPMV86E is having a sub screen area ZUSATZ and the screen 100 from program SAPLXAKK will be the sub screen for that area.
It is mandatory for the called screen to be in a function group that starts with X. Here the function group is XAKK.
Also, if you see the above enhancement, it also has two FM exits. These two FM exits will be used to pass data to & from the sub screen. These FM calls will be in PBO & PAI modules of the main screen. These FMs are also part of the above said function group.
And the function group will not have that sub screen 100 defined. The programmer can create his own screen with the number 100(or whatever is called).
Calling of the sub screen.
sub screen call     in PBO of main screen 101          this module has the FM exit call
Sub screen call in PAI block of main screen          this module has FM exit call
Create the screen 101 in program SAPLXAKK from transaction CMOD.
Double click here to create the screen
Once screen creation is done, use the two FM exits present in the enhancement to pass data to the sub screen and get data from the sub screen.
Field Exits
1. Field exit was created with CMOD, but is not processed when calling the screen.
   o  Since the field exit is not processed until PAI, an action must be
      triggered on the screen (Return, Save, ...).
   o  Set profile parameter abap/fieldexit to YES and restart the
      system. Setting the profile can be done by a BASIS person.
o     To check if the parameter is set or not use transaction RZ10.
   o  After activating the function module FIELD_EXIT... and the field
      exit, leave the transaction on whose screen the field exit is to
      be executed. The screen is not generated until the transaction is
      started.
   o  Do not work on different application servers since there may be
      some delay before the field exit is activated.
   o  The profile parameter must be set on all or none of the
      application servers.
   o  If the field exit is to only be active on specific screens, check
      whether you chose the correct program and the correct screen
      number (take care with subscreens).
   o  Using SE51 -> Field list, check that the screen field does have a
      reference to a data element. In the name of the field exit use the
      name of the data element and not the field name.
   o  After transport, field exits are marked as active but will not be
      processed. Tip: First try deactivating the field exit once more
      and then afterwards, activate it again.

Similar Messages

  • Field and screen exit..

    Hi I am used function moduel user exit many times but I am not sure about the concept of field exit and screen exit.
    Can someone elaborate it by giving an example..
    Thanks.

    Hi Tushar Shah
    ·        Menu Exits
    Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.
    SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with “+” (a plus sign). You specify the menu item’s text when activating the item in an add-on project.
    ·        Screen Exits
    Add screen layouts to applications. SAP creates screen exits by placing special subscreen areas on a standard screen and calling a customer subscreen from the standard screen’s flow logic.
    ·        Function Module Exits
    Add functions to applications. Function module exits play a role in both menu and screen exits. When you add a new menu item to a standard pulldown menu, you use a function module exit to define the actions that should take place once your menu is activated. Function module exits also control the data flow between standard programs and screen exit fields.
    SAP application developers create function module exits by writing calls to customer functions into the source code of standard programs. These calls have the following syntax: CALL CUSTOMER-FUNCTION ‘001’.
    From Release 4.5A, you can change field texts on screens and add data element documentation using the Modification Assistant.
    Just have a look at following Link>:
    http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
    regards,
    Vijay Raheja

  • Profit Center - Additional Fields and Screen Exits

    Hi,
    I would like to add in new fields in Profit Center (KE51).  Is it possible for Profit Center creation and if so, how to determine Screen Exit for this transaction.

    Dear!
    It is possible to add field at the master data screen of  Profit Center ( KE51) by using the Customer Enhancement ( CMOD/SMOD-screen exit/field exit).
    Please visit the following link
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/user_exits_tutorial.html
    http://www.erpgenie.com/abap/fieldexits.htm
    Please reward me point as way of thanks
    null
    Message was edited by:
            Muhammad Siddique

  • User Exit and screen Exit

    hi everyone,
             For custom field creation and linking the existing system fields with my custom fields i like to know about User Exit and screen Exit. Kindly give me the suggestion.
    Thanks  & Regards
    R.Vijai

    hi,
    this will help you find screen exit for a tcode.
    [https://forums.sdn.sap.com/click.jspa?searchID=19171273&messageID=6151259]

  • How can i add field to screen exit ?

    ver 4.7
    trans.  me21n
    add field in screen exit .
    i implement screen exit MM06E005->SAPMM06E->0111
    in the layout i try to add field  by pressing
    button in the toolbar ( dictionary field window ) ,
    but when i press "save" in me21n  ,
    i get message "No data changed".
    i choose in the dialog window
    field from structure "ci_ekpodb" , field that i already
    been add  .
    thanks .

    Hi
    You have to implement the exit to import/export the data into/from screen-exit:
    EXIT_SAPMM06E_016 and EXIT_SAPMM06E_018
    Max

  • Menu Exits and Screen Exits

    hi everyone,
    can you send me some examples on menu exits and screen exits.
    thank you.
    preetham

    Hi Preetham,
    In older versions MENU Exits approached through Transaction CMOD by creating
    PROJECTS and activating the project and assigning Program to that
    Transaction Codes. For MENU Exits, Transaction Codes will be starting with
    "+" sign and with default text "NODE TEXT NOT FOUND" for which you can
    assign your Report or Dialog Program etc., (for Eg:- +DW4 MENU Exits
    Transaction available in TOOLS --> ABAP Workbench --> Utilities --> <Node
    Text Not found>).
    Procedure for Creating MENU Exits.
    1) To get into Area Menu Maintenance Screen Type SE43 T.Code in Command
    Line.
    2) In Area Menu Paramenter type 'S000' (S triple Zero)
    3) Then Press Change Icon in Application Tool Bar. Then It may ask for
    Access Key [or] it may display "Specify Processing mode" window. If it ask
    for the Access Key Check for the availability of OSS Note and apply to open
    Standard SAP Menu to include MENU Exits. Otherwise, if it display "Specify
    Processing mode" window with Three Push Button. In which select "Change" and
    proceed further.
    4) Then it will display "Information" window with the following information
    "Caution : The Original Language of the structure is German (editing lang. :
    English) ". Then press "Enter Key to proceed further.
    5) Then you will get into "Edit Area Menu S000".
    6) for eg:- Expand Tools Menu.
    7) Then Press ABAP Workbench <Icon>.
    8) Then you will get into ABAP Workbench Menu Tree.
    9) Then Expand Utilities Menu.
    10) In the last line you will find one MENU EXIT Provision to include your
    own menu. "Node Text Not Found" This text can be change by double Clicking
    that. There you can find the T.Code. Here for Eg:- "+DW4".
    11) for eg: - Here change the Text to "Sample Menu Exit" and then note down
    the T.Code "+DW4".
    12) Then Save with Change Request Number and come out of Transaction SE43.
    13) Then Goto Transaction SE93.
    14) Then type T.Code "+DW4" and press Create.
    15) Then proceed further to create transaction called "+DW4".
    I hope this could help you in Creating Menu Exit...
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    For screen exits.
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.
    the tcode is cmod...
    1.From the main screen of the Project management transaction, proceed as follows:
    Select Enhancement components and choose Change.
    2.Choose Edit component.
    3.Choose the screen exit and double click on it
    4.Create your subscreen using the Screen Painter.
    5.Design your screen to be added to the standard screen and activate the particular screen and return back to the flow logic .
    6.Choose the PAI and PBO to write down the logic.
    7.Generate your screen and choose Back (the green arrow) to return to the Project management transaction.
    8.Go to the transaction ME22 to view the customer defined screen exit.
    9.Enter the purchase order number and press Enter.
    10.Go to the menu header --> Details.
    11.Purchase number is visible on the standard screen
    check the foll link,
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    Menu exits allow you to add your own functions to the pulldown menus in standard R/3 transactions. To take advantage of a menu exit, you first need to create a project as described in the section Creating an add-on project. Then, you must include the SAP enhancement package that contains the menu exit you want to use in your project. From the main screen of the Project management transaction, proceed as follows:
    Select Enhancement components and choose Change.
    The system lists all customer exits contained in the enhancements included in your project.
    Place the cursor on the menu exit you want to add your own function to.
    Choose Edit component.
    The system displays technical information about the menu entry. It also displays two input fields where you can specify a language and the text you want your menu item to have.
    Enter the name of your menu function (such as Special order method) in the field New text.
    Choose Save text.
    Your special menu function will not appear in the pulldown menu of the corresponding standard transaction until you activate your enhancement project.
    Specifying a menu text and activating your project are not the only steps you need to take to make your own menu item work. After you carry out these steps, your menu item will appear, but it will not call a corresponding function. To attach your menu entry to its corresponding function, you need to create a function module for the function module exit associated with your menu text. This function module exit is part of the same SAP enhancement that contains the menu exit you used. Creating Customer-Specific Function Modules tells you more about how to use function module exits.
    also refer
    MEnu Exit
    http://www.sap-img.com/abap/what-is-user-exits.htm
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    For screen exits.
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    chech these links for user exists its usefull
    http://www.allsaplinks.com/user_exit.html
    Re: Screen exit
    user exit and customer exit
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/561602545a11d1a7020000e829fd11/frameset.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    How to implement screen exit for a SAP standard transaction
    Introduction
    SAP provides standard transactions to enter data into database. But a client may want to maintain some additional information in SAP other than what is provided.
    To make provisions for this, additional screens have to be provided and additional fields must be added into appropriate database table.
    To pave way for this, SAP has provided the option for screen exits. Usually, SAP provides the following:
    An append structure in the database table with the new fields.
    A subscreen area into the standard screen – where the programmer can attach his subscreen of his own program with the new fields.
    A function group under which the new subscreen has to be created with the new fields.
    Function exits to synchronize the PBO and PAI of the standard SAP program with the PBO and PAI of the subscreen – so that data can flow back and forth between the standard SAP program and the program written by the developer for the subscreen. These function modules also exist in the same function group under which the subscreen will have to be developed.
    Finally, a linkage has to be done between the subscreen area of standard SAP screen with the custom subscreen constructed by the developer.
    Typically, SAP provides an enhancement in which the developer can create an append structure, use the function exits to synchronize the PBO and PAI of the standard SAP program and the custom subscreen program, and make the necessary linking( as mentioned above in step 4. But, again, this is not a hard and fast rule. Linking in some case, is also done by configurations.) SAP also usually provides the name of the function group under which the subscreen has to be developed.
    Necessary guidance about implementing a screen exit development is usually available in the Documentation section of the enhancement ( can be availed by transaction SMOD).
    Pre-Requisites
    The developer to work on screen exit should have essential knowledge on the following:
    DDIC concepts, including the knowledge of append structure.
    Concept of SAP Enhancements and implementing them using Projects.
    Concept of function exits.
    Knowledge on Module Pool – including subscreens, Tabstrip controls etc.
    Steps
    Guidelines
    So, a developer can follow the guidelines mentioned below to implement a screen exit to a standard SAP transaction, as and when required:
    Find out the Required Enhancements
    Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton ‘SAP Applications’. A list will appear that contains information on all the enhancements, categorized under functional areas. Developer must search for the enhancements relevant to his functional area of interest – for e.g., Purchasing, Asset Accounting, etc.
    Note down the enhancements. Then, come to the initial screen of SMOD and view the documentation of each enhancement to find out which one is required for your development.
    Utilize the Enhancement in a Project
    After you have found one, do as directed in the documentation. Generally, the steps are as follows:
    Create a project using CMOD including your enhancement.
    Create the append structure with new fields.
    Go to the desired function group and create a subscreen with the new fields. Write PBO and PAI for the subscreen, if required.
    Use the function exits in the enhancement to link the PBO and PAI of the subscreen with that of the main SAP program supporting the SAP transaction.
    Maintain necessary linkage between the subscreen area of standard SAP program with the custom subscreen developed along with the custom program name. This can be done in the project (developed by CMOD including the enhancement) or outside as a part of configuration.
    Activate the project.
    Test to ensure that required functionality are met.
    Case Study 1
    Add three new custom fields for Asset master and maintain information for them
    Requirement
    Three fields in the legacy system have to be maintained in Asset master. These fields are:
    Original Asset number – 20 characters
    Location 2 – 15 Characters.
    Model no – 20 characters
    Location 2 should start with ‘L’.
    Pre-Analysis
    Finding out the Enhancement
    As described above, the enhancement is determined. It was found, that enhancement AIST0002 will serve the purpose. It contains the following components (can be viewed by transaction SMOD):
    Exit Type Description EXIT_SAPL1022_001 Function Exit Check of User-Defined Fields when Using Create and Change BAPI EXIT_SAPLAIST_002 Function Exit Transfer Data for User Subscreens in PBO. EXIT_SAPLAIST_003 Function Exit Transfer of User-Defined Fields to SAP Master Data Transactions CI_ANLU Customizing Include Include structure to add new fields
    Studying the Function Exits
    The function module level documentation for the function exits are then viewed from transaction SE37. The documentation clearly laid out for the purpose for their use:
    EXIT_SAPLAIST_002
    Function module Level Documentation
    This function module is called by asset master data maintenance at the start of the dialog. (When changing, it is called after reading of the data from the database; when creating it is called after the transfer of the default values from the asset class and reference asset.) The purpose of the function module is to enable this function group to recognize the master data. For interpreting or controlling master data fields that are important for user fields, it is possible to transfer to global variables at this point, so that they can be recognized when the user subscreens are processed.
    Import Parameters
    Understanding
    This function module is called at the PBO to pass the information retrieved from the database to pass them to the custom subscreen and its underlying program. Import parameter : I_ANLU will be populated with the values for user-defined fields which will be passed to the subscreen program. So, there must be some sort of variable assignment from I_ANLU.
    EXIT_SAPLAIST_003
    Function module Documentation: This function module is called by SAP asset master data maintenance after the screens are processed, but before saving. The purpose of the function module is to transfer fields entered on user sub-screens of SAP asset data maintenance to the database for updating. The export parameter for this function module is:
    Understanding
    This function module will be used to transfer the user entered data in the subscreen fields to the main SAP program, which will then be saved into the database.
    Studying the Documentation of the Enhancement
    The enhancement documentation (as is viewed from the initial screen of SMOD] also supports the idea. Moreover, it informs that we need to develop a subscreen under function group XAIS. This is the function group under which the two function exit modules also exist. So, if the custom subscreen refers to the global data of the function group XAIS, then those values will also be available to these function exits as well.
    Going to SE80 and viewing the function group XAIS helps us to inform that there are three DDIC tables declared for it:
    Deciding the Final course of Action
    After making all the investigations, the final course of action was determined.
    SrlNo Step Justification
    A project has to be created using transaction CMOD where the enhancement AIST0002 will be included.
    Customizing include CI_ANLU has to be created with the custom fields demanded When CI_ANLU will be developed, the custom fields will get appended to the database table ANLU. Also, these fields will be used to create screen fields in the new subscreen.
    A custom subscreen, say, 9000 will be developed under function group XAIS. The screen group for the screen will be ‘CUST’ (or any name). The three custom fields added to table ANLU (by creating CI_ANLU) will be used to create new fields in the screen.
    In the PAI of the subscreen, validation for Location to start with ‘L’ will be added. The subscreen with three new fields has to be developed so that it can be attached to a subscreen area of the asset master screens.
    In the custom include of the function exit module ‘EXIT_SAPLAIST_002’, the following code will be written:-
    ANLU = I_ANLU. I_ANLU is the import parameter of this FM. The value is assigned to the global variable ANLU, referring which the three new subscreen fields are developed. So, data retrieved from database table ANLU will be passed to this FM as I_ANLU by the standard SAP main program. The value will be taken and passed to the global variable of the function group XAIS, so that the three custom fields (referring to ANLU of XAIS) get populated.
    In the custom include of the function exit module ‘EXIT_SAPLAIST_003’, the following code will be written:-
    E_ANLU = ANLU. The changed values in the subscreen fields exist in global variable ANLU for the function group XAIS. This function exit module will pass the data back to the SAP main program as E_ANLU.
    Proper linkage/configuration has to be done so that the new subscreens get linked to the appropriate subscreen area of the Asset master screen. This has to be done – otherwise, the new custom subscreen will not be displayed in the Asset master screens.
    Development
    Creating a Project to include the enhancement
    Go to transaction CMOD and create a project.
    Enter a description for the project. Then, click on the pushbutton ‘Enhancement Assignments’ in the Application Toolbar.
    Enter the name of the enhancement and Save.
    Go to ‘Components’.
    Creating Custom Include for ANLU
    The screen shown below will appear, showing all the enhancement components under the assignment AIST0002. Double-click on the name of the Include Structure to create it.
    Create the include structure with three new fields, as required. Then, save and activate it.
    Develop the subscreen and the program
    Go to transaction SE80. For the function group XAIS, create a new subscreen 9000.
    Create it as subscreen.
    Then, go to the Layout of the screen and create three new fields from Database table ANLU.
    Drag the fields in the screen body and place them.
    Then, save and activate the screen and come back to screen flow editor.
    Create the PAI module to add validation for field “Location 2”, as required .
    Activate the whole function group and come out.
    Write code in the Function Exits to synchronize the programs
    Now, code has to be written in the function modules EXIT_SAPLAIST_002 and EXIT_SAPLAIST_003 so that data flows to and fro between the main SAP program and custom subscreen program. For that, go back to transaction CMOD and change the function exits.
    Write code in the function module EXIT_SAPLAIST_002 called once at the beginning of the transaction:
    Write code in EXIT_SAPLAIST_003 to pass the data from the subscreen to SAP main program.
    Then, activate everything – the whole project and come out.
    Complete the configuration to link the subscreen
    The development portion is complete. Now, linking of the subscreen has to be done with the subscreen area of the main program. In most of the cases, this linking can be done in the enhancement itself. But, here, requirement is a bit different. It is done by configuration using SPRO.
    Assets are created under Asset class. And for each asset class, there is a layout assigned to it. For a layout, there are multiple tab pages assigned to it. And, for each tab page, there are multiple screen groups/field groups assigned.
    Here, the requirement is to create these three custom fields in the tab page ‘General’ of asset master screen ( AS01/AS02/AS03/AS91).
    Determine the Layout
    To achieve this, first of all, we need to find out which layout is assigned to asset class 1000.For that, go to transaction AOLK( information has to be obtained from functional consultant).Select the Asset Class ‘1000’ and click on folder ‘General Assignment of Layout’.
    Here, for Asset class 1000, for all the user groups, tab layout SAP is assigned. Since layout ‘SAP’ cannot be changed, it has to be copied and manipulated to include our screen group. Later, the new layout has to be assigned over here.
    Create new tab layout
    Go to transaction AOLA. Copy the tab layout ‘SAP’ to create another layout, say, YSUB.
    System will copy all the settings and will inform you about that.
    Select your newly created layout and double-click on the folder ‘Tab page titles’.
    You want to put your custom fields in the tab page “General”. So, select this tab page entry and double-click on the folder "Position of Groups".
    Here, all the field groups currently residing in the tab-page “General” are shown. Add an entry for your newly created fields.
    Select the group box from the list. An entry will come with “U” padded with the custom subscreen prepared by you.
    Then, save and come out.
    Assign the new Layout to Asset Class
    Now, go to tcode AOLK and assign tab layout YSUB for asset class 1000.
    Save and come out.
    Test the Exit
    Everything is over. Now, go to transaction code AS01/02/03 or AS91 to deal with an asset of asset class 1000. You will see your new fields added to the screen. Add values to them…save. Then, enter into the tcodes again to see whether the values entered by you are being displayed or not.
    Original Source: ittoolbox.com
    MENU
    refer
    MEnu Exit
    just refer to the link below for step by step procedure with screen shots
    http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
    Check this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
    Menu exits allow you to add your own functions to the pulldown menus in standard R/3 transactions. To take advantage of a menu exit, you first need to create a project as described in the section Creating an add-on project. Then, you must include the SAP enhancement package that contains the menu exit you want to use in your project. From the main screen of the Project management transaction, proceed as follows:
    Select Enhancement components and choose Change.
    The system lists all customer exits contained in the enhancements included in your project.
    Place the cursor on the menu exit you want to add your own function to.
    Choose Edit component.
    The system displays technical information about the menu entry. It also displays two input fields where you can specify a language and the text you want your menu item to have.
    Enter the name of your menu function (such as Special order method) in the field New text.
    Choose Save text.
    Your special menu function will not appear in the pulldown menu of the corresponding standard transaction until you activate your enhancement project.
    Specifying a menu text and activating your project are not the only steps you need to take to make your own menu item work. After you carry out these steps, your menu item will appear, but it will not call a corresponding function. To attach your menu entry to its corresponding function, you need to create a function module for the function module exit associated with your menu text. This function module exit is part of the same SAP enhancement that contains the menu exit you used. Creating Customer-Specific Function Modules tells you more about how to use function module exits.
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    Reward points if helpful.
    Thanks
    Naveen khan
    Message was edited by:
            Pattan Naveen

  • How to make a field in custom screen as display field in screen exit

    Hi ,
    I have created a screen exit for CO02 with a field for item text in header level as input field , when value is given and save button is cliked it gets updated in database but the problem is same field shows as input field in CO03 ( display mode ) .
    Code which i have used .
    in PBO
    if sy-tcode = 'CO03'.
    loop at screen .
    if screen-name cs 'SUBSCREEN' or screen-name cs 'RESB-POTX1'.
    ( subscreen - screen name given in screen editor and   resb-potx1 field name given in screen editor )
    SCREEN-INPUT = '0'.
    modify screen.
    endif.
    endloop.
    endif.
    and even i tried in PAI too .....
    if sy-tcode = 'CO01' or sy-tcode = 'CO02'.
    update resb set POTX1 = RESB-POTX1
    where aufnr = i_aufnr.
    elseif sy-tcode = 'CO03'.
    *oop at screen .
    *f screen-name cs 'SUBSCREEN' or screen-name cs 'RESBD-SORTF'.
    SCREEN-INPUT = '0'.
    modify screen.
    endif.
    endloop.
    endif.
    but itshows as input field only ........how to make that custom field as display field in CO03

    HI Andy,
    Try this out.
    FIrst check the sy-dynnr, if it is same as your custom screen number
    in PBO of your custom screen
    if sy-dynnr = 'YOUR_NUMBER' and sy-tcode = 'CS03'.
    loop at screen
    if screen-name = 'YOUR_SCREEN_NAME'
    screen-input = 0.
    modify screen
    endif
    endloop.
    endif.
    if it wont work they try using Tcode SHD0
    Hope this will serve your purpose.
    Regards
    Ramchander Rao.K

  • Custom Field using screen exits CS01/CS02/CS03

    Dear Experts,
    I am using Screen exits to add some text description in CS01/CS02/CS03, my requirement is to add a field 'Product Appearance' with multiple lines for the material description. For this I have created customer field 'ZTEXT1' and appended it to STKO table. Now in screen painter(SE51) i need to add 3-4 lines of type stko-ztext1 because the product desc is of size 300-400 character.
    I am not able to create 3-4 lines of type stko-ztext1. Can u plz suggest how can i add 3-4 lines of  type stko-ztext1 in SE51.
    I am able to create a blank field in SE51 using Edit->Grouping->Step Loop->Define,  but while activating it is giving error as "Input/Outpt field STKO-ZTEXT1 and key word are not in the same screen".
    Plz suggest.
    Regards

    Hi Kurtt,
    Below are the available user exits :-
    PCSD0001  Applications development R/3 BOMS
    PCSD0002  BOMs: Customer fields in item
    PCSD0003  BOMs: Customer fields in header
    PCSD0004  BOM comparison
    PCSD0005  BOMs: component check for material items
    PCSD0006  Mass changes user exit
    PCSD0007  Check changes in STKO
    PCSD0008  WBS BOM: Customer-specific explosion for creating
    PCSD0009  Order/WBS BOM, determine URL page
    PCSD0010  Order/WBS BOM, determine explosion date
    PCSD0011  Knowledge-based order BOM, parallel update
    PCSD0012  Customer - Mat. number/mat. number during material exchange
    PCSD0013  Customer-specific processing of an explosion for BOM browser
    PCSD0014  Knowledge-based order BOM: Status
    Check which one suits your requirement.
    Regards
    Abhii

  • Menu Exit and Screen Exit

    Hi PPL,
    Can anybody help me out in explaining me how to find a menu exit or the
    Screen exit in a program...I have an requirement where i need to use both of them..
    I have already posted this query , but people responded with links which had the
    information on these two , but not the way to locate these...
    I ll be very grateful for ur advice.
    Regards,
    Kevin Nick.

    hi kevin
    <b>Screen exits</b> are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.
    It is determined be SAP where the sub screen will be displayed.
    The syntax is: CALL CUSTOMER-SUBSCREEN
    The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project, and the project has been activated.
    Note:
    Function codes are only processed in the main screens flow logic
    You are not allowed to enter a name for the subscreens command field
    You are not allowed to define GUI stauses
    You are not allowed to enter a value for Next screen
    The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules. These function modules belongs to the same function group as the subscreen
    Subscreens are edited with transaction CMOD. When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next time you display the calling screen
    The developer must create the subscreen and the corresponding PBO and PAI modules
    How to identify screen exits
    Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.
    Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits
    <b>MENU EXITS</b>
    Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu entries in the GUI interface. The developer can add his/her own text and logic for the menu.
    Function codes for menu exits all start with "+"
    Example
    We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will
    run report ZTEST.
    Goto transaction SE43 Area Menu Maintenance
    In Area Menu Paramenter type 'S000' (S triple Zero)
    Select Change and ignore all the warning screens
    Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"
    Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01
    Goto transaction SE93 and create transaction +C01 that calls report ZTEST.
    Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.
    USER EXITS
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is: EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION <3 digit suffix>
    Example:
    The program for transaction VA01 Create salesorder is SAPMV45A
    If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):
    CALL CUSTOMER-FUNCTION '003'
    exporting
    xvbak = vbak
    xvbuk = vbuk
    xkomk = tkomk
    importing
    lvf_subrc = lvf_subrc
    tables
    xvbfa = xvbfa
    xvbap = xvbap
    xvbup = xvbup.
    The exit calls function module EXIT_SAPMV45A_003
    2. How to find user exits
    Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
    If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.
    You will now come to a screen that shows the function module exits for the exit.
    3. Using Project management of SAP Enhancements
    We want to create a project to enahance trasnaction VA01
    Go to transaction CMOD
    Create a project called ZVA01
    Choose the Enhancement assign radio button and press the Change button
    In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only be used i 1 project. If the enhancement is allready in use, and error message will be displayed
    Press Save
    Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
    Now the function module is displayed. Double click on include ZXVVAU04 in the function module
    Insert the following code into the include: E_KUNNR = '2155'.
    Activate the include program. Go back to CMOD and activate the project.
    Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"
    regards
    ravish
    plz reward <b>points</b> if helpful

  • User and screen exit for BP transaction

    Hi,
    We need to add a few z-fields to BP (Business Partner) address tab and save data into database. Please let me know if any user or screen exits are available.
    Thank you.

    hi
    use this program to get all the relevant enhancement and based on that ....use the relevant one and write ur piece of code..
    & Report  ZPJA_PM002 (V2)                                            &
    & Text Elements:                                                     &
    & P_DEVC Show user-exits from development class                      &
    & P_LIMIT Limit submit program selection                             &
    & P_FUNC Show function modules                                       &
    & P_SUBM Show submit programs                                        &
    & S01    Selection data (TCode takes precedence  over program name)  &
    report  zpja_pm002
      no standard page heading
      line-size 158.
    *tables: enlfdir.     "Additional Attributes for Function Modules
    data: tabix      like sy-tabix,
          w_linnum   type i,
          w_off      type i,
          w_index    like sy-tabix,
          w_include  like trdir-name,
          w_prog     like trdir-name,
          w_incl     like trdir-name,
          w_area     like rs38l-area,
          w_level,
          w_str(50)  type c,
          w_funcname like tfdir-funcname.
    constants: c_fmod(40) type c value 'Function modules selected: ',
               c_subm(40) type c value 'Submit programs selected: ',
               c_col1(12) type c value 'Enhanmt Type',
               c_col2(40) type c value 'Enhancement',
               c_col3(30) type c value 'Program/Include',
               c_col4(20) type c value 'Enhancement Name',
               c_col5(40) type c value 'Enhancement Description'.
    Work Areas: ABAP Workbench
    data: begin of wa_d010inc.
    data: master type d010inc-master.
    data: end of wa_d010inc.
    data: begin of wa_tfdir.
    data: funcname type tfdir-funcname,
          pname    type tfdir-pname,
          include  type tfdir-include.
    data: end of wa_tfdir.
    data: begin of wa_tadir.
    data: devclass type tadir-devclass.
    data: end of wa_tadir.
    data: begin of wa_tstc.
    data: pgmna type tstc-pgmna.
    data: end of wa_tstc.
    data: begin of wa_tstcp.
    data: param type tstcp-param.
    data: end of wa_tstcp.
    data: begin of wa_enlfdir.
    data: area type enlfdir-area.
    data: end of wa_enlfdir.
    Work Areas: BADIs
    data: begin of wa_sxs_attr.
    data: exit_name type sxs_attr-exit_name.
    data: end of wa_sxs_attr.
    data: begin of wa_sxs_attrt.
    data: text type sxs_attrt-text.
    data: end of wa_sxs_attrt.
    Work Areas: Enhancements
    data: begin of wa_modsap.
    data: member type modsap-member.
    data: end of wa_modsap.
    data: begin of wa_modsapa.
    data: name type modsapa-name.
    data: end of wa_modsapa.
    data: begin of wa_modsapt.
    data: modtext type modsapt-modtext.
    data: end of wa_modsapt.
    Work Areas: Business Transaction Events
    data: begin of wa_tbe01t.
    data: text1 type tbe01t-text1.
    data: end of wa_tbe01t.
    data: begin of wa_tps01t.
    data: text1 type tps01t-text1.
    data: end of wa_tps01t.
    user-exits
    types: begin of t_userexit,
          type(12) type c,
          pname    like trdir-name,
          txt(300),
          level    type c,
          modname(30) type c,
          modtext(40) type c,
    end of t_userexit.
    data: i_userexit type standard table of t_userexit with header line.
    Function module developmnet classes
    types: begin of t_devclass,
          clas   like trdir-clas,
    end of t_devclass.
    data: i_devclass type standard table of t_devclass with header line.
    Submit programs
    types: begin of t_submit,
          pname     like trdir-name,
          level,
          done,
    end of t_submit.
    data: i_submit type standard table of t_submit with header line.
    Source code
    types: begin of t_sourcetab,                        "#EC * (SLIN lügt!)
            line(200),                                  "#EC * (SLIN lügt!)
          end of t_sourcetab.                           "#EC * (SLIN lügt!)
    data: sourcetab type standard table of t_sourcetab with header line.
    data c_overflow(30000) type c.
    Description of an ABAP/4 source analysis token
    data: i_stoken type standard table of stokex with header line.
    data wa_stoken like i_stoken.
    Description of an ABAP/4 source analysis statement
    data: i_sstmnt type standard table of sstmnt with header line."#EC
    keywords for searching ABAP code
    types: begin of t_keywords,
          word(30),
    end of t_keywords.
    data: keywords type standard table of t_keywords with header line.
    function modules within program
    types: begin of t_fmodule,
          name   like rs38l-name,
          pname  like trdir-name,
          pname2 like trdir-name,
          level,
          bapi,
          done,
    end of t_fmodule.
    data: i_fmodule type standard table of t_fmodule with header line.
    & Selection Options                                                  &
    selection-screen begin of block selscr1 with frame title text-s01.
    parameter: p_pname like trdir-name memory id rid,
               p_tcode like syst-tcode,
               p_limit(4) type n default 100,
               p_devc  like rihea-dy_ofn default ' ',
               p_func  like rihea-dy_ofn default ' ',
               p_subm  like rihea-dy_ofn default ' '.
    selection-screen end of block selscr1.
    & START-OF-SELECTION                                                 &
    start-of-selection.
      if p_pname is initial and p_tcode is initial.
        message e008(hrfpm).  "Make entry on the selection screen
        stop.
      endif.
    ensure P_LIMIT is not zero.
      if p_limit = 0.
        p_limit = 1.
      endif.
      perform data_select.
      perform get_submit_data.
      perform get_fm_data.
      perform get_additional_data.
      perform data_display.
    & Form DATA_SELECT                                                   &
    form data_select.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get programs/includes'       "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
    determine search words
      keywords-word = 'CALL'.
      append keywords.
      keywords-word = 'FORM'.
      append keywords.
      keywords-word = 'PERFORM'.
      append keywords.
      keywords-word = 'SUBMIT'.
      append keywords.
      keywords-word = 'INCLUDE'.
      append keywords.
      if not p_tcode is initial.
    get program name from TCode
        select single pgmna from tstc into wa_tstc-pgmna
                     where tcode eq p_tcode.
        if not wa_tstc-pgmna is initial.
          p_pname = wa_tstc-pgmna.
    TCode does not include program name, but does have refereve TCode
        else.
          select single param from tstcp into wa_tstcp-param
                       where tcode eq p_tcode.
          if sy-subrc = 0.
            check wa_tstcp-param(1)   = '/'.
            check wa_tstcp-param+1(1) = '*'.
            if wa_tstcp-param ca ' '.
            endif.
            w_off = sy-fdpos + 1.
            subtract 2 from sy-fdpos.
            if sy-fdpos gt 0.
              p_tcode = wa_tstcp-param+2(sy-fdpos).
            endif.
            select single pgmna from tstc into wa_tstc-pgmna
                   where tcode eq p_tcode.
            p_pname = wa_tstc-pgmna.
            if sy-subrc <> 0.
              message e110(/saptrx/asc) with 'No program found for: '
    p_tcode."#EC NOTEXT
              stop.
            endif.
          else.
            message e110(/saptrx/asc) with 'No program found for: ' p_tcode.
    "#EC NOTEXT
            stop.
          endif.
        endif.
      endif.
    Call customer-function aus Program coding
      read report p_pname into sourcetab.
      if sy-subrc > 0.
        message e017(enhancement) with p_pname raising no_program."#EC *
      endif.
      scan abap-source sourcetab tokens     into i_stoken
                                 statements into i_sstmnt
                                 keywords   from keywords
                                 overflow into c_overflow
                                 with includes.
                                 WITH ANALYSIS.
      if sy-subrc > 0. "keine/syntakt. falsche Ablauflog./Fehler im Skanner
        message e130(enhancement) raising syntax_error.         "#EC *
      endif.
    check I_STOKEN for entries
      clear w_linnum.
      describe table i_stoken lines w_linnum.
      if w_linnum gt 0.
        w_level = '0'.
        w_prog = ''.
        w_incl = ''.
        perform data_search tables i_stoken using w_level w_prog w_incl.
      endif.
    endform.                        "DATA_SELECT
    & Form GET_FM_DATA                                                   &
    form get_fm_data.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get function module data'    "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
    Function module data
      sort i_fmodule by name.
      delete adjacent duplicates from i_fmodule comparing name.
      loop at i_fmodule where done  ne 'X'.
        clear:   i_stoken, i_sstmnt, sourcetab, wa_tfdir, w_include .
        refresh: i_stoken, i_sstmnt, sourcetab.
        clear wa_tfdir.
        select single funcname pname include from tfdir into wa_tfdir
                                where funcname = i_fmodule-name.
        check sy-subrc = 0.
        call function 'FUNCTION_INCLUDE_SPLIT'
          exporting
            program = wa_tfdir-pname
          importing
            group   = w_area.
        concatenate 'L' w_area 'U' wa_tfdir-include into w_include.
        i_fmodule-pname  = w_include.
        i_fmodule-pname2 = wa_tfdir-pname.
        modify i_fmodule.
        read report i_fmodule-pname into sourcetab.
        if sy-subrc = 0.
          scan abap-source sourcetab tokens     into i_stoken
                                     statements into i_sstmnt
                                     keywords   from keywords
                                     with includes.
          if sy-subrc > 0.
            message e130(enhancement) raising syntax_error.
          endif.
    check i_stoken for entries
          clear w_linnum.
          describe table i_stoken lines w_linnum.
          if w_linnum gt 0.
            w_level = '1'.
            w_prog  = i_fmodule-pname2.
            w_incl =  i_fmodule-pname.
            perform data_search tables i_stoken using w_level w_prog w_incl.
          endif.
        endif.
      endloop.
      if p_devc = 'X'.
        loop at i_fmodule.
          clear: wa_tadir, wa_enlfdir.
          select single area from enlfdir into wa_enlfdir-area
                                where funcname = i_fmodule-name.
          check not wa_enlfdir-area is initial.
          select single devclass into wa_tadir-devclass
                          from tadir where pgmid    = 'R3TR'
                                       and object   = 'FUGR'
                                       and obj_name = wa_enlfdir-area.
          check not wa_tadir-devclass is initial.
          move wa_tadir-devclass to i_devclass-clas.
          append i_devclass.
          i_fmodule-done = 'X'.
          modify i_fmodule.
        endloop.
        sort i_devclass.
        delete adjacent duplicates from i_devclass.
      endif.
    endform.                        "GET_FM_DATA
    & Form GET_SUBMIT_DATA                                               &
    form get_submit_data.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get submit data'             "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
      sort i_submit.
      delete adjacent duplicates from i_submit comparing pname.
      w_level = '0'.
      loop at i_submit where done ne 'X'.
        clear:   i_stoken, i_sstmnt, sourcetab.
        refresh: i_stoken, i_sstmnt, sourcetab.
        read report i_submit-pname into sourcetab.
        if sy-subrc = 0.
          scan abap-source sourcetab tokens     into i_stoken
                                     statements into i_sstmnt
                                     keywords   from keywords
                                     with includes.
          if sy-subrc > 0.
           message e130(enhancement) raising syntax_error.
            continue.
          endif.
    check i_stoken for entries
          clear w_linnum.
          describe table i_stoken lines w_linnum.
          if w_linnum gt 0.
            w_prog  = i_submit-pname.
            w_incl = ''.
            perform data_search tables i_stoken using w_level w_prog w_incl.
          endif.
        endif.
    restrict number of submit program selected for processing
        describe table i_submit lines w_linnum.
        if w_linnum ge p_limit.
          w_level = '1'.
        endif.
        i_submit-done = 'X'.
        modify i_submit.
      endloop.
    endform.                       "GET_SUBMIT_DATA
    & Form DATA_SEARCH                                                   &
    form data_search tables p_stoken structure stoken
                            using p_level p_prog p_incl.
      loop at p_stoken.
        clear i_userexit.
        tabix = sy-tabix + 1.
        i_userexit-level = p_level.
        if i_userexit-level = '0'.
          if p_incl is initial.
            i_userexit-pname = p_pname.
          else.
            concatenate  p_pname '/' p_incl into i_userexit-pname.
          endif.
        else.
          if p_incl is initial.
            i_userexit-pname = p_prog.
          else.
            concatenate  p_prog '/' p_incl into i_userexit-pname.
          endif.
        endif.
    Include
        if p_stoken-str eq 'INCLUDE'.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
          check not wa_stoken-str cs 'STRUCTURE'.
          check not wa_stoken-str cs 'SYMBOL'.
          read table i_submit with key pname = wa_stoken-str.
          if sy-subrc <> 0.
            i_submit-pname = wa_stoken-str.
            i_submit-level = p_level.
            append i_submit.
          endif.
        endif.
    Enhancements
        if p_stoken-str eq 'CUSTOMER-FUNCTION'.
          clear w_funcname.
          read table p_stoken index tabix.
          translate p_stoken-str using ''' '.
          condense p_stoken-str.
          if p_prog is initial.
            concatenate 'EXIT' p_pname p_stoken-str into w_funcname
                         separated by '_'.
          else.
            concatenate 'EXIT' p_prog p_stoken-str into w_funcname
                   separated by '_'.
          endif.
          select single member from modsap into wa_modsap-member
                where member = w_funcname.
          if sy-subrc = 0.   " check for valid enhancement
            i_userexit-type = 'Enhancement'.
            i_userexit-txt  = w_funcname.
            append i_userexit.
          else.
            clear wa_d010inc.
            select single master into wa_d010inc-master
                  from d010inc
                     where include = p_prog.
            concatenate 'EXIT' wa_d010inc-master p_stoken-str into
    w_funcname
                   separated by '_'.
            i_userexit-type = 'Enhancement'.
            i_userexit-txt  = w_funcname.
          endif.
        endif.
    BADIs
        if p_stoken-str cs 'cl_exithandler='.
          w_index = sy-tabix + 4.
          read table p_stoken index w_index into wa_stoken.
          i_userexit-txt = wa_stoken-str.
          replace all occurrences of '''' in i_userexit-txt with space.
          i_userexit-type = 'BADI'.
          append i_userexit.
        endif.
    Business transaction events
        if p_stoken-str cs 'OPEN_FI_PERFORM'.
          i_userexit-type = 'BusTrEvent'.
          i_userexit-txt = p_stoken-str.
          replace all occurrences of '''' in i_userexit-txt with space.
          i_userexit-modname =  i_userexit-txt+16(8).
          case i_userexit-txt+25(1).
            when 'E'.
              clear wa_tbe01t.
              select single text1 into wa_tbe01t-text1 from tbe01t
                               where event = i_userexit-txt+16(8)
                                 and spras = sy-langu.
              if wa_tbe01t-text1 is initial.
                i_userexit-modtext = ''.            "#EC NOTEXT
              else.
                i_userexit-modtext = wa_tbe01t-text1.
              endif.
              i_userexit-modname+8 = '/P&S'.                    "#EC NOTEXT
            when 'P'.
              clear wa_tps01t.
              select single text1 into wa_tps01t-text1 from tps01t
                               where procs = i_userexit-txt+16(8)
                                 and spras = sy-langu.
              i_userexit-modtext = wa_tps01t-text1.
              i_userexit-modname+8 = '/Process'.
          endcase.
          append i_userexit.
        endif.
    Program exits
        if p_stoken-str cs 'USEREXIT_'.
          i_userexit-type = 'Program Exit'.
          i_userexit-txt = p_stoken-str.
          replace all occurrences of '''' in i_userexit-txt with space.
          append i_userexit.
        endif.
    Submit programs
        if p_stoken-str cs 'SUBMIT'.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          check not p_stoken-str cs '_'.   " ensure not SUBMIT_XXX
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
          check not wa_stoken-str cs '_'.   " ensure not SUBMIT_XXX
          replace all occurrences of '''' in wa_stoken-str with space.
          read table i_submit with key pname = wa_stoken-str.
          if sy-subrc <> 0.
            i_submit-pname = wa_stoken-str.
            i_submit-level = p_level.
            append i_submit.
          endif.
        endif.
    Perform routines (which reference external programs)
        if p_stoken-str cs 'PERFORM'.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
          if not wa_stoken-ovfl is initial.
            w_off = wa_stoken-off1 + 10.
            w_str = c_overflow+w_off(30).
            find ')' in w_str match offset w_off.
            w_off = w_off + 1.
            wa_stoken-str = w_str(w_off).
          endif.
          check wa_stoken-str cs '('.
          w_off = 0.
          while sy-subrc  = 0.
            if wa_stoken-str+w_off(1) eq '('.
              replace section offset w_off length 1 of wa_stoken-str with ''
              replace all occurrences of ')' in wa_stoken-str with space.
              read table i_submit with key pname = wa_stoken-str.
              if sy-subrc <> 0.
                i_submit-pname = wa_stoken-str.
                append i_submit.
              endif.
              exit.
            else.
              replace section offset w_off length 1 of wa_stoken-str with ''
              shift wa_stoken-str left deleting leading space.
            endif.
          endwhile.
        endif.
    Function modules
        if p_stoken-str cs 'FUNCTION'.
          clear i_fmodule.
          check p_level eq '0'.    " do not perform for function modules
    *(2nd pass)
          w_index = sy-tabix + 1.
          read table p_stoken index w_index into wa_stoken.
         if wa_stoken-str cs 'WF_'.
         if wa_stoken-str cs 'IF_'.
           break-point.
         endif.
          if wa_stoken-str cs 'BAPI'.
            i_fmodule-bapi = 'X'.
          endif.
          replace first occurrence of '''' in wa_stoken-str with space.
          replace first occurrence of '''' in wa_stoken-str with space.
          if sy-subrc = 4.   " didn't find 2nd quote (ie name truncated)
            clear wa_tfdir.
            concatenate wa_stoken-str '%' into wa_stoken-str.
            select single funcname into wa_tfdir-funcname from tfdir
                         where funcname like wa_stoken-str.
            if sy-subrc = 0.
              i_fmodule-name = wa_tfdir-funcname.
            else.
              continue.
            endif.
          else.
            i_fmodule-name = wa_stoken-str.
          endif.
          i_fmodule-level = p_level.
          append i_fmodule.
        endif.
      endloop.
    endform.                        "DATA_SEARCH
    & Form GET_ADDITIONAL_DATA                                           &
    form get_additional_data.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Get additional data'         "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
      loop at i_userexit.
    Enhancement data
        if  i_userexit-type cs 'Enh'.
          clear: wa_modsapa.
          select single name into wa_modsapa-name from modsap
                            where member = i_userexit-txt.
          check sy-subrc = 0.
          i_userexit-modname = wa_modsapa-name.
          clear wa_modsapt.
          select single modtext into wa_modsapt-modtext from modsapt
                            where name = wa_modsapa-name
                                         and sprsl = sy-langu.
          i_userexit-modtext = wa_modsapt-modtext.
        endif.
    BADI data
        if  i_userexit-type eq 'BADI'.
          clear wa_sxs_attr.
          select single exit_name into wa_sxs_attr-exit_name from sxs_attr
                                        where exit_name = i_userexit-txt.
          if sy-subrc = 0.
            i_userexit-modname = i_userexit-txt.
          else.
            i_userexit-modname = 'Dynamic call'.                "#EC NOTEXT
          endif.
          clear wa_sxs_attrt.
          select single text into wa_sxs_attrt-text from sxs_attrt
                                         where exit_name =
    wa_sxs_attr-exit_name
                                           and sprsl = sy-langu.
          i_userexit-modtext = wa_sxs_attrt-text.
        endif.
        modify i_userexit.
      endloop.
    get enhancements via program package
      clear wa_tadir.
      select single devclass into wa_tadir-devclass from tadir
                                 where pgmid    = 'R3TR'
                                   and object   = 'PROG'
                                   and obj_name = p_pname.
      if sy-subrc = 0.
        clear: wa_modsapa, wa_modsapt.
        select name from modsapa into wa_modsapa-name
                              where devclass = wa_tadir-devclass.
          select single modtext from modsapt into wa_modsapt-modtext
                              where name = wa_modsapa-name
                                and sprsl = sy-langu.
          read table i_userexit with key modname = wa_modsapa-name.
          if sy-subrc <> 0.
            i_userexit-modtext = wa_modsapt-modtext.
            i_userexit-type = 'Enhancement'.                    "#EC NOTEXT
            i_userexit-modname  = wa_modsapa-name.
            i_userexit-txt = 'Determined from program DevClass'."#EC NOTEXT
            i_userexit-pname = 'Unknown'.                       "#EC NOTEXT
            append i_userexit.
          endif.
        endselect.
      endif.
    endform.                        "GET_ADDITIONAL_DATA
    & Form DATA_DISPLAY                                                  &
    form data_display.
    data selection message to sap gui
      call function 'SAPGUI_PROGRESS_INDICATOR'
        destination 'SAPGUI'
        keeping logical unit of work
        exporting
          text                  = 'Prepare screen for display'  "#EC NOTEXT
        exceptions
          system_failure
          communication_failure
        .                                                       "#EC *
      sort i_userexit by type txt modname.
      delete adjacent duplicates from i_userexit comparing txt modname.
    format headings
      write: 'Enhancements from main program'.                  "#EC NOTEXT
      write: /.
      uline.
      format color col_heading.
      write: /    sy-vline,
             (12) c_col1,                    "Enhanmt Type
                  sy-vline,
             (40) c_col2,                    "Enhancement
                  sy-vline,
             (30) c_col3,                    "Program/Include
                  sy-vline,
             (20) c_col4,                    "Enhancement name
                  sy-vline,
             (40) c_col5,                    "Enhancement description
                  sy-vline.
      format reset.
      uline.
    format lines
      loop at i_userexit.
    set line colour
        case i_userexit-type.
          when 'Enhancement'.
            format color 3 intensified off.
          when 'BADI'.
            format color 4 intensified off.
          when 'BusTrEvent'.
            format color 5 intensified off.
          when 'Program Exit'.
            format color 6 intensified off.
          when others.
            format reset.
        endcase.
        write: / sy-vline,
                 i_userexit-type,
                 sy-vline,
                 i_userexit-txt(40),
                 sy-vline,
                 i_userexit-pname(30),
                 sy-vline,
                 i_userexit-modname(20),
                 sy-vline,
                 i_userexit-modtext(40),
                 sy-vline.
      endloop.
      format reset.
      uline.
    user-exits from development class of function modules
      if p_devc = 'X'.
        write: /.
        write: / 'User-exits from function module development class'."#EC
    *NOTEXT
        write: 157''.
        uline (90).
        write: 157''.
        loop at i_devclass.
          clear wa_modsapa.
          select name from modsapa into wa_modsapa
                       where devclass = i_devclass-clas.
         select single name modtext into corresponding fields of wa_modsapt
                                       from modsapt
                                         where name  = wa_modsapa-name
                                           and sprsl = sy-langu.
            format color 3 intensified off.
            write: / sy-vline,
                     (12) 'Enhancement',
                     sy-vline,
                    wa_modsapa-name,
                    sy-vline,
                    wa_modsapt-modtext,
                    sy-vline.
          endselect.
        endloop.
        uline (90).
        format reset.
      endif.
      describe table i_fmodule lines w_linnum.
      write: / c_fmod , at 35 w_linnum.                         "#EC NOTEXT
      write: 157''.
      if p_func = 'X'.
    display fuction modules used in program
        uline (38).
        write: 157''.
        loop at i_fmodule.
          write: sy-vline,
                 i_fmodule-name,
                 sy-vline,
                 i_fmodule-bapi,
                 sy-vline.
          write: 157''.
        endloop.
        uline (38).
      endif.
      describe table i_submit lines w_linnum.
      write: / c_subm , at 35 w_linnum.                         "#EC NOTEXT
      write: 157''.
      if p_subm = 'X'.
    display submit programs used in program
        uline (44).
        write: 157''.
        loop at i_submit.
          write: sy-vline,
                 i_submit-pname,
                 sy-vline.
          write: 157''.
        endloop.
        uline (44).
      endif.
    issue message with number of user-exits displayed
      describe table i_userexit lines w_linnum.
      message s697(56) with w_linnum.
    endform.                        "DATA_DISPLAY
    reward points if it helps
    gunjan

  • How the MENU EXITS and SCREEN EXITS are incorporated in FRAME WORK ?

    Hi All ,
    I read the sevaral docs that gives the basic understanding of the frame Work technology .But no where I could find the Concept Of Screen exits and menu exits in Frame work . Could you please give some idea on that ? Appreciate if you can give any documentation links .
    Thanks in advance ,
    Dharma .

    Hi All ,
    I read the sevaral docs that gives the basic understanding of the frame Work technology .But no where I could find the Concept Of Screen exits and menu exits in Frame work . Could you please give some idea on that ? Appreciate if you can give any documentation links .
    Thanks in advance ,
    Dharma .

  • PA40 - Iam unable to get my desired fields and screen.

    Hi SAP Gurus,
    Though i did correct steps of configuration of action and assigned user dependency as 40. Still iam not able to get my desired screen.
    Can u guide me what went wrong.
    Regards,
    Ravi

    OK Lets try this....
    We will create a Custom Action  ZPromotion
    in table VV_T588C_G_AL0
    ZP     DL Promotion          40 (dont put tick here)
    in table V_T588D  for ZP
    40                 01     INS     0001            Organizational Assignment        
    40                 02     INS     0006            Addresses     1
    40                 03     INS     0006            Addresses     2
    40                 04     INS     0006            Addresses     4
    40                 05     INS     0008            Basic Pay        
    in table T529A
    ZP     Promotion     0           3     1               ZP
    (put tick in all check box except the last one)
    in table VV_T588C_M_AL0
    01     Actions          99 (put a tick here)
    in table V_588B_M for 01
    99     01     01     Hiring
    99     02     62     Hire applicant
    99     03     02     Organizational reassignment
    99     04     ZP     Promotion

  • Screen exit and menu exit

    want some examples and step by step guide for menu exits and screen exits.

    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.
    the tcode is cmod...
    1.From the main screen of the Project management transaction, proceed as follows:
    Select Enhancement components and choose Change.
    2.Choose Edit component.
    3.Choose the screen exit and double click on it
    4.Create your subscreen using the Screen Painter.
    5.Design your screen to be added to the standard screen and activate the particular screen and return back to the flow logic .
    6.Choose the PAI and PBO to write down the logic.
    7.Generate your screen and choose Back (the green arrow) to return to the Project management transaction.
    8.Go to the transaction ME22 to view the customer defined screen exit.
    9.Enter the purchase order number and press Enter.
    10.Go to the menu header --> Details.
    11.Purchase number is visible on the standard screen
    check the foll link,
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    Menu exits allow you to add your own functions to the pulldown menus in standard R/3 transactions. To take advantage of a menu exit, you first need to create a project as described in the section Creating an add-on project. Then, you must include the SAP enhancement package that contains the menu exit you want to use in your project. From the main screen of the Project management transaction, proceed as follows:
    Select Enhancement components and choose Change.
    The system lists all customer exits contained in the enhancements included in your project.
    Place the cursor on the menu exit you want to add your own function to.
    Choose Edit component.
    The system displays technical information about the menu entry. It also displays two input fields where you can specify a language and the text you want your menu item to have.
    Enter the name of your menu function (such as Special order method) in the field New text.
    Choose Save text.
    Your special menu function will not appear in the pulldown menu of the corresponding standard transaction until you activate your enhancement project.
    Specifying a menu text and activating your project are not the only steps you need to take to make your own menu item work. After you carry out these steps, your menu item will appear, but it will not call a corresponding function. To attach your menu entry to its corresponding function, you need to create a function module for the function module exit associated with your menu text. This function module exit is part of the same SAP enhancement that contains the menu exit you used. Creating Customer-Specific Function Modules tells you more about how to use function module exits.
    also refer
    MEnu Exit
    http://www.sap-img.com/abap/what-is-user-exits.htm
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    For screen exits.
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    chech these links for user exists its usefull
    http://www.allsaplinks.com/user_exit.html
    Re: Screen exit
    user exit and customer exit
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/561602545a11d1a7020000e829fd11/frameset.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    How to implement screen exit for a SAP standard transaction
    Introduction
    SAP provides standard transactions to enter data into database. But a client may want to maintain some additional information in SAP other than what is provided.
    To make provisions for this, additional screens have to be provided and additional fields must be added into appropriate database table.
    To pave way for this, SAP has provided the option for screen exits. Usually, SAP provides the following:
    An append structure in the database table with the new fields.
    A subscreen area into the standard screen – where the programmer can attach his subscreen of his own program with the new fields.
    A function group under which the new subscreen has to be created with the new fields.
    Function exits to synchronize the PBO and PAI of the standard SAP program with the PBO and PAI of the subscreen – so that data can flow back and forth between the standard SAP program and the program written by the developer for the subscreen. These function modules also exist in the same function group under which the subscreen will have to be developed.
    Finally, a linkage has to be done between the subscreen area of standard SAP screen with the custom subscreen constructed by the developer.
    Typically, SAP provides an enhancement in which the developer can create an append structure, use the function exits to synchronize the PBO and PAI of the standard SAP program and the custom subscreen program, and make the necessary linking( as mentioned above in step 4. But, again, this is not a hard and fast rule. Linking in some case, is also done by configurations.) SAP also usually provides the name of the function group under which the subscreen has to be developed.
    Necessary guidance about implementing a screen exit development is usually available in the Documentation section of the enhancement ( can be availed by transaction SMOD).
    Pre-Requisites
    The developer to work on screen exit should have essential knowledge on the following:
    DDIC concepts, including the knowledge of append structure.
    Concept of SAP Enhancements and implementing them using Projects.
    Concept of function exits.
    Knowledge on Module Pool – including subscreens, Tabstrip controls etc.
    Steps
    Guidelines
    So, a developer can follow the guidelines mentioned below to implement a screen exit to a standard SAP transaction, as and when required:
    Find out the Required Enhancements
    Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton ‘SAP Applications’. A list will appear that contains information on all the enhancements, categorized under functional areas. Developer must search for the enhancements relevant to his functional area of interest – for e.g., Purchasing, Asset Accounting, etc.
    Note down the enhancements. Then, come to the initial screen of SMOD and view the documentation of each enhancement to find out which one is required for your development.
    Utilize the Enhancement in a Project
    After you have found one, do as directed in the documentation. Generally, the steps are as follows:
    Create a project using CMOD including your enhancement.
    Create the append structure with new fields.
    Go to the desired function group and create a subscreen with the new fields. Write PBO and PAI for the subscreen, if required.
    Use the function exits in the enhancement to link the PBO and PAI of the subscreen with that of the main SAP program supporting the SAP transaction.
    Maintain necessary linkage between the subscreen area of standard SAP program with the custom subscreen developed along with the custom program name. This can be done in the project (developed by CMOD including the enhancement) or outside as a part of configuration.
    Activate the project.
    Test to ensure that required functionality are met.
    Case Study 1
    Add three new custom fields for Asset master and maintain information for them
    Requirement
    Three fields in the legacy system have to be maintained in Asset master. These fields are:
    Original Asset number – 20 characters
    Location 2 – 15 Characters.
    Model no – 20 characters
    Location 2 should start with ‘L’.
    Pre-Analysis
    Finding out the Enhancement
    As described above, the enhancement is determined. It was found, that enhancement AIST0002 will serve the purpose. It contains the following components (can be viewed by transaction SMOD):
    Exit Type Description EXIT_SAPL1022_001 Function Exit Check of User-Defined Fields when Using Create and Change BAPI EXIT_SAPLAIST_002 Function Exit Transfer Data for User Subscreens in PBO. EXIT_SAPLAIST_003 Function Exit Transfer of User-Defined Fields to SAP Master Data Transactions CI_ANLU Customizing Include Include structure to add new fields
    Studying the Function Exits
    The function module level documentation for the function exits are then viewed from transaction SE37. The documentation clearly laid out for the purpose for their use:
    EXIT_SAPLAIST_002
    Function module Level Documentation
    This function module is called by asset master data maintenance at the start of the dialog. (When changing, it is called after reading of the data from the database; when creating it is called after the transfer of the default values from the asset class and reference asset.) The purpose of the function module is to enable this function group to recognize the master data. For interpreting or controlling master data fields that are important for user fields, it is possible to transfer to global variables at this point, so that they can be recognized when the user subscreens are processed.
    Import Parameters
    Understanding
    This function module is called at the PBO to pass the information retrieved from the database to pass them to the custom subscreen and its underlying program. Import parameter : I_ANLU will be populated with the values for user-defined fields which will be passed to the subscreen program. So, there must be some sort of variable assignment from I_ANLU.
    EXIT_SAPLAIST_003
    Function module Documentation: This function module is called by SAP asset master data maintenance after the screens are processed, but before saving. The purpose of the function module is to transfer fields entered on user sub-screens of SAP asset data maintenance to the database for updating. The export parameter for this function module is:
    Understanding
    This function module will be used to transfer the user entered data in the subscreen fields to the main SAP program, which will then be saved into the database.
    Studying the Documentation of the Enhancement
    The enhancement documentation (as is viewed from the initial screen of SMOD] also supports the idea. Moreover, it informs that we need to develop a subscreen under function group XAIS. This is the function group under which the two function exit modules also exist. So, if the custom subscreen refers to the global data of the function group XAIS, then those values will also be available to these function exits as well.
    Going to SE80 and viewing the function group XAIS helps us to inform that there are three DDIC tables declared for it:
    Deciding the Final course of Action
    After making all the investigations, the final course of action was determined.
    SrlNo Step Justification
    A project has to be created using transaction CMOD where the enhancement AIST0002 will be included.
    Customizing include CI_ANLU has to be created with the custom fields demanded When CI_ANLU will be developed, the custom fields will get appended to the database table ANLU. Also, these fields will be used to create screen fields in the new subscreen.
    A custom subscreen, say, 9000 will be developed under function group XAIS. The screen group for the screen will be ‘CUST’ (or any name). The three custom fields added to table ANLU (by creating CI_ANLU) will be used to create new fields in the screen.
    In the PAI of the subscreen, validation for Location to start with ‘L’ will be added. The subscreen with three new fields has to be developed so that it can be attached to a subscreen area of the asset master screens.
    In the custom include of the function exit module ‘EXIT_SAPLAIST_002’, the following code will be written:-
    ANLU = I_ANLU. I_ANLU is the import parameter of this FM. The value is assigned to the global variable ANLU, referring which the three new subscreen fields are developed. So, data retrieved from database table ANLU will be passed to this FM as I_ANLU by the standard SAP main program. The value will be taken and passed to the global variable of the function group XAIS, so that the three custom fields (referring to ANLU of XAIS) get populated.
    In the custom include of the function exit module ‘EXIT_SAPLAIST_003’, the following code will be written:-
    E_ANLU = ANLU. The changed values in the subscreen fields exist in global variable ANLU for the function group XAIS. This function exit module will pass the data back to the SAP main program as E_ANLU.
    Proper linkage/configuration has to be done so that the new subscreens get linked to the appropriate subscreen area of the Asset master screen. This has to be done – otherwise, the new custom subscreen will not be displayed in the Asset master screens.
    Development
    Creating a Project to include the enhancement
    Go to transaction CMOD and create a project.
    Enter a description for the project. Then, click on the pushbutton ‘Enhancement Assignments’ in the Application Toolbar.
    Enter the name of the enhancement and Save.
    Go to ‘Components’.
    Creating Custom Include for ANLU
    The screen shown below will appear, showing all the enhancement components under the assignment AIST0002. Double-click on the name of the Include Structure to create it.
    Create the include structure with three new fields, as required. Then, save and activate it.
    Develop the subscreen and the program
    Go to transaction SE80. For the function group XAIS, create a new subscreen 9000.
    Create it as subscreen.
    Then, go to the Layout of the screen and create three new fields from Database table ANLU.
    Drag the fields in the screen body and place them.
    Then, save and activate the screen and come back to screen flow editor.
    Create the PAI module to add validation for field “Location 2”, as required .
    Activate the whole function group and come out.
    Write code in the Function Exits to synchronize the programs
    Now, code has to be written in the function modules EXIT_SAPLAIST_002 and EXIT_SAPLAIST_003 so that data flows to and fro between the main SAP program and custom subscreen program. For that, go back to transaction CMOD and change the function exits.
    Write code in the function module EXIT_SAPLAIST_002 called once at the beginning of the transaction:
    Write code in EXIT_SAPLAIST_003 to pass the data from the subscreen to SAP main program.
    Then, activate everything – the whole project and come out.
    Complete the configuration to link the subscreen
    The development portion is complete. Now, linking of the subscreen has to be done with the subscreen area of the main program. In most of the cases, this linking can be done in the enhancement itself. But, here, requirement is a bit different. It is done by configuration using SPRO.
    Assets are created under Asset class. And for each asset class, there is a layout assigned to it. For a layout, there are multiple tab pages assigned to it. And, for each tab page, there are multiple screen groups/field groups assigned.
    Here, the requirement is to create these three custom fields in the tab page ‘General’ of asset master screen ( AS01/AS02/AS03/AS91).
    Determine the Layout
    To achieve this, first of all, we need to find out which layout is assigned to asset class 1000.For that, go to transaction AOLK( information has to be obtained from functional consultant).Select the Asset Class ‘1000’ and click on folder ‘General Assignment of Layout’.
    Here, for Asset class 1000, for all the user groups, tab layout SAP is assigned. Since layout ‘SAP’ cannot be changed, it has to be copied and manipulated to include our screen group. Later, the new layout has to be assigned over here.
    Create new tab layout
    Go to transaction AOLA. Copy the tab layout ‘SAP’ to create another layout, say, YSUB.
    System will copy all the settings and will inform you about that.
    Select your newly created layout and double-click on the folder ‘Tab page titles’.
    You want to put your custom fields in the tab page “General”. So, select this tab page entry and double-click on the folder "Position of Groups".
    Here, all the field groups currently residing in the tab-page “General” are shown. Add an entry for your newly created fields.
    Select the group box from the list. An entry will come with “U” padded with the custom subscreen prepared by you.
    Then, save and come out.
    Assign the new Layout to Asset Class
    Now, go to tcode AOLK and assign tab layout YSUB for asset class 1000.
    Save and come out.
    Test the Exit
    Everything is over. Now, go to transaction code AS01/02/03 or AS91 to deal with an asset of asset class 1000. You will see your new fields added to the screen. Add values to them…save. Then, enter into the tcodes again to see whether the values entered by you are being displayed or not.
    Original Source: ittoolbox.com
    MENU
    refer
    MEnu Exit
    just refer to the link below for step by step procedure with screen shots
    http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
    Check this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
    Menu exits allow you to add your own functions to the pulldown menus in standard R/3 transactions. To take advantage of a menu exit, you first need to create a project as described in the section Creating an add-on project. Then, you must include the SAP enhancement package that contains the menu exit you want to use in your project. From the main screen of the Project management transaction, proceed as follows:
    Select Enhancement components and choose Change.
    The system lists all customer exits contained in the enhancements included in your project.
    Place the cursor on the menu exit you want to add your own function to.
    Choose Edit component.
    The system displays technical information about the menu entry. It also displays two input fields where you can specify a language and the text you want your menu item to have.
    Enter the name of your menu function (such as Special order method) in the field New text.
    Choose Save text.
    Your special menu function will not appear in the pulldown menu of the corresponding standard transaction until you activate your enhancement project.
    Specifying a menu text and activating your project are not the only steps you need to take to make your own menu item work. After you carry out these steps, your menu item will appear, but it will not call a corresponding function. To attach your menu entry to its corresponding function, you need to create a function module for the function module exit associated with your menu text. This function module exit is part of the same SAP enhancement that contains the menu exit you used. Creating Customer-Specific Function Modules tells you more about how to use function module exits.
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is:
    EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    To find a Exit.
    Goto Transaction -- Find The Package
    SMOD >f4>Use the Package here to Find the Exits In the Package.
    Else if you Want to search by Application Area wise ,
    There is one more tab to find the Exits in the Respective Application Area.
    Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
    Now Run ur Transaction to Check if it Triggers.
    Thats it..
    Suppose you need to find out all the user exits related to a tcode.
    1. Execute the Tcode.
    2. Open the SAP program.
    3. Get the Development Class.
    4. Execute Tcode SE84.
    5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
    6. Enter the Development class and execute.
    Check out this thread..
    The specified item was not found.
    1. Type the transaction : system->status-> <PROG. NAME>
    2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.
    3. Open CMOD utilities->SAP enhancements
    EDIT->All selections
    4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.
    5. The displayed list contains the enhancements names for the transaction You were looking for.
    6. Create a project in CMOD and the code in default include->activate.
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    User-Exits
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/ab038.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
    These links will help you to learn more on user exits.
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
    http://www.planetsap.com/userexit_main_page.htm
    http://www.allsaplinks.com/user_exit.html
    www.sap-img.com/abap/what-is-user-exits.htm
    Also please check these threads for more details about user exits.
    Re: Screen exit
    user exit and customer exit
    user exit
    1. Document on UserExits in FI/CO
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    2. Finding User Exits...
    http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
    3. List of all User Exits...
    http://www.planetsap.com/userexit_main_page.htm
    Reward points for useful Answers

  • Screen-exit for profit center creation - transaction KE51.

    Hi All,
    Background: The client has the requirement of importing profit centre master data from legacy system into SAP ECC system. Few of the legacy data could not be filled into existing sap fields, hence the requirement has been to populate the data into custom fields.
    The client also has the requirement, that the same fields are required during online entry. For this we need to enhance the profit centre creation screen (transaction code KE51) with two additional custom fields.
    Requirement: To enhance profit centre creation screen with custom fields. Screen-exit for KE51 transaction.
    Pre-work: Program SAPLRKPM in SAP ECC system is the main program. It does not have any screen or sub screen area for custom fields addition. Debugged the program to check for screen-exits, found none.
    Below user-exits are not either screen-exits or cannot be used for enhancing profit center screen.
    PCA00001  EC-PCA: Document changes for data transfer
    PCA00002  Profit Center Accounting: derivation of representative mat.
    PCA00003  Derive Partner Profit Center for External Deliveries
    PCA00004  Check valuation for invoice verification with transfer price
    PCA00005  Check valuation for invoice verification with transfer price
    PCASELEK  EC-PCA: Selection criteria for data transfer
    Solution required for: Could anyone please let me know if it is possible to enhance the profit center creation screen. If yes, please provide the names of the screen-exit/  badi exit.
    (Just a thought, modifying the standard seems to be the only solution, this should be the last option and i agree, please provide your inputs.)
    Thanks in advance.
    Warm Regards,
    Goutham.

    Thank you Manohar for the response.
    The requirement is to display custom fields on standard sap screen and there are no screen-exits. So, i suppose the standard screen has to be modified.
    Could you please provide brief explanation on
    May be you should consider maintaining custom mapping table instead of going for chaning standard.
    With Regards,
    Goutham.

  • Menu Exit  & Screen Exit Implementation Step by Step Implementation Needed:

    Hi Experts,
    I am in need of how to implement Menu Exit and Screen Exit using a simple
    example.If any step by step implementation through snapshots were it will be
    helpful instead just some links that doesn't work after some steps due to version
    changes or not proper steply explanations.Points will be rewarded accordingly.
    Thanks for your help in Advance.

    Hi Sudha,
    Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.
    It is determined be SAP where the sub screen will be displayed.
    The syntax is: CALL CUSTOMER-SUBSCREEN
    The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project, and the project has been activated.
    Note:
    Function codes are only processed in the main screens flow logic
    You are not allowed to enter a name for the subscreens command field
    You are not allowed to define GUI stauses
    You are not allowed to enter a value for Next screen
    The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules. These function modules belongs to the same function group as the subscreen
    Subscreens are edited with transaction CMOD. When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next time you display the calling screen
    The developer must create the subscreen and the corresponding PBO and PAI modules
    How to identify screen exits
    Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.
    Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits
    MENU EXITS
    Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu entries in the GUI interface. The developer can add his/her own text and logic for the menu.
    Function codes for menu exits all start with "+"
    Example
    We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will
    run report ZTEST.
    Goto transaction SE43 Area Menu Maintenance
    In Area Menu Paramenter type 'S000' (S triple Zero)
    Select Change and ignore all the warning screens
    Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"
    Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01
    Goto transaction SE93 and create transaction +C01 that calls report ZTEST.
    Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.
    USER EXITS
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is: EXIT_<program name><3 digit suffix>
    The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION <3 digit suffix>
    Example:
    The program for transaction VA01 Create salesorder is SAPMV45A
    If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user exits):
    CALL CUSTOMER-FUNCTION '003'
    exporting
    xvbak = vbak
    xvbuk = vbuk
    xkomk = tkomk
    importing
    lvf_subrc = lvf_subrc
    tables
    xvbfa = xvbfa
    xvbap = xvbap
    xvbup = xvbup.
    The exit calls function module EXIT_SAPMV45A_003
    2. How to find user exits
    Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
    If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.
    You will now come to a screen that shows the function module exits for the exit.
    3. Using Project management of SAP Enhancements
    We want to create a project to enahance trasnaction VA01
    Go to transaction CMOD
    Create a project called ZVA01
    Choose the Enhancement assign radio button and press the Change button
    In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only be used i 1 project. If the enhancement is allready in use, and error message will be displayed
    Press Save
    Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
    Now the function module is displayed. Double click on include ZXVVAU04 in the function module
    Insert the following code into the include: E_KUNNR = '2155'.
    Activate the include program. Go back to CMOD and activate the project.
    Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"
    Please check if the thread given below would be of any help.
    http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/menu-exits-72696#
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    Regards
    KK

Maybe you are looking for

  • Can I transfer Microsoft Office from my Macbook Pro (2008) to my new Macbook Pro (Retina Display)?

    Hi guys, So I recently decided to upgrade to a newer model of my Macbook. As we all know, Apple have had to remove the CD/DVD drive in order to make the new models thinner and lighter, and so now I can't install Microsoft Office 2011 from the disk th

  • Bind Variable NOT working in APEX 4.0 within charts SQL

    All, I had a chart working fine in 3.2 which had a bind variable like :P11_EMP_NAME, when I created the same chart in 4.0 using the same query it did not work, until I changed the variable to v('P11_EMP_NAME'). Does anyone have experienced the same b

  • Removing white border around applet in browser?

    Greetings All, My applets are surrounded by a white border in Netscape and IE. Can I get rid of it so that the applet goes from edge to edge in the browser control? (Looks like default 5 pixel Hgap is in force, is this the case, and if so can it be o

  • Maxl statement (display user in group all;) is not working.

    Hello, Hyperion version 9.3.1 upgraded to 9.3.3. Not sure the below issue is because of this I have an interesting issue with a maxl statement : "display user in group all;". When I execute this statement through command prompt doing essmsh, it does

  • Fit JButtons  in a JFrame

    Hy, I am actually creating a Graphical Programming Language Appln and I am facing some problems. My source code is found below. Here is my problem: I have inserted some buttons have been inserted in the Main panel until both scroll bar appear, what I