Você está na página 1de 3

célula colorida

TYPE-POOLS:
  SLIS.

*———————————————————————–
* Variáveis de uso geral
*———————————————————————–
DATA:
  V_TABIX        LIKE SY-TABIX,
  V_REPID        LIKE SY-REPID,
  V_FLAG.

*———————————————————————–
* TABELAS INTERNAS PARA ESTRUTURA ALV
*———————————————————————–
DATA:
  T_LINECOLOR    TYPE SLIS_COLOR   OCCURS 0 WITH HEADER LINE,
  T_LISTHEADER   TYPE SLIS_T_LISTHEADER,
  T_FIELDCAT     TYPE SLIS_T_FIELDCAT_ALV            WITH HEADER LINE,
  T_SORT         TYPE SLIS_SORTINFO_ALV     OCCURS 0 WITH HEADER LINE.

DATA:
  V_LISTHEADER   TYPE SLIS_LISTHEADER,    “CABEÇALHO
  V_LAYOUT       TYPE SLIS_LAYOUT_ALV,    “LAYOUT PARA SAíDA
  V_PRINT        TYPE SLIS_PRINT_ALV,     “CTRL DE IMPRESSãO
  V_VARIANTE     LIKE DISVARIANT.         “VARIANTE DE EXIBIÇÃO

*———————————————————————–
* TABELAS INTERNAS
*———————————————————————–
DATA: BEGIN OF T_MKPF OCCURS 0,
        MATNR     LIKE MSEG-MATNR,
        MAKTX     LIKE MAKT-MAKTX,
        WERKS     LIKE MSEG-WERKS,
        NAME1     LIKE T001W-NAME1,
        LGORT     LIKE MSEG-LGORT,
        BWART     LIKE MSEG-BWART,
        SOBKZ     LIKE MSEG-SOBKZ,
        MBLNR     LIKE MKPF-MBLNR,
        ZEILE     LIKE MSEG-ZEILE,
        BUDAT     LIKE MKPF-BUDAT,
        SHKZG     LIKE MSEG-SHKZG,
        MENGE     LIKE MSEG-MENGE,
        MEINS     LIKE MSEG-MEINS,
        XBLNR     LIKE MKPF-XBLNR,
        NFNUM     LIKE J_1BNFDOC-NFNUM,
        VBELN     LIKE VBFA-VBELN,
        CELLCOLOR TYPE LVC_T_SCOL,     “Armazena informação da cor da célula 
      END OF T_MKPF.

*———————————————————————–
* CÓDIGO QUE ALTERA COR DA CÉLULA        “pode ser utilizado dentro de um loop alterando os valores da cor da *célula na tabela interna
*———————————————————————–                                                                                                               DATA: WA_CELLCOLOR TYPE
LVC_S_SCOL.
DATA: ld_index TYPE SY-TABIX. 

 LOOP AT T_MKPF WHERE <condição para alterar cor da célula>

      LD_INDEX = SY-TABIX.


      WA_CELLCOLOR-FNAME = ‘MENGE’.
      WA_CELLCOLOR-COLOR-COL = ’6′.  “color code 1-7, if outside rage defaults to 7
      WA_CELLCOLOR-COLOR-INT = ’1′.  “1 = Intensified on, 0 = Intensified off
      WA_CELLCOLOR-COLOR-INV = ’0′.  “1 = text colour, 0 = background colour
      APPEND WA_CELLCOLOR TO T_MKPF-CELLCOLOR. 

 EndLoop

*&———————————————————————*
*&      Form  insert_catalogo
*&———————————————————————*
FORM INSERT_CATALOGO      USING F_CAMPO
                           F_TAMANHO
                           F_TEXTO
                           F_ALINHAMENTO
                           F_SOMATORIO
                           F_TIPO
                           F_DECIMAIS
                           F_CHECKBOX
                           F_INPUT
                           F_HOTSPOT
                           F_NO_OUT
                           F_EDIT
                           F_ICON.
                       

