SAPфорум.RU https://sapboard.ru/forum/ |
|
Закрашивание столбца https://sapboard.ru/forum/viewtopic.php?f=13&t=96519 |
Страница 1 из 2 |
Автор: | sonics [ Вт, июн 19 2018, 08:26 ] |
Заголовок сообщения: | Закрашивание столбца |
Извините, за то, что пложу темы... тем более, что такую уже раза 3 открывали, но не получается. Code: REPORT zpp_copydata_mrp5_vs_12. TABLES: zppmrp5, zppmrp5_12, mard, makt. type-pools: slis. TYPES: BEGIN OF ty_mpr5vs12,"gt_result_tab, DATUV TYPE zppmrp5_tmp1-datuv, SEQNR TYPE zppmrp5-seqnr, matnr TYPE zppmrp5-matnr, "Изделие WERKS_1 TYPE zppmrp5-WERKS_1, "Завод matnr_1 TYPE zppmrp5-matnr_1, "ДСЕ matnr_2 TYPE zppmrp5-matnr_2, "УЗЕЛ MAKTG TYPE zpp_result_tab_mpr5vs12-maktg, LGORT_1 TYPE zppmrp5-LGORT_1, LGORT_2 TYPE zppmrp5-LGORT_2, arbpl_1 TYPE zppmrp5-arbpl_1, "Цех изготовитель arbpl_2 TYPE zppmrp5-arbpl_2, "Цех потребитель gamng_TD TYPE zppmrp5-gamng, "Нормативная потребность GAMNG_1_TD TYPE zppmrp5_12-gamng, "Нормативная потребность за прошедший период GAMNG_LD TYPE zppmrp5-gamng_1, "Подать в цех-потребитель(месяц) gamng_1_LD TYPE zppmrp5_12-gamng_1, "Подать в цех-потребитель(месяц) за прошедший период PBDNR TYPE zppmrp5-pbdnr, ZBESK TYPE zppmrp5-zbesk, ELEVEL TYPE zppmrp5-elevel, IA TYPE zppmrp5-ia, ID TYPE zppmrp5-id, COUNT TYPE zppmrp5-ch, CELLCOLOR TYPE LVC_T_SCOL, END OF ty_mpr5vs12."gt_result_tab. DATA: gt_result_tab TYPE TABLE OF ty_mpr5vs12. DATA: go_navigation_profile TYPE REF TO if_navp. DATA: ok_code LIKE sy-ucomm, g_container TYPE scrfname VALUE 'GRID1', grid1 TYPE REF TO cl_gui_alv_grid_ext, gt_fieldcat TYPE lvc_t_fcat," каталог полей gs_layout TYPE lvc_s_layo, gs_variant TYPE disvariant, gt_excluding TYPE ui_functions, gt_sort TYPE lvc_t_sort, gs_sort TYPE lvc_s_sort, gt_filter TYPE lvc_t_filt, gs_filter TYPE lvc_s_filt, gt_okcode TYPE navp_t_okcode, w_cellcolor TYPE lvc_s_scol, g_custom_container TYPE REF TO cl_gui_custom_container. DATA l_elevel like zppmrp5-elevel. RANGES r_elevel FOR l_elevel. FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat, <gs_result_tab> LIKE LINE OF gt_result_tab. Дальше экран выборки. Сам селект из таблиц и Code: PERFORM build_layout. *PERFORM modify_fieldcat. SORT gt_result_tab BY matnr matnr_1 arbpl_1 arbpl_2 seqnr werks_1 pbdnr elevel. DELETE ADJACENT DUPLICATES FROM gt_result_tab COMPARING matnr matnr_1 arbpl_1 arbpl_2 seqnr werks_1 lgort_1 lgort_2 pbdnr elevel. LOOP AT gt_result_tab ASSIGNING <gs_result_tab>. IF <gs_result_tab>-gamng_td EQ <gs_result_tab>-gamng_ld. "AND <gs_result_tab>-gamng_1_td EQ <gs_result_tab>-gamng_1_ld. <gs_result_tab>-id = '@1G@'. "'@1G@' = ELSEIF <gs_result_tab>-gamng_td EQ 0 AND <gs_result_tab>-gamng_ld GT 0. <gs_result_tab>-id = '@05@'. "'@1J@' < ELSEIF <gs_result_tab>-gamng_td GT 0 AND <gs_result_tab>-gamng_ld EQ 0. <gs_result_tab>-id = '@04@'. "'@1I@' > ELSEIF <gs_result_tab>-gamng_td GT <gs_result_tab>-gamng_ld." or <gs_result_tab>-gamng_1 GT <gs_result_tab>-gamng_1_L. <gs_result_tab>-id = '@1I@'. "@04@ + ELSEIF <gs_result_tab>-gamng_td LT <gs_result_tab>-gamng_ld." or <gs_result_tab>-gamng_1 LT <gs_result_tab>-gamng_1_L. <gs_result_tab>-id = '@1J@'. "@05@ - ENDIF. <gs_result_tab>-count = 1. w_cellcolor-fname = 'gamng_TD'. w_cellcolor-color-col = 14. w_cellcolor-color-int = 1. w_cellcolor-color-inv = 1. APPEND w_cellcolor TO <gs_result_tab>-cellcolor. MODIFY <gs_result_tab> TRANSPORTING cellcolor. ENDLOOP. FORM build_layout . gs_layout-ctab_fname = 'CELLCOLOR'. ENDFORM. тут на меня ругается Цитата: is not an internal tabble OCCURS n specification в примерах, данный код w_cellcolor был не в Loop-е. Поясните пожалуйста. Что я нагородил неверно. |
Автор: | Besa [ Вт, июн 19 2018, 08:57 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
Мда, верно заметили - "нагородил". Читайте как работать с типами данных. Code: TRANSPORTING cellcolor. Что это? Для чего? Code: w_cellcolor-fname = 'gamng_TD'. Имя поля заглавными Ладно бы примеров в системе и в интернетах не было, Просто скопировать если не понимаете BCALV_TEST_COLORS в чем проблема? И еще, если Вам надо просто закрасить столбец, то варианты есть проще, через указание одного параметра в каталоге полей. |
Автор: | sonics [ Вт, июн 19 2018, 09:00 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
Besa написал: Мда, верно заметили - "нагородил". Читайте как работать с типами данных. Code: TRANSPORTING cellcolor. Что это? Для чего? Code: w_cellcolor-fname = 'gamng_TD'. Имя поля заглавными Ладно бы примеров в системе и в интернетах не было, Просто скопировать если не понимаете BCALV_TEST_COLORS в чем проблема? И еще, если Вам надо просто закрасить столбец, то варианты есть проще, через указание одного параметра в каталоге полей. да, прост 4 столбца в один цвет покрасить или в разные, не важно в общем. какой проще ? |
Автор: | Besa [ Вт, июн 19 2018, 09:05 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
sonics написал(а): какой проще ? У Вас принципиальная позиция относительно "посмотреть примеры" в которых все эти элементарные вещи есть. |
Автор: | Kuranov.Dmitry [ Вт, июн 19 2018, 09:09 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
Code: тут на меня ругается Цитата: is not an internal tabble OCCURS n specification и правильно делает, что ругается. <gs_result_tab> разве таблица? почитайте что такое FIELD-SYMBOLS. если перебираете таблицу через филд символ то не нужно делать MODIFY |
Автор: | sonics [ Вт, июн 19 2018, 10:25 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
какой же он огромный, этот пример блин . . . |
Автор: | sonics [ Вт, июн 19 2018, 14:42 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
та покрасить то легко . . . проблема в том, что у меня Code: grid1 TYPE REF TO cl_gui_alv_grid_ext, как только убрать ext - сразу же покрасилось всё |
Автор: | Kuranov.Dmitry [ Вт, июн 19 2018, 15:24 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
sonics написал(а): та покрасить то легко . . . проблема в том, что у меня Code: grid1 TYPE REF TO cl_gui_alv_grid_ext, как только убрать ext - сразу же покрасилось всё используйте cl_gui_alv_grid у поля в филдкаталоге есть параметр emphasize который кодирует цвет колонки к примеру: C200 C300 C400 ... примерно так: Code: DEFINE sn. read table fcat into fc WITH KEY FIELDNAME = '&1'. fc-scrtext_l = &2. fc-scrtext_m = &2. fc-scrtext_s = &2. fc-reptext = &2. fc-emphasize = &3. modify fcat FROM fc TRANSPORTING scrtext_l scrtext_m scrtext_s reptext emphasize WHERE FIELDNAME = '&1'. END-OF-DEFINITION. sn COLUMN_FIELD1 ' Заголовок' 'C200'. sn COLUMN_FIELD2 ' Заголовок2' 'C300'. Что после буквы C писать или подбором или где-то хелп был, так сходу не вспомню |
Автор: | sonics [ Вт, июн 19 2018, 15:38 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
к сожалению, этот класс необходим с ext, без него проблем с покраской ячеек или колонок не возникает. это уже были танцы с бубном и поиски проблемы буду искать . . . |
Автор: | Kuranov.Dmitry [ Вт, июн 19 2018, 15:45 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
так cl_gui_alv_grid_ext унаследован от cl_gui_alv_grid там что филд каталок радикально перебрали? в нем такой же присутствет поле EMPHASIZE в фидкаталоге |
Автор: | sonics [ Вт, июн 19 2018, 16:04 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
ну вот переименовываю в grid1 TYPE REF TO cl_gui_alv_grid и сразу подсвечивается все как надо) красивым красным цветом) а только ставлю grid1 TYPE REF TO cl_gui_alv_grid_ext подсветки как не бывало. В дебагере смотрю до конечного момента в моей gt_result_tab есть и cellcolor столбец и внем есть данные все)) и цвет и название столбца, все шикарно там. Но вот в цвет не красит, хоть стреляй. На каком то из ресурсов нашел запись Цитата: FUNCTIONALITY This class offers further functionalities in addition to the functions of the classCL_GUI_ALV_GRID : BADI (fastkernel). Identification is via a filter value. The unique filter value KEY_TABLE consists of the REPORT, HANDLE and LOG_GROUP (structure DISVARIANT for display variants is read out). It comprises the following: REPORT/HANDLE/LOG_GROUP integrated navigation profile, following additional functionalities (functions are in function pool of navigation profile): show/hide empty columns, Additional information on displayed table (number of lines...), PDF export of current table (tagged PDF) Details of procedure are available in report DEMO_ALV_GRID_EXT. NOTES An additional table must be buffered. In addition, there is a comparison between ALV and application if the ALV table or application tables has/have changed. Performance disadvantages conceivable. The focus here is only on Display and Refresh. The class is not suitable for editable ALV. As at 29.08.06: The PDF export does not take any account of the widthe. Form transfer/administration missing. FURTHER INFORMATION Но и DEMO_ALV_GRID_EXT в сапе моем тоже нет может версия не та . . . |
Автор: | Удав [ Пт, июн 22 2018, 01:17 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
sonics написал(а): к сожалению, этот класс необходим с ext Зачем? |
Автор: | RA [ Пт, июн 22 2018, 08:10 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
Удав Это из раннего viewtopic.php?f=13&t=96453&start=0 |
Автор: | sonics [ Пн, июн 25 2018, 10:25 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
у меня не получилось внедрить на alv_grid просто, поэтому я тут остановился. к тому же у ext есть такой атрибут как MV_STYLE_NAME - в котором есть стили нужные, но как к этому атрибуту обратиться? |
Автор: | sonics [ Пт, июл 27 2018, 11:01 ] |
Заголовок сообщения: | Re: Закрашивание столбца |
Code: REPORT zpp_copydata_mrp5_vs_12. TABLES: zppmrp5, zppmrp5_12, mard, makt. type-pools: slis. TYPE-POOLS: vrm. TYPES: BEGIN OF ty_mpr5vs12,"gt_result_tab, datuv TYPE zppmrp5_tmp1-datuv, "Дата seqnr TYPE zppmrp5-seqnr, "Порядковый номер matnr TYPE zppmrp5-matnr, "Изделие werks_1 TYPE zppmrp5-werks_1, "Завод matnr_1 TYPE zppmrp5-matnr_1, "ДСЕ matnr_2 TYPE zppmrp5-matnr_2, "УЗЕЛ maktg TYPE zpp_result_tab_mpr5vs12-maktg, "Название материала большими буквами для кода поиска lgort_1 TYPE zppmrp5-lgort_1, "Склад отправитель lgort_2 TYPE zppmrp5-lgort_2, "Склад получатель arbpl_1 TYPE zppmrp5-arbpl_1, "Цех изготовитель arbpl_2 TYPE zppmrp5-arbpl_2, "Цех потребитель gamng_td TYPE zppmrp5-gamng, "Нормативная потребность gamng_1_td TYPE zppmrp5_12-gamng, "Нормативная потребность за прошедший период gamng_ld TYPE zppmrp5-gamng_1, "Подать в цех-потребитель(месяц) gamng_1_ld TYPE zppmrp5_12-gamng_1, "Подать в цех-потребитель(месяц) за прошедший период pbdnr TYPE zppmrp5-pbdnr, "Номер плана потребности zbesk TYPE zppmrp5-zbesk, "Вид заготовки в концерне elevel TYPE zppmrp5-elevel, "Уровень при разузловании ia TYPE zppmrp5-ia, "Внутренний узел (индикатор) id TYPE icon_d,"zppmrp5-id, "ID count TYPE zppmrp5-ch, "Счетчик cellcolor TYPE lvc_t_scol, "ячейка для цвета END OF ty_mpr5vs12."gt_result_tab. *DATA: gs_result_tab TYPE TABLE OF gt_result_tab. DATA: gt_result_tab TYPE TABLE OF ty_mpr5vs12. DATA g_tabname(20). DATA: list TYPE vrm_values, value LIKE LINE OF list. DATA: go_navigation_profile TYPE REF TO if_navp. PARAMETERS: p_save TYPE navp_save_mode NO-DISPLAY DEFAULT if_navp=>save_all, p_dfault TYPE navp_default_mode NO-DISPLAY DEFAULT if_navp=>default_auto, p_profil TYPE navp_profile_name NO-DISPLAY DEFAULT ''. DATA: ok_code LIKE sy-ucomm, g_container TYPE scrfname VALUE 'GRID1', grid1 TYPE REF TO cl_gui_alv_grid, gt_fieldcat TYPE lvc_t_fcat," каталог полей gs_layout TYPE lvc_s_layo, gs_variant TYPE disvariant, gt_excluding TYPE ui_functions, gt_sort TYPE lvc_t_sort, gs_sort TYPE lvc_s_sort, gt_filter TYPE lvc_t_filt, gs_filter TYPE lvc_s_filt, gt_okcode TYPE navp_t_okcode, w_cellcolor TYPE lvc_s_scol, t_cellcolor TYPE lvc_t_scol, g_custom_container TYPE REF TO cl_gui_custom_container. DATA l_elevel LIKE zppmrp5-elevel. RANGES r_elevel FOR l_elevel. FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat, <gs_result_tab> LIKE LINE OF gt_result_tab. * PARAMETERS: p_list_a TYPE char7 AS LISTBOX VISIBLE LENGTH 10 OBLIGATORY DEFAULT '001' USER-COMMAND change_p_list_a. " список SELECTION-SCREEN BEGIN OF BLOCK selection1 WITH FRAME TITLE text-008. SELECT-OPTIONS so_matnr FOR zppmrp5-matnr. "Изделие SELECT-OPTIONS so_mat1 FOR zppmrp5-matnr_1. "ДСЕ SELECT-OPTIONS so_mat2 FOR zppmrp5-matnr_2. "Узел SELECT-OPTIONS so_arb1 FOR zppmrp5-arbpl_1. "Цех изготовитель SELECT-OPTIONS so_arb2 FOR zppmrp5-arbpl_2. "Цех потребитель SELECT-OPTIONS so_pbdnr FOR zppmrp5-pbdnr. "План потребности SELECT-OPTIONS so_zbesk FOR zppmrp5-zbesk. "Вид заготовки в концерне SELECTION-SCREEN END OF BLOCK selection1. SELECTION-SCREEN BEGIN OF BLOCK parametrs-block WITH FRAME TITLE text-007. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 1. PARAMETERS p_chbox AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT 10(24) text-001 FOR FIELD p_chbox. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 1. PARAMETERS p_cb6 AS CHECKBOX. SELECTION-SCREEN COMMENT 10(25) text-009 FOR FIELD p_cb6. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN BEGIN OF LINE. SELECTION-SCREEN POSITION 1. PARAMETERS: p_cb1 AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT 5(14) text-002 FOR FIELD p_cb1. PARAMETERS: p_cb2 AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT 23(15) text-003 FOR FIELD p_cb2. PARAMETERS: p_cb3 AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT 42(15) text-004 FOR FIELD p_cb3. PARAMETERS: p_cb4 AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT 62(14) text-005 FOR FIELD p_cb4. PARAMETERS: p_cb5 AS CHECKBOX DEFAULT 'X'. SELECTION-SCREEN COMMENT 79(12) text-006 FOR FIELD p_cb5. SELECTION-SCREEN END OF LINE. SELECTION-SCREEN END OF BLOCK parametrs-block. INITIALIZATION. CLEAR value. REFRESH list. value-key = '001'. value-text = 'Сегодня'. APPEND value TO list. value-key = '002'. value-text = 'июль 2018'. APPEND value TO list. value-key = '003'. value-text = 'май 2018'. APPEND value TO list. CALL FUNCTION 'VRM_SET_VALUES' EXPORTING id = 'P_LIST_A' values = list. START-OF-SELECTION. CASE p_list_a. WHEN '001'. "g_tabname = 'ZPP_MRP5'. WHEN '002'. "g_tabname = 'ZPPMRP5_TMP1'. WHEN '003'. "g_tabname = 'ZPPMRP5_YEAR'. ENDCASE. IF p_chbox = 'X'. r_elevel-low = 1. r_elevel-option = 'EQ'. r_elevel-sign = 'I'. APPEND r_elevel. CLEAR r_elevel. ELSE. CLEAR r_elevel. ENDIF. SELECT zppmrp5~matnr_1 zppmrp5~datuv zppmrp5~matnr_2 zppmrp5~matnr zppmrp5~werks_1 zppmrp5~arbpl_1 zppmrp5~arbpl_2 zppmrp5~lgort_1 zppmrp5~lgort_2 zppmrp5~seqnr zppmrp5~elevel zppmrp5~pbdnr zppmrp5~zbesk zppmrp5~ia * zppmrp5~ENTMG makt~maktg zppmrp5~gamng AS gamng_td zppmrp5~gamng_1 AS gamng_1_td zppmrp5_tmp1~gamng AS gamng_ld zppmrp5_tmp1~gamng_1 AS gamng_1_ld INTO CORRESPONDING FIELDS OF TABLE gt_result_tab FROM zppmrp5 LEFT JOIN zppmrp5_tmp1 ON zppmrp5_tmp1~matnr = zppmrp5~matnr AND zppmrp5_tmp1~matnr_1 = zppmrp5~matnr_1 AND zppmrp5_tmp1~matnr_2 = zppmrp5~matnr_2 AND zppmrp5_tmp1~arbpl_1 = zppmrp5~arbpl_1 AND zppmrp5_tmp1~arbpl_2 = zppmrp5~arbpl_2 AND zppmrp5_tmp1~seqnr = zppmrp5~seqnr AND zppmrp5_tmp1~werks_1 = zppmrp5~werks_1 AND zppmrp5_tmp1~pbdnr = zppmrp5~pbdnr AND zppmrp5_tmp1~elevel = zppmrp5~elevel AND zppmrp5_tmp1~lgort_1 = zppmrp5~lgort_1 AND zppmrp5_tmp1~lgort_2 = zppmrp5~lgort_2 INNER JOIN makt ON makt~matnr = zppmrp5~matnr_1 WHERE "zppmrp5~elevel = 1 AND zppmrp5~elevel IN r_elevel AND zppmrp5~matnr_1 IN so_mat1 AND zppmrp5~matnr_2 IN so_mat2 AND zppmrp5~matnr IN so_matnr AND zppmrp5~arbpl_1 IN so_arb1 AND zppmrp5~arbpl_2 IN so_arb2 AND zppmrp5~zbesk IN so_zbesk. SELECT zppmrp5_tmp1~matnr_1 zppmrp5_tmp1~matnr_2 zppmrp5_tmp1~werks_1 zppmrp5_tmp1~matnr zppmrp5_tmp1~arbpl_1 zppmrp5_tmp1~arbpl_2 zppmrp5_tmp1~datuv zppmrp5_tmp1~seqnr zppmrp5_tmp1~elevel zppmrp5_tmp1~pbdnr zppmrp5_tmp1~gamng AS gamng_ld zppmrp5_tmp1~gamng_1 AS gamng_1_ld zppmrp5_tmp1~zbesk zppmrp5_tmp1~ia zppmrp5_tmp1~lgort_1 zppmrp5_tmp1~lgort_2 makt~maktg zppmrp5~gamng AS gamng_td zppmrp5~gamng_1 AS gamng_1_td APPENDING CORRESPONDING FIELDS OF TABLE gt_result_tab FROM zppmrp5_tmp1 LEFT JOIN zppmrp5 ON zppmrp5~matnr = zppmrp5_tmp1~matnr AND zppmrp5~matnr_1 = zppmrp5_tmp1~matnr_1 AND zppmrp5~matnr_2 = zppmrp5_tmp1~matnr_2 AND zppmrp5~arbpl_1 = zppmrp5_tmp1~arbpl_1 AND zppmrp5~arbpl_2 = zppmrp5_tmp1~arbpl_2 AND zppmrp5~lgort_1 = zppmrp5_tmp1~lgort_1 AND zppmrp5~lgort_2 = zppmrp5_tmp1~lgort_2 AND zppmrp5~seqnr = zppmrp5_tmp1~seqnr AND zppmrp5~werks_1 = zppmrp5_tmp1~werks_1 AND zppmrp5~pbdnr = zppmrp5_tmp1~pbdnr AND zppmrp5~elevel = zppmrp5_tmp1~elevel INNER JOIN makt ON makt~matnr = zppmrp5_tmp1~matnr_1 WHERE "zppmrp5_tmp1~elevel = 1 AND zppmrp5_tmp1~elevel IN r_elevel AND zppmrp5_tmp1~matnr_1 IN so_mat1 AND zppmrp5_tmp1~matnr_2 IN so_mat2 AND zppmrp5_tmp1~matnr IN so_matnr AND zppmrp5_tmp1~arbpl_1 IN so_arb1 AND zppmrp5_tmp1~arbpl_2 IN so_arb2 AND zppmrp5_tmp1~zbesk IN so_zbesk. SORT gt_result_tab BY matnr matnr_1 arbpl_1 arbpl_2 seqnr werks_1 pbdnr elevel. DELETE ADJACENT DUPLICATES FROM gt_result_tab COMPARING matnr matnr_1 arbpl_1 arbpl_2 seqnr werks_1 lgort_1 lgort_2 pbdnr elevel. LOOP AT gt_result_tab ASSIGNING <gs_result_tab>. CLEAR: <gs_result_tab>-cellcolor. IF <gs_result_tab>-gamng_td EQ <gs_result_tab>-gamng_ld. "AND <gs_result_tab>-gamng_1_td EQ <gs_result_tab>-gamng_1_ld. <gs_result_tab>-id = '@1G@'. "'@1G@' = ELSEIF <gs_result_tab>-gamng_td EQ 0 AND <gs_result_tab>-gamng_ld GT 0. <gs_result_tab>-id = '@05@'. "'@1J@' < ELSEIF <gs_result_tab>-gamng_td GT 0 AND <gs_result_tab>-gamng_ld EQ 0. <gs_result_tab>-id = '@04@'. "'@1I@' > ELSEIF <gs_result_tab>-gamng_td GT <gs_result_tab>-gamng_ld." or <gs_result_tab>-gamng_1 GT <gs_result_tab>-gamng_1_L. <gs_result_tab>-id = '@1I@'. "@04@ + ELSEIF <gs_result_tab>-gamng_td LT <gs_result_tab>-gamng_ld." or <gs_result_tab>-gamng_1 LT <gs_result_tab>-gamng_1_L. <gs_result_tab>-id = '@1J@'. "@05@ - ENDIF. * Colour code : * * Colour is a 4-char field where : * * - 1st char = C (color property) * * - 2nd char = color code (from 0 to 7) * * 0 = background color * * 1 = blue * * 2 = gray * * 3 = yellow * * 4 = blue/gray * * 5 = green * * 6 = red * * 7 = orange * * - 3rd char = intensified (0=off, 1=on) * * - 4th char = inverse display (0=off, 1=on) * <gs_result_tab>-count = 1. IF <gs_result_tab>-gamng_1_td IS NOT INITIAL. w_cellcolor-fname = 'GAMNG_1_TD'. w_cellcolor-color-col = '2'. w_cellcolor-color-inv = '0'. w_cellcolor-color-int = '1'. APPEND w_cellcolor TO t_cellcolor. ENDIF. IF <gs_result_tab>-gamng_td IS NOT INITIAL. w_cellcolor-fname = 'GAMNG_TD'. w_cellcolor-color-col = '2'. w_cellcolor-color-inv = '0'. w_cellcolor-color-int = '1'. APPEND w_cellcolor TO t_cellcolor. ENDIF. IF <gs_result_tab>-gamng_td IS NOT INITIAL. w_cellcolor-fname = 'GAMNG_1_LD'. w_cellcolor-color-col = '3'. w_cellcolor-color-inv = '0'. w_cellcolor-color-int = '0'. APPEND w_cellcolor TO t_cellcolor. ENDIF. IF <gs_result_tab>-gamng_td IS NOT INITIAL. w_cellcolor-fname = 'GAMNG_LD'. w_cellcolor-color-col = '3'. w_cellcolor-color-inv = '0'. w_cellcolor-color-int = '0'. APPEND w_cellcolor TO t_cellcolor. ENDIF. * append w_cellcolor to t_cellcolor. APPEND LINES OF t_cellcolor TO <gs_result_tab>-cellcolor. ENDLOOP. IF p_cb6 IS NOT INITIAL. DELETE gt_result_tab WHERE ia EQ 'X'. ENDIF. IF p_chbox IS NOT INITIAL. DELETE gt_result_tab WHERE elevel NE 1. ENDIF. IF p_cb1 IS INITIAL. DELETE gt_result_tab WHERE id EQ '@1G@'. ENDIF. IF p_cb2 IS INITIAL. DELETE gt_result_tab WHERE id EQ '@1I@'. ENDIF. IF p_cb3 IS INITIAL. DELETE gt_result_tab WHERE id EQ '@1J@'. ENDIF. IF p_cb4 IS INITIAL. DELETE gt_result_tab WHERE id EQ '@04@'. ENDIF. IF p_cb5 IS INITIAL. DELETE gt_result_tab WHERE id EQ '@05@'. ENDIF. PERFORM get_fieldcatalog. CALL SCREEN 101. *&---------------------------------------------------------------------* *& Form GET_FIELDCATALOG *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM get_fieldcatalog. DATA lin TYPE i. FIELD-SYMBOLS: <fs_fcat> LIKE LINE OF gt_fieldcat. CLEAR gt_fieldcat[]. "Получаем FIELD-каталог по структуре------------------- CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = 'ZPP_RESULT_TAB_MPR5VS12'(007) * i_internal_tabname = gt_result_tab[] i_bypassing_buffer = 'X' CHANGING ct_fieldcat = gt_fieldcat[] EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. "Редактируем FIELD-каталог----------------------- * LOOP AT gt_fieldcat ASSIGNING <fs_fieldcat>. * <fs_fieldcat>-col_opt = 'X'. * ENDLOOP. * describe table gt_fieldcat lines lin. * append initial line to gt_fieldcat assigning <fs_fieldcat>. * <fs_fieldcat>-fieldname = 'CELLCOLOR'. " TYPE LVC_T_SCOL, * <fs_fieldcat>-col_pos = lin + 1. * <fs_fieldcat>-tabname = '1'. * unassign <fs_fieldcat>. ENDFORM. " GET_FIELDCATALOG INCLUDE zpp_mrp5vs12_def_impl. *INCLUDE zforms_mrp5_vs12. INCLUDE zpbos_pais_mrp5_vs12. INCLUDE zpp_copydata_mrp5_vs_12_stao01. INCLUDE zpp_copydata_mrp5_vs_12_usei01. и иклюд Code: *&---------------------------------------------------------------------* *& Include ZPBOS_PAIS *&---------------------------------------------------------------------* *---------------------------------------------------------------------* * MODULE PBO OUTPUT * *---------------------------------------------------------------------* MODULE PBO OUTPUT. SET PF-STATUS 'MRP5_VS_12'. SET TITLEBAR 'MRP5_VS_12'. DATA: l_save TYPE char1, ls_variant TYPE disvariant. * ls_layout TYPE lvc_s_layo. IF G_CUSTOM_CONTAINER IS INITIAL. CREATE OBJECT G_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = G_CONTAINER. CREATE OBJECT GRID1 EXPORTING I_PARENT = G_CUSTOM_CONTAINER. * связиваем "обработчик" событий с "гридом" * SET HANDLER lcl_events=>on_toolbar FOR GRID1. * SET HANDLER lcl_events=>on_user_command FOR GRID1. * SET HANDLER lcl_events=>on_mouse_dbl_click FOR GRID1. * SET HANDLER lcl_events=>on_after_user_command FOR GRID1. CALL METHOD GRID1->register_edit_event "After return key EXPORTING i_event_id = cl_gui_alv_grid=>mc_evt_enter. CALL METHOD GRID1->register_edit_event "cursor is moved to another field EXPORTING i_event_id = cl_gui_alv_grid=>mc_evt_modified. ls_variant-report = sy-repid. * PERFORM get_fieldcatalog. * ls_layout-sel_mode = 'A'. " 'E' for only one ls_variant-variant = p_profil. CLEAR: gt_excluding. APPEND cl_gui_alv_grid=>mc_fc_info TO gt_excluding. go_navigation_profile = cl_navp_factory=>factory( io_alv = GRID1 is_profile_key = ls_variant iv_default = p_dfault iv_save_mode = p_save it_table = gt_result_tab ). * iv_disable_call_transaction = p_trans * iv_disable_call_okcode = p_okcode * iv_disable_call_class = p_class ). gs_variant-username = sy-uname. gs_variant-report = sy-repid. gs_layout-CWIDTH_OPT = 'X'. * gs_layout-no_rowmark = ''. * gs_layout-cwidth_opt = 'X'. * gs_layout-sel_mode = ' '. * gs_layout-numc_total = 'X'. gs_layout-CTAB_FNAME = 'CELLCOLOR'. * gs_LAYOUT-coltab_fieldname = 'CELLCOLOR'. "CTAB_FNAME. CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING it_toolbar_excluding = gt_excluding is_variant = gs_variant is_layout = gs_layout i_save = 'A' i_default = 'X' CHANGING IT_OUTTAB = gt_result_tab "gt_fieldcat * it_filter = gt_filter * it_sort = gt_sort it_fieldcatalog = gt_fieldcat[]. ENDIF. ENDMODULE. *---------------------------------------------------------------------* * MODULE PAI INPUT * *---------------------------------------------------------------------* MODULE PAI INPUT. DATA: answer TYPE c VALUE space. CASE sy-ucomm." Обработка событий кнопок WHEN 'EXIT'. PERFORM EXIT_PROGRAM. WHEN OTHERS. * do nothing ENDCASE. ENDMODULE. *---------------------------------------------------------------------* * FORM EXIT_PROGRAM * *---------------------------------------------------------------------* FORM EXIT_PROGRAM. SET SCREEN 0. LEAVE SCREEN. LEAVE PROGRAM. ENDFORM. На девелоперском манданте все отлично работает, закрашивается. При переносе на тестовый - уже не закрашивается. При переносе на продакшн, вовсе ошибка. Не нашел нужной ноты Что еще можно сделать? видел примеры с salv, но хотелось бы в рамках alv остаться |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |