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: 

module pool

Former Member
0 Kudos

i have one field (list box) 'division' on the screen 'vbap-zzdivision' in which i want to populate values from the database table, how to do that? can anybody give me syntax of the query to be written in PBO?

thanx

1 ACCEPTED SOLUTION

former_member223537
Active Contributor
0 Kudos

Hi,

Please refer standard program "rsdemo_dropdown_listbox".


REPORT rsdemo_dropdown_listbox .

DATA  init.
TABLES scarr.

TABLES spfli.
TABLES sflight.
TABLES sbook.
DATA  save_ok LIKE sy-ucomm.
DATA  ok_code LIKE sy-ucomm.

CALL SCREEN 100.

*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  IF init is initial.
    SET PF-STATUS 'GRUND'.
    SET TITLEBAR '100'.

* preset of listboxes
    spfli-carrid = 'LH'.
    sflight-carrid = 'LH'.
    sbook-carrid = 'LH'.
  ENDIF.

ENDMODULE.                             " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  SET_DATA_CARRID  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE set_data_carrid INPUT.
  TYPES: BEGIN OF type_carrid,
         carrid LIKE spfli-carrid,
         carrname LIKE scarr-carrname,
         END OF type_carrid.

  DATA itab_carrid TYPE STANDARD TABLE OF type_carrid WITH HEADER LINE.

  SELECT carrid carrname
                FROM scarr
                INTO CORRESPONDING FIELDS OF TABLE itab_carrid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            retfield        = 'CARRID'
            value_org       = 'S'
       TABLES
            value_tab       = itab_carrid
       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.


ENDMODULE.                             " SET_DATA_CARRID  INPUT
*&---------------------------------------------------------------------*
*&      Module  FILL_CARRID  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE fill_carrid OUTPUT.
* Do not use this process (but it works)

  TYPE-POOLS vrm.
  DATA values TYPE vrm_values WITH HEADER LINE.

  IF init is initial.
    SELECT * FROM scarr.
      values-text = scarr-carrname.
      values-key = scarr-carrid.
      APPEND values.
    ENDSELECT.
    CALL FUNCTION 'VRM_SET_VALUES'
         EXPORTING
              id              = 'SBOOK-CARRID'
              values          = values[]
         EXCEPTIONS
              id_illegal_name = 1
              OTHERS          = 2.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

  ENDIF.
  scarr-carrid = 'LH'.
  init = 'X'.
ENDMODULE.                             " FILL_CARRID  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  EVENT_FROM_LISTBOX  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE event_from_listbox INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'LISTBOX_2'.
      MESSAGE i300(eu) WITH save_ok.
    WHEN 'LISTBOX_3'.
      MESSAGE i300(eu) WITH save_ok.
  ENDCASE.
ENDMODULE.                             " EVENT_FROM_LISTBOX  INPUT
*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE exit INPUT.
  LEAVE PROGRAM.
ENDMODULE.                             " EXIT  INPUT

5 REPLIES 5

former_member223537
Active Contributor
0 Kudos

Hi,

Please refer standard program "rsdemo_dropdown_listbox".


REPORT rsdemo_dropdown_listbox .

DATA  init.
TABLES scarr.

TABLES spfli.
TABLES sflight.
TABLES sbook.
DATA  save_ok LIKE sy-ucomm.
DATA  ok_code LIKE sy-ucomm.

CALL SCREEN 100.

*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  IF init is initial.
    SET PF-STATUS 'GRUND'.
    SET TITLEBAR '100'.

* preset of listboxes
    spfli-carrid = 'LH'.
    sflight-carrid = 'LH'.
    sbook-carrid = 'LH'.
  ENDIF.

ENDMODULE.                             " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  SET_DATA_CARRID  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE set_data_carrid INPUT.
  TYPES: BEGIN OF type_carrid,
         carrid LIKE spfli-carrid,
         carrname LIKE scarr-carrname,
         END OF type_carrid.

  DATA itab_carrid TYPE STANDARD TABLE OF type_carrid WITH HEADER LINE.

  SELECT carrid carrname
                FROM scarr
                INTO CORRESPONDING FIELDS OF TABLE itab_carrid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            retfield        = 'CARRID'
            value_org       = 'S'
       TABLES
            value_tab       = itab_carrid
       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.


ENDMODULE.                             " SET_DATA_CARRID  INPUT
*&---------------------------------------------------------------------*
*&      Module  FILL_CARRID  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE fill_carrid OUTPUT.
* Do not use this process (but it works)

  TYPE-POOLS vrm.
  DATA values TYPE vrm_values WITH HEADER LINE.

  IF init is initial.
    SELECT * FROM scarr.
      values-text = scarr-carrname.
      values-key = scarr-carrid.
      APPEND values.
    ENDSELECT.
    CALL FUNCTION 'VRM_SET_VALUES'
         EXPORTING
              id              = 'SBOOK-CARRID'
              values          = values[]
         EXCEPTIONS
              id_illegal_name = 1
              OTHERS          = 2.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

  ENDIF.
  scarr-carrid = 'LH'.
  init = 'X'.
ENDMODULE.                             " FILL_CARRID  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  EVENT_FROM_LISTBOX  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE event_from_listbox INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'LISTBOX_2'.
      MESSAGE i300(eu) WITH save_ok.
    WHEN 'LISTBOX_3'.
      MESSAGE i300(eu) WITH save_ok.
  ENDCASE.
ENDMODULE.                             " EVENT_FROM_LISTBOX  INPUT
*&---------------------------------------------------------------------*
*&      Module  EXIT  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE exit INPUT.
  LEAVE PROGRAM.
ENDMODULE.                             " EXIT  INPUT

amit_khare
Active Contributor
0 Kudos

Check this standard program for reference -

DEMO_DYNPRO_DROPDOWN_LISTBOX

Regards,

Amit

Reward all helpful replies.

varma_narayana
Active Contributor
0 Kudos

Hi..

To fill the Values into Listbox in PBO module use this Logic.

REFRESH list.

LOOP AT r_werks.

name = 'PLANT'.

value-key = r_werks-low.

value-text = r_werks-low.

APPEND value TO list.

ENDLOOP.

<b> CALL FUNCTION 'VRM_SET_VALUES'

</b> EXPORTING

id = name

values = list.

CLEAR plant.

REWARD IF HELPFUL.

Former Member
0 Kudos

Hi,

Try like this.

In flow Logic.

PROCESS ON VALUE-REQUEST.

FIELD ifmtp-form_type MODULE fm_drop.

MODULE fm_drop INPUT.

CLEAR ifmtp.

REFRESH ifmtp.

ifmtp-form_type = 'C'.

APPEND ifmtp.

ifmtp-form_type = 'F'.

APPEND ifmtp.

ifmtp-form_type = 'H'.

APPEND ifmtp.

(If u have data from Dictionary that u write select statement and append data in ifmtp table).

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'FORM_TYPE'

value_org = 'S'

TABLES

value_tab = ifmtp.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDMODULE. " fm_drop INPUT

in TOP Module

Declare like this.

DATA : BEGIN OF ifmtp OCCURS 0,

form_type LIKE zform_track_mast-form_type,

END OF ifmtp.

ifmtp-form_type -


Field name on screen

fm_drop -


Module Name

regards,

Omkar.

Former Member
0 Kudos

done... used value table concept