Skip to Content
0
Former Member
May 21, 2010 at 07:48 AM

Color a single cell in ALV using OO

61 Views

Dear Gurus ,

I tried to color a cell using OO in ALV but i can't . I think my code is correct but i can't find the problem ...

Look my code please ...

DATA: BEGIN OF ITAB OCCURS 0,
           PERNR    LIKE PTRV_HEAD-PERNR,
           ENAME    LIKE PA0001-ENAME,
           REINR    LIKE PTRV_HEAD-REINR,
           ZORT1    LIKE PTRV_HEAD-ZORT1,
*           ZLAND    LIKE PTRV_HEAD-ZLAND,
           KUNDE    LIKE PTRV_HEAD-KUNDE,
           DATV1    LIKE PTRV_HEAD-DATV1,
           DATB1    LIKE PTRV_HEAD-DATB1,
           DAYS_DIFF TYPE I,
           EXODAMET LIKE PTRV_SREC-REC_AMOUNT,
           PAGIAMET LIKE PTRV_SREC-REC_AMOUNT,
           DIFFMET TYPE P DECIMALS 2,

           EXODAERG LIKE PTRV_SREC-REC_AMOUNT,
           PAGIAERG LIKE PTRV_SREC-REC_AMOUNT,
           DIFFERG LIKE PTRV_SREC-REC_AMOUNT,

           CELLCOLOR   TYPE LVC_T_SCOL,

END OF ITAB.

DATA : ITAB_WA LIKE LINE OF ITAB.

......

......

FORM SET_CELL_COLORS.


  LOOP AT ITAB INTO ITAB_WA.
*    L_INDEX = SY-TABIX.
    IF ITAB_WA-PERNR = '231034'.
      LS_CELLCOLOR-FNAME = 'DATB1'.
      LS_CELLCOLOR-COLOR-COL = '7'.
      LS_CELLCOLOR-COLOR-INT = '1'.
      LS_CELLCOLOR-COLOR-INV = '1'.
      APPEND LS_CELLCOLOR TO ITAB_WA-CELLCOLOR.
      MODIFY ITAB FROM ITAB_WA TRANSPORTING CELLCOLOR.
    ENDIF.
  ENDLOOP.

********************************************************************

********************************************************************

CALL METHOD GR_ALVGRID->SET_TABLE_FOR_FIRST_DISPLAY
          EXPORTING
*       I_BUFFER_ACTIVE =
*       I_CONSISTENCY_CHECK =
*       I_STRUCTURE_NAME =
          IS_VARIANT = LS_VARI
          I_SAVE = GS_TEST-VARI_SAVE
          I_DEFAULT = 'X'            "GS_TEST-VARI_DEFAULT
          IS_LAYOUT = GS_LAYOUT
*       IS_PRINT =
*       IT_SPECIAL_GROUPS =
*       IT_TOOLBAR_EXCLUDING =
*       IT_HYPERLINK =
          CHANGING
            IT_OUTTAB = ITAB[]
            IT_FIELDCATALOG = GT_FIELDCAT
            IT_SORT = LT_SORT
*        IT_FILTER =
          EXCEPTIONS
            INVALID_PARAMETER_COMBINATION = 1
            PROGRAM_ERROR = 2
            TOO_MANY_LINES = 3
            OTHERS = 4 .

      IF SY-SUBRC <> 0.
*--Exception handling
      ENDIF.

If i do it w/o OO i can do it ....

Can you see the problem ....?

Thanks a lot ...