Господа, нужна помощь.
Что-то я весь мозг вылюбил себе уже.
Програмуля собирает результаты испытания из контрольной партии.
т.к. признаки в техкарте, то биш список полей всегда разные - то таблица создаётся динамически, исходя из списка признаков.
Задача такая: взять значение признака, залезть им в PLMK и проверить его на допустимость в пределе верхнего и нижнего значения.
Исходя из проверки покрасить ячейку в соответствующий цвет.
Не знаю/не могу/не получается встроить функционал раскраски в динамическую таблицу.
Функционал раскраски такой: 
http://sapnet.ru/viewtopic.php?t=60вот код:
Code:
form EXE_KP .
**********************************************************************
IF werks ne space.
 CONCATENATE werks+0(2) 'ПФ' into lgort.
ENDIF.
SELECT matnr prueflos plnnr plnty plnal objnr from QALS into corresponding fields of IT_QALS
  where charg      = charg
    and werk       = werks
    and lagortchrg = lgort.
clear statustext.
CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING FLG_USER_STAT = 'X' OBJNR = it_qals-objnr ONLY_ACTIVE = 'X' SPRAS = sy-langu IMPORTING LINE = statustext EXCEPTIONS OBJECT_NOT_FOUND = 01 .
  IF STATUSTEXT+0(4) NE 'ПАСТ'.
    APPEND IT_QALS.
  ENDIF.
ENDSELECT.
**********************************************************************
CLEAR:IT_VERWMERKM, IT_VERWMERKM[].
LOOP AT IT_QALS.
  SELECT * FROM QAMV WHERE prueflos = IT_QALS-PRUEFLOS ORDER BY VORGLFNR.
    IT_VERWMERKM-PRUEFLOS  = IT_QALS-PRUEFLOS.
    IT_VERWMERKM-MATNR     = IT_QALS-MATNR.
    IT_VERWMERKM-VERWMERKM = QAMV-VERWMERKM.
    IT_VERWMERKM-VORGLFNR  = QAMV-VORGLFNR.
    IT_VERWMERKM-MERKNR    = QAMV-MERKNR.
      APPEND IT_VERWMERKM.
      CLEAR: IT_VERWMERKM.
 ENDSELECT.
ENDLOOP.
**********************************************************************
**8 преобразование талицы признаков из техкарты
LOOP AT IT_QALS.
  SELECT VERWMERKM PLNKN MERKNR FROM PLMK INTO
    (IT_VERWMERKM_FIELDS-VERWMERKM, IT_VERWMERKM_FIELDS-PLNKN, IT_VERWMERKM_FIELDS-MERKNR)
      WHERE PLNNR = IT_QALS-PLNNR.
    APPEND IT_VERWMERKM_FIELDS.
    CLEAR: IT_VERWMERKM_FIELDS.
  ENDSELECT.
ENDLOOP.
SORT IT_VERWMERKM_FIELDS by PLNKN MERKNR.
IT_VERWMERKM_FIELDS_TEMP[] = IT_VERWMERKM_FIELDS[].
CLEAR: IT_VERWMERKM_FIELDS, IT_VERWMERKM_FIELDS[].
LOOP AT IT_VERWMERKM_FIELDS_TEMP.
  IT_VERWMERKM_FIELDS-VERWMERKM = IT_VERWMERKM_FIELDS_TEMP-VERWMERKM.
  COLLECT IT_VERWMERKM_FIELDS..
  CLEAR: IT_VERWMERKM_FIELDS_TEMP.
ENDLOOP.
**********************************************************************
*** CHAR
**********************************************************************
* макрос для создания филд_каталога лдя динамической таблицы
DEFINE append_catalog_CHAR.
  ls_lvc_cat_CHAR-fieldname = &1. " Имя поля
  ls_lvc_cat_CHAR-ref_field = &2. " Ссылочное поле
  ls_lvc_cat_CHAR-ref_table = &3. " Ссылочная таблица
  ls_lvc_cat_CHAR-domname   = &4. " Домен из ABAP словаря
  APPEND ls_lvc_cat_CHAR TO lt_lvc_cat_CHAR.
END-OF-DEFINITION.
* содание филд каталога для динамической атблицы
LOOP AT IT_VERWMERKM_FIELDS.
  IF IT_VERWMERKM_FIELDS-VERWMERKM = 'STRUCT'.
    append_catalog_CHAR IT_VERWMERKM_FIELDS-VERWMERKM 'CODE1'  'QASE'          ''.
  ELSE.
    append_catalog_CHAR IT_VERWMERKM_FIELDS-VERWMERKM 'CHAR10' 'ZZZ_MVS_TYPES' '' .
  ENDIF.