CLEAR T_FIELDCAT.
  T_FIELDCAT-FIELDNAME          = F_CAMPO.
  T_FIELDCAT-KEY                           = ‘ ‘.
  T_FIELDCAT-OUTPUTLEN          = F_TAMANHO.
  T_FIELDCAT-SELTEXT_S             = F_TEXTO.          ” DESCRIçãO CURTA
  T_FIELDCAT-SELTEXT_M           = F_TEXTO.          ” DESCRIçãO MéDIA
  T_FIELDCAT-SELTEXT_L            = F_TEXTO.          ” DESCRIçãO LONGA
  T_FIELDCAT-JUST                         = F_ALINHAMENTO.
  T_FIELDCAT-DO_SUM                 = F_SOMATORIO.      ” TOTALIZAR COLUNA
  T_FIELDCAT-DATATYPE            = F_TIPO.
  T_FIELDCAT-DECIMALS_OUT = F_DECIMAIS.
  T_FIELDCAT-CHECKBOX            = F_CHECKBOX.       ” EXIBIR COMO CHECKBOX
  T_FIELDCAT-INPUT                     = F_INPUT.          ” MODIFICAçãO PERMITIDA
  T_FIELDCAT-HOTSPOT               = F_HOTSPOT.        ” CHAMA FORM USER_COMMAND
  T_FIELDCAT-NO_OUT                 = F_NO_OUT.         ” OCULTAR CAMPO INICIALMENTE
  T_FIELDCAT-EDIT                        = F_EDIT.           ” PERMITE EDIçãO
  T_FIELDCAT-ICON                       = F_ICON.           ” EXIBIR COMO ICONE
  APPEND T_FIELDCAT.

ENDFORM.                    ” insert_catalogo
*&———————————————————————*
*&      Form  IMPRIME_RELATORIO_ALV
*&———————————————————————*
*       Imprime relátório
*———————————————————————-*
FORM IMPRIME_RELATORIO_ALV.

      CLEAR T_SORT.


*      T_SORT-SPOS      = 1.
      T_SORT-FIELDNAME = ‘MATNR’.
      T_SORT-TABNAME   = ‘T_MKPF’.
      T_SORT-UP        = ‘X’.
      T_SORT-SUBTOT    = ‘X’.
      APPEND T_SORT.

  V_LAYOUT-EXPAND_ALL        = ‘X’.  “ABRIR SUBITENS


  V_LAYOUT-COLWIDTH_OPTIMIZE = ‘X’.  “LARGURA MELHOR POSSíVEL DA COLUNA
  V_LAYOUT-ZEBRA             = ‘X’.
  V_PRINT-NO_PRINT_LISTINFOS = ‘X’.
  V_LAYOUT-COLTAB_FIELDNAME = ‘CELLCOLOR’.  “CTAB_FNAME

  CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’


       EXPORTING
            I_CALLBACK_PROGRAM       = ‘ZSDR170A’
            I_BACKGROUND_ID          = ‘ALV_BACKGROUND’
            I_CALLBACK_TOP_OF_PAGE   = ‘ZF_TOP_OF_PAGE’
*            I_CALLBACK_PF_STATUS_SET = ‘ZF_STATUS’
*            I_CALLBACK_USER_COMMAND  = ‘ZF_USER_COMMAND’
            IT_FIELDCAT              = T_FIELDCAT[]
            IS_LAYOUT                = V_LAYOUT
            IT_SORT                  = T_SORT[]
            I_DEFAULT                = ‘X’
            I_SAVE                   = ‘A’
*            IS_VARIANT               = V_VARIANTE
            IS_PRINT                 = V_PRINT
       TABLES
            T_OUTTAB                 = T_MKPF
       EXCEPTIONS
            PROGRAM_ERROR            = 1
            OTHERS                   = 2.
ENDFORM.

Você também pode gostar