08-22-2007 9:23 AM
Hi all,
I have a specific requirement in which i need to create a Personal List in the F4 help, which is not difficult.
Now, the challenge is to roll out this personal list created for one user to many other users so that whenver the users do a F4, it is the personal list that pops up rather than the whole list.
How is this acheivable? Is it done by the Basis? Pointers please.
Thanks,
Vijay.
08-22-2007 9:35 AM
Popping it up since it is an Urgent requirement.
Apologies for the same.
08-22-2007 9:45 AM
Hi Vijay,
Try this code
PARAMETER : p_vbeln TYPE vbak-vbeln.
PARAMETER : p_posnr TYPE vbap-posnr.
DATA : BEGIN OF it_vbap OCCURS 0,
posnr TYPE vbap-posnr,
END OF it_vbap.
DATA : it_return TYPE STANDARD TABLE OF ddshretval INITIAL SIZE 0,
is_return TYPE ddshretval.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_posnr.
SELECT posnr FROM vbap
INTO TABLE it_vbap
WHERE vbeln = p_vbeln.
IF sy-subrc = 0.
SORT it_vbap BY posnr.
ENDIF.
IF NOT it_vbap[] IS INITIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'P_POSNR'
TABLES
value_tab = it_vbap
return_tab = it_return.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
READ TABLE it_return INTO is_return
WITH KEY fieldname = 'F0002'.
IF sy-subrc = 0.
p_posnr = is_return-fieldval.
CLEAR : is_return.
ENDIF.
ENDIF.
ENDIF.
Regards
Gopi