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: 

Facing problem in creating list box in module pool

Former Member
0 Kudos

Hello

I am facing problem in creating list box in module pool.

Please have a look.

The problem is when i am executing the program it's not showing the list in the list box not even the name in the list box.

Awaiting your response.

Thanks in Advance

*& Include MZS13TOP Module poo*

*& *

*&-------------------------------------------

*&---------------------------------------------------------------------*

*& Include MZS13TOP Module poo*

*& *

*&---------------------------------------------------------------------*

PROGRAM  SAPMZS13.

TYPE-POOLS : VRM.

TABLES: MARA.

TYPES: BEGIN OF TY_MARA,

MATNR TYPE MARA-MATNR,

ERSDA TYPE MARA-ERSDA,

ERNAM TYPE MARA-ERNAM,

END OF TY_MARA.

DATA: LIST  TYPE VRM_VALUES,

      VALUE LIKE LINE OF LIST.

DATA: S_MATNR TYPE MARA-MATNR.

DATA: itab TYPE TABLE OF TY_MARA,

wa TYPE TY_MARA.

CONTROLS: TC TYPE TABLEVIEW USING SCREEN 100.

===============================================================

INCLUDE MZS13TOP                                .    " global Data

* INCLUDE MZS13O01                                .  " PBO-Modules     *

* INCLUDE MZS13I01                                .  " PAI-Modules     *

* INCLUDE MZS13F01                                .  " FORM-Routines   *

*&---------------------------------------------------------------------*

*&      Module  STATUS_0100 OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0100 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

  1. ENDMODULE. " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

CALL SCREEN 110.

  1. ENDCASE.

  1. ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0110 INPUT.

VALUE-KEY = '1'.

VALUE-TEXT = 'MATNR'.

APPEND VALUE TO LIST.

CALL FUNCTION 'VRM_SET_VALUES'

  EXPORTING

    ID                    = 'S_MATNR'

    VALUES                = LIST

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.

  CASE S_MATNR.

  WHEN '1'.

  SELECT MATNR ERSDA ERNAM FROM MARA INTO TABLE ITAB WHERE MATNR = S_MATNR.

WHEN 'DISP'.

CALL SCREEN 100.

ENDCASE.

  1. ENDMODULE. " USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*&      Module  STATUS_0110 OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0110 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0110  OUTPUT


100:





PROCESS BEFORE OUTPUT.

MODULE STATUS_0100.

LOOP AT ITAB INTO WA WITH CONTROL TC.


ENDLOOP.

PROCESS AFTER INPUT.

LOOP AT ITAB.

ENDLOOP.



  MODULE USER_COMMAND_0100.

110:

output:

110:

1

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

  Code VRM set Values in PBO section...

Thanks,

Vijay SR

8 REPLIES 8

Former Member
0 Kudos

Hi,

  Code VRM set Values in PBO section...

Thanks,

Vijay SR

0 Kudos

Hello

I have tried that .Please check the code below but still not working what to do . Please advice.

INCLUDE MZS13TOP                                .    " global Data

* INCLUDE MZS13O01                                .  " PBO-Modules     *

* INCLUDE MZS13I01                                .  " PAI-Modules     *

* INCLUDE MZS13F01                                .  " FORM-Routines   *

*&---------------------------------------------------------------------*

*&      Module  STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0100 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

CALL SCREEN 110.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0110 INPUT.

CASE SY-UCOMM.

WHEN 'DISP'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*&      Module  STATUS_0110  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0110 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

VALUE-KEY = '1'.

VALUE-TEXT = 'MATNR'.

APPEND VALUE TO LIST.

CALL FUNCTION 'VRM_SET_VALUES'

  EXPORTING

    ID                    = 'S_MATNR'

    VALUES                = LIST

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.

  CASE S_MATNR.

  WHEN '1'.

  SELECT MATNR ERSDA ERNAM FROM MARA INTO TABLE ITAB WHERE MATNR =

S_MATNR.

ENDCASE.

ENDMODULE.                 " STATUS_0110  OUTPUT

