Application Development and Automation 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: 
Read only

Dropdown List in report program

Former Member
0 Likes
1,131

Hi

Anybody send me the Dropdown list coding for a parameter in s selection-screen of a normal report program without using a module-program

regards

paul

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,068
TYPE-POOLS: VRM.
TABLES SPFLI.
TABLES SSCRFIELDS.
DATA flag.

DATA: NAME TYPE VRM_ID,
      LIST TYPE VRM_VALUES,
      VALUE LIKE LINE OF LIST.

PARAMETERS PS_PARM LIKE SPFLI-CARRID  AS LISTBOX VISIBLE LENGTH 10
USER-COMMAND
fcodex.

data: i_spfli type spfli occurs 0 with header line.


PARAMETERS PQ_PARAM LIKE SPFLI-connid AS LISTBOX VISIBLE LENGTH 15
USER-COMMAND
fcodey.

INITIALIZATION.

  NAME = 'PS_PARM'.
  DATA T TYPE I VALUE 0.
 SELECT DISTINCT carrid into corresponding fields of table i_spfli FROM
SPFLI.
  loop at i_spfli.
    VALUE-KEY = i_spfli-CARRID.
    VALUE-TEXT = i_spfli-CARRID.
    APPEND VALUE TO LIST.
  endloop.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = NAME
      VALUES = LIST.


AT SELECTION-SCREEN.
  if sy-ucomm eq 'FCODEX'.
    REFRESH LIST.
    CLEAR LIST.
    PQ_PARAM = ' '.
    NAME = 'PQ_PARAM'.
    SELECT  * FROM SPFLI WHERE CARRID = PS_PARM.
      VALUE-KEY = SPFLI-connid.
      VALUE-TEXT = SPFLI-connid.
      APPEND VALUE TO LIST.
    ENDSELECT.
  endif.



AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF SY-UCOMM NE 'FCODEX' OR SY-UCOMM NE 'FCODEY'.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          ID     = NAME
          VALUES = LIST.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.
  clear i_spfli.
  refresh i_spfli.
select * into table i_spfli from spfli where carrid = ps_parm and connid
 = pq_param.

  loop at i_spfli.
    WRITE: / 'CITY FROM:', I_SPFLI-CITYFROM, 'CITY TO :',I_SPFLI-CITYTO,
   'DEPARTURE TIME :', I_SPFLI-DEPTIME.
  ENDLOOP.
7 REPLIES 7
Read only

Former Member
0 Likes
1,068

Hi paul,

1. simple

2. Just copy paste in new program.

it will show in list box.

jan

feb

3.

REPORT abc.

TYPE-POOLS : vrm.

DATA : v TYPE vrm_values.

DATA : vw LIKE LINE OF v.

PARAMETERS : a(10) TYPE c AS LISTBOX VISIBLE LENGTH 10.

INITIALIZATION.

vw-key = '1'.

vw-text = 'Jan'.

APPEND vw TO v.

vw-key = '2'.

vw-text = 'Feb'.

APPEND vw TO v.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = 'A'

values = v

EXCEPTIONS

id_illegal_name = 1

OTHERS = 2.

regards,

amit m.

Read only

Former Member
0 Likes
1,068

hi paul,

a sample

you'll have to use the TYPE-POOLS : VRM..

and then the FM <b>VRM_SET_VALUES</b>

 REPORT  ZSATLISTBOX.
TYPE-POOLS: VRM.

DATA: NAME TYPE VRM_ID,
LIST TYPE VRM_VALUES,
VALUE LIKE LINE OF LIST.

PARAMETERS: PS_PARM(10) AS LISTBOX VISIBLE LENGTH 10.

AT SELECTION-SCREEN OUTPUT.

NAME = 'PS_PARM'.
VALUE-KEY = '1'.

VALUE-TEXT = 'LINE 1'.
APPEND VALUE TO LIST. VALUE-KEY = '2'.

VALUE-TEXT = 'LINE 2'.
APPEND VALUE TO LIST.

CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.

START-OF-SELECTION.
WRITE: / 'PARAMETER:', PS_PARM.

regards

satesh

