Field Exits - Making Field Inactive
Hi Expert,
I am coding a field exit. I would like to make the field inactive depending on some condition. Is it possible to make it inactive using field exits?
Warm Regards
Abdullah
Hi Experts,
Thanks for your response.
In IW32, I want to make the field USER4, active or inactive depending on some condition. I have found this badi, IWO1_SCREEN_MODIFY. This badi will make the field invisible which is not the result I want. Can anyone suggest some other badi or exit which will let me control.
Regards,
Abdullah
Similar Messages
-
User Exit/Field Exit for Field Selection in MM01 & MM02
Dear All,
Please Tell if I want to make Field Purchasing group Mandatory in MM01 & MM02 in Purchasing view only.I dont want the data to be updated in MRP1 view. Please tell me is there any exit for the same.
Regards,
SandeepYou can customize
via
SPRO>Logistics - General>Material Master>Field Selection>
first from
Assign Fields to Field Selection Groups
you must assign MARC-EKGRP (Purchasing Group)
to a selection Group which will be mandatory.
Then from Maintain Field Selection for Data Screens
you must choose the Material Types which you want to make
Purchasing Group mandatory.
You must check Reqd Entry for the material types you want
Best Regards
Hope will help -
Field Exit for VA11 screen ?
Hello Abapers,
I need ur help to find out the field exit available for VA11 screen.
How to find the field exit wht is the procedure?
ThksHi Venkateswar,
First you check this link once.,
http://www.****************/Tutorials/ExitsBADIs/MK01/FieldExit.htm
Field exits are frozen on the 4.6C maintenance level and are not further developed. This means that the existing functionality is kept with all restrictions (see also the last item below). Existing exits can be further used and are called at runtime as usual.
Existing exits can be maintained using program RSMODPRF (run the program using transaction SE38). Activation of the field exits and assignment of the dynpros can also be carried out using program RSMODPRF. For this purpose, the program must be started without parameters (input fields remain blank).
If required, new field exits can be created using program
RSMODPRF (see the program documentation).
Please find below the step by step procedure for field exit :-
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 elements 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 elements 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 modules 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 exits 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
Please reward points if helpful.
Cheers,
Swamy Kunche -
Hi,
Please tell me the step by step procedure for creating Filed ExitHi Mohan,
This will be too useful for u...
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 elements 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 elements 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 modules 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 exits 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
Set the above config in Tcode RZ11 -
What is Field Exit--Step By Step procedure..
Hi,
What is Field Exit.
And How to validate a field on any screen using field exit.
what is the Procedure.
Please give me Step by Step Procedure.
Points will be given for straight answers..
Regards,
KiranPlease find below the step by step procedure for field exit :-
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 elements 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 elements 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 modules 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 exits 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
Regards
Kiran -
hi friends,
i am facing a problem while creating a field exit in ECC. I need to create the field exit on field vkorg and i have created using the program RSMODPERF and the system itself proposing the function module name as 'FIELD_EXIT_VKORG' and i have created the function as well. but when i try to assign program and screen to that field exit then one pop up is coming with three options one is field exit, second one is program, third one is screen. But in first option in f4 help only two options are there one is 0-9, and A-Z. If i select one of that and if i press save then error is coming saying ki FIELD_EXIT_VKORG_1 not exist like that. How to assign program and screen number for the same. Any help will be highly appreciated.
Thanks a lot.check whether u have done the following stepd after coding the Function module..
After coding, activate the function. And back again to the transaction CMOD.
The Field Exit will be assigned but still in u2018Inactiveu2019 status and u2018Globalu2019 program
To make it useful for the specified transaction (program name and the screen number of the destination field), we have to assign the function by giving the u2018Checku2019 , and click u2018Assign prog./.screenu2019 , assign the u2018Program Nameu2019 and the u2018Screen numberu2019 and press u2018ENTERu2019. Then activate. -
Error in activating Field exits
Hi...
At the time of activating field exits data element , I am getting the message as " System is not configured for
field exits " . In a default profile I also set the parameter abap/fieldexit = YES & restarts sap logon too.
Plz.. give me the solution ASAP
Thanks in advance
DeepaHi Deepa,
refer to this link
Field Exits
re: field exits
hope it helps..
Regareds! -
Alternative for field exit on select-option
Good afternoon,
I know that field exit doesn't work for select-option (SAP Note 29377, point 11) but i want to know if it exists an alternative (I use SAP 4.6, and an update to ECC6 is expected next month).
The field exit would be the best option because we must add exit in many transaction (approximately 100) in little time.
Thanks for your answers,
Best regards,
Anne.Hi
A) Are there any way for debbuging field exit?
The trick to debug the field-exit is to download the data to a file on application server;
B) How run the field exits on field no editable?
It can't do it, because a field-exit is triggered as soon as a value of the field is changed.
D) Is used the field exit on version >= 4.6C
SAP doesn't support the field-exit from realese 4.7: the field-exit still works on the realese 4.7 and, I suppose, 5 and 6.00: but it doesn't work for enjoy transactions.
Anyway I believe it's better to replace the field-exit with a new solution from realese 4.7
Max -
Adding a Search Help to a Field Exit
Hi!!!.
I have a little doubt with field exits.
I have just created a field exit for field BEDNR. The next thing I'd have to do is to assign the same help search used for LFA1-BRSCH field ( H_T016 Search Help ) in field exit's function module.
The question is: How can I do that?. Does anyone have a clue of a function to retreive the values of that search help?. Could anybody tell me how should I do that?
Thaaaaanks in advance!
RaúTry function module F4IF_FIELD_VALUE_REQUEST and fill in tabname with 'LFA1', fieldname with fieldname, search help with name of search help('H_T016') and the field you are searching on in shlpparam which must be one of the parameters in the search help you heve entered.
Hope this helps
Regards
Larissa Maryniuk -
Need a document for field exit....urgent
Can any one please send a document for field exit or have a simple document on how to work on a field exit with screen shots. pls send it ...its urgent
Thanks and regards
Nandha kumar RHi,
A field exit is a type of user exit.
A user exit is a hook where you can inject your own add-on functionality or behavior to SAPs standard business applications without having to modify the original applications.
Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field.
Field Exits
Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field. Example: The data element BBBNR identifies a companys international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100.
The field exit concept lets you create a special function module that contains this logic.
You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number.
In 4.6c, you can use "RSMODPRF" program to create field exits.
An example of a user exits :-
MODULE user_exit_0001 INPUT
CASE okcode.
WHEN 'BACK OR EXIT'.
CASE sy-dynnr.
WHEN '100'.
SET SCREEN 0.
LEAVE SCREEN.
WHEN '200'.
Note that you can write any code that satisfy your needs. ****
But in this case, this was wrote as a sample code for reference sake. ****
And you can test it. ****
SET SCREEN 100.
LEAVE SCREEN.
ENDCASE.
ENDCASE.
Field exits (SMOD/CMOD) Questions and Answers
1. Field exit was created with CMOD, but is not processed when calling the screen.
- Since the field exit is not processed until PAI, an action must be triggered on the screen (Return, Save, ...).
- Set profile parameter abap/fieldexit to YES and restart the system.
- 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.
- Do not work on different application servers since there may be some delay before the field exit is activated.
- The profile parameter must be set on all or none of the application servers.
- 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).
- 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.
- 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.
2. How is performance affected by setting abap/fieldexit?
- If a screen is generated and the profile parameter is set, a check is run on 2 tables (TDDIR, TDDIRS) to see whether a field exit must be generated for the respective field. In practice, the screen load is not generated until the screen is selected after an
update. The user should not notice any difference because screen generation is very fast.
3. Can you read the contents of other screen fields in the field exit?
- In principle, every field exit can store its value in the global variables of the function group (TOP) and hence make them
available to other field exits. Note here that field exits are always called and not only if an entry is made in the field or if the field is empty. In addition, it is not possible to make any assumptions about the order in which the field exits will be called in the future.
4. How does the field exit behave on step loop fields ?
- After the user has entered data, the field exit is called in PAI as often as there are visible fields in the step loop. The system
variable SY-STEPL is incremented each time. If a new value is assigned to the field, it is displayed in the module between LOOP and ENDLOOP. This module is also called once for each visible step loop line.
5. Can field exits be debugged ?
- No. Field exits must be tested separately in the ABAP/4 Development Workbench. For errors which only occur in the screen environment, it is helpful to write interesting variable to the file system using TRANSFER... . These can then be analysed there.
6. What can you do if the field contents are no longer transported to to ABAP/4.
- Check whether a value is assigned to the field OUTPUT.
7. When is the field exit called if a conversion exit is attached to the
data element ?
- The field exit is called after the conversion exit. This means that the INPUT field receives the data in the same format as the
ABAP/4 program also receives it.
8. Although a global field exit is inactive, a function module is called which does not exist (for example FIELD_EXIT_PROGRAMM_@)
- This is an error in the kernel which no longer occurs as of 3.0C. As a temporary measure, it is useful to assign a program and a screen which do not exist to the field exit and then activate the field exit.
9. Field exit is not visible in CMOD, although created.
- If you want to create a field exit for a data element, a function module is proposed with the name FIELD_EXIT_. This
function module must exist for the field exit to work. If you do not create this function module, but do create one with a suffix,
the data element is not displayed in CMOD.
10. Field exit is not executed although it is active.
- Fields which do not have the 'Input field' attribute usually do not trigger a field exit. The field exit is designed to allow an
extended input check. It is therefore only called for input fields - even if they are not ready for input at runtime of the application by LOOP AT SCREEN.
This rule does not apply, however, if the field is located within a steploop. Here the field will be always activated, even if it is
invisible.
- Field exits can only be executed for fields that are directly related tothe dictionary. If the relation is indirect, i.e. via an ABAP declaration ( LIKE ), no field exit can be executed.
11. Field exits on check buttons do not work
- Field exits are only intended for input fields. As check buttons count as graphical elements, you cannot install field exits on
them.
12. Field exits do not work on selection screens
SAP Field Exits
From 4.6c onwards, Field exits will no more be supported by SAP. They removed the function of field exit but they had given lot of flexibility through userexit.
However, if you still required it, here is how to activate it :-
First called up transaction CMOD.
Then called up transaction PRFB.
or
Activation of the field exits and assignment of the dynpros can also be carried out using program RSMODPRF. For this purpose, the program must be started without parameters (input fields remain blank). If required, new field exits can be created using program RSMODPRF (see the program documentation).
REFER THIS LINK ALSO.
defining screen fields using FIELD-SYMBOL
Thanks,
Shankar -
How could I work with them?
Yes you can.
SE 38 --> Prog RSMODPRF
http://www.sapdevelopment.co.uk/enhance/fexits.htm
But Have a look at OSS note 29377 as well:
Symptom
Problems and questions concerning field exits
Other terms
FAQ, Q+A, SMOD/CMOD, field exits
Reason and Prerequisites
Note
Field exits are frozen on the 4.6C maintenance level and are not further developed. This means that the existing functionality is kept with all restrictions (see also the last item below). Existing exits can be further used and are called at runtime as usual.
Existing exits can be maintained using program RSMODPRF (run the
program using transaction SE38). Activation of the field exits and
assignment of the dynpros can also be carried out using program
RSMODPRF. For this purpose, the program must be started without
parameters (input fields remain blank).
If required, new field exits can be created using program
RSMODPRF (see the program documentation).
Solution
1. Field exit was created with CMOD, but is not processed when calling the screen.
Since the field exit is not processed until PAI, an action must be triggered on the screen (Return, Save, ...).
Set profile parameter abap/fieldexit to YES and restart the system.
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.
Do not work on different application servers since there may be some delay before the field exit is activated.
The profile parameter must be set on all or none of the application servers.
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).
Generate the screen on which the exit should be active using SE51. It is possible that it was not correctly generated. If you want to be sure that all screens that use the data element are regenerated, you can transfer Report rsmodfdg from the correction instructions and start it with SE38. The Report uses the affected data element as the input parameter and regenerates all screens that use the data element.
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.
After transport, field exits are marked as active but will not be processed. Tip: First try deactivating the field exit once more and then activate it again.
2. How is performance affected by setting abap/fieldexit?
If a screen is generated and the profile parameter is set, a check is run on 2 tables (TDDIR, TDDIRS) to see whether a field exit must be generated for the respective field. In practice, the screen load is not generated until the screen is selected after an update. The user should not notice any difference because screen generation is very fast.
3. Can you read the contents of other screen fields in the field exit?
In principle, every field exit can store its value in the global variables of the function group (TOP) and hence make them available to other field exits. Note here that field exits are always called, not only if an entry is made in the field or if the field is empty. In addition, it is not possible to make any assumptions about the order in which the field exits will be called in the future.
4. How does the field exit behave on step loop fields ?
After the user has entered data, the field exit is called in PAI as often as there are visible fields in the step loop. The system variable SY-STEPL is incremented each time. If a new value is assigned to the field, it is displayed in the module between LOOP and ENDLOOP. This module is also called once for each visible step loop line.
5. Can field exits be debugged ?
No. Field exits must be tested separately in the ABAP/4 Development Workbench. For errors which only occur in the screen environment, it is helpful to write interesting variables to the file system using TRANSFER... . These can then be analysed there.
6. What can you do if the field contents are no longer transported to ABAP/4?
Check whether a value is assigned to the field OUTPUT.
7. When is the field exit called if a conversion exit is attached to the data element?
The field exit is called after the conversion exit. This means that the INPUT field receives the data in the same format as the ABAP/4 program receives it.
8. Although a global field exit is inactive, a function module is called which does not exist (for example FIELD_EXIT_PROGRAMM_@). This can lead to an ABAP dump error when function module FIELD_EXIT_<data element name> is called.
This is an error in the kernel which no longer occurs as of Release 3.0C. As a temporary measure, it is useful to assign a program and a screen which do not exist to the field exit and then activate the field exit.
Due to performance reasons, the active/inactive indicator is stored in the screenload. This can cause inconsistencies between Source and Load. Generate the affected screen with se51. If you want to be sure that all screens that use the data element are regenerated, you can transfer Report rsmodfdg from the correction instructions and start it with se38. The Report uses the affected data element as the input parameter and regenerates all screens that use the data element.
9. Field exit is not visible in CMOD, although created.
If you want to create a field exit for a data element, a function module is proposed with the name FIELD_EXIT_<data_element>. This function module must exist for the field exit to work. If you do not create this function module, but do create one with a suffix, the data element is not displayed in CMOD.
10. Field exit is not executed although it is active.
Fields which do not have the 'Input field' attribute usually do not trigger a field exit. The field exit is designed to allow an extended input check. It is therefore only called for input fields - even if they are not ready for input at runtime of the application by LOOP AT SCREEN.
This rule does not apply, however, if the field is located within a steploop. Here the field will be always activated, even if it is invisible.
Field exits can only be executed for fields that are directly related to the dictionary. If the relation is indirect, i.e. via an ABAP declaration (<fieldname> LIKE <dictionary element>), no field exit can be executed.
11. Field exits do not work on selection screens.
Results from the previous item since ABAP-internal fields and never the original Dictionary fields are used on selection screens.
12. Field exists do not work on check buttons.
Field exits are only intended for input fields. As check buttons count as graphical elements, you cannot install field exits on them.
13. How can all screens that use a data element be generated?
If you want to be sure that all screens that use a specific data element are regenerated, you can transfer Report rsmodfdg from the correction instructions into a customer report (e.g. zsmodfdg). The Report regenerates all screens. In this way, you can ensure that active field exits refer to screens and that inactive exits cannot be called on any screen. The Report uses the affected data element as the input parameter. The affected data element is in the name of the exit: FIELD_EXIT_<data element name>.
14. Restriction of usage
Field exit technology was developed for input fields on dynpros and cannot be used for other/new dynpro elements. This means that this technology does not offer support for the new ScreenPainter elements such as graphical elements (e.g. checkbuttons, radiobuttons, dropdown listboxes), controls (except for table controls which are supported like a step loop), or selection screens.
Erwan -
Hi All,
I'd the requirement of giving a warning message for transaction VA01 if user enters some specific order type.
So I'd created a field exit for AUART for this screen. But i am able to give error message only and found out that warning & info messages can't be given in a field exit.
Please help me out. Is there any way I can give a warning message in field exit or suggest some other sol. for it.
Thanks,
ManuHi,
Thanks f or your answers, but the issue is that i need to give this message as User enters the details on VA01 screen & presses enters.SO i can't use user exit like move_field_to_Vbak & others.
Also, using a FM to give pop up message will ultimately make use of statement CALL SCREEN which is not allowed in field exit, i also tried FMs which displays messages normally means not in pop up screen, but again through it also i can only give error messages.
Please suggets if there is any other option.
Thanks,
Manu Parihar -
Hi All,
We have a FM which throws an error message. When that is executed in report, it works fine and the error message is displayed.
We have implemented this FM in FIELD EXIT for PRCTR. But it is not throwing any message. We checked the data, it is fine.
Can any one know how to solve this??
Thanks,
SreedharAlso you need to check whether this is assigned to any program/screen. As you know it will only trigger in the attached program.
See the documentation of RSMODPRF program.
Regds
Manohar -
Query on Field exits in ECC 6.0
Hi All,
We have implemented field exits in SAP R/3 4.6c and now we have upgraded to ECC 6.0.
I need to know the following information:
Are field exits obsolete in ECC6.0?
Can we create new field exits in ECC 6.0 ?
Going forward, what is the alternative technology/concept to be used - enhancement sports, BADIs etc for field validations(or instead of field exits)?
Regards
ShivaHi,
Though it is obsolete, SAP does not say dont you field exit. You can still use field exit. You can still create field exits.
Whatever is already existing will definitely work. Creating a field exit is much more simpler and easy than the BADIs or Enhancement points.
Yes you are right, going forward, you will have to use BADIs or Enhancement points.
Regards,
Subramanian -
How to call an include in a field Exit?
Hi Guys,
i am having a doubt ,How to call an Include in a field Exit function module.
i wrote as "include zxx_incl." but if i wrote like this in my Field Exit i am getting a Suntax error
"Recursive INCLUDE nesting in program "ZFLDEXIT_INCL". It contains an
INCLUDE statement which calls itself or a previously read program
("ZFLDEXIT_INCL ").
' i am having other doubt while creating an include program does we need to write a 1st statement as include zxx-incl within the same include ZXX_incl? if not i am getting a syntaxt error.
thanks,
Gopi.Yes, thats the problem.
Your include is named ZFLDEXIT_INCL and in the first line of that include you probbaly wrote
include ZFLDEXIT_INCL.
Delete that, includes don't need a reserved word like programs and reports
Maybe you are looking for
-
during IOS5 update my phone was disconnected from itunes. i reconnected it and continued the update by clicking 'continue restore'. Itunes is now saying the the phone is updated to version 5 and appears to have fully synced. however, when i turned th
-
Problem in Business Graph - no chart in my graph
Hi , I have tried a scenario on Business Graph as per the below link. http://****************/Tutorials/WebDynproABAP/Graphics/page4.htm i am getting the values in table ,but there was no any chart inside my graph , whereas i can see the values along
-
Error in the Integration Directory
Hi All, In ID When I Go for Environment-->>Cache Notifications I Got the Following Error <b>Unable to determine the name of the central Adapter Engine from the System Landscape Directory at this time. Notifications to the central Adapter Engine are t
-
Speical Stock Indicator in Return Delivery
Dear All I am creating Repair request for item.I have configured my Delivery type in such a way that movement type for Schedule line category is 651 " GD ret.del. returns" No "special stock indicator" is configured at Item Caterogy of Delivery type
-
Can I save a keynote presentation in Power Point and then use the power point on my Macbook?
My library has a Toshiba TW 650 projector that is used by PCs. I am going to be giving a presentation created on Keynote. My DVI-VGA connector did not work for my 2009 Macbook to the projector. Can I sve the Keynote presentation to power point and th