¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Controlador personalizado vs controlador de componente: diferenças e exemplos explicados

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Qual a diferença entre um controlador personalizado e um controlador de componente?

Alguém pode explicar a diferença com um exemplo de amostra?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Controlador de Componentes

O controlador de componentes fornece dados e lógica de processamento que devem ser capazes de ser exibidos ou alterados para todas as visualizações de um componente. Ele possui três interfaces:

∑ Interface IF_ para codificação entre componentes. No nível de linguagem ABAP, representa o controlador de interface.

Dentro do componente, é possível mapear para qualquer elemento de contexto do controlador de componentes.

Os atributos de um controlador de componentes são conhecidos por todos os métodos que são chamados dentro de um componente e podem ser utilizados por eles, desde que sejam públicos. Caso contrário, sua visibilidade é restrita ao controlador de componentes. Os eventos e métodos atribuídos ao controlador de componentes são visíveis em todo o componente. Portanto, por exemplo, qualquer ação de uma visualização do componente pode chamar um método desse controlador de componentes.

Controlador Personalizado

As propriedades e o uso do controlador personalizado que podem ser adicionados opcionalmente correspondem exatamente aos do controlador de componentes. Isso significa que é visível para todos os elementos do componente e a vida útil dos elementos é a vida útil do componente. O controlador personalizado oferece a opção de estruturar funções e dados dentro de um componente. Faz sentido criar e manter um controlador personalizado se um determinado subconjunto de visualizações de um componente precisar ser equipado com uma função especial ou com um conjunto especial de dados.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Controlador de Componentes O controlador de componentes é o controlador principal de um componente Web Dynpro. Assim que você declara a existência de um componente Web Dynpro, o controlador de componentes é criado automaticamente. Você não pode ter um componente Web Dynpro sem um controlador de componentes correspondente.

Este controlador pode ser considerado hierarquicamente superior a todos os outros controladores no componente. Como resultado, a vida útil do componente é sempre igual à vida útil do controlador de componentes.

Quando o framework Web Dynpro recebe uma URL correspondente a um aplicativo Web Dynpro, o controlador de componentes do componente raiz é instanciado. Aqui está um exemplo de como o framework Web Dynpro interage automaticamente com o código escrito pelo desenvolvedor Web Dynpro.

Como o controlador de componentes não possui uma interface visual, ele não pode apresentar diretamente nenhuma informação ao usuário. No entanto, essa tarefa não é uma preocupação para o controlador de componentes. O controlador de componentes apenas deve conter o código necessário para controlar a interação com:

- Todos os outros controladores

- Instâncias de componentes secundários

- Objetos de modelo

Você deve considerar o controlador de componentes como o ponto central de controle para o comportamento do componente Web Dynpro.

Controladores personalizados são semelhantes ao controlador de componentes no sentido de que também não possuem uma interface visual. No entanto, a existência de controladores personalizados é completamente controlada pelo desenvolvedor Web Dynpro no tempo de design. Declarar a existência de um componente Web Dynpro faz com que o controlador de componentes seja criado automaticamente, mas esse não é o caso com os controladores personalizados. Os controladores personalizados são criados apenas por meio de uma declaração explícita no tempo de design.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Controlador de componente:

Cada componente Web Dynpro tem pelo menos um controlador global, chamado componentController. A vida útil do controlador de componente é determinada pela vida útil de toda a

Aplicação. Cada controlador Web Dynpro tem uma área de armazenamento de dados conhecida como contexto. O controlador de componente é o controlador principal de um componente Web Dynpro. Assim que você declara a existência de um componente Web Dynpro, o controlador de componente é criado automaticamente.

Controlador personalizado:

Necessário para armazenar dados de contexto usados em várias visualizações. Um controlador personalizado tem uma vida útil mais longa do que um controlador de visualização. Os controladores personalizados pertencem ao componente e existem enquanto o componente estiver vivo em uma aplicação.

Quando usar um controlador personalizado?

Reutilização Crie um controlador personalizado se identificou um caso de reutilização para uma unidade específica de código necessária por vários outros controladores dentro do componente.

Separação de tarefas Para evitar colocar muito código no controlador de componente (e potencialmente aumentar seu tempo de inicialização), coloque o código dedicado a uma tarefa específica em um controlador personalizado separado.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

A principal diferença entre o controlador personalizado e o controlador de componente é o papel que desempenham durante a transferência de dados.

a) O controlador personalizado é usado para a transferência de dados entre duas visualizações dentro de um componente. Para isso, é necessário vincular os nós de contexto de visualização ao controlador personalizado, seja através do assistente ou adicionando manualmente o código no método create_contextnode da classe CTXT:

  • Configuração inicial para o nó do modelo dependente

coll_wrapper =

BTADMINH->get_collection_wrapper( ).

TRY.

entity ?= coll_wrapper->get_current( ).

CATCH cx_sy_move_cast_error.

ENDTRY.

IF entity IS BOUND.

BTOpportH->on_new_focus(

focus_bo = entity ).

ENDIF.

b) O controlador de componente é usado para a transferência de dados entre duas visualizações em dois componentes diferentes. Para isso, primeiro precisamos definir o uso do componente e depois vincular os nós de contexto no método WD_USAGE_INITIALIZE da classe de implementação do Controlador de Componente.

WHEN 'NomeDoUsoDoComponente'.

iv_usage->bind_context_node(

iv_controller_type = cl_bsp_wd_controller->co_type_custom

iv_target_node_name = 'NomeDoNodoDeContexto' "#EC NOTEXT

iv_node_2_bind = 'NomeDoNodoDeContexto' ). "#EC NOTEXT

°Espero que isso esclareça algumas de suas dúvidas!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?