Eu tive um problema numa tela ALV onde eu tenho uma tela com alguns campos de tela e um container com ALV.
Criei um ALV editável e um evento para o botão copiar, onde seria criado uma nova linha com cópia de onde o cursor está com a mesmas características da linha posicionada. Nessa linha eu tenho um campo quantidade, e nessa mesma tela eu tenho um campo de tela como se fosse um contador da quantidade, ou seja se tivesse a quantidade 100 e eu copiasse a linha esse meu campo de tela ficaria 200 e assim por diante. Qual o problema.. o evento da ALV não conversa com a tela, ou seja, quando eu clico num botão do ALV ele não volta para o PBO para atualizar o campo em tela. Procurando no google SDN, achei a solução colocando uma chamada de um método após o evento executado, quando chama o método, ele reinicializa a tela.
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'REFRESH'.
No meu caso coloquei em 2 eventos no user_command e no changed_data.
METHOD handle_data_changed.
PERFORM handle_data_changed USING er_data_changed e_ucomm.
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'REFRESH'.
ENDMETHOD. "handle_data_changed
Nenhum comentário:
Postar um comentário