Juwin
Active Contributor
0 Kudos

Screen field name is S_MTNR from your screenshot and you are passing S_MATNR to the function module.

Thanks,

Juwin

0 Kudos

Thank for your response.

Now list box is working but s_matnr (value-key = 'S_MATNR') is showing two times and 100 screen (table control) is empty no data is there.

110:

100:

INCLUDE MZS13TOP                                .    " global Data

* INCLUDE MZS13O01                                .  " PBO-Modules     *

* INCLUDE MZS13I01                                .  " PAI-Modules     *

* INCLUDE MZS13F01                                .  " FORM-Routines   *

*&---------------------------------------------------------------------*

*&      Module  STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0100 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

*START-OF-SELECTION.

ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

CALL SCREEN 110.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0110 INPUT.

CASE SY-UCOMM.

WHEN 'DISP'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*&      Module  STATUS_0110  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0110 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

VALUE-KEY = 'S_MATNR'.

*VALUE-TEXT = 'MATNR'.

APPEND VALUE TO LIST.

CALL FUNCTION 'VRM_SET_VALUES'

  EXPORTING

    ID                    = 'S_MATNR'

    VALUES                = LIST

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.

  CASE S_MATNR.

  WHEN 'DISP'.

  SELECT MATNR ERSDA ERNAM FROM MARA INTO TABLE ITAB.

*  WHERE MATNR = S_MATNR.

LOOP AT ITAB INTO WA.

WRITE: WA-MATNR,

WA-ERSDA,

WA-ERNAM.

ENDLOOP.

ENDCASE.

ENDMODULE.                 " STATUS_0110  OUTPUT

0 Kudos

REFRESH list, else 2, 3, 4 values...

0 Kudos

Hi,

Try,

if list[] is initial.

value-key = 'S_MATNR'.

value-text  = MATNR'.

append value to list.

endif.

To avoid blank space.

In  field Attributes  check the  input (options) as required.

Hope it helpful,

Regards,

Venkat.

0 Kudos

Hi

not getting value on table control after clicking on display button.

please advice.

INCLUDE MZS13TOP                                .    " global Data

* INCLUDE MZS13O01                                .  " PBO-Modules     *

* INCLUDE MZS13I01                                .  " PAI-Modules     *

* INCLUDE MZS13F01                                .  " FORM-Routines   *

*&---------------------------------------------------------------------*

*&      Module  STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0100 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

* CASE SY-UCOMM.

*  WHEN '1'.

ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

CALL SCREEN 110.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT

*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE USER_COMMAND_0110 INPUT.

CASE SY-UCOMM.

WHEN 'DISP'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE.                 " USER_COMMAND_0110  INPUT

*&---------------------------------------------------------------------*

*&      Module  STATUS_0110  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

MODULE STATUS_0110 OUTPUT.

*  SET PF-STATUS 'xxxxxxxx'.

*  SET TITLEBAR 'xxx'.

if LIST[] is initial.

VALUE-KEY = '1'.

VALUE-TEXT = 'MATNR'.

APPEND VALUE TO LIST.

ENDIF.

CALL FUNCTION 'VRM_SET_VALUES'

  EXPORTING

    ID                    = 'S_MATNR'

    VALUES                = LIST

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.

REFRESH LIST.

CASE S_MATNR.

WHEN '1'.

  SELECT MATNR ERSDA ERNAM FROM MARA INTO CORRESPONDING FIELDS OF TABLE

ITAB WHERE MATNR = S_MATNR.

*  WHERE MATNR = S_MATNR.

LOOP AT ITAB INTO WA.

WRITE:/ WA-MATNR,

WA-ERSDA,

WA-ERNAM.

ENDLOOP.

ENDCASE.

ENDMODULE.                 " STATUS_0110  OUTPUT

110:

100:

0 Kudos

Hi,

Write the select query on PAI.

WHEN 'DISP'.

Check the field s_matnr contains values or not  in debugger.

" Select query.

Hope it helpful,

Regards,

Venkat.