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

select options

Former Member
0 Likes
634

i want to list all possible values for my select options for a user defined table. in standard table it gets automaticaly loaded., how abt tables created by user

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
557

Hello,



REPORT  ztest22                                 .

DATA: BEGIN OF values1,
 matnr LIKE mara-matnr,
 maktx LIKE makt-maktx,
END OF values1.

DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr.

DATA: dynpro_values TYPE dynpread OCCURS 1 WITH HEADER LINE,
      field_value LIKE LINE OF dynpro_values.

DATA: values LIKE TABLE OF values1 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK b1.

select-options: s_date for sy-datum.

PARAMETERS: p_matnr LIKE mara-matnr,
            p_makt  LIKE makt-maktx.

SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_makt.

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = progname
      dynumb               = dynnum
    TABLES
      dynpfields           = dynpro_values
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      invalid_parameter    = 7
      undefind_error       = 8
      double_conversion    = 9
      stepl_not_found      = 10
      OTHERS               = 11.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  SELECT p~matnr q~maktx INTO
*CORRESPONDING FIELDS OF
  TABLE values
  FROM ( mara AS p INNER JOIN makt AS q ON p~matnr = q~matnr )
  WHERE p~matnr = dynpro_values-fieldvalue.
*
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
* DDIC_STRUCTURE = ''
  retfield = 'MAKTX'
* PVALKEY = ' '
  dynpprog = progname
  dynpnr = dynnum
  dynprofield = 'P_MAKT'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
  value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
  TABLES
  value_tab = values
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING =
  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.

Instead of SAP tabke use ZTABLE in the query accordingly.

Regs,

Venkat

4 REPLIES 4
Read only

Former Member
0 Likes
557

Hi Uma,

I have answered this question in your earlier query .

use the reference code .

cheers.

santosh.

Read only

Former Member
0 Likes
557

It depends on the type of variable that you assign for the select option.

You have to define the possible selection range in the definition of the Data Element or Domain of that particular variable. Award me if it is usefull.

Read only

Former Member
0 Likes
558

Hello,



REPORT  ztest22                                 .

DATA: BEGIN OF values1,
 matnr LIKE mara-matnr,
 maktx LIKE makt-maktx,
END OF values1.

DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr.

DATA: dynpro_values TYPE dynpread OCCURS 1 WITH HEADER LINE,
      field_value LIKE LINE OF dynpro_values.

DATA: values LIKE TABLE OF values1 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK b1.

select-options: s_date for sy-datum.

PARAMETERS: p_matnr LIKE mara-matnr,
            p_makt  LIKE makt-maktx.

SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_makt.

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = progname
      dynumb               = dynnum
    TABLES
      dynpfields           = dynpro_values
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      invalid_parameter    = 7
      undefind_error       = 8
      double_conversion    = 9
      stepl_not_found      = 10
      OTHERS               = 11.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  SELECT p~matnr q~maktx INTO
*CORRESPONDING FIELDS OF
  TABLE values
  FROM ( mara AS p INNER JOIN makt AS q ON p~matnr = q~matnr )
  WHERE p~matnr = dynpro_values-fieldvalue.
*
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
* DDIC_STRUCTURE = ''
  retfield = 'MAKTX'
* PVALKEY = ' '
  dynpprog = progname
  dynpnr = dynnum
  dynprofield = 'P_MAKT'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
  value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
  TABLES
  value_tab = values
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING =
  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.

Instead of SAP tabke use ZTABLE in the query accordingly.

Regs,

Venkat

Read only

Former Member
0 Likes
557

hi,

the ways in which u can have POV (possible values help F4)

<b>1</b>. create search help and give it in dataelement.

<b>2</b>. in domain give check table

<b>3</b>. programmatically if u want u can use Function Module F4IF_INT_TABLE_VALUE_REQUEST. in this FM, what we do is list of values are put in an internal table and ttach it to screen field name i.e select-options in this case.

<b>4</b>. u can assign search help name in select-option declaration in ABAP program directly.

<b>SELECT-OPTIONS LIKE ZTABLE-EMPNO MATCHCODE OBJECT <mat>.</b>

reward if found useful....