Wt are different ways to find enhancement spots(User Exits) in ECC 6.0??
Hi Friends,
How are you all doing??
Friends relevant answers are awarded points. Pls give solutions..
What are the different ways to find the enhancement spots (i mean user exit points) in ECC 6.0??
I want to find the enhancement spot in sale order transaction (va01/va02) after save happening or else after commit happen. In that i need to call the badi method on_costing_component. So friends could you give solution for this.
Hi
You can see this document for knowing the Userexits for a given Trxn.
<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/abap-code-samples/userexits%20in%20a%20transaction.doc">Listing UserExits in Transactions</a>
Regards
Raj
Similar Messages
-
How to find enhancement RSAP0001 user exit EXIT_SAPLRSAP_001 project CMOD
Hi,
I need to find in one system the project in cmod that contains the enhancement RSAP0001 with user exit EXIT_SAPLRSAP_001.
How do I proceed?
Thanks a lotSimon,
Goto CMOD and enter * and select F4 so that you will get the list of packages. Most of the clients we have naming terminology with BW. Pick one of them and go for components there you can see the interface.
Double click on that you will see four classes. Select any one of them and write your logic.
If you provide what exactly your are trying to do enhancements, so that will provide better solutions.
Thanks
Ganesh reddy. -
F110 - Enhancement spot / USer exit
Hi ,
I need to add some coding logic, once the idocs are generated after execution of transaction F110.
I found an enhancement point in program RFFOEDI1,(which is called by this transaction).
But when i create a new enhancement in it. If i write any piece of code, it gives me an error saying "Statement not accessible".
1)Could someone tell why this error appears.
2) Is there some other way to meet the requirement.
Thank you!!Hi,
Could be that the ehnancement point that you are using is not getting triggered or the implementaiton that you have created is not properly activated.
You can try other implicit and explict enhancement points also we have some user-exits go to transaction SMOD press F4 in the enahncement name and enter FBZ as development class and hit enter you would get a list of enhancement.
Also if you could share the more info on what enh point you are using would be easier to ans.
Regards,
Himanshu -
What are different ways to pass variables in a c# program?
What are different ways to pass variables in a c# program?
I was wondering if :
var numbers = textBox1.Text.Split('
.Select(int.Parse).ToArray();
var min = numbers.Min();
var max = numbers.Max();
textBox2.Text = string.Format("min:
{0} max: {1}", min, max);
and
private
int[] numbers =
new
int[10];
were considered passing variables and I am also interested in learning new ways.Hi Billst3r,
Your examples would be considered creating variables or "instantiating" them, which basically means creating them in memory. To pass variables, here is a brief example.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
class Program
static void Main(string[] args)
// Declaring variables
int num1 = 1;
int num2 = 5;
// Pass created variables to private method
int answer1 = ComputeSum(num1, num2);
// Print results
Console.WriteLine(answer1);
Console.ReadLine();
private static int ComputeSum(int param1, int param2)
// Return sum of 2 provided parameters
return (param1 + param2);
Best of luck. -
Is there a way to find how many users are logging on to my site?
Is there a way to find how many users are logging on to my site at a specific time?
Thanks in advance..Is it possible to use an EJB3.1 Singleton beans for this too? (instead of the application context)
Or will this create a bottleneck because of the standard write lock? It wouldn't be thread safe to provide a read lock on a user_counter increment method? -
What are different ways to load a class
what are different ways to load a class??
manoj.java wrote:
I am preparing for something and exploring the java.
want to know in regard of the same.
Please help me out.And this means essentially nothing.
Essentially there is only one way. Through a ClassLoader, and it's loadClass method. Now, there are multiple ways of invoking this, however, either directly or indirectly.
Edit: There is, of course, other things, such as defineClass in ClassLoader, that lets you manually read a class defintion from somewhere, anywhere, and define, which, logically, also "loads" it.
Now, once again, What are you trying to do? "something" and "exploring the java" are meaningless in this form. If you tell us what, exactly you are trying to do, we could actually help you do it! -
How to find the exact user exit in enhancement.
Hi All,
I am in learning phase. I am working on TCODE VA01 and want to change the PO Date. But i am unable to find out the exact user exit. If somebody could guide me that what is the procedure to find the exact user exit for a perticular field or like that. I am know how to find all the enhancements in the TCODE.hi
Run this program and give the tcode and it will list down all the user exits for that Tcode.
REPORT z_find_userexit NO STANDARD PAGE HEADING.
TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir, tstct.
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
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-SELECTION.
SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
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.
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.
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.
Regards
Sajid
Edited by: shaik sajid on Jun 26, 2009 12:06 PM
Edited by: shaik sajid on Jun 26, 2009 12:10 PM -
How to find out the user exit is implemented
Hi All,
Kindly let me know the process to be followed to find out the User exit is implemented in SAP system.
I have seen many senriors suggestions for some treads to check if there is any Exit is implemented in the process when the system is behaving differently rather standard.
Is it the only way with help of ABAP'er we can find out or the functional consultant also can find out through some procedure?
I tied in google for this doubt, but i could not get the relavant answer.Pleaea execuse me if this already answered.
Thanks,Hi Krishna/TW,
Thank you for your immediate replies. Sorry i think i have not explained correctly my requirment.
Let me explain my requirement once again.Let us say Comapny has implemented one Exit in the project, now i want to find out what exactly the Exit was implemented.
Example: In STO process user is able to increase the qty in delivery. As per the client requriement system should not allow.
This is not possible in standard to control even after maintainig check over delivery field in 0VLP.
For this comapny has already implemented one enahnceament.
User Exit : USER EXIT_READ_DOCUMENT
Program: MV50AFZ1
like this when any one joined in the project we do not know what are all the Exits are implemented in the SAP system where we are working.
So if i want to find out if there is any Exit or enhancement implemented, what is the process to find out?
I hope now am clear with my requirement.
Thanks in advance. -
How to find out appropriate user exit
Hi,
I want to know how to find out the user exit that matches to the requirement. Suppose for a material master program, there are so many include programs hence im unable to find call custer-function and even unable to debug an appropriate include. Please help me out how to learn user exits in a rightious way.
Thanks
BasuLook for program SAPICSS_ in your system and run it. This program can also be found under CMOD menu: Utilities -> SAP enhancements.
This will only give you the CMOD user exits.
There is a program someone made that searches for all sorts of user-exits (including BADI's etc.). I remember that it was posted on sapfans.com
Edited by: Maen Anachronos on Apr 6, 2009 3:22 PM -
How to find my specific user exit
hi friends,
in the transaction vl06O , we have different screens under different tabs,
in the screen under shipment tab, there are two fields,
incoterm
productcode
i should change the values appearing in these fileds only for specific data,
the data to the incoterm field is brough from likp table,
i felt that, i shpuld be using a user exit for this,
can any one plz suggest me which user exit to user or how do i
find the correct user exit for this using break points, i found out that,
the field incoterm is being called from
a screen 2000 in
SAPMV50A program.
did any one face this problem earlier.
thank you.Hi,
Use this code to find user exits for specific transaction. You can create a tool program with this..
REPORT z_find_userexit NO STANDARD PAGE HEADING.
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
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.
Enjoy SAP.
Pankaj Singh. -
How to find out whether USER-EXIT is active or not
Hello!
How can I find out whether USER-EXIT is active or not ?
I set a break-point at these points and nothing happens
if I want save my daocument ???
Why
PERFORM USEREXIT_SAVE_DOCUMENT.
PERFORM USEREXIT_SAVE_DOCUMENT_PREPARE.
Ragards
IlhanHi Ilhan
The easiest way, I guess, is by going to transaction SMOD, sticking in your enhancement name and pressing the test button.
When placing breakpoints, don't use <b>Breakpoints > Breakpoint at > Statement...</b> and enter
PERFORM USEREXIT_SAVE_DOCUMENT
because you won't get any hits since the function module names are stored dynamically.
Rather use <b>Breakpoints > Breakpoint at > Function Module...</b> and enter
USEREXIT_SAVE_DOCUMENT
for a better chance of hitting the breakpoint.
Cheers
Lyal
Message's terrible grammar was edited by:
Lyal Schumann -
How to find out the user-exits?
hi.
how to find out the user-exits?
regards
eswar.Hi,
*& Report ZEXITFINDER
*report zexitfinder.
*& 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.
Regards -
How to find the appropriate user exit for invoic02 idoc in idoc_output_invo
Hi all,
I am new to this community p
i have issue regarding the How to find the appropriate user exit for invoic02 idoc in idoc_output_invoic function module.........
thanks,Hi ,
welcome to SDN.
You can select the appropriate Customer exit accrding to the available parameters .
The list of exits available are
EXIT_SAPLVEDF_001
EXIT_SAPLVEDF_002
EXIT_SAPLVEDF_003
EXIT_SAPLVEDF_004
For Example , if you want to modify the Idoc data(EDIDD) you have to use the EXIT_SAPLVEDF_002. accodingly you can select the user exit according to the avaialable parametres.Use Table MODSAP fto get the Enhancement name.
Hope this Helps
Rgds
Sree
Edited by: Sree on Jul 23, 2010 12:11 PM -
Brief about enhancements and user exits
hai,
can any one tell me what are enhancements and user exits in sap sd,
their signifcance & configuration
regards
sriramhi,
an example of user exit
In case of Inbound DELINS IDOC (830 type) once there was a requirement of taking the Target *** Qty required and the Target *** Date for a specific customer who was not sending *** Qty Received by him.
So for that specific customer we used the search term and added the same in the Data 4 field of the IDOC under segment E1EDK09.
There was one user exit available in IDOC_INPUT_DELINS_START Function module of SAP. We triggered this logic by the search term of customer and reached the user exit where we had made some code changes. (User Exits are used to make code changes when we are running standard programs or reports or function modules). With this we were able to reach the desired point of calculating *** Issued and then find out the difference from Target *** Qty and get *** Qty Received for the scheduling agreement. We did not copy the standard function module into Z . Instead the same was done using a user exit.
<b>User exits in SD</b>
Menu Path:
SPRO- IMG- SD- System Modification- User Exists. User Exists are available in SD for the following processes:
User exits for price determination
User exits for partner determination
User exits for credit check & risk management
User exits in sales:
o User exits in sales doc processing
o User exits for contract processing
o User exits for product allocation processing
o User exits for availability checking
o User exits for component supply processing
o User exits for product selection
o User exits for billing plan
User exits for shipping
User exits for transportation
User exits for billing
User exits for general billing interface
User exits for sales support
User exits for lists.
The topic of user exits is a subject that concerns ABAP development & extensive experience in ABAP is required to understand and use the user exits.
A customer user exit is essentially a function module using a unique naming convention, in which set import and export parameters are defined to limit the data that can be manipulated. This is to protect certain data from being changed. This function module is attached to an enhancement that may contain other function modules. A user exit should only be used if the possibilities for customizing or application-specific user exits are inadequate.
NEW FIELDS IN PRICING:
To use a field in pricing, one creates a cond table. This cond table is created using the allowed fields from the field catalog. Should the fields one requires not be included in the list of allowed fields, one can add the fields from the list of available fields. However, one may find that a new field may not be in the list of available fields. For this reason, one must create new fields for pricing. The document & item data in SD is stored in data tables such as VBAK & VBAP (for the order transaction). Many of the fields from these tables are available in the field catalog.
The field catalog is a structure (KOMG) that consists of 2 tables (KOMK & KOMP). These tables contain the header & item data for pricing respectively. They are called KOMx because they are communications structures used to communicate the transaction data with the pricing procedure. Table KOMG contains the field KOMK & KOMP.
If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP. This means that the field you require cannot be used in pricing because there is no communication of this field from the transaction to the pricing procedure via the communication structures.
To use a field not defined in the field catalog, you need to add this field to KOMK or KOMP structures, and then write the ABAP code to transfer the data in the field from the transaction tables to the communication structure. Follow these steps:
Create the field in the KOMK (header data) & KOMP (item data) tables using the standard includes provided for this requirement.
Write the code in the user exit to read the transaction data & transfer it to the KOMx structures.
Menu Path:
SPRO- IMG- SD- System Modification- Create New Fields (using the cond tech)- New fields for Pricing.
Adding the field to KOMK & KOMP:
This process requires some knowledge of the ABAP dictionary & how to use the ABAP dictionary to create & change fields & tables. If the field is from the header table (for e.g. the order table: VBAK), you will need to add it to the include table KOMKAZ in the table KOMK. If the field is from the item table (for e.g. the order item table: VBAP), you will need to add it to the include table KOMPAZ in table KOMP.
Lets say you need to use the base material to define a price & the base material is no in the pricing field catalog. The base material is a field on the MMR basic data screen & is defined as MARA-WRKST. Since this relates to the material, it is at the item level, so you would add the field to KOMKAZ include table.
When you add a field to these tables, it must start with ZZ. Therefore, the field you add would be ZZWRKST. In ABAP, when you add the field, use the same domain as in the field in the original table MARA-WRKST.
After adding the field, generate the structure KOMP. This field is not available in the field catalog & can be used in condition tables.
Menu Path:
SPRO- IMG- SD- System Modification- User Exists. User Exists are available in SD for the following processes:
User exits for price determination
User exits for partner determination
User exits for credit check & risk management
User exits in sales:
o User exits in sales doc processing
o User exits for contract processing
o User exits for product allocation processing
o User exits for availability checking
o User exits for component supply processing
o User exits for product selection
o User exits for billing plan
User exits for shipping
User exits for transportation
User exits for billing
User exits for general billing interface
User exits for sales support
User exits for lists.
The topic of user exits is a subject that concerns ABAP development & extensive experience in ABAP is required to understand and use the user exits.
A customer user exit is essentially a function module using a unique naming convention, in which set import and export parameters are defined to limit the data that can be manipulated. This is to protect certain data from being changed. This function module is attached to an enhancement that may contain other function modules. A user exit should only be used if the possibilities for customizing or application-specific user exits are inadequate.
NEW FIELDS IN PRICING:
To use a field in pricing, one creates a cond table. This cond table is created using the allowed fields from the field catalog. Should the fields one requires not be included in the list of allowed fields, one can add the fields from the list of available fields. However, one may find that a new field may not be in the list of available fields. For this reason, one must create new fields for pricing. The document & item data in SD is stored in data tables such as VBAK & VBAP (for the order transaction). Many of the fields from these tables are available in the field catalog.
The field catalog is a structure (KOMG) that consists of 2 tables (KOMK & KOMP). These tables contain the header & item data for pricing respectively. They are called KOMx because they are communications structures used to communicate the transaction data with the pricing procedure. Table KOMG contains the field KOMK & KOMP.
If you require a field that is not in KOMG, it means that it is not in KOMK or KOMP. This means that the field you require cannot be used in pricing because there is no communication of this field from the transaction to the pricing procedure via the communication structures.
To use a field not defined in the field catalog, you need to add this field to KOMK or KOMP structures, and then write the ABAP code to transfer the data in the field from the transaction tables to the communication structure. Follow these steps:
Create the field in the KOMK (header data) & KOMP (item data) tables using the standard includes provided for this requirement.
Write the code in the user exit to read the transaction data & transfer it to the KOMx structures.
Menu Path:
SPRO- IMG- SD- System Modification- Create New Fields (using the cond tech)- New fields for Pricing.
Adding the field to KOMK & KOMP:
This process requires some knowledge of the ABAP dictionary & how to use the ABAP dictionary to create & change fields & tables. If the field is from the header table (for e.g. the order table: VBAK), you will need to add it to the include table KOMKAZ in the table KOMK. If the field is from the item table (for e.g. the order item table: VBAP), you will need to add it to the include table KOMPAZ in table KOMP.
Lets say you need to use the base material to define a price & the base material is no in the pricing field catalog. The base material is a field on the MMR basic data screen & is defined as MARA-WRKST. Since this relates to the material, it is at the item level, so you would add the field to KOMKAZ include table.
When you add a field to these tables, it must start with ZZ. Therefore, the field you add would be ZZWRKST. In ABAP, when you add the field, use the same domain as in the field in the original table MARA-WRKST.
After adding the field, generate the structure KOMP. This field is not available in the field catalog & can be used in condition tables.
Pl reward if helpful.
Thanks
Sadhu Kishore -
How to find the exact user exit for our requirement?
Dear Mr. keerthi,
can you please explain me how to find the exact user exit for our requirement?Hi sandip
There is more than one method in which you can check for user-exits.The following method is used very often.
<b>How to find the exact user-exit for your requirement.</b>
1. You can check the user exists using transaction SE85.
2. Repository Information System -> Enhancements -> Customer exits
3. You can search the user-exits by package name.
4. Double click on each exit name to check the function module exits.
<b>The procedure to find the package name.</b>
Execute transaction SE93
Enter the tcode of the transaction for which you want to check the user exit.
Example: if you want to find the user-exit for purchase orders while changing, enter ME22n and press display.
You will get to see the package name
But you need to confirm that the user exit will get triggered at the appropriate event.
( example: you might want some validations to be done ON SAVE of a purchase order)
<b>Checking if the user-exit is getting triggered or not.</b>
1. Open the user exit function module (that you have got in step 4) in Tcode SE37.
2. Click on where used button. In the pop up that immediately appears choose only programs .
3. You will get a list of programs. Double click on the program name.
4. You will get the list of location where this function module user exit is used.
5. Place session break points at each of these location ( at each CALL FUNCTION statement)
6. Now go to your transaction ( say change purchase order tcode:Me22n) and check if the user exit is getting triggered on appropriate event.
regards,
Prasad
Maybe you are looking for
-
Bluetooth performance with Keyboard and headphones
I have three bluetooth devices - Dell Keyboard, Magic Mouse, and stereo headphones. Whenever I play music and start typing on the keyboard, the music stops playing until I stop typing. Is there a fix for this?
-
Hi all ! I'm looking for information about XML support in SAP 4.6c. I have to implement a data exchange mechanism between SAP and web application written in Java. Whole idea looks simple: Java application send an XML document through RFC and ABAP pro
-
Letting user to click a button and run an application
Hi all, I'm trying to do this: once the user logged on, the user can click a button to run an application. If it's the first time he/she use it, it'll let user to download the program and then run it. How can I do that? Thank you. Cal
-
Message processing after document release
Hi Is there a way by which we can send a IDOC or any kind of message to external system when a document is released in GTS manually? I tried to search the blogs and it looks like no pointers on this. Any help appreciated. Thanks, Vijay V
-
I just configured FT on our 4710's running software 4.1 We currently only have 3 contexts.....Admin/Development/Reserved Howerver I only configured an FT group for the Development context. The configs seemed to have replicated to the secondary but ft