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

User exit for item level in PO

Former Member
0 Kudos

Hi:

Once we create a PO based on PR. I should not be able to change the net price. I need to through a ERROR MESSAGE.

The price of PR and PO Shuold be same. Used should not change the net price, If he tries to change it, A error msg should be thrown.

Please let me know the Correct User Exit for this.

Thanks

Senthil

5 REPLIES 5

Former Member
0 Kudos

Hi,

To find user exits in SD module , goto object navigator(SE80) and select development class from the list and enter VMOD in it. All of the user exits in SD are contained in the development class VMOD. Press

enter and you will find all the includes which contain user exits 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 .

Hope this helps u.

Regards,

Ruthra

Former Member
0 Kudos

Hi,

Please check sample program to find user exits available for a given transaction code.

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.

or

Enhancement

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

MM06E011 Activate PReq Block

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

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

MEQUERY1 Enhancement to Document Overview ME21N/ME51N

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.

M06B0004 Number range and document number

Business Add-in

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_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.

ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Custome

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_PURCHDOC_POSTED Purchasing Document Posted

SMOD_MRFLB001 Control Items for Contract Release Order

EXTENSION_US_TAXES Extended Tax Calculation with Additional Data

ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)

ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)

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_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields

ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing

ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation

ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)

ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant

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

ME_BAPI_PR_CREATE_01

ME_BAPI_PO_CREATE_02

ME_BAPI_PO_CREATE_01

ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked

ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level

MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI

ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO

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_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders

ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active

ME_COMMITMENT_RETURN Commitment for return item

ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing

ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control

ME_CIN_MM06EFKO Copy PO data for use by Country version India

ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details

ME_CIN_LEINRF2R BADI for CIN India - Delivery charges

ME_CHECK_SOURCES Additional Checks in Source Determination/Checking

ME_CHECK_OA Check BAdI for Contracts

Reward if helpful.

Regards,

Harini.S

0 Kudos

Hi Harini,

I have a Z Program which lists all the exits for a Tcode.

There are around 40-50 exits. I need the exact exit suitable for my condition which i hv mentioned preiviosly.

Thanks

Senthil

Former Member
0 Kudos

Hi,

Use a custom routine to fullfill your requirement.

write the loigc in that routine and attach against the Net Price condition type in Pricing schema.

Regards,

Narasimha Kumar

Former Member
0 Kudos

Hi Senthil,

Try with the BADi "MRM_MRIS_HDAT_MODIFY".

Regards,

Santosh