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: 

Verry very urgent!

Former Member
0 Kudos

Dear All,

I need to modify one standard program name is RM07MLBD (T.Code-MB5B).

There is selection screen based on MATERIAL NO (MARD-MATNR) and

SELECTION DATE (MKPF-BUDAT). And all data is displayed according to matnr.

Now I want all data should display according to MATERIAL GROUP (MARA-MATKL)

So I want my selection screen should be based on MATERIAL GROUP (MARA-MATKL) instead of MATNR.

As it is standard program. How I will carry out the required changes. Anybody can help me out on this. As it’s very urgent.

I want my selection screen like that

And data should display on that only:-

MATERIAL GROUP (MARA-MATKL)

And SELECTION DATE (MKPF-BUDAT)

Thanks & Regards,

Abhay.

1 REPLY 1

harimanjesh_an
Active Participant
0 Kudos

hi abhay,

To change any standrad program, there are two options........

1) user exit

2) Badi

U can change standard program only using these two options...

search for user exit for this transaction (MB5B) and change the code in that particular user exit. There will be many user exits for every Tcode, u have to select according to ur requirement.......

I will give code to find user exits...... Just run that code , it will ask for Tcode as input and display all available userexits for that Tcode....

report y_userexit.

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).

call transaction 'SMOD' and skip first screen.

copy this code in editor and execute........

all the best......

reward me if useful.............

with regards........