Read only

Former Member
0 Likes
1,069
TYPE-POOLS: VRM.
TABLES SPFLI.
TABLES SSCRFIELDS.
DATA flag.

DATA: NAME TYPE VRM_ID,
      LIST TYPE VRM_VALUES,
      VALUE LIKE LINE OF LIST.

PARAMETERS PS_PARM LIKE SPFLI-CARRID  AS LISTBOX VISIBLE LENGTH 10
USER-COMMAND
fcodex.

data: i_spfli type spfli occurs 0 with header line.


PARAMETERS PQ_PARAM LIKE SPFLI-connid AS LISTBOX VISIBLE LENGTH 15
USER-COMMAND
fcodey.

INITIALIZATION.

  NAME = 'PS_PARM'.
  DATA T TYPE I VALUE 0.
 SELECT DISTINCT carrid into corresponding fields of table i_spfli FROM
SPFLI.
  loop at i_spfli.
    VALUE-KEY = i_spfli-CARRID.
    VALUE-TEXT = i_spfli-CARRID.
    APPEND VALUE TO LIST.
  endloop.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      ID     = NAME
      VALUES = LIST.


AT SELECTION-SCREEN.
  if sy-ucomm eq 'FCODEX'.
    REFRESH LIST.
    CLEAR LIST.
    PQ_PARAM = ' '.
    NAME = 'PQ_PARAM'.
    SELECT  * FROM SPFLI WHERE CARRID = PS_PARM.
      VALUE-KEY = SPFLI-connid.
      VALUE-TEXT = SPFLI-connid.
      APPEND VALUE TO LIST.
    ENDSELECT.
  endif.



AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF SY-UCOMM NE 'FCODEX' OR SY-UCOMM NE 'FCODEY'.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          ID     = NAME
          VALUES = LIST.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.
  clear i_spfli.
  refresh i_spfli.
select * into table i_spfli from spfli where carrid = ps_parm and connid
 = pq_param.

  loop at i_spfli.
    WRITE: / 'CITY FROM:', I_SPFLI-CITYFROM, 'CITY TO :',I_SPFLI-CITYTO,
   'DEPARTURE TIME :', I_SPFLI-DEPTIME.
  ENDLOOP.
Read only

Former Member
0 Likes
1,068

HI paul

try this

TYPE-POOLS: VRM.

TABLES SPFLI.

TABLES SSCRFIELDS.

DATA flag.

DATA: NAME TYPE VRM_ID,

LIST TYPE VRM_VALUES,

VALUE LIKE LINE OF LIST.

PARAMETERS PS_PARM LIKE SPFLI-CARRID AS LISTBOX VISIBLE LENGTH 10

USER-COMMAND

fcodex.

data: i_spfli type spfli occurs 0 with header line.

PARAMETERS PQ_PARAM LIKE SPFLI-connid AS LISTBOX VISIBLE LENGTH 15

USER-COMMAND

fcodey.

*DS AS CHECKBOX USER-COMMAND FLAG.

INITIALIZATION.

NAME = 'PS_PARM'.

DATA T TYPE I VALUE 0.

SELECT DISTINCT carrid into corresponding fields of table i_spfli FROM

SPFLI.

loop at i_spfli.

VALUE-KEY = i_spfli-CARRID.

VALUE-TEXT = i_spfli-CARRID.

APPEND VALUE TO LIST.

endloop.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = NAME

VALUES = LIST.

AT SELECTION-SCREEN.

if sy-ucomm eq 'FCODEX'.

REFRESH LIST.

CLEAR LIST.

PQ_PARAM = ' '.

NAME = 'PQ_PARAM'.

SELECT * FROM SPFLI WHERE CARRID = PS_PARM.

VALUE-KEY = SPFLI-connid.

VALUE-TEXT = SPFLI-connid.

APPEND VALUE TO LIST.

ENDSELECT.

endif.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF SY-UCOMM NE 'FCODEX' OR SY-UCOMM NE 'FCODEY'.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = NAME

VALUES = LIST.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

START-OF-SELECTION.

clear i_spfli.

refresh i_spfli.

