abap web dynpro - pratica 2

Upload: adauri-serra

Post on 18-Oct-2015

25 views

Category:

Documents


2 download

TRANSCRIPT

  • ABAP Web Dynpro Prtica 2

    Pgina | 1

    Navegao entre Views

    Neste prximo exemplo, vamos estender a funcionalidade de nosso componente Pesquisa de Vos,

    adicionando uma View que ir exibir uma mensagem ao usurio, caso a pesquisa no tenha encontrado

    nenhum vo para o filtro selecionado.

  • ABAP Web Dynpro Prtica 2

    Pgina | 2

    Passo 1 Criando uma nova View Para exibir uma mensagem, vamos criar uma nova View, adicionar um elemento TextView e um

    elemento Button.

    Preencha os dados para a nova View.

    Adicione os elementos TextView e Button

  • ABAP Web Dynpro Prtica 2

    Pgina | 3

    Passo 2 Mapeando dados no Context

    Criaremos agora os dados que desejamos estar disponveis em nossa View.

    Na aba Context da nova View NO_RESULT, arraste para o Context da View os ns

    DESTINATION_FROM e DESTINATION_TO do Context do Controller do Componente.

    Tambm criaremos um novo atributo no Context da View NO_RESULT. Este atributo no ser

    poder ser mapeado, pois tem origem em um View Controller.

  • ABAP Web Dynpro Prtica 2

    Pgina | 4

    Entre com os dados para o atributo.

    Utilizaremos o Data Binding para ligar o novo atributo criado ao TextView adicionado em nossa

    View NO_RESULT.

  • ABAP Web Dynpro Prtica 2

    Pgina | 5

    Selecione o atributo a ser ligado.

    Passo 3 Adicionado os Plugs de navegao Salve a View NO_RESULT e volte para a View MAIN.

    Na View MAIN, v para a aba Outbound Plug e crie um novo Outbound Plug chamado

    NO_RESULT_FOUND.

  • ABAP Web Dynpro Prtica 2

    Pgina | 6

    Na View NO_RESULT, crie agora um Inbound Plug chamado DISPLAY_NO_RESULT.

    Salve a View NO_RESULT.

    Passo 4 Disparando o evento de navegao Para o prximo passo, voltamos a View MAIN. Na aba Actions, vamos modificar a implementao

    da Action SEARCH.

    Posicione o cursor abaixo da chamada ao mtodo da BAPI e clique no boto Code Wizard .

    Selecione Read Context e selecione o n FLIGHT_LIST:

  • ABAP Web Dynpro Prtica 2

    Pgina | 7

    Todo o cdigo necessrio para ler o n do Context automaticamente montado. Note tambm que

    alguns pontos so deixados para o desenvolvedor injetar cdigo customizado. Estes pontos so

    identificados com comentrios @TODO.

    Aps a leitura do n no Context, executada pela mtodo GET_CHILD_NODE do objeto

    WD_CONTEXT, feita uma verificao para apurar se foram encontrados resultados para a

    pesquisa.

    Dentro deste trecho, iremos incluir a chamada ao evento de navegao que ira levar o usurio at a

    View NO_RESULT. Isto feito atravs do Outbound Plug NO_RESULT_FOUND.

    Posicione o cursor na linha entre o segundo IF .. IS INITIAL e o ENDIF correspondente e clique no

    boto Code Wizard novamente. Lembre-se de apagar o cdigo gerado aps este IF.

    Selecione a opo Start navigation e selecione o Outbound Plug NO_RESULT_FOUND.

  • ABAP Web Dynpro Prtica 2

    Pgina | 8

    Novamente, o cdigo necessrio gerado.

    Crie um novo Outbound Plug para voltar a View MAIN.

    Salve e v para a View NO_RESULT. Na aba layout, selecione o boto Nova pesquisa.

    Vamos criar uma Action para o evento OnAction deste boto:

    Para facilitar, ao criar uma Action, possvel indicar um Outbound Plug a ser disparado no mtodo

    que ir implementar esta Action. Selecione o Outbound Plug criado.

    A Action criada e o mtodo automaticamente implementado, disparando o evento de navegao.

  • ABAP Web Dynpro Prtica 2

    Pgina | 9

    Ainda na View NO_RESULT, v para a aba Methods. Note que foi criado um novo mtodo chamado

    HANDLEDISPLAY_NO_RESULT, o qual foi gerado automaticamente ao criarmos o Inbound Plug

    DISPLAY_NO_RESULT.

    Neste mtodo, podemos montar o texto a ser mostrado no TextView desta View. Inicialmente,

    devemos recuperar os valores da pesquisa. Isso feito atravs dos dados j disponveis no Context

    desta View.

    Novamente usaremos o Code Wizard para ler os dados do Context. Lembre-se de posicionar o

    cursor na posio correta no editor.

  • ABAP Web Dynpro Prtica 2

    Pgina | 10

    Agora temos os dados necessrios para montar a mensagem.

    * Monta a mensagem --------------------------------------------------*

    DATA: l_msg_text TYPE string.

    CONCATENATE 'Nenhum vo encontrado partindo de'

    ls_destination_from-city

    'para'

    ls_destination_to-city

    INTO l_msg_text SEPARATED BY space.

    wd_context->set_attribute( name = 'MSG_TEXT' value = l_msg_text ).

    Passo 5 Incluindo a View na Window Para que possamos testar nossa aplicao, uma ltima tarefa embutir a View NO_RESULT a

    Window principal de nosso Componente. V para a Window e abra o menu de contexto na aba

    Window. Acione o comando Embed View.

    Indique a View a ser adicionada. NO_RESULT.

    Salve e ative os objetos.

  • ABAP Web Dynpro Prtica 2

    Pgina | 11

    Aps os objetos ativados, podemos testar a Application: