Вы находитесь на странице: 1из 5

OO ALV – LED Status Light

TYPE-POOLS:ICON.
TABLES EKKO.

TYPES : BEGIN OF TY_PUR,


EBELN TYPE EKKO-EBELN,
BUKRS TYPE EKKO-BUKRS,
BSTYP TYPE EKKO-BSTYP,
BSART TYPE EKKO-BSART,
LIFNR TYPE EKKO-LIFNR,
SPRAS TYPE EKKO-SPRAS,
STAT TYPE ICON-ID, "Single Led Light
END OF TY_PUR.

DATA : GT_PUR TYPE STANDARD TABLE OF TY_PUR,


GS_PUR TYPE TY_PUR.

DATA : GR_ALV TYPE REF TO CL_GUI_ALV_GRID,


GR_CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

DATA : GT_FCAT TYPE LVC_T_FCAT,


GS_FCAT TYPE LVC_S_FCAT.

DATA : GS_LAY TYPE LVC_S_LAYO.

START-OF-SELECTION.

CALL SCREEN 69.

SELECT-OPTIONS S_EBELN FOR EKKO-EBELN.

*&---------------------------------------------------------------------*
*& Module STATUS_0069 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE STATUS_0069 OUTPUT.
SET PF-STATUS 'ST_69'.
* SET TITLEBAR 'xxx'.

SELECT EBELN
BUKRS
BSTYP
BSART
LIFNR
FROM EKKO
INTO CORRESPONDING FIELDS OF TABLE GT_PUR
WHERE EBELN IN S_EBELN.
FIELD-SYMBOLS : <FS_PUR> TYPE TY_PUR.

*----------- If...Endif ----------------------------------


* LOOP AT GT_PUR ASSIGNING <fS_PUR>.
* IF <FS_PUR>-BUKRS LE '1000'.
* <FS_PUR>-STAT = '@5B@'.
* ELSE.
* <FS_PUR>-STAT = '@5C@'.
* ENDIF.
** MODIFY GT_PUR FROM GS_PUR TRANSPORTING STAT.
* ENDLOOP.

*--------- Using Case...EndCase ---------------------------

LOOP AT GT_PUR ASSIGNING <FS_PUR>.


CASE <FS_PUR>-BUKRS.
WHEN '1000'.
<FS_PUR>-STAT = '@5B@'. "Green Led
WHEN OTHERS.
<FS_PUR>-STAT = '@5C@'. "Red Led
ENDCASE.
* MODIFY GT_PUR FROM GS_PUR TRANSPORTING STAT.
ENDLOOP.

CLEAR GS_FCAT.
GS_FCAT-COL_POS = '1'.
GS_FCAT-FIELDNAME = 'STAT'.
* GS_FCAT-EDIT = 'X'.
GS_FCAT-ICON = 'X'. "Icon
GS_FCAT-COLTEXT = 'STATUS'.
GS_FCAT-TOOLTIP = 'X'.
APPEND GS_FCAT TO GT_FCAT.

CLEAR GS_FCAT.
GS_FCAT-COL_POS = '2'.
GS_FCAT-FIELDNAME = 'EBELN'.
* GS_FCAT-EDIT = ''.
GS_FCAT-COLTEXT = 'PURC DOC'.
GS_FCAT-TOOLTIP = 'X'.
APPEND GS_FCAT TO GT_FCAT.

CLEAR GS_FCAT.
GS_FCAT-COL_POS = '3'.
GS_FCAT-FIELDNAME = 'BUKRS'.
GS_FCAT-EDIT = 'X'.
GS_FCAT-COLTEXT = 'COMPANY'.
GS_FCAT-TOOLTIP = ''.
APPEND GS_FCAT TO GT_FCAT.

CLEAR GS_FCAT.
GS_FCAT-COL_POS = '4'.
GS_FCAT-FIELDNAME = 'BSTYP'.
* GS_FCAT-EDIT = ''.
GS_FCAT-COLTEXT = 'DOC TYPE'.
GS_FCAT-TOOLTIP = ''.
APPEND GS_FCAT TO GT_FCAT.
CLEAR GS_FCAT.
GS_FCAT-COL_POS = '5'.
GS_FCAT-FIELDNAME = 'BSART'.
GS_FCAT-EDIT = 'X'.
GS_FCAT-COLTEXT = 'DOC'.
GS_FCAT-TOOLTIP = ''.
APPEND GS_FCAT TO GT_FCAT.

CLEAR GS_FCAT.
GS_FCAT-COL_POS = '6'.
GS_FCAT-FIELDNAME = 'LIFNR'.
GS_FCAT-EDIT = 'X'.
GS_FCAT-COLTEXT = 'VENDOR'.
GS_FCAT-TOOLTIP = 'X'.
APPEND GS_FCAT TO GT_FCAT.

CLEAR GS_LAY.
GS_LAY-ZEBRA = 'X'.
GS_LAY-CWIDTH_OPT = 'X'.
GS_LAY-INFO_FNAME = 'X'.

CREATE OBJECT GR_CONT


EXPORTING
* parent =
CONTAINER_NAME = 'CONT'.

CREATE OBJECT GR_ALV


EXPORTING
I_PARENT = GR_CONT.

CALL METHOD GR_ALV->SET_TABLE_FOR_FIRST_DISPLAY


EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
* i_structure_name =
* is_variant =
* i_save =
* i_default = 'X'
IS_LAYOUT = GS_LAY
* is_print =
* it_special_groups =
* it_toolbar_excluding =
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
IT_OUTTAB = GT_PUR
IT_FIELDCATALOG = GT_FCAT
* it_sort =
* it_filter =
* EXCEPTIONS
* invalid_parameter_combination = 1
* program_error = 2
* too_many_lines = 3
* others = 4
.
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. " STATUS_0069 OUTPUT


*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0069 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0069 INPUT.

CASE SY-UCOMM.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
LEAVE PROGRAM.
WHEN OTHERS.
"NOTHING
ENDCASE.

ENDMODULE. " USER_COMMAND_0069 INPUT

Output :
Next Page
|
|
V
Output :

Вам также может понравиться