Enhancement Project : User Exit
Hello All,
When I am trying to activate my Enhancement Project in cmod, I am getting the message that ' The project contains inactive include tables:'
And I am having Activate Button on toolbar.
The Project status shows with a yellow status button.
Do I need to Activate the Include Tables? How?
Or Can I transport the project without activating the Include Tables?
Regards,
Lijo
Hi
I think ur using Exit for MM purchse order related work, here in the Enhancement Class if Screen Exits r given then u have to acivate those screen also otherwise other T.Codes which have Std. gram as driver program will give errors.
Just below the Screen Exits u will have TABLES these tables also u have to activate , these table is useful in case u want to add some Z-fields into Standard tables, and fill them with data.
U can activate Screen without any Fields on these, but for tables u have to refer SAP- NOTEs corresponding to ENHANCEMENT CLASS ur using , there u will find how to give field inThese tables before activatinf them.
Regards
Sachin
Similar Messages
-
hello
can you please let me the know the enhancement for user exit:exit_sapliqs0_001
regards
anikHi,
these are teh enhancements that r available...u need to check each of them.
IWO10026 User check on setting status 'Do not perform'
IWO10027 User exit: Generate user-defined settlement rule
IWOC0001 Create PM/SM notification: Determine reference object
IWOC0002 PM/SM notification: Check whether status change is allo
IWOC0003 PM/SM authorization check of ref. object and planner gr
IWOC0004 Change single-level list editing PM/QM/SM ALV settings
Regards,
nagaraj -
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 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. -
ENHANCEMENT QPAP0001 (User Exit 'EXIT_SAPLQPAP_001
HI all,
We are Using Variant Configuration, for this we have linked MIC's to Class character, When The Inspection Lot is created the Lower & Upper Limit in the specification comes as the character Value.it does not takes in to consedration the tolerance key assigned to it. For E.g. Charater Dia has value 20, & in the Tolerance key for 20 +/- 0.10 is maintained, when the Inspection lot is created the Upper & lower Limit comes as 20-20 instead 19.9 - 20.1
I have gone through SAP Note 210658, the sample code provided in note is for "Material Specification" I have tried the same with minor code correction the specifications in the lot comes as desired i.e. specifications in the lot consider the tolerance key.
Our Requirment is of task list, in the same not EXIT for task list is also mentioned but no souce code is provided, when we are using the above program (Used for Material Specification) after doing the desired changes, & when we run in de-bugging mode it shows all the calculations are being done, but finally in the lot specification appear as the charater value ( 20-20) & in the inspection lot One first MIC comes it delete's all other MIC's assigned in the Plan.
Has any body worked on this requirment, please let me know how to do the same, & if any body has used EXIT_SAPLQPAP_001 (Enhancement QPAP0001.)Plese provide me with the soution if any one has worked on it.
Thanks & Regards
Gaurav BehlHi,
these are teh enhancements that r available...u need to check each of them.
IWO10026 User check on setting status 'Do not perform'
IWO10027 User exit: Generate user-defined settlement rule
IWOC0001 Create PM/SM notification: Determine reference object
IWOC0002 PM/SM notification: Check whether status change is allo
IWOC0003 PM/SM authorization check of ref. object and planner gr
IWOC0004 Change single-level list editing PM/QM/SM ALV settings
Regards,
nagaraj -
0FI_AR_4 Extractor Enhancement without user exit code Question
Hi
I have a requirement to enhance 0FI_AR_4 Extractor with below Fields from BSID:
Field DataElement
PRCTR PRCTR
VPOS2 NUM06
VBUND RASSC
As per SAP Note: 410799, I am assuming I don't need to write any ABAP code to populate these fields.
In the extract structure DTFIAR_3 of extractor 0FI_AR_4 Double clicked on the Include CI_BSID.
It prompted "Structure CI_BSID not available. Create the structure?"
After entering Access key it created new Structure "CI_BSID".
I have entered the Component and Component Type values as below:
Component Component Type
YYPRCTR PRCTR
YYVPOS2 NUM06
YYVBUND RASSC
1. Please let me know Component and Component Type values and the steps I followed are correct or not?
2. And I hope I don't need to write the code in the User exit to populate these fields?
Thanks
SreeHi,
For any FI datasource enhancement there are two scenarios :-
1. All the fields of the customer enhancement in the customer include are available in the read structure BSID
Then no additional action is required. The fields of the customer enhancement are filled automatically by the datasource from the assigned read structure via "move-corresponding".
2. Fields of the customer enhancement in the customer include are not contained in the read structure BSID
In this case you have to program a function module to fill the field of the customer enhancement. To do this, there is a Business Transaction Event available (open FI interface for process 00005021). Create any function module you like and use function module SAMPLE_PROCESS_00005021 as a template for the interface (input parameter, changing parameter).
Hope this helps.
Reg,
Rahul -
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 -
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 -
Extractor enhancement with user exit RSAP0001
Hello,
I am using user exit RSAP0001 to enhance SAP business partner extractors. When I am processing the data pack in function module EXIT_SAPLRSAP_002, is there any chance to get information about the receiving BI system (e.g. logical system name) I am just processing data for?
The reason why I want to do that is data protection issues. Data is being extracted into different BI systems, but certain fields may only be extracted into some of them. The idea is that I can decide to clear those fields depending on the BI that is requesting the data.
Kind regards,
Christoph ReuterHi Christoph,
You can make use of the following tables . They contain R/3- BI connection related info.
T000 ( clients table) - fields MANDT and LOGSYS of this table give the u2018Client IDsu2019 and u2018Logical
IDsu2019 of the R/3 system as shown.
RSBASIDOC (Assignment of source systems to BI systems incl. IDoc typ) -
In this the fields SLOGSYS, RLOGSYS and OBJSTAT correspondingly hold the
logical Id of source system (R/3), Logical ID of the receiver system (BI) and the status of the connection between them ( 0 or 1 meaning active or inactive).
In addition to these, you can make use of the Function module RFC_READ_TABLE to read data from a master data table in BI to R/3 system.
So, by creating a master data object in BI and maintaining a specific key value representing each BI system, you can identify the BI system by reading the value in the master data table in BI into R/3.
Though the information given here is a bit brief, I hope this helps you
Edited by: nithin reddy on May 15, 2009 7:43 PM -
FB60 Enhancement - BADI / User Exit / Substitution
I have the following requirement:
<b>When an invoice is posted using transaction FB60, based on GL Account entered, the line item text should be populated with the vendor name/number.</b>
I searched the forum and found that some of you have recommended to use 'substitutions'. But I am not familar with those and I am not sure if that will provide me a solution. An user exit or BADI would be great. Please help me out!
Thanks,
SamHi
Just I said you have to define an exit like this:
- Define LIFNR as global data
DATA: LIFNR TYPE LIFNR.
FROM Z001.
DATA NAME LIKE LFA1-NAME1
IF BSEG-KOART = 'K'.
LIFNR = BSEG-LIFNR
ELSE.
IF NOT LIFNR IS INITIAL.
SELECT SINGLE NAME1 FROM LFA1 INTO NAME
WHERE LIFNR = LIFNR.
CONCATENATE LIFNR '/' NAME INTO bseg-sgtx
ENDIF.
ENDFORM.
In this case use SYST-TCODE = FB60 as prerequisite, so when the item is Vendor item you'll store the Vendor Code and if it's G/L item you'll create the text.
You can also create an substitution at the complete document, in this case:
FROM Z001 bool_data TYPE gb002_015.
DATA: LIFNR LIKE LFA1-LIFNR,
NAME LIKE LFA1-NAME1.
LOOP AT bool_data-bseg INTO bseg where KOART = 'K'.
LIFNR = BSEG-LIFNR.
EXIT.
ENDLOOP.
IF NOT LIFNR IS INITIAL.
SELECT SINGLE NAME1 FROM LFA1 INTO NAME
WHERE LIFNR = LIFNR.
LOOP AT bool_data-bseg INTO bseg where KOART = 'S'.
CONCATENATE LIFNR '/' NAME INTO bseg-sgtx
MODIFY bool_data-bseg FROM BSEG.
ENDLOOP.
ENDIF.
ENDFORM.
Max -
BADI or Enhancement or User Exit for CRMXIF_ORDER_SAVE _M01 IDOC for SO
HI ,
Scenario : Outbound
When Ever a Sales order Creates in CRM it will go to ECC and External Party using PI.
We are using IDOC as CRMXIF_ORDER_SAVE_M01 for the Data exchange. There is some logic to be written for the External IDOC.
We found CRM_ORDER_MAP BADI for the writting the logic for the Segements and fields. But this logic is reflecting in ECC and External IDOC.
Can we can any BADI or User Exit to write the logic to reflect only External IDOC not for ECC.
Thanks
SimHelp need !!!
-
Enhancement/BAdi/User Exit for ME21N
Hi
i am looking for a modification/enhancement/BAdi or userexit that would be triggered when the document type is changed on purchase order type in transaction ME21N.
can anyone help?
i have seen there are lots of many exits available, but i am after something more specific....
if anyone could help and point me in the right direction it would be much appreciated.
i found enhancement MEQUERY1, but not sure if i could utilise this for my needs.
thanksi used the BAdi ME_PROCESS_PO_CUST and method PROCESS_ITEM
with this code:
METHOD if_ex_me_process_po_cust~process_item.
DATA: ls_mepoitem TYPE mepoitem,
ls_mepoheader TYPE mepoheader.
DATA: header_obj TYPE REF TO if_purchase_order_mm.
* get header data
header_obj = im_item->get_header( ).
ls_mepoheader = header_obj->get_data( ).
* get item data
ls_mepoitem = im_item->get_data( ).
IF ls_mepoheader-bsart = 'ZPSC' AND ls_mepoitem-umson IS INITIAL.
* Message: PSC Order requires 'Free' indicator selected
MESSAGE e017(zenhance_msgcl).
ENDIF.
ENDMETHOD. -
Enhancement or user exit related to Pricing
hi,
pls let me know any enhancement or userexit is presented for the VA21/VA22 related to item conditions for the structure related to KOMP.In the program MV45AFZ4 , search for the form 'FORM USEREXIT_MOVE_FIELD_TO_KOMP'
-
Help in user exit and enhancement
hi expects,
can any body help me by providing me the enhancement and user-exist material.please help meHi Santosh
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_<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):
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_<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 already 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"
for more information.
try out with this links:
[http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm]
Hope answered your question.
Reward if helpful
Thanks
abdul -
How to know where the user exits or enhancement used in standard sap code?
Hi
I m pretty new to abap.
How can I know where the user exits or enhancement used in standard sap code?
As i have to add some functionality to the standard sap code. I m looking to search the enhancement or user exits used in this standard code wher i can add my functionality.
thanks in advance.
Moderator message : Search for available information, thread locked.
Edited by: Vinod Kumar on Oct 19, 2011 2:38 PMHi Henry,
I don't think this is the easiest way to look at the code around a particular field on the screen. Debugging standard programs also can be very tedious, if not impossbile. So, instead of this question, I would like to find out exactly what you want to do if you know the code.
If you are in a transaction and you want to know where the code of a particular field is, the fastest way to get to it is by pressing the F1 key on the field and then press the Technical info button on the help screen. In here you will typically see the same kind of information but it is very specific to the field you selected.
PROGRAM(SCREEN) tells you which program is manipulating the main screen, in which your field is embedded. Remember your field may be included in a sub-screen and that subscreen may be the one included in the main screen.
PROGRAM(SUB SCREEN) tells you which program is directly responsible for the field on the subscreen it is included in. This is where you should find the code most appropriate for the field, but not necessarily.
PROGRAM(GUI) controls how your push buttons and the menu options in the screen behave and controlled.
Srinivas
Maybe you are looking for
-
I have a 16GB San Disc that when more than half full and trying to transfer the images to the iPhoto library I get the message "communication error". How can I update my computers software to be SDHC compatable? I can buy a card reader but thought
-
Why does my older PDF files print an all black background and white letter/numbers?
I have a laserjet 1536dnf MFP. Printing older adobe pdf's results in an all black background with white letters / numbers. How can i correct this. It doesn't happen with newly created PDF's from the 1536dnf scanner.
-
ITunes Agreement Form comes up and freezes! HELP!!!
Hi I just got my ipod nano today and i've been trying to get it installed since 12:00 this christmas morning and i really tired of dealing with it and i need help bad. I installed the ipod nano update thing, the itunes and the quicktime player and ev
-
Sales Pricing in the Project Builder
I'm using DP81 in order to create quotation (AP sales document type). How can I change the item quantity in it ? Saving the quotation from DP81 the quantity field is gray ; I'm not allowed to change quotation item quantity. Isn't it? Thanks Gabriella
-
CS3 Custom cursor acting wierd
Hello, I am a student in an animation class; our current project is making a website portfolio. I have discovered some sort of bug or something to that effect, inside of my custom cursor is a button, this button contains a click function. When I cl