Pergunta

Meu amigo parece estar tendo alguns problemas com ABAP. Aqui está uma cópia de sua pergunta - publicada nos fóruns da comunidade SAP.


Ei pessoal, estou tentando marcar o datenavigator com duas categorias. Fiz um contexto chamado de marcação, com atributos Data, categoria e dica de ferramentas.

Nó: marcação

  • Encontro:
  • Categoria:
  • Diferença de ferramenta:

Eu preenchi o atributo de categoria com duas categorias: e_category-three e e_category-four. Preenchi o atributo da data com datas. Quero que algumas dessas datas sejam categorias-três e outras de categoria quatro.

Atualmente, todas as datas estão definidas para a primeira categoria (e_category-three) e o código se parece com isso.

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.
      " ... 
Foi útil?

Solução

Estou assumindo isso ls_dates_shared é de marcação de tipo?

Se for esse o caso, você precisa preencher os campos ls_dates_shared-category e ls_dates_shared-tooltip explicitamente.

Atualmente, isso pode ser preenchido antes do trecho de código que você nos dá. Tente algo assim:

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.
...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top