カラムカラー:FIELDCATは、項目カタログのフィールドを強調することによって達成
線色:レイアウトはそれを記憶された表示色テーブルにフィールドを追加することによって達成
セルの色:レイアウトによって達成さは、テーブルは、テーブル内の表示メモリの色(:LVC_T_SCOLテーブル型)に添加します
基本的には同じ行に設けられたセルの色のカラーデザイン 1 ALVデータを含むテーブルでは、カラーコードを記録するために、CellColor内のテーブルを追加し、フィールド名の色を設定する必要がある FNAME ALVコントロール:CellColorの構造を内部テーブルフィールド名フィールド 色 ALVコントロール:カラーコード 色構造である: COL ALVコントロール:色; INT ALV制御:強化 1 / 0 ; INV ALV制御:反対 1 / 0 セットカラー前景または背景 NOKEYCOL ALVコントロール:カラーカバーコード 2 周期表、カラーコードのセット。 REPORT Z1113。 TYPES:BEGIN OF。TYP_01、 MATNR TYPE MARA- MATNR、 ERNAMTYPE MARA- ERNAM、 ERSDA TYPE MARA- ERSDA、 COLOR TYPE CHAR04、 CELLCOLOR TYPE LVC_T_SCOL、「单元格颜色 END OF TYP_01。 データ IS_CELLCOLOR TYPE LVC_S_SCOL。 データ GT_01 TYPE STANDARD TABLE OF TYP_01 WITH HEADER LINE 。 データ IT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE 。 DATAIS_LAYOUTTYPE LVC_S_LAYO。 DEFINE FIELDCATを。 IT_FIELDCAT -COL_POS =&1 。 IT_FIELDCAT -FIELDNAME =&2 。 IT_FIELDCAT -SCRTEXT_L =&3 。 APPEND IT_FIELDCAT。 END-OF-DEFINITION 。 START-OF-SELECTION 。 SELECT MARA〜MATNR MARA〜ERNAM MARA〜ERSDA FROM MARA INTO CORRESPONDING FIELDS OF TABLE GT_01を。 END-OF-SELECTION 。 FIELDCAT ' 1 ' ' MATNR ' ' MATNR ' 。 LOOP AT IT_FIELDCAT。 IF IT_FIELDCAT-FIELDNAME = ' MATNR ' 。 IT_FIELDCAT -EMPHASIZE = ' C710 ' 。 MODIFY IT_FIELDCAT。 CLEAR IT_FIELDCAT。 ENDIF 。 ENDLOOP 。 FIELDCAT ' 2 ' ' ERNAM ' ' ERNAM ' 。 FIELDCAT ' 3 ' ' ERSDA ' "ERSDA " 。 LOOP AT GT_01。 IF GT_01-MATNR = ' 000000000000000097 ' 。 GT_01 - COLOR = ' C610 ' 。 MODIFYはgt_01。 CLEAR GT_01。 ENDIF 。 IF GT_01-MATNR = ' 000000000000000129 ' 。 GT_01 - COLOR = ' C510 ' 。 MODIFY GT_01。 CLEAR GT_01。 ENDIF 。 IF = GT_01-MATNR' 000000000000000153 ' 。 IS_CELLCOLOR -fname = ' MATNR ' 。 " '153'の品目数は、線の色の'MATNR'フィールドは黄色である IS_CELLCOLOR- COLOR -col = 3。 。 IS_CELLCOLOR - COLOR -INT = 1。 。 IS_CELLCOLOR - COLOR〜INV = 0 。 APPEND IS_CELLCOLOR TO GT_01- CELLCOLOR。 MODIFY GT_01。 CLEAR GT_01。 ENDIF 。 ENDLOOP 。 IS_LAYOUT -CWIDTH_OPT = ' X ' 。 IS_LAYOUT -INFO_FNAME = ' COLOR ' 。 IS_LAYOUT -CTAB_FNAME = ' CELLCOLOR '。「单元格颜色内表字段 のCALL FUNCTION ' REUSE_ALV_GRID_DISPLAY_LVC ' EXPORTING I_CALLBACK_PROGRAM = SY- CPROG IS_LAYOUT_LVC = IS_LAYOUT IT_FIELDCAT_LVC = IT_FIELDCAT [] TABLES T_OUTTAB = GT_01 []。 *例外 * PROGRAM_ERROR = 1 * OTHERS = 2 。 IF SY-SUBRC <> 0 。 * ここでのハンドリングに適したエラーを実装 ENDIFを。
結果: