Skip to Content
0
Former Member
Jun 19, 2008 at 09:28 AM

ALV USING ABAP OBJECTS

37 Views

HI ALL.

WHY I AM NOT ABLE TO COLOUR u2018LIFNRu2019 COLUMN USING FIELDCATALOG(FCAT).

HERE IS THE SOURCE CODE.

PLZ HELP ME OUT.

&----


*& Module pool ZOOPSDEMO *

*& *

&----


*& *

*& *

&----


PROGRAM ZOOPSDEMO .

DATA: BEGIN OF WA.

INCLUDE STRUCTURE LFA1.

DATA: LINE_COLOR(4) TYPE C,

END OF WA.

DATA ITAB LIKE TABLE OF WA.

DATA FCAT TYPE LVC_T_FCAT WITH HEADER LINE.

DATA: WA1 LIKE EKKO,

JTAB LIKE TABLE OF EKKO.

DATA: WA2 LIKE EKPO,

KTAB LIKE TABLE OF EKPO.

DATA: WA_LAYOUT TYPE LVC_S_LAYO.

DATA: O_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

O_GRID TYPE REF TO CL_GUI_ALV_GRID.

CLASS E_EVENTS DEFINITION.

PUBLIC SECTION.

METHODS:

DC FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID IMPORTING E_ROW E_COLUMN.

ENDCLASS.

CLASS E_EVENTS IMPLEMENTATION.

METHOD DC.

IF E_COLUMN = 'LIFNR'.

READ TABLE ITAB INTO WA INDEX E_ROW-INDEX .

SELECT * FROM EKKO INTO TABLE JTAB UP TO 140 ROWS WHERE LIFNR = WA-LIFNR

.

SET PARAMETER ID 'LIF' FIELD WA-LIFNR.

CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'EKKO'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

CHANGING

IT_OUTTAB = JTAB.

  • IT_FIELDCATALOG =

  • 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.

ENDIF.

IF E_COLUMN = 'EBELN'.

READ TABLE JTAB INTO WA1 INDEX E_ROW-INDEX.

SELECT * FROM EKPO INTO TABLE KTAB UP TO 100 ROWS WHERE EBELN =

WA1-EBELN.

CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'EKPO'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

CHANGING

IT_OUTTAB = KTAB.

  • IT_FIELDCATALOG =

  • 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.

ENDIF.

ENDMETHOD.

ENDCLASS.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

CREATE OBJECT O_CONTAINER

EXPORTING

CONTAINER_NAME = 'CONTAINER'.

CREATE OBJECT O_GRID

EXPORTING

I_PARENT = O_CONTAINER.

DATA O_EVENT TYPE REF TO E_EVENTS.

CREATE OBJECT O_EVENT .

SET HANDLER O_EVENT->DC FOR O_GRID.

WA_LAYOUT-INFO_FNAME = 'LINE_COLOR'.

WA-LINE_COLOR = 'C511'.

MODIFY ITAB FROM WA INDEX 5 TRANSPORTING LINE_COLOR.

WA_LAYOUT-SEL_MODE = 'D'.

CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

I_STRUCTURE_NAME = 'LFA1'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

IS_LAYOUT = WA_LAYOUT

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

CHANGING

IT_OUTTAB = ITAB

IT_FIELDCATALOG = 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_0100 OUTPUT

MODULE READ_DATA OUTPUT.

PERFORM COL_HEAD.

SELECT * FROM LFA1 INTO TABLE ITAB UP TO 140 ROWS.

ENDMODULE.

FORM COL_HEAD.

FCAT-EMPHASIZE = 'C511'.

MODIFY FCAT[] FROM FCAT TRANSPORTING EMPHASIZE WHERE FIELDNAME = 'LIFNR'

.

ENDFORM.