select * into table i_spfli from spfli where carrid = ps_parm and connid

= pq_param.

loop at i_spfli.

WRITE: / 'CITY FROM:', I_SPFLI-CITYFROM, 'CITY TO :',I_SPFLI-CITYTO,

'DEPARTURE TIME :', I_SPFLI-DEPTIME.

regards

kishore

Message was edited by: Harikishore Sreenivasulu

Read only

Former Member
0 Likes
1,068

<b><u>Dropdown list boxes</u></b>

REPORT DEMO_DYNPRO_DROPDOWN_LISTBOX.

TYPE-POOLS VRM.

DATA: NAME TYPE VRM_ID,

LIST TYPE VRM_VALUES,

VALUE LIKE LINE OF LIST.

DATA: WA_SPFLI TYPE SPFLI,

OK_CODE LIKE SY-UCOMM,

SAVE_OK LIKE SY-UCOMM.

TABLES DEMOF4HELP.

NAME = 'DEMOF4HELP-CONNID'.

CALL SCREEN 100.

MODULE CANCEL INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE INIT_LISTBOX OUTPUT.

CLEAR DEMOF4HELP-CONNID.

SELECT CONNID CITYFROM CITYTO DEPTIME

FROM SPFLI

INTO CORRESPONDING FIELDS OF WA_SPFLI

WHERE CARRID = DEMOF4HELP-CARRIER2.

VALUE-KEY = WA_SPFLI-CONNID.

WRITE WA_SPFLI-DEPTIME TO VALUE-TEXT

USING EDIT MASK '__:__:__'.

CONCATENATE VALUE-TEXT

WA_SPFLI-CITYFROM

WA_SPFLI-CITYTO

INTO VALUE-TEXT SEPARATED BY SPACE.

APPEND VALUE TO LIST.

ENDSELECT.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = NAME

VALUES = LIST.

ENDMODULE.

MODULE USER_COMMAND_100.

SAVE_OK = OK_CODE.

CLEAR OK_CODE.

IF SAVE_OK = 'CARRIER'

AND NOT DEMOF4HELP-CARRIER2 IS INITIAL.

LEAVE TO SCREEN 200.

ELSE.

SET SCREEN 100.

ENDIF.

ENDMODULE.

MODULE USER_COMMAND_200.

SAVE_OK = OK_CODE.

CLEAR OK_CODE.

IF SAVE_OK = 'SELECTED'.

MESSAGE I888(BCTRAIN) WITH TEXT-001 DEMOF4HELP-CARRIER2

DEMOF4HELP-CONNID.

ENDIF.

ENDMODULE.

Read only

hymavathi_oruganti
Active Contributor
0 Likes
1,068

DATA: lv_vrm_id TYPE vrm_id,

lt_vrm_values TYPE vrm_values,

ls_vrm_values LIKE LINE OF lt_vrm_values.

ls_vrm_values-key = '1'.

ls_vrm_values-text = 'one'.

APPEND ls_vrm_values TO lt_vrm_values.

ls_vrm_values-key = '2'.

ls_vrm_values-text = 'two'.

APPEND ls_vrm_values TO lt_vrm_values.

AT SELECTION-SCREEN ON VALUE REQUEST FOR <PARAM>

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = lv_vrm_id

values = lt_vrm_values.

Read only

Former Member
0 Likes
1,068

Hi,

1) On INITIALIZE event,

fill an internal table for the values of required field. (for ex:t_recall_no).

2) Use function module 'F4IF_INT_TABLE_VALUE_REQUEST'.

The event should be AT SELECTION-SCREEN ON VALUE REQUEST FOR PARAMETER_NAME.

Sample Code.

-


at selection-screen on value-request for p_fcno.

call function 'F4IF_INT_TABLE_VALUE_REQUEST'

exporting

retfield = 'ZZRECALLNO'

dynpprog = sy-repid

dynpnr = '1000'

dynprofield = 'P_FCNO'

window_title = 'Factory Campaign List'

value_org = 'S'

tables

value_tab = t_recall_no

exceptions

parameter_error = 1

no_values_found = 2

others = 3.

if sy-subrc <> 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.