ENDLOOP.
append_catalog_CHAR 'PRUEFLOS' 'PRUEFLOS' 'QALS'  ''." '' '' ''. " Поставка
append_catalog_CHAR 'MATNR'    'MATNR'    'QALS'  ''." '' '' ''. " марка
* создание динамической таблицы
CALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTING it_fieldcatalog = lt_lvc_cat_CHAR IMPORTING ep_table = lv_table_CHAR.
* хз, какие то пребразования типов
ASSIGN lv_table_CHAR->* TO <fs_table_CHAR>.
CREATE DATA lv_line_CHAR LIKE LINE OF <fs_table_CHAR>.
ASSIGN lv_line_CHAR->* TO <fs_line_CHAR>.
**********************************************************************
**********************************************************************
*** DEC
**********************************************************************
* макрос для создания филд_каталога лдя динамической таблицы
DEFINE append_catalog.
  ls_lvc_cat-fieldname = &1. " Имя поля
  ls_lvc_cat-ref_field = &2. " Ссылочное поле
  ls_lvc_cat-ref_table = &3. " Ссылочная таблица
  ls_lvc_cat-domname   = &4. " Домен из ABAP словаря
  APPEND ls_lvc_cat TO lt_lvc_cat.
END-OF-DEFINITION.
* содание филд каталога для динамической атблицы
LOOP AT IT_VERWMERKM_FIELDS.
  IF IT_VERWMERKM_FIELDS-VERWMERKM = 'STRUCT'.
    append_catalog IT_VERWMERKM_FIELDS-VERWMERKM 'CODE1' 'QASE' ''.
  ELSE.
    SELECT SINGLE * FROM QPMK WHERE MKMNR = IT_VERWMERKM_FIELDS-VERWMERKM.
      CASE QPMK-STELLEN.
        WHEN '0'.
          append_catalog IT_VERWMERKM_FIELDS-VERWMERKM 'DEC_10_0' 'ZZZ_MVS_TYPES' '' .
        WHEN '1'.
          append_catalog IT_VERWMERKM_FIELDS-VERWMERKM 'DEC_10_1' 'ZZZ_MVS_TYPES' '' .
        WHEN '2'.
          append_catalog IT_VERWMERKM_FIELDS-VERWMERKM 'DEC_10_2' 'ZZZ_MVS_TYPES' '' .
        WHEN '3'.
          append_catalog IT_VERWMERKM_FIELDS-VERWMERKM 'DEC_10_3' 'ZZZ_MVS_TYPES' '' .
      ENDCASE.
  ENDIF.
ENDLOOP.
append_catalog 'PRUEFLOS' 'PRUEFLOS' 'QALS'  ''." '' '' ''. " Поставка
append_catalog 'MATNR'    'MATNR'    'QALS'  ''." '' '' ''. " марка
* создание динамической таблицы
CALL METHOD cl_alv_table_create=>create_dynamic_table EXPORTING it_fieldcatalog = lt_lvc_cat IMPORTING ep_table = lv_table.
* хз, какие то пребразования типов
ASSIGN lv_table->* TO <fs_table>.
CREATE DATA lv_line LIKE LINE OF <fs_table>.
ASSIGN lv_line->* TO <fs_line>.
**********************************************************************
**********************************************************************
DATA: nn type n.
DATA: err(2) TYPE n.
DATA: det(2) TYPE n.
DATA: mes           LIKE ZZZ_MVS_TYPES-DEC_10_3.
DATA: temp_prueflos TYPE QPLOS.
DESCRIBE TABLE IT_VERWMERKM_FIELDS LINES lines.
READ TABLE IT_QALS INDEX 1.
temp_prueflos = IT_QALS-prueflos.
CLEAR: <fs_table>, <fs_table>[].
LOOP AT IT_QALS.
  CLEAR: det.
  DO 10 TIMES.
  det =  det + 1.
  CLEAR: err.
    LOOP AT IT_VERWMERKM_FIELDS.
      ASSIGN COMPONENT IT_VERWMERKM_FIELDS-VERWMERKM OF STRUCTURE <fs_line_CHAR> to <fs_field_CHAR>.
      ASSIGN COMPONENT IT_VERWMERKM_FIELDS-VERWMERKM OF STRUCTURE <fs_line> to <fs_field>.
      READ TABLE IT_VERWMERKM WITH KEY PRUEFLOS  = IT_QALS-PRUEFLOS VERWMERKM = IT_VERWMERKM_FIELDS-VERWMERKM.
        CLEAR: mes.
        <fs_field_CHAR> = space.
        SELECT SINGLE messwert FROM qase INTO mes
          WHERE prueflos   = IT_VERWMERKM-PRUEFLOS
            AND VORGLFNR   = IT_VERWMERKM-VORGLFNR
            AND MERKNR     = IT_VERWMERKM-MERKNR
            AND MESSWERTNI = 'X'
            AND detailerg  = det.
          IF sy-subrc ne 0.
            err = err + 1.
            CONTINUE.
          ELSEIF sy-subrc = 0.
