Установить категории в DateNavigator
Вопрос
Кажется, у моего друга проблемы с ABAP.Вот копия его вопроса, опубликованного на форумах сообщества SAP.
Привет всем, я пытаюсь отметить DatenAvigator двумя категориями.Я создал контекст под названием «Маркировка» с атрибутами «Дата», «Категория» и «Подсказка».
Узел:Маркировка
- Дата:
- Категория:
- Подсказка:
Я заполнил атрибут категории двумя категориями: e_category-three
и e_category-four
.Я заполнил атрибут Date датами.Я хочу, чтобы некоторые из этих дат относились к третьей категории, а другие к четвертой.
В настоящее время все даты относятся к первой категории (e_category-three
), и код выглядит следующим образом.
if ls_host_name-host_name <> host_msg and ls_vm_name-vm_name = vm_msg.
loop at lt_machine_booking into wa.
if ls_host_name-host_name = wa-host_name.
date = wa-reserved_from.
while date <= wa-reserved_till.
ls_dates_shared-dates = date. > i want these dates to be e_category-three
append ls_dates_shared to lt_dates_shared.
add 1 to date.
ENDWHILE.
endif.
ENDLOOP.
elseif ls_host_name-host_name <> host_msg and ls_vm_name-vm_name <> vm_msg.
loop at lt_machine_booking into wa.
if ls_host_name-host_name = wa-host_name and ls_vm_name-vm_name = wa-vm_name.
date = wa-reserved_from.
while date <= wa-reserved_till.
ls_dates_shared = date. > i want these dates to be e_category-four
append ls_dates_shared to lt_dates_shared.
add 1 to date.
ENDWHILE.
endif.
" ...
Решение
Я предполагаю, что ls_dates_shared
имеет типовую маркировку?
В этом случае вам необходимо заполнить поля ls_dates_shared-category
и ls_dates_shared-tooltip
явно.
В настоящее время это может быть заполнено до фрагмента кода, который вы нам предоставляете.Попробуйте что-то вроде этого:
if ls_host_name-host_name <> host_msg and ls_vm_name-vm_name = vm_msg.
loop at lt_machine_booking into wa.
if ls_host_name-host_name = wa-host_name.
date = wa-reserved_from.
while date <= wa-reserved_till.
ls_dates_shared-dates = date. "i want these dates to be e_category-three"
ls_dates_shared-category = e_category-three.
"ls_dates-tooltip = appropriate_tooltip for e_category-three"
append ls_dates_shared to lt_dates_shared.
add 1 to date.
ENDWHILE.
endif.
ENDLOOP.
elseif ls_host_name-host_name <> host_msg and ls_vm_name-vm_name <> vm_msg.
loop at lt_machine_booking into wa.
if ls_host_name-host_name = wa-host_name and ls_vm_name-vm_name = wa-vm_name.
date = wa-reserved_from.
while date <= wa-reserved_till.
ls_dates_shared = date. "i want these dates to be e_category-four"
ls_dates_shared-category = e_category-four.
"ls_dates-tooltip = appropriate_tooltip for e_category-four"
append ls_dates_shared to lt_dates_shared.
add 1 to date.
ENDWHILE.
endif.
...