08-12-2015 11:38 AM
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'.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
CALL SCREEN 110.
*&---------------------------------------------------------------------*
*& 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.
*&---------------------------------------------------------------------*
*& 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
08-12-2015 3:30 PM
08-12-2015 3:30 PM
08-12-2015 7:38 PM
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
08-12-2015 7:45 PM
Screen field name is S_MTNR from your screenshot and you are passing S_MATNR to the function module.
Thanks,
Juwin
08-12-2015 11:02 PM
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
08-13-2015 3:59 PM
08-14-2015 9:52 AM
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.
08-14-2015 10:49 AM
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:
08-14-2015 11:02 AM
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.