Текущее время: Пн, июл 16 2018, 16:14

Часовой пояс: UTC + 4 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 09:26 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
Извините, за то, что пложу темы... тем более, что такую уже раза 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-е.
Поясните пожалуйста. Что я нагородил неверно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 09:57 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2942
Пол: Мужской
Мда, верно заметили - "нагородил".

Читайте как работать с типами данных.

Code:
TRANSPORTING cellcolor.

Что это? Для чего?

Code:
w_cellcolor-fname = 'gamng_TD'.

Имя поля заглавными

Ладно бы примеров в системе и в интернетах не было,
Просто скопировать если не понимаете BCALV_TEST_COLORS в чем проблема?
И еще, если Вам надо просто закрасить столбец, то варианты есть проще, через указание одного параметра в каталоге полей.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 10:00 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
Besa написал:
Мда, верно заметили - "нагородил".

Читайте как работать с типами данных.

Code:
TRANSPORTING cellcolor.

Что это? Для чего?

Code:
w_cellcolor-fname = 'gamng_TD'.

Имя поля заглавными

Ладно бы примеров в системе и в интернетах не было,
Просто скопировать если не понимаете BCALV_TEST_COLORS в чем проблема?
И еще, если Вам надо просто закрасить столбец, то варианты есть проще, через указание одного параметра в каталоге полей.

да, прост 4 столбца в один цвет покрасить или в разные, не важно в общем.
какой проще ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 10:05 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2942
Пол: Мужской
sonics написал(а):
какой проще ?

У Вас принципиальная позиция относительно "посмотреть примеры" в которых все эти элементарные вещи есть.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 10:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 06 2017, 00:56
Сообщения: 323
Code:
тут на меня ругается
Цитата:
is not an internal tabble OCCURS n specification


и правильно делает, что ругается.
<gs_result_tab> разве таблица?

почитайте что такое FIELD-SYMBOLS.

если перебираете таблицу через филд символ то не нужно делать MODIFY


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 11:25 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
какой же он огромный, этот пример блин . . .


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 15:42 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
та покрасить то легко . . . проблема в том, что у меня
Code:
grid1  TYPE REF TO cl_gui_alv_grid_ext,

как только убрать ext - сразу же покрасилось всё :(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 16:24 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 06 2017, 00:56
Сообщения: 323
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 писать или подбором или где-то хелп был, так сходу не вспомню


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 16:38 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
к сожалению, этот класс необходим с ext,
без него проблем с покраской ячеек или колонок не возникает.
это уже были танцы с бубном и поиски проблемы :(
буду искать . . .


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 16:45 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 06 2017, 00:56
Сообщения: 323
так cl_gui_alv_grid_ext унаследован от cl_gui_alv_grid там что филд каталок радикально перебрали?
в нем такой же присутствет поле EMPHASIZE в фидкаталоге


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Вт, июн 19 2018, 17:04 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
ну вот переименовываю в 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 в сапе моем тоже нет :)
может версия не та . . .


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Пт, июн 22 2018, 02:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 17:44
Сообщения: 2926
Откуда: Москва
sonics написал(а):
к сожалению, этот класс необходим с ext

Зачем? :?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Пт, июн 22 2018, 09:10 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 13:17
Сообщения: 287
Пол: Мужской
Удав
Это из раннего
viewtopic.php?f=13&t=96453&start=0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Закрашивание столбца
СообщениеДобавлено: Пн, июн 25 2018, 11:25 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 298
у меня не получилось внедрить на alv_grid просто, поэтому я тут остановился.
к тому же у ext есть такой атрибут как MV_STYLE_NAME - в котором есть стили нужные, но как к этому атрибуту обратиться?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot], Google [Bot], Google Feedfetcher, MaрьЯ


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB