04-23-2007 6:33 AM
hi all,
i have requirment in alv like.
i am displaying output using alv list display. after displaying i have my own pf status here. in this i have one button called 'POSITION'.when i click this button it will call one screen say 101. in this scren i have 3 fields like appln,appln number,partner number. when i enter any vale it will search the entry in the ouput and keep the cursor there. i wrote the logic here. because of this logic as follws.
after filling the vales in screen 101 when i press ok i wrote code as follws. my original internal table is it_secobjects. using this table i am displaying output.
my code as follows.
refresh : it_secobjects. <- this is my original internal table.
select single * from zuser_secobjects
into w_itab1
where appln = w_apln and
appln_user = w_user and
appln_partner = w_partner and
partner_type = w_ptype.
if sy-subrc = 0.
append w_itab1 to it_secobjects.
clear it_secobjects.
clear w_itab1.
perform exclude_pfstatus.
set pf-status 'MAIN'.
perform alvlist_disply.
perform clear.
else.
message i000 with text-i16.
perform clear.
leave to screen 0.
endif.
what happend it will search that entry and displpay that entry in a separate screen not in current screen. so please tell me how to write the logic for this.
thanks in advance.
maheedhar.t
04-23-2007 6:40 AM
Hi Maheedhar,
Once you find the required entry, you again calling the subroutine "perform alvlist_disply" so this will create one more list. thats why it is showing in another screen instead of displaying. So Use the IS-Selfield-refresh = 'x' in the usercommand subroutines and update the your internal table with your serach cretari then you will see the result . you need not to call the subruotine again to display the ALV.
Please let me know which methodoligy you are using for alv display ie ALV FM or CL_SALV* or CL_GUI*. Depending on that i will provide the answer.
Warm Regards,
Vijay
04-23-2007 6:40 AM
Hi Maheedhar,
Once you find the required entry, you again calling the subroutine "perform alvlist_disply" so this will create one more list. thats why it is showing in another screen instead of displaying. So Use the IS-Selfield-refresh = 'x' in the usercommand subroutines and update the your internal table with your serach cretari then you will see the result . you need not to call the subruotine again to display the ALV.
Please let me know which methodoligy you are using for alv display ie ALV FM or CL_SALV* or CL_GUI*. Depending on that i will provide the answer.
Warm Regards,
Vijay
04-23-2007 6:42 AM
hi,
i am using REUSE_ALV_LIST_DISPLAY. using this i am displaying output.
thanks,
maheedhar.t
04-23-2007 6:43 AM
hi,
if possible can you please send me the code so i can easil undestand where exactly i made a mistake.
thanks,
maheedhar.t
04-23-2007 6:42 AM
hi,
if you are using the standard function module for the ALV Display it will move to new screen only,
better you put a<b> table control</b> in your Current screen and then populate that table control.
Reg,
Hariharan