2007 Aug 14 10:12 AM
Hi,
There is one user exit for ME21, that is 'EXIT_SAPMM06E_012'. Is there any user exit for ME51? one more problem is, how to output a value from internal table to screen using user exit. please help me asap.
thanks in advance.
Siva Sankar.
2007 Aug 14 11:17 AM
Hi Siva,
I think you can use EXIT_SAPLMEREQ_005 to check Customer's Own Purchase Requisition Data. It's similar with EXIT_SAPMM06E_012 which validates customer fields when saving PO (and also when checking document).
About output a value from internal table to screen, can you elaborate more?
I once added a customer data tab in PO using MM06E005 enhancement which one of the component is EXIT_SAPMM06E_012. You'll need to define the customer extension fields (example: zzusername), added it CI_EKKODB structure, then using screen painter, define a field in for which this zzusername field will be shown
Hopefully this helps you
Regards,
Andry
2007 Aug 16 4:29 AM
Hi Andry,
Thanks for ur quick reply.
I'll explain my problem,
In ME21(creating PO), in Line item details, if \we give material, material description is coming from MAKT table automatically and before saving the PO, standaed SAP allowing user to change the description. I need to restrict here. I wrote one field exit, but its not wrking for ME21. Thats why i'm using this exit. If user changes the description, while saving one message should be given and changed description should be replaced with original one(from MAKT).
To replace it, what should i do. Where in field exit, assign directly to OUTPUT. But here what should i do? Please help asap.
Thanks.
Siva Sankar.
2010 Jul 28 7:55 AM
Dear Mr.Siva,
Can you tell me how you prob get resolved.
Because i am also facing the same prob with our users.
Please help me in this.
2007 Aug 14 11:21 AM
Hi,
following exits are available for me51
Transaction Code - ME52 Change Purchase Requisition
Exit Name Description
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
M06B0004 Number range and document number
M06B0005 Changes to comm. structure for overall release of requisn.
M06E0004 Changes to communication structure for release purch. doc.
M06E0005 Role determination for release of purchasing documents
ME590001 Grouping of requsitions for PO split in ME59
MEETA001 Define schedule line type (backlog, immed. req., preview)
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
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
No of Exits: 36
To find exit for any transaction use the following program
&----
*& Report ZFINDUSEREXIT
*&
&----
*&
*&
&----
report zfinduserexit.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
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 eq 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).
Hope this helps to solve ur problem....
do reward if useful....
regards,
Omkar.
2007 Aug 16 4:59 PM
Hi,
Steps to find out the user exits for the T-code.
1. findout the package name for the T-code
2. Go for SE80 and enter the package name and say enter
3. Go for the function group and select the function modules which are under the function group starting with 'X'. like XAMP, XM01, XM06,XMAL and etc... these are the useful exits for our requirements.
Reward me the points if it is useful for you.