Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Field Exit Not Working

Former Member
0 Kudos

Hi All,

I was able to create a field exit FM but it doesnt work on the transaction that uses the data element.

What config should be done? What am I missing here?

Thanks,

Kenny

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Kenny

You should check the profile parameter (trx RZ11) abap/fieldexit: its value has to be setted to YES.

But remember the field exits don't work for ENJOY Trx.

Max

12 REPLIES 12

Former Member
0 Kudos

Hi Kenny

You should check the profile parameter (trx RZ11) abap/fieldexit: its value has to be setted to YES.

But remember the field exits don't work for ENJOY Trx.

Max

0 Kudos

Hi Max,

Unfortunately, abap/fieldexit is already set to yes but the field exit still doesnt take effect in the transaction. The transaction by the way is change material (MM42 for IS Retail), if that helps.

The data element is MAKTM, particularly used for the POS view of the material.

Please help.

Thanks,

Kenny

0 Kudos

Hi

I suppose you have correctly defined your exit:

- Progam name

- Screen Number

- Data Element

so you can try to insert an error message in it to check if it's triggered.

If you want to test it you have to insert the abap code to download a file (where you transfer the data of field-exit) to apllication server.

The retail is not active in my system, so I can't run that trx, but I checked where that data element is used and I noted it's used only in a table control: I'm not sure the field-exit can be used in a table control.

Try to see the note 29377

Max

0 Kudos

Hi Max,

What do you mean by this?:

I suppose you have correctly defined your exit:

- Progam name

- Screen Number

- Data Element

What I have done is just create a field exit FM with the name FIELD_EXIT_MAKTM_1, and it actually has an error message but the field exit is not triggered in the transaction. How do I assign this to the transaction? What do I do next?

Thanks so much,

Kenny

0 Kudos

HI Kenny,

I am facing the same type of problem for ME22N tcode. My field exit is not getting executed. I asked BASIS team to check abap/fieldexit parameter, still I didnt get reply from them.

If you have any more ways to solve this problem, plz share.

Regards,

Satish

0 Kudos

HI

I wrote the code in this way:

TABLES: EREVDATA.

IF SY-TCODE = 'ME22N'.

IF EREVDATA-REVOK <> 'X'.

MESSAGE E398(00) WITH 'Version Incomplete'.

ENDIF.

ENDIF.

ENDFUNCTION.

where REVOK is the field in the structure EREVGRID. This structure includes another structure EREVDATA that I used in the above code. The above code has activated but still not getting executed.

Plz share ur ideas on this.

Regards,

Satish

0 Kudos

Hi

You have to define your field exit by report RSMODPRF.

If you're using a release > 4.6C, run that report by SE38.

SAP doesn't support the field-exits from this release, but they can work in not enjoy trx.

If you work on previous releases, you can find that report in CMOD trx.

Max

0 Kudos

Hi All,

My field exit is working perfectly now. I was able to create a FM before but it wasnt on the list of field exits in RSMODPRF. All I had to was connect it.

Satish, if ur running on 4.7, execute RSMODPRF in SE38. Start from there then activate the fm, and the field exit.

Thanks to all.

Best Regards,

Kenny

0 Kudos

HI All,

Thanks for ur replies. I have a small doubt....

To run field exits, abap/fieldexit profile parameter is set to be YES and restart the system. For this in RZ11 tcode, there are three fields

Default Value, Profile Value, Current Value.

All the values to be set YES or either of the value.

And is it mandatory to restart the system.

Please suggest me in this. It will be helpful for me to talk to BASIS people.

Satish.

Former Member
0 Kudos

hi,

Set the abap/fieldexit profile parameter to YES and restart the system again. useually this will done by Basis people.

sudheer

Former Member
0 Kudos

Hai Kenny

go through the following Steps

Step by step procedure for creating Field Exits

There are eight steps to creating a field exit:

Step 1: Determine Data Element

Step 2: Go To Field Exit Transaction

Step 3: Create Field Exit

Step 4: Create Function Module

Step 5: Code Function Module

Step 6: Activate Function Module

Step 7: Assign Program/Screen

Step 8: Activate Field Exit

Step 1: Determine Data Element

- Before you can begin adding the functionality for a field exit, you must know the corresponding data element.

- An easy way to determine the data element associated to a particular screen field is to:

Go the appropriate screen.

Position the cursor in the appropriate field.

Press ‘F1’ for field-level help.

Click on the ‘Technical info’ pushbutton (or press ‘F9’) on the help dialog box.

On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.

Step 2: Go To Field Exit Transaction

- The transaction to create field exits is CMOD.

- You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.

- From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.

- After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.

NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.

Step 3: Create Field Exit

- From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.

- After choosing this menu path, a dialog box will prompt you for the appropriate data element .

- Enter the data element name and click the ‘Continue’ pushbutton.

- Now, you will be able to create the function module associated to the data element’s field exit.

Step 4: Create Function Module

- You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the ‘Continue’ pushbutton.

- In the ‘Function module’ field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:

FIELD_EXIT_<data element>

- You can add an identifier (an underscore followed by a single character ).

- The first function module for a data element’s field exit must be created without an identifier.

- To create the function module, click on the ‘Create’ pushbutton, choose menu path Function module -> Create, or press ‘F5’.

- After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing ‘Enter’, you will be able to go ahead and create the function module.

- Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.

Step 5: Code Function Module

- From the function module’s attributes screen, click on the ‘Source code’ pushbutton or choose the Goto -> Function module menu path to the code of the function module.

- Here you will add your desired functionality for the field exit.

- Remember that field exit’s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.

- You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.

Step 6: Activate Function Module

- After coding the function module, you must remember to activate it.

- Use the Function module -> Activate menu path to activate the function module.

- At this point, you can return to the field exit transaction.

- You should be able to 'green arrow' back to this transaction.

- When you return to the field exit transaction, you will see an entry for the newly created field exit.

- At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.

- Also, the field exit will not be triggered yet because it is inactive.

Step 7: Assign Program/Screen

- This step is only needed if you want to make a field exit local.

- To make a field exit local, select the field exit and click on the ‘Assign prog./screen’ pushbutton.

- In the dialog box , indicate the appropriate program name and screen number.

This information indicates that the field exit is local to the specified screen in the specified program.

- In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the ‘Fld. Exit’ field.

- If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.

- If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.

Step 8: Activate Field Exit

- The field exit must be active for it to be triggered by the system.

- Activate the field exit by choosing the Field exit -> Activate menu path.

- After assigning the field exit to a change request, its status will change to ‘Active’ and it will be triggered automatically on the appropriate screen(s).

NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers

Thnaks & Regards

Sreeni

0 Kudos

HI

Will fieldexits work in 4.7EE?? I had a discussion with one of my colleagues, he was saying that field exits will not work in 4.7. Please make me clear on this.

Satish