Текущее время: Сб, июл 21 2018, 04:13

Часовой пояс: 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
Сообщения: 2948
Пол: Мужской
Мда, верно заметили - "нагородил".

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

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
Сообщения: 2948
Пол: Мужской
sonics написал(а):
какой проще ?

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


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

Зарегистрирован:
Ср, сен 06 2017, 00:56
Сообщения: 324
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
Сообщения: 324
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
Сообщения: 324
так 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
Сообщения: 2927
Откуда: Москва
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 часа


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

Сейчас этот форум просматривают: BingBot


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

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