Field exit and Authorization grp
Hi All,
I have the following requirement...
I Created a field exit for the data element (MATKL-for example)..Is there any chance that we could use that AG as indicator to evaluate in the field exit???
That is...
If the material group(MATKL) has the AG(Authorization group) populated with a value (ZRES for example) ,then that particular Material group is restricted and should not be used in the creation/modification of documents.
Is there any possiblilty of achieving the above requirement..??
Please suggest a solution.
Regards
Shiva
My requirement in this scenario is : I need to decide between a authorization group and field exit to restrict the users using some group of material groups which are obsolete.
Since the field exits are created over a data element in many transactions such as ME21N/22N/23N/..etc the data element for material group is not MATKL so in such cases I need to create field exits for all data elements which the material group uses across various transactions.
On the other hand, if I could restrict the use of certain material group based on authorization group then use of field exit would not be required
But the possible problem with this may be to restrict only certain transactions
but not all the transactions.
Authorization Object: M_MATE_WGR
Definition :
Material group authorization for material master records.
This object determines whether a user is authorized to maintain the material master record for a specific material group.
Defined Fields
Fields
Possible values :
ACTVT
01 User may create data.
02 User may change data.
03 User may display data.
06 User may mark data for deletion.
BEGRU (Authorization grp-table T023)
Here you must specify the
authorization groups from Table T023
for which the materials concerned may
be processed.(may be any number of grps)
Regards
Shiva
Similar Messages
-
How to findout Field Exit and Menu Exit ?
Hi all,
How to findout Field Exit and Menu Exit ?If you have any example for both , could you please send it to me ?
Thanks in advance
KrishnasriTo find user exit check below code exicute with required T code you will get its all exits
report zm_user_exit1 no standard page heading.
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits exists.
*& Tables
tables : tstc, "SAP Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
*& Variables
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
*& Selection Screen Parameters
selection-screen begin of block a01 with frame title text-001.
selection-screen skip.
parameters : p_tcode like tstc-tcode obligatory.
selection-screen skip.
selection-screen end of block a01.
*& Start of main program
start-of-selection.
Validate Transaction Code
select single * from tstc
where tcode eq p_tcode.
Find Repository Objects for transaction code
if sy-subrc eq 0.
select single * from tadir
where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir
where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir
where pname = tstc-pgmna.
select single * from enlfdir
where funcname = tfdir-funcname.
select single * from tadir
where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name = enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
Find SAP Modifactions
select * from tadir
into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct
where sprsl eq sy-langu
and tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
Take the user to SMOD for the Exit that was selected.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
Rewards if useful......................
Minal -
TabStrip and Field Exit......
Hi Friends,
I need the complete step by step working process of <i><b>"Tabstrip and FieldStrip"</b></i>.Also any sample code will be highly appreciated.
Points will be rewarded for Requirement.
Thanx ,
Mandeep.Hi,
<b>TABSTRIP</b>
Tabstrip is used to display multiple subscreens on the same area of the screen in designing transactions
see the links related to Module pool, in which you find the Tabstrip
Check the below link:
http://wiki.ittoolbox.com/index.php/FAQ:What_is_module_pool_program_in_abap%3F
http://help.sap.com/saphelp_46c/helpdata/en/35/26b1aaafab52b9e10000009b38f974/content.htm
http://sap.mis.cmich.edu/sap-abap/abap09/sld011.htm
http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
http://www.sap-img.com/
http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
http://www.sapgenie.com/links/abap.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
You can also check the transaction ABAPDOCU which gives you lot of sample programs.
Also you can see the below examples...
Go to se38 and give demodynpro and press F4.
YOu will get a list of demo module pool programs.
One more T-Code is ABAPDOCU.
YOu can find more examples there.
See the prgrams:
DEMO_DYNPRO_TABLE_CONTROL_1 Table Control with LOOP Statement
DEMO_DYNPRO_TABLE_CONTROL_2 Table Control with LOOP AT ITAB
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
<b>FIELD-EXIT</b>
http://www.erpgenie.com/abap/fieldexits.htm
http://www.sap-basis-abap.com/sapab014.htm
V4.6c onwards no longer supports field exits!!! In any case here's how to activate them:
Activation of the field exits and assignment of the dynpros is 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 below for documentation).
Field Exits for Data Elements
Description
Maintenance transaction for creating and activating field exits
As part of the extension concept, SAP allows you to install a field exit for each screen field. Similar to the conversion exit, the system branches at the field exit at DCI (DATA COMMUNICATIONS INPUT) to a function module, if the field is an input field and a function code was triggered. The function module must adhere to the following naming convention:
Prefix: FIELD_EXIT_
Infix: <Data element name>
Suffix: _0 to _9 (optional), _A to _Z
The interface is automatically generated during the creation of the function module, and has 2 parameters:
Import parameter: INPUT
Export parameter: OUTPUT
After a function code has been triggered the contents of the field are made available to the FB via the "INPUT" import parameter. You can edit this and, when changed, make it available to the ABAP/4 processor in "OUTPUT". The input field contents are usually passed on: you can simply write OUTPUT = INPUT.
If, e.g., you have activated the field exit for the data element 'PROGRAM', then the fields of all the screens, which refer to the data element 'PROGRAM', branch to the function module FIELD_EXIT_PROGRAM. This includes the field 'Program' of the initial screen SAPMS38M0100 in transaction SE38, for example.
If you do not want the function module to be accessed from all screens, assign particular screens to the data element PROGRAM. By allocating an exit number, it is also possible to branch to other function modules with the corresponding suffix _0 ... _Z.
Example: You have assigned screen SAPMS38M0100 and exit number 5 to data element 'PROGRAM'. The corresponding field on SAPMS38M0100 branches to FIELD_EXIT_PROGRAMM_5.
As soon as you activate an exit, the corresponding screens are invalidated.
Note: Field exits are only taken into account during screen generation if the parameter abap/fieldexit = 'YES' is set in the system profile.
Requirement
Set the profile parameter abap/fieldexit = 'YES' before system start.
Limitations
The following ABAP statements are not allowed in the function modules of field exits:
BREAK-POINT,
CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT,
COMMIT WORK, ROLLBACK WORK,
COMMUNICATION RECEIVE,
EXIT FROM STEP-LOOP,
MESSAGE I, MESSAGE W.
Note:
Field exits cannot be edited with the debugger.
You should not use any external Performs in field exits. The ABAP processor shares the table work areas of externally called programs with those of the first caller. This could lead to errors at field exits that can hardly be analyzed, as field exits are sometimes slipped into the flow of the program at unforeseen events.
Questions and answers on field exits
1. A field exit was created with the CMOD and activated, but it does not get executed when the screen is called.
Since the field exit is not executed until DCI, some action must occur in the screen (e.g. press Return, saving....).
Set the abap/fieldexit profile parameter to YES and start the system again.
After the FIELD_EXIT... function module has been activated and the field exit has been activated, the transaction in whose screen the field exit is to be executed must be terminated. The screen is not generated until it is called.
Do not work on different application servers, otherwise there may be a delay before the field exit becomes active.
The profile parameter must be set either on all application servers or on none.
If the field exit is to be active in certain screens only, then you should check whether you have selected the correct program and the correct screen number (Careful with SUBSCREENS Do not rely on the F1 information for the field!
2. How does setting abap/fieldexit affect the performance?
If a screen is generated and the profile parameter is set, then the system checks in 2 tables (TDDIR, TDDIRS) to see whether a field exit has to be generated for the field. In practice the screen load after a Put is not generated until the screen is called. The user will not experience a noticeable delay, since screen generation is extremely fast.
3. Can the contents of other screen fields be read in a field exit?
In principle all fields can be copied to global variables in the TOP or the function group. However, since the order in which the field exits are called is not guaranteed, this possibility should not be used.
4. How does the field exit work in step-loop fields?
After data input to DCI the field exit will be called as many times as fields are visible on the step-loop. The SY-STEPL system variable is incremented each time. If a new value is assigned to be field, then it will be visible in the module between LOOP. ENDLOOP. This module will also be called as many times as there are visible step-loop lines.
5. Can field exits be debugged?
No. Field exits have to be tested in isolation in the development environment. To analyze problems that occur only in the screen environment, the relevant variables can be written to the file system using TRANSFER... and can be analyzed there.
6. What should one do if the field contents are not getting transported to ABAP/4?
Check whether you have assigned a value to the OUTPUT field.
7. When does the field exit get called in the case that there is a conversion exit attached to the data element?
The field exit will be called after the conversion exit. This means that the INPUT field contains the data in the same form as that in which the ABAP/4 program also gets them
Regards,
Priyanka. -
Field Exit for customer master data
hi
i want to execute a check every time that we create a new customer
this check should check that the field "VAT REG.." is field and not blank
please your advice what is the best practice for this issue, field exit? badi? or is there any other way recommended
i think that there is option to use field exit but i don't know which field exit and how to do it
many thanksHi Meir,
You go to SE84, and enter the enhancement I provided. Then, you activate the user-exit and write your own code. You can consult your ABAP team, if you are not sure about implementing user-exit.
Regards,
Eli -
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 -
Hi Gurus
i have a problem, in MM01/MM02(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create and change Field Exits and how to assign to MM01/MM02 Tcode.
the code part i have to write is
1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
plz. do the needfull information with all the steps with codeASAP.
I am using Ecc 6.0 Version.
Thanks & Regards,
Sudheer.Hello,
If you want to create a user exit execute report RSMODPRF with out parameters and create the FM to the field you need, and active it.
But before doing that, check if there is a user exit or badi implementation availavle, it will be a better solution.
Check for instance, the following:
USER EXIT
MGA00001 Material Master (Industry): Checks and Enhancements
MGA00002 Material Master (Industry): Number Assignment
MGA00003 Material Master (Industry and Retail): Number Display
Business Add-in
BADI_EAN_SYSTEMATIC BAdI for Internal Control of EAN Logic
WRF_DISCONT_PARAMS_I BAdI: Parameters in Fashion Discontinuation
WRF_DISCONT_FACT_E BAdI: Follow-Up Actions in Discontinuation
WRF_DISCONT_CHECKS_I BAdI: Scope of Check in Material Reorganization
MG_MASS_NEWSEG User-Specific Fields & Segments in Mass Maintenance
MATGRP_SKU_UPD BAdI for Article Hierarchy Connection
CDT_CHECK_MATERIAL Checks for Existence of a Material in a CDT
BADI_MM_MATNR Modification-Free Archiving Enhancement of MM_MATNR
BADI_MAT_F_SPEC_SEL BAdI for Material Special Field Selection
BADI_MATNR_CHECK_PVS Check Material for Use in iPPE
BADI_MATERIAL_REF Addition of customer-defined default data for material
BADI_MATERIAL_OD Integration of New Objects in Material or Article Master
BADI_MATERIAL_CHECK Enhanced Checks for Material Master Tables
BADI_GTIN_VARIANT User Exit for Customer-Specific GTIN Variant Check
Hope this helps,
Dont forget to reward. -
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 -
Using Field Exit for a field in table KNA1
Hi everyone,
I am working on a ticket, the problem is we have a field called STRAS in table KNA1 which holds the address of the customer but now we want to increase the length of this field from 35 charachters to 55 due to some business requirement. SO my question is if this can be done using Field Exit and if yes.. can you please tell me how as I have never used Field exits.
Thanks,
RajeevHi,
Using field exit, you can only validate the data entry for the field (either globally or on a particular screen field)
This is usually done by implementing the field exit for the data element corresponding to the field(in your case STRAS_GP)
Hence you cannot increase the length of the field using the concept of the field exits...
Please note that after SAP R/3 4.6c, SAP has stopped the creation of field exits and there will be no support for any new ones created.
Regards
Shiva -
Now a simple question of Field exit.
well, im really very glad because my last post was a success and i can solve de problem!!!!thank you all...
this time i need in the VF01 on one field ('Reference'/Xblnr), when the user press save, to show some popup allowing entry data, so the user may choose some keys from a Ztable that i have to create, and then continue saving.
May i use a field exit for this?what steps shall i follow to activate a field exit and put my code?
Note: there isn't an User exit that appear in the moment i need, the one i asked in my last post doesn't work for this and any of the others finded in ZFindexit. when i'm debugging <b>'perform userexit_pricing_prepare_tkomk' </b>
appeared, is this an User exit? inside this perform i have changed manually while debugging the field i need and the proccess ended OK. how can i activate this exit?
well, i'm sure that someone know the asnwer....
i'll be very glad with the ones who can help me!!!!
and i'll give points in rewards for those who help me as a gratefulness of my part...
i'm waiting your help, thank in advance....Hi andrew,
you will have a standard program RSMODPRF for field exits.
Execute that program and create a a field exit(function module) for 'XBLNR' giving the data element of XBLNR and number of the field exit as inputs.
There you can write the related code...
Hope this helps you.
Regards,
Vinod. -
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 Gurus,
i have a problem, in MM01(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create Field Exits and how to assign to MM01 Tcode.
the code part i have to write is
1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
plz. do the needfull information with all the steps ASAP.
Thanks & Regards,
Sudheer.You can create a field exit to the data element by running the report RSMODPRF.
You will then have to assign the the program name & screen No. (In this case the program name & screen No. in MM01 transaction.)
You will have to write a field exit for MARA-PRDHA and within that ensure that the field length is 18char.( The input value you read should be of 18 char).
You can read the screen field value by using the fn. module to read the screen values & put that value inside MVKE-PRODH. This can be written in another exit.
Important Things to Note.
1.You cannot debug a field exit.
2. Assign the correct program name & screen no. to activate the field exit.
3. This is written at data element level.
Hope this helps...
Let me know if you need any further details.
Regards
Deepu.
Reward Points if it helps. -
Are Field Exits Not Recommended ?
Hi everybody
I saw recently a post wich comments that Field-Exits are not more recommended and supported by SAP.
It's that true ? Why are these not recommended ?
where can i see informatión about that ? so i could justify their use or not.
Thanks for help.
Regards
FrankHi Frank,
Its not that you cannot use field exits now. Whatever was delivered by SAP will be supported but no further development will take place on enhancing field exits by SAP. See OSS note 29377. It will clear all your doubts.
It says -
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).
14. Restriction of usage
o 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.
Cheers. -
Hi Gurus,
i have a problem, in MM01(Basic data1) there is field called Prod.hierarchy(dataelement is prodh_d), for this data element how to create Field Exits and how to assign to MM01 Tcode.
the code part i have to write is
1. To validate MARA-PRDHA field length (field exit can handle this). the field length should be 18 char.
2.Copy the value of MARA-PRDHA to MVKE-PRODH (the code of the field exit above, you can do field-symbol technique to transfer value from mara-prhda to mvke-prodh).
plz. do the needfull information with all the steps ASAP.
Thanks & Regards,
Sudheer.Hi sudheer,
I didn;t get your question..
Do you want to add a field to the standard screen basic data 1 and have a screen exit to handle that field?
If this is the case check out SAP note 44410 .It talks about intergrating customer-specific fields in the material master maintenance.
Award points if useful.
Regards
Parag -
Help with BDC, user exits and BAPI
Hello all:
1) I posted a question before about BDC documentation and people sent me lot of helpful material. Thanks to all of them. I am very new to ABAP coming from VB background and wondering if someone can tell me how to practice one simple BDC program starting from scratch. What do I first need to do to get started? I have Mini WAS 6.20 test version and like to practice BDC programming.
2) What are user exits and BADI and can anyone provide some documentation and sample code if possible.
Thanks everyone in advance.
--Mithun.Hai Mithun Dha
Go through the following Documentation & Example Code
Just check these links.
Diff. between LSMW & BDC?
BDC SESSION
CALL TRANSACTION
CALL DIALOG
What is BDC or batch input
The Batch Input is a SAP technic that allows automating the input in transactions. It lies on a BDC (Batch Data Commands) scenario.
BDC functions:
E BDC_OPEN_GROUP : Opens a session group
E BDC_CLOSE_GROUP : Closes a session
E BDC_INSERT : Insert a BDC scenario in the session
E The ABAP statement "CALL TRANSACTION" is also called to run directly a transaction from its BDC table.
It runs the program RSBDCSUB in order to launch automatically the session. The session management is done through the transaction code SM35.
The object itself is maintanable through the transaction SE24.
BDC methods:
Method
Description
Parameters
OPEN_SESSION
Opens a session
SUBRC (Return Code ? 0 OK)
SESSIONNAME (Session to be created)
CLOSE_SESSION
Closes a session
None
RESET_BDCDATA
Resets the BDC Internal Table...
None. Normally, for internal purposec
BDC_DYNPRO
Handles a new screen
PROGNAME (Name of the program)
DYNPRONR (Screen Number)
BDC_FIELD
Puts a value on the screen
FIELDNAME (Name of the field)
FIELDVALUE (Value to be passed)
CONSTRUCTOR
Constructor - Initializes NO_DATA
NODATA (No data character). The constructor is called automatically when the object is created.
RUN_SESSION
Launches a session with RSBDCBTC
None
CALL_TRANSACTION
Calls a transaction with the current BDC Data
MODE (Display Mode)
UPDATE (Update Mode)
TCODE (Transaction to be called)
BDC_INSERT
Inserts the BDC scenario in the session
TCODE (Transaction to be called)
BDC techniques used in programs:
1) Building a BDC table and calling a transaction,
2) Building a session and a set of BDC scenarios and keeping the session available in SM35,
3) Building a session and lauching the transaction right after closing the session.
BDC using Call Transaction
BDC using Call transaction involves calling an SAP transaction in back ground from within the ABAP
program. The process involves building an Internal BDC table containing the screen information needed to
execute the required transaction and then passing this to the Call transaction command (See code example).
The full procedure for creating a BDC program is as follows:
What is the difference between batch input and call transaction in BDC?
Session method.
1) synchronous processing.
2) can tranfer large amount of data.
3) processing is slower.
4) error log is created
5) data is not updated until session is processed.
Call transaction.
1) asynchronous processing
2) can transfer small amount of data
3) processing is faster.
4) errors need to be handled explicitly
5) data is updated automatically
BATINPUT/DIRECT INPUT
A: Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program.
GO THROUGH THIS LINK
http://www.guidancetech.com/people/holland/sap/abap/zzsni001.htm
check with this code
include bdcrecx1.
tables : mara.
data : begin of it_mara occurs 0,
matnr like mara-matnr,
mbrsh like mara-mbrsh,
mtart like mara-mtart,
maktx like makt-maktx,
meins like mara-meins,
end of it_mara.
start-of-selection.
perform upload_data.
perform open_group.
loop at it_mara.
perform bdc_dynpro using 'SAPLMGMM' '0060'.
perform bdc_field using 'BDC_CURSOR'
'RMMG1-MATNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMMG1-MATNR'
it_mara-matnr.
perform bdc_field using 'RMMG1-MBRSH'
it_mara-mbrsh.
perform bdc_field using 'RMMG1-MTART'
it_mara-mtart.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'MSICHTAUSW-KZSEL(01)'
'X'.
perform bdc_field using 'MSICHTAUSW-KZSEL(02)'
'X'.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
perform bdc_field using 'MAKT-MAKTX'
it_mara-maktx.
perform bdc_field using 'BDC_CURSOR'
'MARA-MEINS'.
perform bdc_field using 'MARA-MEINS'
it_mara-meins.
perform bdc_field using 'MARA-MTPOS_MARA'
'NORM'.
perform bdc_transaction using 'MM01'.
endloop.
perform close_group.
*& Form upload_data
text
--> p1 text
<-- p2 text
FORM upload_data .
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'c:\mat_bdc.txt'
FILETYPE = 'ASC'
TABLES
DATA_TAB = it_mara.
IF SY-SUBRC = 0.
SORT IT_MARA BY MATNR.
ENDIF.
ENDFORM. " upload_data
flat file structure is
PRANIT_011 CCOUP This is Testing material kg
PRANIT_012 CCOUP This is Testing material kg
PRANIT_013 CCOUP This is Testing material kg
PRANIT_014 CCOUP This is Testing material kg
PRANIT_015 CCOUP This is Testing material kg
when your selecting views
this particular material will belongs to Po/Sales or some other areas .
when you select basic 1 --it gives description
select basic 2 -- it gives tax ,amount, base unit of measurement
BDC TO BAPI
The steps to be followed are :
1. Find out the relevant BAPI (BAPI_SALESORDER_CHANGE for VA02).
[for VA01 use BAPI_SALESORDER_CREATEFROMDAT2]
2. Create a Z program and call the BAPi (same as a Funtion module call).
2. Now, if you see this BAPi, it has
-> Importing structures.
eg: SALESDOCUMENT: this will take the Sales order header data as input.
-> Tables parameters:
eg: ORDER_ITEM_IN: this will take the line item data as input.
Note :
Only specify fields that should be changed
Select these fields by entering an X in the checkboxes
Enter a U in the UPDATEFLAG field
Always specify key fields when changing the data, including in the checkboxes
The configuration is an exception here. If this needs to be changed, you need to complete it again fully.
Maintain quantities and dates in the schedule line data
Possible UPDATEFLAGS:
U = change
D = delete
I = add
Example
1. Delete the whole order
2. Delete order items
3. Change the order
4. Change the configuration
Notes
1. Minimum entry:
You must enter the order number in the SALESDOCUMENT structure.
You must always enter key fields for changes.
You must always specify the update indicator in the ORDER_HEADER_INX.
2. Commit control:
The BAPI does not run a database Commit, which means that the application must trigger the Commit so that the changes are read to the database. To do this, use the BAPI_TRANSACTION_COMMIT BAPI.
For further details... refer to the Function Module documentation for the BAPi.
For User Exits
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
Creation of Field Exits
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 eF1f for field-level help.
Click on the eTechnical infof pushbutton (or press eF9f) 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 eContinuef pushbutton.
- Now, you will be able to create the function module associated to the data elementfs 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 eContinuef pushbutton.
- In the eFunction modulef 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 elementfs field exit must be created without an identifier.
- To create the function module, click on the eCreatef pushbutton, choose menu path Function module -> Create, or press eF5f.
- 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 eEnterf, 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 modulefs attributes screen, click on the eSource codef 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 exitfs 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 eAssign prog./screenf 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 eFld. Exitf 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 eActivef 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 -
How to link or call two FIELD EXIT
Hi Friends,
I've to do a Field exit object for MIGO...and my logic is i've to capture the meory id concept by Export and Import function.So, I heard that I've to create one field exit with Export function and again create under one more field exit to import the memory id from Export.
I know the logic of Export and Import.But i dont know how to fix it in the function module,means how to create one field exit and call the same under one more field exit.
Pls do the needful and post me with some good field exit examples for my reference.i.,e How to give codes inbetween Function and End Function. and how to call this field exit with one more field exit for import stmt.
if u find BADI or USER EXIT is good for MIGO,pls reply with good and correct example functions.
Thanks and regards
sankar.
Edited by: sankar babu on Dec 29, 2007 10:00 AMHello Sankar,
Just you want to use the functionaly Import and Export , that why you required two Fields Exit in transitation MIGO.
I suggest MIGO is huge transitation which conver some table like MSEG and BSEG which affect the performance of the program. Better you go with one field Exit . Although there are many Some are attach Below.
Re: MIGO Enhancement
Re: How to add field to MIGO Urgent??
SMOD enhancement MBCF0005 looks promising.
MBCF0002
MBCF0005
MBCF0006
MBCF0007
MBCF0009
MBCF0010
MBCF0011
MBCFC003
MBCFC004
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/QMIMIL/QMIMIL.pdf.
MB_DOCUMENT_BADI or MB_DOCUMENT_UPDATE
and these exits: MBCF0002, MB_CF001
Regards
Swati Namdeo
Maybe you are looking for
-
The old win 7 x64 on a mac pro 1.1 issue - ISO file unreadable/corrupt
Hi all, Trying to install win 7 x 64 on my mac pro 2,66 xeon 1.1. I knew beforehand there were issues, so I had prepared for them with the instructions given by flickguy here: http://discussions.apple.com/thread.jspa?threadID=2207855 thing is, the re
-
How do I open the door to my Optical Network Terminal (ONT) to replace the backup battery
I have an ONT that looks like this: http://www.verizon.com/cs/groups/public/documents/adacct/bbux400-open.jpg How do I open the door to it to replace the battery? Thanks Ben Solved! Go to Solution.
-
Unable to recognise BigDecimal as Null in Custom tag
I have written a tag for displaying monetary values which should display '-' if value is null but it always renders null values as 0.00 <%@ tag body-content="empty" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix
-
Regardless of the settings you choose, Firefox is not showing any browsing history. It's happening in version 3.6.20 for Mac as well as V 5 for windows. I see a lot of the same questions on the internet but no answers
-
Mac won't restart or open preferences on Safari
Hello Apple Users, I have a problem with my Macbook Pro. My girlfriend installed a little while ago a Browser Hijacker called "websearches". Suddenly, I used an antivirus which it found it and deleted it. My mac was safe apparently, the only thing t