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

Facing problem in creating list box in module pool

Former Member
0 Likes
2,184

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
Read only

Former Member
0 Likes
2,151

Hi,

  Code VRM set Values in PBO section...

Thanks,

Vijay SR

8 REPLIES 8
Read only

Former Member
0 Likes
2,152

Hi,

  Code VRM set Values in PBO section...

Thanks,

Vijay SR

Read only

0 Likes
2,151

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

Read only

Juwin
Active Contributor
0 Likes
2,151

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

Thanks,

Juwin

Read only

0 Likes
2,150

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

Read only

0 Likes
2,150

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

Read only

0 Likes
2,150

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.

Read only

0 Likes
2,150

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:

Read only

0 Likes
2,150

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.