*            WRITE mes to <fs_field>.
            <fs_field> = mes.
            <fs_field_char> = <fs_field>.
          ENDIF.
    ENDLOOP.
* поставка
     ASSIGN COMPONENT 'PRUEFLOS' OF STRUCTURE <fs_line_char> to <fs_field_char>.
     <fs_field_char> = IT_VERWMERKM-PRUEFLOS.
* марка
    ASSIGN COMPONENT 'MATNR' OF STRUCTURE <fs_line_char> to <fs_field_char>.
    <fs_field_char> = IT_VERWMERKM-MATNR.
    IF err >= lines. "  все ячейки пусты
      exit.
    ELSEIF err < lines. "  одна клетка да заполнена
      APPEND <fs_line_char> to <fs_table_char>.
    ENDIF.
  ENDDO.
ENDLOOP.
**********************************************************************
*** накидаем филд катлог
CLEAR: layout.
*layout-info_fname = 'ROWCOLOR'."For row coloring
*layout-grid_title = 'Гыыы'.
layout-smalltitle = 'X'.
layout-zebra = 'X'.
layout-NO_ROWMARK = 'X'.
* Марка - 1-ый столбец
READ TABLE lt_lvc_cat_char INTO ls_lvc_fcat_char WITH KEY fieldname = 'MATNR'.
ls_lvc_fcat_char-outputlen = '15'.
ls_lvc_fcat_char-inttype = 'C'.
ls_lvc_fcat_char-coltext = 'Марка'.
APPEND ls_lvc_fcat_char TO lt_lvc_fcat_char.
* Марка - 2-ой столбец
READ TABLE lt_lvc_cat_char INTO ls_lvc_fcat_char WITH KEY fieldname = 'MAS_IZD'.
ls_lvc_fcat_char-outputlen = '10'.
ls_lvc_fcat_char-no_zero = 'X'.
ls_lvc_fcat_char-coltext = 'МасИзд, кг'.
APPEND ls_lvc_fcat_char TO lt_lvc_fcat_char.
LOOP AT lt_lvc_cat_char INTO ls_lvc_fcat_char.
  CASE ls_lvc_fcat_char-fieldname.
    WHEN 'MATNR' or 'MAS_IZD'.
    WHEN 'PRUEFLOS'. 
      ls_lvc_fcat_char-NO_OUT = 'X'.
    WHEN OTHERS.
      nn = 0.
      LOOP AT <fs_table_char> ASSIGNING <fs_line_char>.
      ASSIGN COMPONENT ls_lvc_fcat_char-fieldname OF STRUCTURE <fs_line_char> to <fs_field_char>.
        IF <fs_field_char> ne space. "'0.000'.
          nn = nn + 1.
        ENDIF.
        IF nn ne 0. exit. ENDIF.
      ENDLOOP.
        IF nn ne 0.
          SELECT SINGLE KURZTEXT  FROM qpmt INTO ls_lvc_fcat_char-coltext WHERE MKMNR = ls_lvc_fcat_char-fieldname AND SPRACHE = sy-langu.
          ls_lvc_fcat_char-seltext = ls_lvc_fcat_char-REPTEXT = ls_lvc_fcat_char-coltext.
          ls_lvc_fcat_char-outputlen = '10'.
        ELSEIF nn = 0.
          ls_lvc_fcat_char-NO_OUT = 'X'.
        ENDIF.
    APPEND ls_lvc_fcat_char TO lt_lvc_fcat_char.
  ENDCASE.
ENDLOOP.
endform.                    " EXE_KP
Добавляю 
append_catalog_CHAR 'CELLCOLOR' 'CELLCOLOR'  'ZZZ_MVS_TYPES' ''. " цвет ячейки
То как к ней обратиться. Это получается таблица в динамической таблице... Это вообще не противоестественно?