User Exit in Contract -Very Urgent
Dear Experts,
We are using User Exit "M06E0005 - Role determination for release of purchasing documents" for some enhancement of release strategy for purchasing docs.
It is working fine for PO but in case of contract the exit is not firing. We wrote to SAP Service, They told that this user exit is not currently being supported in case of contract. I really have doubt in their comment as SAP documentation for the user exit is telling different things.
Can anybody used/experienced the same exit or any other exit for enhancement of release strategy for contract?
Please dont send the list of MM user exits, I need a specific answere.
Full points will be awarded for explanatory replies.
Regards,
Santosh
Hii..
It is better to use these BADIs to enhance MIGO..
MB_MIGO_BADI
MB_MIGO_ITEM_BADI
Check the Documentation of these BADIs in SE18
Implement the BADI in SE19.
<b>reward if Helpful</b>
Similar Messages
-
RFQ User Exit -- Kindly help very urgent
Hi,
Can you please tell me , what user exit is used to save RFQ ? While using ME41 to create a RFQ, which user exit is used to Save ?
Appreciate your help & Will reward with points
Sorry 2 post the question @ couple of places
Thanks
PrithivHI,
here is list of User exits and BADI.. while saving RFQ in from ME41.
MEVME001 WE default quantity calc. and over/ underdelivery tolerance
MM06E001 User exits for EDI inbound and outbound purchasing documents
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into PO
MM06E008 Monitoring of contr. target value in case of release orders
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound processing
MMAL0004 ALE purchasing info record distribution: Inbound processing
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order
MRFLB001 Control Items for Contract Release Order
AMPL0001 User subscreen for additional data on AMPL
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
LMEDR001 Enhancements to print program
LMELA002 Adopt batch no. from shipping notification when posting a GR
LMELA010 Inbound shipping notification: Transfer item data from IDOC
LMEQR001 User exit for source determination
LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt
LWSUS001 Customer-Specific Source Determination in Retail
M06B0001 Role determination for purchase requisition release
M06B0002 Changes to comm. structure for purchase requisition release
M06B0003 Number range and document number
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MEETA001 Define schedule line type (backlog, immed. req., preview)
ME590001 Grouping of requsitions for PO split in ME59
M06E0005 Role determination for release of purchasing documents
M06E0004 Changes to communication structure for release purch. doc.
M06B0005 Changes to comm. structure for overall release of requisn.
M06E0005 Role determination for release of purchasing documents
M06E0004 Changes to communication structure for release purch. doc.
M06B0005 Changes to comm. structure for overall release of requisn.
M06B0004 Number range and document number
Business Add-in
ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Customer
ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
ME_PO_PRICING Enhancements to Price Determination: Internal
ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
MM_DELIVERY_ADDR_SAP Determination of Delivery Address
ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
ME_REQ_POSTED Purchase Requisition Posted
ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
ME_PURCHDOC_POSTED Purchasing Document Posted
ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
ME_BSART_DET Change document type for automatically generated POs
ME_BAPI_PR_CREATE_02 -
USER-EXIT for DELIVERY--very very urgent
Hi all,
can u plz tell me the user-exit for delivery i.e this exit should be called after the delivery order is created.
plz suggest some specific exit.it is very very urgent.
Regards
pabitraRout ,
u cannt find out user exits after the Creation.
V02V0001 Sales area determination for stock transport order
V02V0002 User exit for storage location determination
V02V0003 User exit for gate + matl staging area determination (headr)
V02V0004 User Exit for Staging Area Determination (Item)
V50PSTAT Delivery: Item Status Calculation
V50Q0001 Delivery Monitor: User Exits for Filling Display Fields
V50R0001 Collective processing for delivery creation
V50R0002 Collective processing for delivery creation
V50R0004 Calculation of Stock for POs for Shipping Due Date List
V50S0001 User Exits for Delivery Processing
V53C0001 Rough workload calculation in time per item
V53C0002 W&S: RWE enhancement - shipping material type/time slot
V53W0001 User exits for creating picking waves
VMDE0001 Shipping Interface: Error Handling - Inbound IDoc
VMDE0002 Shipping Interface: Message PICKSD (Picking, Outbound)
VMDE0003 Shipping Interface: Message SDPICK (Picking, Inbound)
VMDE0004 Shipping Interface: Message SDPACK (Packing, Inbound)
* FORM-Routinen für Userexits
include mv50afzz.
include mv50afz1.
include mv50afz2.
include mv50afz3. "Userexit neu zu Release 3.0A
include mv50afzk. "Userexit 4.6A (KOMKG/KOMPG)
include mv50afzl. "Userexit 4.6A Liefergruppen
"n_693000
include mv50afzp. "Userexit for pricing screen input
Regards
Prabhu -
Hi,
what is the user exit or BAdi for contracts in MM.I need to add a screen in the header for ME31k,32k and 33k.
Thanks n Regards,
Avinash.Here is a utility that will help you find user exits by transaction code. implement this program, execute it, enter your tcode, hit execute.
report z_find_user_exit no standard page heading.
tables: tstc, tadir, modsapt, modact,
trdir, tfdir, enlfdir, tstct.
data : jtab like tadir occurs 0 with header line.
data : hotspot(30).
parameters : p_tcode like tstc-tcode obligatory.
at line-selection.
get cursor field hotspot.
check hotspot(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
start-of-selection.
perform get_data.
perform write_list.
* FORM get_data *
form get_data.
select single * from tstc
where tcode eq p_tcode.
check sy-subrc eq 0.
select single * from tadir
where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
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 eq enlfdir-area.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = tadir-devclass.
select single * from tstct
where sprsl eq sy-langu
and tcode eq p_tcode.
endform.
* FORM write_list *
form write_list.
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.
endform.
Regards,
Rich Heilman -
User exit for contract start date in sales order change mode.
24.10.2008
Hi Gurus,
I need to disable the 'contract start date' (VEDA-VBEGDAT) field in Contract data tab at header and item level. Can someone suggest a user exit for the same ???
Regards,
UdaynathDear Udyanath,
Please check these User exits with the help of ABAPer
User exits in the program MV45AFZZ
The user exits which you can use for modifications in sales document
processing are listed below.
USEREXIT_FIELD_MODIFICATION
This user exit can be used to modify the attributes of the screen
fields.
To do this, the screen fields are allocated to so-called
modification groups 1 - 4 and can be edited together during a
modification in ABAP. If a field has no field name, it cannot be
allocated to a group.
The usage of the field groups (modification group 1-4) is as
follows:
- Modification group 1: Automatic modification with transaction
MFAW
- Modification group 2: It contains 'LOO' for step loop fields
- Modification group 3: For modifications which depend on check tables or on other fixed information.
USEREXIT_MOVE_FIELD_TO_VBAK
Use this user exit to assign values to new fields at sales document
header level. It is described in the section "Transfer of the
customer master fields into the sales document".
The user exit is called up at the end of the FORM routine
VBAK_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBAP
Use this user exit to assign values to new fields at sales document
item level. It is described in the section "Copy customer master
fields into the sales document".
The user exit is called up at the end of the FORM routine
VBAP_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBEP
Use this user exit to assign values to new fields at the level of
the sales document schedule lines.
The user exit is called up at the end of the FORM routine
VBEP_FUELLEN.
USEREXIT_MOVE_FIELD_TO_VBKD
Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer
master fields into sales document".
The user exit is called up at the end of the FORM routine
VBKD_FUELLEN.
I hope this will help you,
Regards,
Murali. -
User exit for contract release order.......
Hi All,
I have a question...
when we create a sales order and type the sold-to party the system dispalys(pop-up screen) the open contracts against the customer. It is up to us wheather we can copy any one of the contacts into the sales order and create a release order or we can just cancel the pop-up screen and create a new sales order with out reference to a sales order.
<u>HERE my requirement is as follows</u>.
1) <b>When a customer has open contacts and validity period we should make user to copy any one of the the existing contracts in the pop-up screen.</b>
2) <b>At the same time if the customer has got no contracts against him he should be allowed to cerate a plain sales order.</b>
I have tried with user exit Change document & User exit Save document in include <b>MV45AFZZ</b> but our code (user exit) should fire before or at the time of pop-up screen(containing the open contracts against the customer) which is just not happening.
Has any one of you came across of any solution for this kind of scenario...
One last option i have got is to disable the close push button taking the access key and changing the standard code........but this will effect the other places where this close button is used.
Please let me know how to go about it.
Thanks in advance......for your valuable time & precious knowledge.
With regards,
<b>Pavan</b>Have you tried applying code to EXIT_SAPLV46H_001 - Customer Function When Creating Item?
Or EXIT_SAPLV46H_002 - Customer Function for Partner Changes? -
Dear Experts ,
Can you please inform me the user exit name associated with Contract and Scheduling Agreement?
Regards,
SantoshHi
AMPL0001 -User subscreen for additional AMPL data (manufacturer part number)
LMELA002 -Adoption of batch number from shipping notification at time of posting of a goods receipt
LMELA010 -Incoming shipping notification: adoption of item data from IDoc
LMEQR001- User exit for source determination
M06E0004 -Changes to communication structure for release of purchasing document
M06E0005 - Role determination for release of purchasing documents
MEETA001 -Determination of schedule line type (backlog, immediate requirement, forecast)
MELAB001 -Generation of forecast delivery schedule: realization via creation profile
MEVME001 -Calculation of default GR quantity and over/underdelivery tolerances
MM06E001 -User exits for inbound EDI messages and outbound purchasing documents
MM06E003 -Number range and document number
MM06E005 -Customer fields in purchasing documents
MM06E008 -Monitoring of contract target value in case of release orders
MM06E009 - Relevant texts for "Texts exist" indicator
MM06E010 - Field selection for vendor address
MM06L001 -Exits for determination of ratings in vendor evaluation
MMAL0001-ALE source list distribution: outbound processing
MMAL0002-ALE source list distribution: inbound processing
MMDA0001 -Default values for delivery addresses
MMFAB001 -User exit for generation of releases
MRFLB001-Control items during release creation
LMEXF001 -Conditions in purchasing documents without invoice receipt
LMEKO002-Enhance communication structure KOMP for price determination
These are some enhancements which can be usedf in case of Contracts & Scheduling agreements, Some are applicable to Purchase orders also. Include document category logic in programming to stop affecting PO's
Thansk & Regards
Kishore -
Hi All,
our requirement is as follows:
Whenever the price conditions in a contract is created or changed(me31k or me32k),the info record,schedule agreements and PO's should be updated with these conditions.
I would like to know which user exit or BADI can be used for this requirement.
Thanks for your time in advance.
ASA.Hi ASA
check this LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt -
User exit for sales order-Urgent
How Developed a User Exit, which will be triggered when a Sales Order is changed manually. This user exit will check the requested delivery date and update VBKD-BSARK field.
Pls help me how to do it....
Pts will be rewarded.....Hi,
The following exits trigger during VA01 creation:
EXIT_SAPMV45A_002 and
EXIT_SAPMV45A_003
Check this include MV45AFZZ also.
Regards,
Satish -
User Exit in Credit Managment - Urgent
Dear All,
One of our customers want to use option of Oldest of open Items overdue in the Automatic credit check.
WIth the only difference that he does not want the field " Days oldestItem ( Table Name V_T691F / Field Name OITOL)" within IMG. He wants that field to be available in the customer master.
In order to achieve this we have thought of following solution --
1. Add new field in the customer master using screen exit in " General Data / Company Code" Tab for capturing " Days oldestItem ( Table Name V_T691F / Field Name OITOL)"
2. Use user exit LVKMPFZ1. Build following logic into the same.
Refer table for Open Line Item (Table BSID)
Due date = Document Date (Field BLDAT) + Days 1 (Field ZBD1T)
If, Due date + Field in Customer Master added through screen exit (in no. of days) < Today, Credit Check will be active & depending on the setting in Automatic Credit Check, we can get either warning message or error
Please check if above logic is OK. If you wish to suggest any changes, you are most welcome to do so. Points will be rewarded for any valuable suggestion. But please hurry up. Unfortunately we do not have much time.
Regards
NikhilHi,
TRY THIS PROGRAM MAY BE HELP U,
REPORT z_find_userexit 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.
Thanksmate,
Reward if helpful,
Phani -
Please give me User Exit for Credit Release -Urgent-
Please send the User Exit for Credit release
Mr.Goutam
My request is that dont continue your questions in one thread.
Two options are available for you to post in this forum
a) First list out what are all your requirements and ask this forum in which specific area you have doubts. If all your questions are answered, award points who have given the solution for you.
b) Post question one by one and wherever your questions are answered, close the thread and reward points to the members.
If you take this thread, Initially you raised a question on Credit Limit and many of us have answered your question and the thread should have been closed. But questions are continuing with same subject but with different topics which I feel is WRONG.
Hope you understand now.
Thanks
G. Lakshmipathi -
User exits-- also ---synchronous and asynchronous struc..
dear all
pls. let me know the basics of user exits. i have gone thro williams iam unable to follow. does it require abap knowledge. i sincerely request one and all (experts) to let me know about user exits. it seems very imp as per interviews.
also what is synchronous and asynchronous structures whats the difference. can anybody share knowledge on this.
thanks in advance
regardsDear Sekhar,
Please find the info regarding User-Exit's in the following links:
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/frameset.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
Re: doubt on user exits
user exits and Badis
User exits is the enhancements provided by SAP
You can use them in transactions. Each transaction will have user exits.
If you want to use your own requirements by making your coding while the transaction is run you can use user exits.
For example if you want to run the MRP in MD02 specific to MRP controller you can user exit.
Please also refer the document below.
USEREXIT
Userxits allow us to add our own functionality to SAP standard program
without modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.
All Userexits start with the word USEREXIT_...
FORM USEREXIT_..
z..
ENDFORM.
The problem lies in finding the correct userexit and how to find it if one exists for the purpose. Once the correct userexit is found the necessary customer code is inserted in the customer include starting with the z.. in the form routine.
e.g. USEREXIT_SAVE_DOCUMENT_PREPARE
Certain application like SD still provide this form of enhancement using userexit but this practice is no longer being followed for newer extensions instead they are using EXITs which come bundeled in enhancement packages . Neverthiless existing USEREXITS will be supported by SAP an all the newer versions of SAP.
HOW TO FIND USEREXITS
Userexits can be found in number of ways:
1) To find userexits in SD module , goto object navigator(SE80) and select
development class from the list and enter VMOD in it. All of the userexits in SD are contained in the development class VMOD. Press enter and you will find all the includes which contain userexits in SD for different functions like PRICING, ORDER PROCESSING etc. Select the userexit according to the requirement and read the comment inserted in it and start coding .
Some examples of userexits in SD(SALES & DISTRIBUTION ) are:
1)ADDING OF NEW FIELDS IN PRICING
In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields. The fields which are not in either of the two tables KOMK and KOMP cannot be used in pricing .Sometimes a need arises when the pricing is to be based on some other criteria which is not present in the form of fields in either of the two tables. This problem can be solved by using USEREXITS which are provided for pricing in SD. Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is
USEREXIT_PRICING_PREPARE_TKOMP or
USEREXIT_PRICING_PREPARE_TKOMK
Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.
In the case of userexit which will be called when invoicing is done ,these
are provided in the include RY60AFZZ which is in the standard SAP program SAPMV45A. The name of the userexits are same. i.e
USEREXIT_PRICING_PREPARE_TKOMP or
USEREXIT_PRICING_PREPARE_TKOMK
These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.
Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose includes are provided in each of them .
To create the field in header data(KOMK) the include provided is KOMKAZ
and to create the field in item data(KOMP) the include provided is KOMPAZ.
One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.
2)The other method of finding userexit is to find the word USEREXIT in the
associated program of the transaction for which we want to determine userexit using SE38.
3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.
Some other examples of userexits in SD are:
USEREXIT_NUMBER_RANGE
This userexit is used to assign a different internal document number to the
sales order(VA01) when it is created depending on some criteria like a different SALES ORGANIZAION(VKORG) .
USEREXIT_SAVE_DOCUMENT_PREPARE
This userexit is used to insert the ABAP code which will be called when
the document (sales order VA01) is just about to be saved.This userexit is used generally for custom checks on different fields , to display some information before the order will be saved or for making changes to certain fields before the sales order will be saved.
Exits & Enhancements
There are mainly six types of EXITs in sap which have been collected in the form of enhancement packages and attached to standard code in SAP.
These are different from USEREXIT in the way that they are implemented
in the form of FUNCTIONs while in USEREXITS we use form routines for their implementation. These are also sometimes known as function exits .
These start from the word EXIT_ followed by the program name and then followed by a three digit number.
e.g. EXIT_SAPMV45A_002
This exit is found in SD in enhancement V45A0002.
TYPES OF EXITS
1)MENU EXITS
2)FUNCTION EXITS
3)TABLE EXITS
4)SCREEN EXITS
5)KEYWORD EXITS
6)FIELD EXITS
We use SAP transactions CMOD and SMOD to manage exits. Before implementing an exit , it is required to create the project by using CMOD
selecting the enhancement e.g. V45A0002 and selecting the component
(one which fulfills our need) i.e the exit which will be implemented in SMOD and after coding has been done the project has to be activated.
An exit can be coded only once.
FUNCTION EXITS
These are used to add functionality through ABAP code . These start from the word EXIT_programname_NNN ending in a 3 digit number. No access code is required to implement any tupe of exit including function exits.
The function exits are called from the standard SAP program in the form
of ABAP statement
CALL CUSTOMER-FUNCTION 'NNN'
This is in contrast to USEREXITs where PERFORM statement is used to call
the required userexit.
To implement the FUNCTION EXITs first of all the project is created and a suitable enhancement package is selected and from its compnents the function exit to be implemented is selected and on double clicking it the exit code will appear in ABAP EDITOR(se38) where a Z include will be found and the customer code should be entered in this include.
e.g.
ADDING A DEFAULT SOLD-TO-PARTY in Sales Order Creation
To show a default sold-to-party in this field when the user creates a sales order (VA01) we can use a function exit .This function exit is located in enhancement no V45A0002 . Before we can choose the exit we have to create a project in CMOD after that enter V45A0002 in the enhancement field and click on the components . In the components you will see the exit EXIT_SAPMV45A_002 . This exit is used for our purpose.
Double clicking on this exit will takes us to function builder (SE37) . This
function exit has one exporting parameters and two importing parameters, we are interested in exporting parameter which is E_KUNNR of type KNA1-KUNNR i.e if we move the desired customer name to this structure(E_KUNNR) it will be shown in the field as the default value when we create the sales order. This function also contains a customer include ZXVVA04 . This include will be used to write our custom code .
Double clicking on this include and it will prompt us that this include does not exists do you want to create this object ,select yes and the include will be created .In this include we can write our own code that will fill the field E_KUNNR.
e.g. E_KUNNR = 301.
Activate the include and Activate the project. Now when ever the SALES ORDER will be created , sold-to-party field will come up with a predefined customer .
FIELD EXITS
The field exits are managed,created,activated through program RSMODPRF. The field exit is associated with a data element existing in ABAP dictionary and hence to the screen field using that data element.
The format of field exit is :
FIELD_EXIT_dataelement_A-Z or 0-9
If a particular screen and program name is not specified than the field exit will effect all the screens containing that data element.
The function module associated with field exit shows two parameters
INPUT and OUTPUT. Input parameter contains the data passed to the field exit when the field exit was invoked by the R/3 , We can write our own code to change the output parameter depending upon our requirements.
Before the field exit can have any effect the system profile parameter
ABAP/FIELDEXIT in all the application servers should be set to YES
ABAP/FIELDEXIT = YES.
Regards
Naveen. -
Field Exit or User Exit for Maintenance Order field.
Dear All,
we need an field exit or an user exit for order(AUFNR)field in PM module.
The Client wants that the value of this field should be validated and for certaion condition an error message should be given while saving an invoice for this order.
Kindly provide the user exit ..
Its urgent.
Thansk in advance ..
regards
Ajay.Implement Field Exit within program
For this example I am using dta element 'EBELN' from table EKKO.
Step 1: Execute program 'RSMODPRF', entering the data element of the field
Step 2:Create function module when prompted, and add you code to the source section using the parameter 'INPUT' as the field value you are checking
Step 3: Save and activate Function and execute transaction 'CMOD'.
Step 4: Choose option: Goto-> Text Enhancements->Data elements->New DE cust docu.
Step 3: Save and activate Function and execute transaction 'CMOD'.
Step 4: Choose option: Goto-> Text Enhancements->Data elements->New DE cust docu.
Step 5: Enter data element
Step 6: Save and activate
Step 7: Execute program 'RSMODPRF' again but this time leave data element field blank. Step 8: Select the checkbox for the data element you have just created and choose option: Field exit->Activate This will now be active for all instances of this data element, but you can assign specific program and screen combinations by pressing the 'Assign prog./screen' button. You can also change the code you entered in the field exit function module by pressing the 'Edit FM' button.
regards
vinod -
Hi,VL02N
I have a scenario where Pricing should be copied from STO PO to Delivery document and by which, the Excise values maintained in the delivery document should be posted upon PGI. In Standard, Excise values maintained in the STO PO is the ones which are getting posted upon PGI.
In order to achieve my requirement, I have tried the below User exit which was very helpful but the Delivery pricing (KOMV) component was not available in the mentioned User exit.
EXIT_SAPLFMR4_002 (Include ZXFMCU08)
Can anyone please suggest an User exit, which has all the below 4 components?
T_ACCHD
T_ACCIT
T_ACCCR
KOMVHi Lakshmi,
Thank you for your reply.. Following is the business scenario,
For the Factory to Depot STO PO, we have maintained excise values in the PO, excise value calculation is from Material retail price.
Assuming the Material price is 100 Rs. and Excise value is 10.36 in STO PO.
And during delivery, Material batch can be changed.
Assume, Batch Prices are.
Batch 0001 - 100 inr MRP
Batch 0002 - 110 inr MRP
In delivery, if "0002" batch is chosen, price should be redetermined to 110 and by which STO values will be changed accordingly.
And upon PGI, system should post the excise value which is calculated based upon new Batch price and not on STO excise value.
I have found the user exit to change the value upon posting Accounting document, i.e. I'm able to change the excise value to be posted. But in that exit. KOMV structure is not exist, due to which, excise value from new batch price is not being able to determined.
Please let me know if you have any other alternative solution for this, thank you.
Regards,
Muthu. -
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
Maybe you are looking for
-
HT1555 My aluminum Apple TV remote no longer will operate my Apple TV.
Is there a way to resent and/or trouble shoot the remote?
-
Install Leopard on eMac (USB 2.0)
Hi I would like to install Leopard on my eMac (USB 2.0) but it doesn't read dual layer DVDs so my Leopard disc gets spat back out by the eMac. Is there another method that will allow me to install Leopard on it?
-
Search * from t where a like b case-insensitive ?
I have a Database-field (CHAR60) that contains text with upper and lower case letters. In my application, the user can search for entries in the DB table using this field, which leads to an SQL statement like this: SELECT * FROM table WHERE field LIK
-
I am in Brazil and Iphoto book printing is not available here. However, my aunt lives in Connecticut and I wanted to print and ship book to her address. Is that possible? I dont seem to be able to connect when i try to place my order. What can I do?
-
10.4.6 updaters for IiMac. What's the difference between the choices?
It seems there are 3 choices for this update: 1) Going through the "software update" pulldown menu on my desktop which is about 100mb 2) On the "apple downloads" page there is one that is 163mb that seems appropriate and 3) a "combo" version that is