Enhancement - Screen exit

Hi All,
Requirement is to add couple of fields in Standard transaction.
Please let me know the steps of finding the Exit and development steps.
Thanks in advance.
Ravi

Hai Ravi
User Exits
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"
Have look at this links
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
http://www.sapgenie.com/abap/ole.htm
http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
User Exist Finding
Go to se93 and give the tcode to find the main program associated to it.
Go to se38 and give the main program.
Find the package associated to it.Go to->Object Directory Entry.
Go to smod transaction.
Press f4.
Press Information System Button.
Give the Project(Dev Class).
Press enter.
Find the enhancements associated
User Exist System Tables
1. MODSAP & MODSAPT is the table.
2. Where we can give the enhancement name.
3. Component type will be E
for getting the FMs.
E Function exit
S Screens
T Tables
C GUI code
Field Exist Creation
Step by step procedure for creating Field Exits
There are eight steps to creating a field exit:
Step 1: Determine Data Element
Step 2: Go To Field Exit Transaction
Step 3: Create Field Exit
Step 4: Create Function Module
Step 5: Code Function Module
Step 6: Activate Function Module
Step 7: Assign Program/Screen
Step 8: Activate Field Exit
Step 1: Determine Data Element
- Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
- An easy way to determine the data element associated to a particular screen field is to:
Go the appropriate screen.
Position the cursor in the appropriate field.
Press ‘F1’ for field-level help.
Click on the ‘Technical info’ pushbutton (or press ‘F9’) on the help dialog box.
On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.
Step 2: Go To Field Exit Transaction
- The transaction to create field exits is CMOD.
- You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
- From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
- After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
Step 3: Create Field Exit
- From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
- After choosing this menu path, a dialog box will prompt you for the appropriate data element .
- Enter the data element name and click the ‘Continue’ pushbutton.
- Now, you will be able to create the function module associated to the data element’s field exit.
Step 4: Create Function Module
- You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the ‘Continue’ pushbutton.
- In the ‘Function module’ field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
FIELD_EXIT_<data element>
- You can add an identifier (an underscore followed by a single character ).
- The first function module for a data element’s field exit must be created without an identifier.
- To create the function module, click on the ‘Create’ pushbutton, choose menu path Function module -> Create, or press ‘F5’.
- After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing ‘Enter’, you will be able to go ahead and create the function module.
- Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
Step 5: Code Function Module
- From the function module’s attributes screen, click on the ‘Source code’ pushbutton or choose the Goto -> Function module menu path to the code of the function module.
- Here you will add your desired functionality for the field exit.
- Remember that field exit’s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
- You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
Step 6: Activate Function Module
- After coding the function module, you must remember to activate it.
- Use the Function module -> Activate menu path to activate the function module.
- At this point, you can return to the field exit transaction.
- You should be able to 'green arrow' back to this transaction.
- When you return to the field exit transaction, you will see an entry for the newly created field exit.
- At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
- Also, the field exit will not be triggered yet because it is inactive.
Step 7: Assign Program/Screen
- This step is only needed if you want to make a field exit local.
- To make a field exit local, select the field exit and click on the ‘Assign prog./screen’ pushbutton.
- In the dialog box , indicate the appropriate program name and screen number.
This information indicates that the field exit is local to the specified screen in the specified program.
- In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the ‘Fld. Exit’ field.
- If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
- If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
Step 8: Activate Field Exit
- The field exit must be active for it to be triggered by the system.
- Activate the field exit by choosing the Field exit -> Activate menu path.
- After assigning the field exit to a change request, its status will change to ‘Active’ and it will be triggered automatically on the appropriate screen(s).
NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
Thanks & regards
Sreenivasulu P

