Quantcast
Channel: SAP archivos - Blog de SAP: Actualidad SAP, Business Intelligence, SAP HCM, Abap...
Viewing all articles
Browse latest Browse all 598

Reutilización de componentes SAP Web Dynpro ABAP (1/2)

$
0
0

La reutilización de componentes es un aspecto fundamental de la programación, de manera que elementos que creas una vez para una aplicación, puedas volver a usarlos en otra sin tener que reprogramarlos o copiarlos. En el siguiente artículo veremos cómo reutilizar un componente Web Dynpro, ya sea estándar o zeta.

Declarar componentes WD4A a reutilizar

Un componente Web Dynpro encapsula diferentes elementos de manera que puedan ser reutilizados por otros componentes Web Dynpro. Ejemplos de elementos estándar que se suelen reutilizar son: WDR_OVS para ayudas OVS, WDR_MESSAGE_AREA para mostrar mensajes, SALV_WD_TABLE para ALVs, o WDR_SELECT_OPTIONS para definir select options en Web Dynpro.

1. Declarar componente Web Dynpro ABAP a reutilizar

Si un componente (padre) necesita acceder a la funcionalidad de otro componente (hijo) para reutilizarla, el primero tiene que declarar el uso del segundo. Esto se realiza en la pestaña Componentes Usados en las propiedades del componente Web Dynpro tal y como se puede ver en la imagen mostrada al inicio del artículo.

En la segunda columna escribiremos el nombre del componente Web Dynpro a reutilizar en el padre. El nombre introducido en la primera columna será un alias que será usado cuando queramos usar métodos o vistas del hijo.

2. Referenciar componente Web Dynpro en controlador

Una vez declarado el hijo en el componente padre, también habrá que referenciar el componente Web Dynpro ABAP en el controlador donde se quieran usar las funcionalidades del hijo. Para ello, en la pestaña de propiedades del controlador volveremos a referenciar al hijo:

Referenciar componente WD4A a reutilizar en controlador

Por ejemplo si queremos usar un ALV en una vista, haremos esa referencia en su controlador. Si nos fijamos, todos los controladores de un componente tienen referenciado el component controller del propio componente.

Ahora en este controlador, podríamos llamar a métodos de la interfaz del componente Web Dynpro hijo. Para llamar a uno, recomiendo utilizar el wizard de Web Dynpro, que hará las declaraciones e instancias necesarias para que todo funcione correctamente.

Reutilizar métodos de componentes Web Dynpro ABAP mediante wizard

3. Mapear el contexto del componente Web Dynpro a reutilizar

Así mismo, también es posible mapear contexto del componente Web Dynpro hijo para poder usarlo en el padre. Desde la pestaña  Context, al igual que se mapea desde el component controller se puede mapear desde la interfaz del hijo.

Mapear contexto del componente Web Dynpro ABAP hijo

 3. Reutilizar vista de componente Web Dynpro ABAP

La última opción que tenemos es reutilizar una interfaz de vista del componente Web Dynpro ABAP  hijo en el componente padre. Para ello en el controlador de la ventana, debemos embeber la vista del hijo. Como si de una vista normal del controlador se tratase, debemos pulsar la opción embeber vista en la pestaña Window. En la ayuda de búsqueda, además de las vistas propias del componente nos aparecerán las de los componentes Web Dynpro ABAP referenciados. En el ejemplo, la vista ALV:

Reutilizar interfaz vista de componente Web Dynpro ABAP

De esta manera, sabiendo qué métodos o vistas o nodos del hijo necesitamos, podremos reutilizar las funcionalidades de otro componente Web Dynpro ABAP.

 


Viewing all articles
Browse latest Browse all 598

Trending Articles