Similar Messages

  • Screen exit in ME21n

    Hi,
    I have a enhancement( screen exit ) to do... Has any one worked on this enhancement.. so that they can guide me...
    This enhancement to be carried out in transaction ME21N and validated against the Purchase Organization (SG01). Singapore will be using this purchase organization alone. You can find this Purchasing Organization in header Org. Data Tab.
    The field name to be ‘Mode of Transport’ and to have fields Courier, Air, Sea, Land, & Local Transport. These fields to be displayed as dropdown for selection. This field has to be a mandatory field and to be validated while screen exit when they select ‘Check’ and ‘Save’.
    The data captured to be stored in ‘Z’ table and additionally following field is to be captured for mapping.
    &#61656;     PO Number
    This field should be available for amendment in transaction ME22N, displayed (greyed) in ME23N and again displayed in transaction ME29N.
    The captured field in ‘Z’ to be inserted in PO forms in transportation mode field.
    I have found the Badi 'ME_GUI_PO_CUST'.
    but dont know what parameters to pass, the parameters that to be passed in SPRO Olme transaction.
    If anyone has better solution pls do forward to me so that i can try my best.
    Regards,
    Mahadev shetty.

    Hi,
      For better understanding see the badi documentation in se18 transaction.
    SAP people gives the sample code. Check the implementation class:CL_EXM_IM_ME_GUI_PO_CUST in se24 tcode.
    U can use the subscribe and MAP_DYNPRO_FIELDS methods for screen exit.
    or In se18 transaction,
                give the badi def goto/sample code/display.
    If it is helpful rewards points
    Regards
    Pratap.M

  • Searching for screen exit in Transport Organizer

    Hi all,
    I'm searching for a possibility to add an additional tab to the Transport Organizer with some additional fields. Is there any enhancement / screen exit available for this kind of extension without the need to modify the SAP standard?
    Thanks in advance for any comment!

    Hi MWALT,
    I did some searches on transactions th Transporte Organizer and is not possible to do what you need, unfortunately.
    Well, what I recommend you to do, is call a online program in the enhancements existing, perhaps can be a solution this problem.
    Best regards,
    Rafael Sá

  • Table having list of screen exits for a given enhancement....

    Hi,
    Can someone tell me if I want to see a list of function exits or list of menu exits or list of screen exits in a given enhancement, what table can I go and see ?
    Regards,
    Tushar.

    Hi,
    You can use the transaction SMOD for this..
    The table where the enchancemenents stored are MODSAP..
    Thanks,
    Naren

  • Enhancing CAT2 Screen using screen exit.

    I am working for a custmer enhancement whuch requires to include a input field on the CAT2 Main screen. I am using CATS005 exit & subscreen at the top of header area.
    But with this I cannot use the values that is entered in this input field for processing as technically they have not included this subscreen in PAI module.
    Here is the flow logic of screen 2000 of SAPLCATS
    PROCESS BEFORE OUTPUT.
    global module for global settings
    MODULE D2000_GLOBAL_SETTINGS.
    initialization
      MODULE D2000_INIT.
    modify fields outside loop
    MODULE D2000_MODIFY_HEADINGS.
    Customer-Subscreen - carrier
      CALL SUBSCREEN CATS005 INCLUDING 'SAPLCATS' SUBSCR-005.
    Header-area
      CALL SUBSCREEN CATS003 INCLUDING 'SAPLCATS' SUBSCR-003.
    Worklist
      CALL SUBSCREEN CATS001 INCLUDING 'SAPLCATS' SUBSCR-001.
    Entry-screen
      CALL SUBSCREEN CATS002 INCLUDING 'SAPLCATS' SUBSCR-002.
    View-switches
      CALL SUBSCREEN CATS004 INCLUDING 'SAPLCATS' SUBSCR-004.
    PROCESS AFTER INPUT.
      MODULE D2000_ABBRUCH AT EXIT-COMMAND.
    Worklist
      CALL SUBSCREEN CATS001.
    Entry-screen
      CALL SUBSCREEN CATS002.
    Header-data
      call subscreen cats003.
    OK-Code
      MODULE PROCESS_OK_CODE.
    Can any body tell me how to achieve the values defined ain any Input field added using the screen exit.
    Is there any other way to achieve this functionality...???

    Check the documentation of the enhancment CATS0005
    1.  You want to enter the customer fields along with the SAP fields on   
         the data entry screen. Proceed as follows:                                                                               
    o   Define customer Include CI_CATSDB in the ABAP/4 Dictionary. Include  
         only fields in the customer name range in structure CI_CATSDB.       
         Otherwise, this may cause problems during a system upgrade. Use only 
         fields of type 'CHAR' and 'NUMC'.                                                                               
    o   Activate the customer fields using a special Customizing transaction 
         for the Time Sheet.                                                  
    Regards,
    Naimesh Patel

  • Implementation:Enhancement using screen exit:QQMA0001 for Tcode:QM01

    Dear Abaper,
      I am implementing the Enhancement for Quality notification using screen exit:QQMA0001 for the transaction code :QM01,QM02,QM03.
    when i was creating the subscreen in function group:XQQM and after saving that subscreen(for example 100) , it is automatically stored in local object, that mean local package or development class. it is not transporable.
    my requirement is , i want to transport that Project. how to do that.
    if you have a any idea, please help me.
    advance thanks.
    with best regards,
    Velmurugan.S

    Dear ravi,
    yes of course , I have created already customer enhancement in CMOD.but my requirement is ,
    when i save that subscreen after creation of subscreen, it is not ask Package or development class.but it is taking local object(local package) automatically . what is reason, i donot know .
    if you have a any idea, please help me.
    thank you.
    with best regards,
    velmurugan.S

  • Tcode: /SCWM/VEH --Finding screen exits/enhancements in eWM

    Hello All,
    I need to add a dropdown or F4 help button on a custom screen in transactoin /SCWM/VEH related to SCM eWM. I did not finf any screen exits for this transactoins. Please suggest is there any way in acheiving this?
    Also can anybody explain how to achieve Batch to Batch transfer posting technically in eWM.
    Please suggest me where can i found good tech document related to eWM.
    Thanks In Advance.
    Anil
    Edited by: anil007 on Nov 11, 2009 10:13 AM

    Hi,
    Check these:
    MGA00001 - Material Master (Industry): Checks
    and Enhancements
    MGA00002 - Material Master (Industry): Number
    Assignment
    MGA00003 - Material Master (Industry and
    Retail): Number Display
    Check with 'BADI_MATERIAL_REF'
        Refer
    http://www.****************/Tutorials/ExitsBADIs/MM/MM01.htm
    https://forums.sdn.sap.com/click.jspa?searchID=7217830&messageID=3313524
    Regards

  • Remove screen exit from enhancement project

    Hello Experts,
    I am using using the EXIT: EXIT_SAPMM06E_012 of project MM06E005.
    While activating the project in CMOD, by default screen exits associated will also get activated.
    Please let me know, how to remove only screen exits from project.

    Hi ,
    Just remove the fields in the screen and then deactivate the calling include.What is the business requirement.
    Regards,
    Madhu.
    Edited by: madhurao123 on Jan 3, 2012 3:56 PM

  • Screen exit or enhancement for va01

    Hello Friends,
    I want to add two new columns in the item level in va01(create sales order) transaction.
    Pls comment on this.
    Regards,
    Sunny

    Hello,
    Did you check this?
    [screen exit for va01|https://forums.sdn.sap.com/click.jspa?searchID=21368448&messageID=5054086]
    Note : Plz SEARCH in SCN before posting.

  • Runtime error in MIRO while using User/Screen exit

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

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

  • Enhance screen for tcode FCH9

    I need to enhance the screen for tcode FCH9 to add more void reason. I do not want the check to be voided though. Is there is a user exit to enhance this screen or will have to create a custom transaction for this.

    Hi,
    there are no screen exits or BADIs which you can use to enhance SU01. So the only way how to do it is using enhancement framework and direct modifications of SAP programs.
    Cheers

  • 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.

  • Fields not greyed out in display mode in screen exit

    Hi all,
    i am working on an screen exit for CJ02 transaction. the values in the customer subscreen are getting updated in database and even it is reflecting in fields when viewed again. the problem is that in display mode (CJ03) the fields are still editable. though there is no save button, but the fields should be greyed out.
    i have tried to modify screen using LOOP AT SCREEN in the function exit provided in PBO.....but it is not picking the subscreen.
    please provide any solution as soon as possible.
    thanks in advance

    In the PBO in your screen exit:
    IF sy-tcode EQ 'CJ03'.
    LOOP AT SCREEN .
    if screen-name 'your field'
    screen-input = 0.
    screen-output = 1.
    MODIFY SCREEN.
    ENDIF.
    endif.
    what enhancement are you using?
    bye

  • Regarding Enhancements/User-Exits in ABAP

    Hi,
    Can anybody tell me What is meant BY Enhancements & User-Exits.
    Also what are diffrent types of Enhancements/User-Exits avialable.
    Can anybody explain me about diffrent types of Enhancements/User-Exits.
    Can anybody provide me documentation with the examples
    for diffrent types of Enhancements/User-Exits.
    If anybody is having good material on the same please post it.
    Thanks in advanace.
    Thanks & Regards,
    Rayeez.

    Customizing exits allow you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    If you want to enhance the functionality of your R/3 System, you should take advantage of the exits available in standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
    •     They do not affect standard SAP source code
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    •     They do not affect software updates
    When you add new functionality to your R/3 System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    Customer exits are not available for all programs and screens found in R/3 standard applications. You can only use customer exits if they already exist in the R/3 System. You find find more information about locating applications with pre-defined exits in Locating Applications that have Exits.
         As part of the enhancement concept, it is possible for the customer to 
         add his own elements to application logic, screens and menus.                                                                               
    The current possibilities for enhancement are:                                                                               
    Text enhancements:                                                     
         Allow the customer to add supplementary documentation for data fields  
         non-specific to a transaction, and to change key word texts.                                                                               
    Field exits:                                                           
         Every screen element with data element reference can branch to PBO or  
         prior to PAI to a function module if desired. The field contents are   
         available here for doing special checks and making changes (e.g. user- 
         specific checks, authority checks, writing entered data and producing  
         statistics...).                                                                               
    Function exits:                                                        
         From the main program you branch into a software level, in which you you
         can store ABAP/4 coding. The applications programmer at SAP determines 
         where in the main program the function exit is placed, and which data is
         imported/exported via the interface. The accompanying documentation    
         describes the functionality of the function exit.      
         Menu enhancements:                                                       
         Pre-conceived menu items can be activated and named. On the function code
         set at menu item selection, there can be a reaction in a relevant        
         function exit.                                                                               
    Screen enhancements:                                                     
         The customer can determine the layout of areas in screens provided by the
         applications developer. Here, additional information can be displayed or 
         data entered.

  • Screen - exits - step by step simple examples

    hi ,
    i am new to user exits.
    pls help me by giving step by step example for creating a subscreen with 2 fields , and incorporate with some standard sap transactions.
    there are many who discussed the same topic in the forum ,but i find confusing.
    *so please don't give me the links, take standard transaction and provide me step by step .
    Thank you.
    regards
    Sree

    hi,
    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 u2013 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 u2013 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 u2013 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 u2018SAP Applicationsu2019. 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 u2013 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 u2013 20 characters
    Location 2 u2013 15 Characters.
    Model no u2013 20 characters
    Location 2 should start with u2018Lu2019.
    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 u2018CUSTu2019 (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 u2018Lu2019 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 u2018EXIT_SAPLAIST_002u2019, 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 u2018EXIT_SAPLAIST_003u2019, 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 u2013 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 u2018Enhancement Assignmentsu2019 in the Application Toolbar.
    Enter the name of the enhancement and Save.
    Go to u2018Componentsu2019.
    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 u201CLocation 2u201D, 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 u2013 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 u2018Generalu2019 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 u20181000u2019 and click on folder u2018General Assignment of Layoutu2019.
    Here, for Asset class 1000, for all the user groups, tab layout SAP is assigned. Since layout u2018SAPu2019 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 u2018SAPu2019 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 u2018Tab page titlesu2019.
    You want to put your custom fields in the tab page u201CGeneralu201D. 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 u201CGeneralu201D are shown. Add an entry for your newly created fields.
    Select the group box from the list. An entry will come with u201CUu201D 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 themu2026save. Then, enter into the tcodes again to see whether the values entered by you are being displayed or not.

Maybe you are looking for

  • Looking for new All in One. Is Officejet as good as Photosmart? Please recommend an All in One.

    I have the HP Photosmart C7180 All in One that's a few years old and is starting to give me a lot of errors (mostly ink level errors).  I'm thinking about replacing it, because I want one that doesn't use as much ink -- and one that has a bigger scan

  • Flash Player 16 Installer opens but won't run on 64 bit Wdws 7 and IE 11

    I have Flash Player ActiveX Ver. 15.0.0.246 installed on my Dell Inspiron N7010 (Intel Core i3 processor) laptop, running Windows 7 Home Premium 64-bit OS with Service Pack 1, 6 GB of RAM, and using Internet Explorer Ver. 11.0, 32-bit browser.  Flash

  • Computer not recognizing my Nano(1st) Gen

    Usually when I plug in my nano my computer will make a noise, then it will update my iPod if I have put on any new songs, well for some reason my compuer no longer recognizes my nano, although it will still charge, anyone know what the problem is or

  • One time customer settings

    hi , Can any body please tell me how to design the settings in case of one time settings in both vendors or customer point of u?

  • Error on Windows Installation

    Help! I am attempting to install the content server on a Windows 2000 desktop machine. I have 1G RAM with a 3G CPU. I am running an Apache 2.2.4 web server and an Oracle 10.2 DB. The installation seems to crank along OK and them at some random place