Vous êtes sur la page 1sur 61

MANUAL DE FPM

(Floorplan Manager para Web Dynpro ABAP)


FPM es una aplicacin Web Dynpro ABAP e integrado en el entorno de desarrollo Web Dynpro
ABAP.
Floorplan Manager (FPM) es una aplicacin Web Dynpro ABAP que proporciona un marco para
el desarrollo de nuevas interfaces de aplicaciones Web Dynpro ABAP consistente con las
directrices de interfaz de usuario de SAP. FPM actualmente le ayuda en la creacin y
configuracin de interfaces de usuario con las siguientes foorplan:
- Object Instance Floorplan (OIF)
- Overview Page Floorplan (OVP)
- Guided Activity Floorplan (GAF)
- Quick Activity Floorplan (QAF)
Las siguientes reas de floorplan pueden ser configuradas usando el editor de configuracin de
FPM:
- Identification Region (IDR)
- Message Region (MR)
- Context Navigation Region (CNR)
- Roadmap Element
Las reas Floorplan deben tener una interfaz de usuario compatible con las directrices y FPM
proporciona bloques predefinidos de construccin de interfaz de usuario (UIBBs) para ayudarle
en la creacin y configuracin de "views" de aplicaciones especficas (freestyle areas) Los
formularios de plantillas de interfaz de usuario comunes, listas, Listas jerrquicas y rea de
pestaas, pueden ser configuradas usando el editor de configuracin de FPM.
FPM incluye APIs (application programming interfaces / interfaces de programacin de
aplicaciones) para funciones comunes como navegacin, manejo de prdida de datos,
mensajera y personalizacin.
FPM permite la libre modificacin de adaptaciones del cliente.




User Interface Building Blocks (UIBB)

Desde la perspectiva de FPM, Las UIBBs son las vistas de interfaz (Ventanas de WebDynpro
ABAP) que son proporcionados por la aplicacin externa y no por s mismo FPM.
Con el fin de que el framework FPM reconozca un UIBB, el componente Web Dynpro que
proporciona la UIBB debe implementar la interfaz de Web Dynpro.
IF_FPM_UI_BUILDING_BLOCK:
La interfaz IF_FPM_UI_BUILDING_BLOCK garantiza que la aplicacin Web Dynpro pueda tomar
parte en el bucle de eventos de FPM. Esta interfaz tiene una serie de mtodos:
FLUSH El primer mtodo llamado despus de que el bucle de eventos de FPM
comience. La UIBB necesita transportar todos los datos modificados desde las vistas a los otros
componentes con los que quiera comunicarse ms tarde. Normalmente este transporte se
realiza automticamente usando el mapeo del contexto de la Web Dynpro, pero este mtodo
se usa cuando los mecanismos automticos no se estn usando.
NEEDS_CONFIRMATION Con este mtodo, se solicita una confirmacin para continuar
con el bucle de eventos.
IF_FPM_TRANSACTION_CHECK_BEFORE_SAVE Para realizar chequeos completos de
los datos antes de guardar. Adems de la comprobacin de consistencia, este mtodo contiene
el procesamiento del evento actual. Para ello, el evento actual se puede identificar a travs de
los atributos de MV_EVENT_ID y MO_EVENT_DATA en la instancia del evento IO_EVENT.
Dependiendo de si el evento se ha procesado correctamente o no, el parmetro de salida
EV_RETURN se informar con IF_FPM_CONSTANTS~GC_EVENT_RESULT-OK o con
IF_FPM_CONSTANTS~GC_EVENT_RESULT-FAILED.
PROCESS_EVENT Con este mtodo se realizan las siguientes tareas:
- Procesa el evento actual.
- Chequeo local de consistencia de datos, para informar al usuario de potenciales
errores de entrada de datos en la medida de lo posible. Esto no exime de realizar
chequeos completos antes de guardar con el mtodo
IF_FPM_TRANSACTION_CHECK_BEFORE_SAVE

Una implementacin tpica de PROCESS_EVENT es la siguiente:
IF io_event->mv_event_is_validating = abap_true.
Chequeos locales
ENDIF
CASE io_event->mv_event_id.
WHEN XYZ
Manejar evento y rellenar EV_RETURN de acuerdo con el valor de
IF_FPM_CONSTANTS~GC_EVENT_RESULT
ENDCASE.
AFTER_FAILED_EVENT Este mtodo es llamado por el FPM si un evento no puede ser
procesado correctamente. En ese caso, la UIBB necesita asegurarse de que la interfaz de
usuario revierte los cambios al estado anterior. Si el mtodo PROCESS_EVENT de la actual UIBB
ha sido procesado correctamente, pero el evento en proceso falla debido a un problema en
otro UIBB, el evento procesado necesita ser revertido tambin. El parmetro IV_REVERT indica
esta situacin.

PROCESS_BEFORE_OUTPUT El ltimo mtodo en ser llamado.




















Crear una aplicacin simple de FPM
Aqu crearemos una aplicacin de FPM, basada en OIF o GAF. La aplicacin OIF contendr 2
pestaas, cada una conteniendo una sola pestaa de sub-vista; la aplicacin GAF contendr 2
pasos.
Completaremos la aplicacin FPM siguiendo los siguientes pasos:
1. Crear un Web Dynpro Component con las UIBBs requeridas e implementar la interfaz
IF_FPM_UI_BUILDING_BLOCK de la Web Dynpro.
2. Crear una Web Dynpro Aplication y especificar los parmetros de acuerdo con cada
instancia de floorplan que estemos utilizando.
3. Usar el editor de configuracin de FPM para crear una configuracin para la aplicacin.
4. Probar la aplicacin.

Una aplicacin FPM est compuesta por un nmero de diferentes Web Dynpro Component,
muchos de las cuales instanciados dinmicamente en tiempo de ejecucin. Sin embargo, los 2
siguientes, siempre estn presentes:
- Un Component especfico del floorplan (FPM_GAF_COMPONENT o
FPM_OIF_COMPONENT)
- Un Component para la Heder rea (FPM_IDR_COMPONENT)
En trminos simples, la configuracin de una aplicacin FPM es la configuracin de estos dos
Component.

Vamos a ver con detalle cada paso de la creacin de la aplicacin FPM:
1. Crear un Web Dynpro Component con las UIBBs requeridas e implementar la interfaz
IF_FPM_UI_BUILDING_BLOCK de la Web Dynpro:

- Ir a la transaccin se80 y en el desplegable escoger Web Dynpro Component, poner el
nombre de nuestra nueva Web Dynpro y pulsar en crear:


- En la siguiente ventana de dilogo que se muestra, introducir un nombre, descripcin y
nombre de ventana y vista (el nombre de la vista debe ser diferente al de la ventana) y
pulsar ENTER.


- Guardamos y asignamos el paquete adecuado.

- Elegimos la pestaa "Impemented interfaces. En la primera fila de la columna
Name, introducimos la interfaz FPM:
IF_FPM_UI_BUILDING_BLOCK y guardamos.
- En la columna Action, pulsar Reimplement. El icono de la columna
Implementation State se muestra verde. Activar todo lo asociado con la Web Dynpro
con el botn .

Cuando se crea un Component, la Web Dynpro crea automticamente una Window y una View
y asigna la View automticamente a dicha Window (puede aadir ms ventanas y vistas
manualmente. Se recomienda agregar solamente una vista por ventana). En los siguientes
pasos, crearemos una Window nueva, una View nueva y asignaremos la View a la Window.
- En el navegador de objetos, desplegar el rbol del Web Dynpro Component;
- Expanda el nodo Views y haga doble clic en la vista existente.

- En la pestaa Layout, haga clic derecho sobre ROOTUIELEMENTCONTAINER en
insert element y CAPTION :

- Pulsar Enter y pinchar una sola vez en el campo text del bloque Property para
escribir el texto Hello.

- Guardar y activar todo lo relacionado con la Web Dynpro que aparezca en la ventana
de activacin.
- Aadimos una segunda View haciendo click derecho sobre el nodo Views y luego en
Create / Crear. Asignamos nombre y descripcin y Enter:

- Aadimos otro Caption como ya se hizo para la otra pestaa, y asignamos el texto
Welcome to the world of FPM. Guardamos.
- Hacemos click derecho sobre el nodo Windows, informamos el nombre y descripcin
de la Window y pulsamos enter:

- Arrastramos la View creada anteriormente FIRST desde el rbol del navegador hasta
el nodo que se muestra a la derecha con la estructura de la nueva Window:

(Finalmente se ve que la View se ha aadido en el rbol de la ventana)

- Guardamos y activamos.






2. Crear una Web Dynpro Aplication y especificar los parmetros de acuerdo con cada
instancia de floorplan que estemos utilizando. Los pasos a seguir son los siguientes:
- Hacer click derecho en el nodo del Web Dynpro Component del rbol de navegacin
de la izquierda. Pulsar Create / Crear luego Web Dynpro Aplication e informar un
nombre y descripcin.

Pulsar Enter.
- Introduzca la siguiente informacin para crear una aplicacin OIF o GAF:
Component: FPM_OIF_COMPONENT
/ (segn OIF o GAF)
FPM_GAF_COMPONENT
Interface View: FPM_WINDOW
Plug Name: Default

- Guardar y activar.
Ya hemos creado la aplicacin. Ahora podemos aadir parmetros a la aplicacin de la
siguiente forma:
- La Application se ha creado en el Component FPM_OIF_COMPONENT, as lo
introducimos en la se80 (Web Dynpro Component / Interface) y pulsamos Enter:

- Hacer doble click en el nodo de la Application creada y pulsar en la pestaa
Parameters que se muestra a la derecha:


- Podemos elegir los que queramos. En tiempo de ejecucin, estos parmetros estn
expuestos va IF_FPM->MO_APP_PARAMETER. (MO_APP_PARAMETER almacena una
instancia de IF_FPM_PARAMETER). Hay otros parmetros especficos de FPM que se
pueden agregar a su aplicacin. Estos se detallan en la siguiente tabla:


3. Usar el editor de configuracin de FPM para crear una configuracin para la aplicacin.
Previamente se ha de haber creado una Web Dynpro con 2 View y una Application
implementando la interfaz FPM_OIF_COMPONENT o FPM_GAF_COMPONENT. A continuacin
los pasos a seguir son los siguientes:
- En el navegador de objetos, haga clic en su nueva aplicacin Web Dynpro y seleccione
Crear / Cambiar configuracin. El editor de configuracin FPM se abre en una ventana
del navegador de internet:

- Introducir un nombre para el campo Configuration ID para el nombre de la
configuracin. Pulsar Create / Crear y OK.

- La ventana de la configuracin muestra 2 componentes;
FPM_OIF_COMPONENT ( FPM_GAF_COMPONENT)
FPM_IDR_COMPONENT

para los que se pueden crear configuraciones independientes. Para ello, en la columna
configuration / configuracin introducir los nombres de esas configuraciones y
guardar.


- Seleccionar la fila que contiene FPM_OIF_COMPONENT (or FPM_GAF_COMPONENT) y
Go To Component Configuration / Pasar a Configuracin del componente ->
Crear / Create y OK.
- Se mostrar una ventana de configuracin con los siguientes elementos:

Jerarqua de Navegacin: Con los elementos de la Application que podemos
configurar
Previsualizacin: Muestra el elemento seleccionado en la jerarqua y permite
cambiar los atributos del elemento.
rea de Accin: Permite aadir varios elementos a las pantallas individuales (por
ejemplo, botones de herramientas, Views principales o UIBB)

Se debe completar la configuracin con los pasos siguientes:
Configuring the FPM_GAF_COMPONENT ( OIF)
1. La previsualizacin de la configuracin del Component tiene un paso principal que
contiene un UIBB. Tambin hay 2 botones, Previous / Anterior y Next /
Siguiente.
2. Para aadir un Segundo paso, seleccionar Add Main Step / Aadir paso principal

3. En el rbol / jerarqua expandir los nodos de los pasos principales. Hay 2 UIBB, una
para cada paso. Seleccionamos la 1 para previsualizar sus atributos.
4. Ajustar estos atributos a la 1 window de nuestro Web Dynpro Component (que
contiene el texto Hello) de la siguiente forma:
Introduce el nombre del Component (usar la ayuda de bsqueda para
encontrar el Component).

Introducir la View (usar la ayuda de bsqueda).

5. En el rbol, seleccionar el otro elemento UIBB y realizar los mismos pasos pero con
la otra Window.
6. Grabar.

Configuring the FPM_IDR_COMPONENT
1. En el area de accin de la ventana de configuracin, seleccionar Configure IDR /
Configurar IDR.
2. Crear y guardar.
3. En el rbol elegir IDR Basic / IDR Bsico. Se muestran los atributos de IDR
Bsico. Introducir los siguientes datos:
Ttulo de Application
Tooltip (opcional)
4. Guardar.

4. Probar la aplicacin:
- En el rbol de la se80 localizar la Application FPM dentro del nodo de las Applications
de la Web Dynpro.

- Haz click derecho en la Application y selecciona Test. La Application se abrir.






Herramienta de creacin de Applications (ACT)
Es una herramienta de Web Dynpro que proporciona FPM para crear aplications y sus
correspondientes configuraciones en las 3 floorpalns disponibles (OIF/GAF/OVP) reduciendo
el esfuerzo.
Esta herramienta est localizada en el paquete APB_FPM_CONF y se llama
FPM_CFG_APPL_CREATION_TOOL. Para acceder a ella, introducimos en la se80 el nombre del
paquete y en el rbol de dicho paquete, navegamos por: Web Dynpro-> Web Dynpro
Applications y seleccionamos FPM_CFG_BO_MODEL_ACT WD. Hacemos click derecho en ella
y pulsamos en Test. Para utilizar esta herramienta, seguiremos estos pasos:
- Introducimos los datos de la aplicacin que queremos crear:
Nombre de la Application
Descripcin (opcional)
Floorplan

- Seleccionar Propose / Proponer. Basadio en el foorplan seleccionado, FPM
propone los nombres para los siguientes componentes de la tabla Proposed
Configuration Names:
Application Configuration
Floorplan (Component) Configuration
Header (IDR) Configuration
(Estos nombres y las descripciones de las configuraciones pueden ser cambiados
manualmente)
- Seleccionar Create e introducir los datos del paquete correcto.

- Despus de crear la configuracin de la Application FPM, tenemos las siguientes
opciones:
Seleccionar Test / Probar
Seleccionar Configuration Editor / Editor de configuracin
Seleccionar New / Nuevo







Editor de Configuracin para el administrador de
Floorplan

Editor de Configuracin para el administrador de Floorplan se usa para mejorar las interfaces
de usuario de las applications y adaptarlas a las necesidades de negocio.
El editor de configuracin tiene las siguientes reas:
- Zona de navegacin; muestra todas las configuraciones de applications o components
a los que se ha accedido anteriormente y que estn ordenadas jerrquicamente.

- Ruta de navegacin; (parte de arriba de la zona de navegacin) est dividida en las
siguientes subregiones:

rea de control; para elegir las ventanas que quieres configurar de la
Web Dynpro. Aqu se puede modificar o visualizar los botones para
configurar los ajustes globales y parmetros de las variantes de la
Application.

Jerarqua; muestra un rbol con los elementos que se pueden
configurar

- Previsualizacin; muestra la interfaz de la Application. Los elementos seleccionados,
estn coloreados en el rbol de jerarqua y sus atributos se ven en la vista de
atributos.

- rea de accin; contiene enlaces a todas las acciones que se pueden ejecutar para la
interfaz de la Application seleccionada.

- Vista de atributos; desde aqu se pueden modificarlo atributos de la interfaz de la
Application seleccionada

- rea de mensajes; aqu se muestran los conflictos en la configuracin como tablas con
el mismo nombre, etc.

Cada elemento de la interfaz de usuario se define y configura mediante sus atributos. Los
perfiles de autorizacin determinan si se puede llevar a cabo una configuracin o mejora de
elementos de la interfaz de usuario. Los 2 siguientes perfiles de autorizacin son importantes:
- S_DEVELOP; pueden realizarse todos los cambios a una interfaz desarrollada con
WebDynpro Abap.
- S_WDR_P13N; permite configurar una Web Dynpro Application en modo
administrador.
Podemos iniciar el editor de configuracin del administrador de Foorplan de alguna de las
siguientes maneras:
- En tiempo de ejecucin en modo de administrador, desde la interfaz de usuario de la
Application utilizando el enlace Adapt Configuration.

- En tiempo de ejecucin en modo experto, desde la interfaz de usuario de la
Application utilizando el enlace Change Configuration.

- En desarrollo, en Web Dynpro Application Configuration en el navegador de
objetos del Workbench de ABAP.

- En desarrollo, en Web Dynpro Component Configuration en el navegador de
objetos del Workbench de ABAP.


Editor de formularios para el administrador de
Floorplan
El editor de formularios se utiliza para ajustar un formulario en una Application para
necesidades especficas de negocio. El editor de formularios consta de las siguientes reas de
trabajo:
- Previsualizacin; se muestran todos los elementos de formulario con el fin de darle
una imagen del layout del formulario.
- Jerarqua; todos los elementos son mostrados en un rbol
- Vista de atributos; aqu se pueden cambiar los atributos del elemento del formulario
seleccionado.
- rea de accin; tiene los enlaces a todas las acciones que podemos realizar para el
elemento seleccionado actualmente.
El editor de formularios proporciona las siguientes acciones:
- Aadir grupo (Add Group)
- Aadir fusin de grupo (Add Melting Group)
- Editar clase alimentadora (Edit Feeder Class)
- Editar parmetros (Edit Parameters)
- Configurar barra de herramientas (Configure Toolbar)
- Configurar grupo (Configure Group)
Tambin proporciona las siguientes acciones para la edicin de grupos:
- Modificar atributos de grupo (Change Group Attributes)
- Aadir nuevo grupo (Add New Group)
- Aadir fusin de grupo (Add Melting Group)
- Aadir elemento (Add Element)
- Borrar grupo (Delete Group)
Las siguientes acciones para editar una fusin de grupo (melting group):
- Aadir elemento de grupo (Add Group Element)
- Modificar atributos del elemento de grupo (Change Group Element Attributes)
- Borrar elemento de grupo (Delete Group Element)
Y las siguientes acciones para editar la barra de herramientas:
- Aadir botn (Add Button)
- Modificar botn (Change Button)
- Borrar botn (Delete Button)
Hay que asegurarse de que la View procesamiento de componente-definido est
seleccionada antes de configurar un componente de formulario. El editor de formularios se
inicia desde el editor de configuracin foorplan de forma automtica al iniciar la configuracin
de una (UIBB) que utilice el componente de Web Dynpro FPM_FORM_UIBB.

Editor de listas para el administrador de Floorplan
Sirve para ajustar una lista dentro de una Application. Consta de las siguientes reas:
- Previsualizacin; se muestran todos los elementos de formulario con el fin de darle
una imagen del layout de la lista.
- Jerarqua; todos los elementos son mostrados en un rbol
- Vista de atributos; aqu se pueden cambiar los atributos del elemento de la lista
seleccionada.
- rea de accin; tiene los enlaces a todas las acciones que podemos realizar para el
elemento seleccionado actualmente.
El editor de listas proporciona las siguientes acciones:
- Editar clase alimentadora (Edit Feeder Class)
- Editar parmetros (Edit Parameters)
- Configurar columna (Configure Column)
- Configurar barra de herramientas (Configure Toolbar)
Tambin proporciona las siguientes acciones para la edicin de columnas:
- Aadir columna (Add Column)
- Borrar columna (Delete Column)

Hay que asegurarse de que la View procesamiento de componente-definido est
seleccionada antes de configurar un componente de formulario. El editor de formularios se
inicia desde el editor de configuracin foorplan de forma automtica al iniciar la configuracin
de una (UIBB) que utilice el componente de Web Dynpro FPM_FORM_UIBB.

Editor de componente de bsqueda para el
administrador de Floorplan

Sirve para ajustar un componente de bsqueda (en adelante Search) dentro de una
Application. Consta de las siguientes reas:
- Previsualizacin; se muestran todos los elementos de formulario con el fin de darle
una imagen del layout de la Search.
- Jerarqua; todos los elementos son mostrados en un rbol
- Vista de atributos; aqu se pueden cambiar los atributos del elemento de la Search
seleccionada.
- rea de accin; tiene los enlaces a todas las acciones que podemos realizar para el
elemento seleccionado actualmente.
El editor de Search proporciona las siguientes acciones:
- Editar clase alimentadora (Edit Feeder Class)
- Editar parmetros (Edit Parameters)
- Editar atributos de bsqueda (Edit Search Attributes)
- Editar resultados del catlogo de campos de la lista (Edit Result List Field Catalog)
En la vista de atributos, seleccionada desde el rbol de jerarqua, se puede cambiar mediante
los atributos Number of Result Rows y Number of Search Lines el nmero de filas o columnas
de los resultados de bsqueda. El editor de Search proporciona las siguientes acciones para la
edicin de atributos:
- Editar atributo de bsqueda (Edit Search Attribute)
- Borrar atributo de bsqueda (Delete Search Attribute)
Tambin proporciona las siguientes funciones para editar el atributo de una lista de resultados:
- Editar atributos de resultados de bsqueda (Edit Search Result Attribute)

Hay que asegurarse de que la View procesamiento de componente-definido est
seleccionada antes de configurar un componente de formulario. El editor de formularios se
inicia desde el editor de configuracin foorplan de forma automtica al iniciar la configuracin
de una (UIBB) que utilice el componente de Web Dynpro FPM_FORM_UIBB.

Editor de Tabbed Component para el administrador de
Foorplan
Sirve para ajustar un tabbed Component (se explica ms adelante) dentro de una Application.
Consta de las siguientes reas:
- Previsualizacin; se muestran todos los elementos de formulario con el fin de darle
una imagen del layout del tabbed Component
- Jerarqua; todos los elementos son mostrados en un rbol
- Vista de atributos; aqu se pueden cambiar los atributos del elemento del tabbed
Component seleccionada.
- rea de accin; tiene los enlaces a todas las acciones que podemos realizar para el
elemento seleccionado actualmente.

El editor de tabbed Component proporciona las siguientes acciones:
- Aadir componente maestro (Nombre tcnico MASTER UIBB) (Add Master Component
(technical name: MASTER UIBB))
- Aadir pestaa (Nombre tcnico TAB) (Add Tab (technical name: TAB))
Aadir View especfica de Application a la pestaa (nombre tcnico: TAB UIBB) (Application-
Specific View to Tab (technical name: TAB UIBB))
Hay que asegurarse de que la View procesamiento de componente-definido est
seleccionada antes de configurar un componente de formulario. El editor de formularios se
inicia desde el editor de configuracin foorplan de forma automtica al iniciar la configuracin
de una (UIBB) que utilice el componente de Web Dynpro FPM_FORM_UIBB.
Modelo Wire
Se utiliza para crear una Application FPM en ejecucin slo por configuracin o con el mnimo
esfuerzo de codificacin. Las interdependencias en tiempo de ejecucin entre UIBBs estn
definidas por las entidades de configuracin llamadas "Wires" que se basan en clases
reutilizables "connector". Un wire controla el contenido de datos del UIBB de destino
dependiendo de la interaccin del usuario cambiando el puerto de salida de la UIBB fuente.
Los puertos de salida pueden ser del tipo Lead selection, Selection or Collection. Por
ejemplo, el cambio de la seleccin principal en una lista de pedidos de ventas puede cambiar el
contenido de los datos de otra lista que muestra las posiciones de pedido de ventas asociadas.
Con el fin de ser parte un modelo Wire, una UIBB necesita implementar una determinada
interfaz WebDynpro que a su vez proporciona una implementacin del modelo alimentador.
Los Wires se definen a nivel de la configuracin del floorplan. Para cada modelo UIBB
contenido en la configuracin del floorplan, se puede definir una fuente UIBB con un puerto de
salida especificado.
Si el floorplan contiene tabbed components, los modelos UIBB contenidos en ellos, pueden
tambin ser conectados. De cara a una mejor reutilizacin, es posible definir intrinsicamente
los tabbed Component como conectados. Un tabbed Component puede definir una UIBB como
wire plug (normalmente un MASTER UIBB) que sirve como punto de entrada para la
conexin del tabbed Component desde el Component envolvente del floorplan. Si un wire plug
est configurado para un UIBB de un tabbed Component, solamente el Wire Plug puede ser
conectado exteriormente.
Interfaz IF_FPM_UIBB_MODEL
Interfaz Web Dynpro que necesita ser implementada por un UIBB de estilo libre que debe ser
fuente o destino de Wires. Slo se necesita implementar el mtodo GET_MODEL_API que
devuelve una referencia ligada a la interfaz modelo alimentador ABAP Orientado a Objetos.
Interfaz IF_FPM_FEEDER_MODEL
Interfaz del modelo alimentador que contiene los mtodos llamados por el framework de FPM
siguientes:
- GET_NAMESPACE Devuelve el espacio de nombres del rea de aplicacin
subyacente.

- SET_CONNECTOR Entrega el conector al que se puede acceder para la
recuperacin de datos en el PBO (por ejemplo IF_FPM_CONNECTOR_RUN).

- GET_INPORT_KEY Devuelve una referencia a una clave de objeto que caracteriza
el tipo de metadatos esperados en el import.

- GET_OUTPORTS Proporciona una tabla de puertos de salida que contiene la
clave de objeto, el puerto, el tipo, identificador y un texto descriptivo.

- GET_OUTPORT_DATA Devuelve la referencia de objeto con el actual identificador de
un determinado puerto.
La interfaz del conector IF_FPM_CONNECTOR comprende una interfaz
IF_FPM_CONNECTOR_DEF que define el acceso al framework de FPM y una interfaz
IF_FPM_CONNECTOR_RUN para el acceso en tiempo de ejecucin al modelo de la aplicacin
alimentadora. La interfaz de definicin posee un atributo esttico, SV_NAMESPACE, que debe
ser informado con el espacio de nombres en el constructor de la clase de la implementacin de
un conector. Los mtodos de cada una se explican a continuacin:
Mtodos de IF_FPM_CONNECTOR_DEF (acceso a framework):
- GET_PARAMETER_LIST; para definir una lista de parmetros (con un nombre, su tipo
de datos y un texto descriptivo).

- GET_PARAMETER_VALUE_SET; ajustar la implementacin de un conector a cada
parmetro con el valor proporcionado. Para un Wire entre UIBBs especificadas, el
mtodo proporciona una lista de todas las asociaciones entre el origen y el destino.

- INITIALIZE; el conector es inicializado con los valores de los parmetros.


- SET_INPUT; Recibe una referencia de objeto que lleva los datos actuales del puerto de
salida conectado.
Mtodos de IF_FPM_CONNECTOR_DEF (acceso al modelo):
- GET_OUTPUT; devuelve una referencia del objeto que lleva los datos reales que se
mostrarn por un UIBB.

- CREATE_ENTITY; crea y devuelve una entidad de datos de un tipo arbitrario.

- IS_CREATE_ALLOWED; devuelve un indicador booleano si la creacin de la entidad
est permitida.
La interfaz de la transaccin proporciona mtodos para el manejo de eventos globales y
transaccionales. En el editor de configuracin de FPM, una implementacin del
manejador de transaccin puede ser asignada a nivel del modelo Wire. Esta interfaz
tiene los siguientes mtodos:

Mtodos de la interfaz del manejador de transaccin:
- START; recibe datos bsicos como parmetros de la aplicacin y mensajes del
manejador de FPM.

- AFTER_FLUSH; este mtodo se llama despus FLUSH haya sido llamado para todos
UIBBs actuales. Se puede utilizar para vaciar los bferes.

- AFTER_PROCESS_EVENT; se puede usar para manejar eventos transaccionales como
por ejemplo SAVE o CHECK. Por otra parte se puede usar para recoger mensajes que
no estn manejados dentro de las UIBBs y reenviarlos al manejador de mensajes de
FPM.

- AFTER_PROCESS_BEFORE_OUTPUT; a este mtodo se le llamada despus del PBO
para todas las UIBBs actuales. Se puede utilizar para recoger mensajes en el momento
ms tarde posible antes de la salida por pantalla.

- AFTER_ NEEDS_CONFIRMATION; a este mtodo se le llama despus de llamar al
NEEDS_CONFIRMATION para todas las UIBBs. Se puede usar para analizar y confirmar
peticiones.

- IS_DIRTY; este mtodo se puede utilizar para indicar un estado sucio en el modo de
proteccin del trabajo.








FPM en BOL (Capa de objetos de negocio)
Para la capa de objetos de negocio (Business Object Layer / BOL) de CRM, hay una
implementacin completa de las clases alimentadoras para los formularios, listas y searchs
GUIBB y clases conectoras para conexiones triviales y relaciones BOL as como entradas de
aplicacin via parmetros URL con ejecucin de query implicita. Esto tambin es una clase
manejadora de transacciones BOL y clases base de asistencia para UIBBs de estilo libre.
(Pueden encontrarse aplicaciones de ejemplo en el paquete APB_FPM_BOL_TEST)
Crear una GUIBB en BOL
1. Abrir el editor de configuracin para el Component del GUIBB (FPM_FORM_UIBB,
FPM_LIST_UIBB o FPM_SEARCH_UIBB).
2. Elegir la clase alimentadora; CL_GUIBB_BOL_FORM para un formulario,
CL_GUIBB_BOL_QUERY para un formulario de query, CL_GUIBB_BOL_LIST para una
lista o CL_GUIBB_BOL_DQUERY para una search GUIBB.
3. Actualizar los parmetros de alimentacin. Tiene que especificar el componente BOL y
el objeto BOL que especifica el nombre del objeto, la query o query dinmica.
4. Despus de confirmar los parmetros, ya se recupera la configuracin predeterminada
de los alimentadores. Podemos ajustarlos segn las necesidades.
Tambin podemos crear nuestras propias clases alimentadoras heredando de las anteriores
clases alimentadoras BOL. De esta forma, podemos ajustar sus comportamientos de acuerdo a
nuestras necesidades con el mnimo esfuerzo de codificacin.
Crear una Application FPM en BOL
Una vez creadas UIBBs en BOL, podremos crear la Application de la siguiente forma:
1. Crear una configuracin para el floorplan Component (FPM_OIF_COMPONENT,
FPM_GAF_COMPONENT or FPM_OVP_COMPONENT).
2. Montar las UIBBs en BOL de acuerdo a nuestras necesidades.
3. Navegar por el nodo Wire Model de la jerarqua.
4. Elegir BOL Transaction Handler (CL_FPM_BOL_TRANSACTION) como manejador de
transacciones.
5. Usar el botn Add wire en la zona de acciin para crear nuevos Wires o navigar por
el nodo Wire de la jerarqua para actualizar los existentes wires.
6. Actualizar la clave de instancia de la UIBB (destino) que recibir los datos desde otra
UIBB.
7. Actualizar la clave de instancia de UIBB para la UIBB fuente.
8. Actualizar el Puerto de salida del UIBB fuente.
9. Actualizar la clase conectora.
10. Actualizar los parmetros conectores si el conector define parmetros. Si hay un nico
valor, se rellena automticamente.
11. Repetir los pasos 5 a 10 para todas las dependencias de nuestra interfaz de usuario.
12. Guardar e ir a configuracin.
13. Crear o reutilizar una Application Web Dynpro y crear una configuracin de Application
referenciada a nuestra nueva configuracin de Component de foorplan.

Tiempo de diseo con el editor de configuracin de
FPM
Dentro del editor de configuracin de FPM, las ventanas de configuracin de Component (para
los components OIF, GAF, OVP e IDR) nos ayudan a disear el layout de nuestra aplication.
Dentro de las ventanas de configuracin de componentes, se pueden realizar las siguientes
tareas:
1. Aadir pasos extra o Views, incluyendo subpasos y subviews
2. Configurar la barra de herramientas con botones predefinidos y mens de navegacin
y adjuntar eventos a estos elementos.
3. Adjuntar nuestros UIBBs a los pasos relevantes o Views (o los GUIBBs predefinidos de
FPM). (GUIBBs son bloques de construccin de interfaces de usuario genricos)
4. Definir el layout del paso o View; dentro del mbito de las acciones se puede elegir el
botn Aadir UIBB. Tiene las opciones para la adicin de un formulario (FORM UIBB),
una lista (LIST UIBB), un componente de pestaas (tabbed UIBB), y una bsqueda
(SEARCH UIBB). Si selecciona una de esas entradas se rellenan previamente los campos
Component y Window. Slo es necesario aadir el ID de configuracin.
5. Configurar la ayuda rpida.
6. Configurar una pantalla inicial, una pantalla de confirmacin y variantes extra para
nuestra Application.
7. Modificar los ajustes globales y establecer parmetros de variantes.
8. Activar la previsualizacin de UIBBs; por encima del rea de previsualizacin, se ha
aadido un nuevo botn Show UIBB Preview. Si el botn est activo tiene la
posibilidad de ver la aplication cmo se ve en tiempo de ejecucin

Mediante la asignacin de la interfaz de la View como una UIBB estamos componiendo cmo
se ver el rea de contenido de la aplicacin cuando se ejecute dentro de FPM.
Instancias de Floorplan en el editor de configuracin FPM
Lo que se ve en el rbol de jerarqua del editor de configuracin de FPM depende del tipo de
instancia Foorplan que estemos utilizando en la Application.
Instancia OIF
En una Application OIF, FPM muestra nuestros UIBBs en mltiples pestaas dentro del rea de
contenidos. En el rbol se muestran los siguientes tipos de views:
- View principal: Representa una sola pestaa dentro del area de contenido de la
Application. Los atributos nos permiten nombrar e identificar las pestaas individuales.
Cada View principal contiene una o ms sub-views.
- Sub-View: Una Application FPM debe tener al menos una UIBB por cada sub-View. El
editor de configuracin de FPM automticamente lo proporciona, pero se pueden
aadir UIBBs predefinidas desde nuestra Application. Para ello:

1. En el rbol, seleccionar la subview en la queramos aadir la UIBB y elegir
Aadir UIBB / Add UIBB.

2. En la vista de atributos introducir:
Component (Webdynpro component que implementa la interfaz
IF_FPM_UI_BUILDING_BLOCK)
View (El nombre de la Window anterior al Web Dynpro Component que
contiene la UIBB)
Instancia GAF
En una Application de GAF, FPM muestra sus UIBBs como pasos individuales en el Roadmap
general y el rbol de jerarqua muestra los siguientes tipos de pasos:
- Paso principal; una apliccation GAF debe tener al menos una UIBB por paso. El editor
de configuracin de FPM automticamente lo proporciona, pero se pueden aadir
UIBBs predefinidas desde nuestra Application.

- Sub-paso; es un paso existente entre 2 pasos principales. Igual que en los pasos
principales, cada sub-paso debe tener al menos una UIBB. Se pueden aadir UIBBs de
la misma manera que se aaden para las sub-views. Los sub-pasos no son visibles al
comienzo, pero todos los pasos principales que son un posible punto de partida para
sub-pasos se indican como tales en el elemento Roadmap en tiempo de ejecucin. Los
sub-pasos son declarados estticamente pero se activan en tiempo de ejecucin para
la Application (a travs de la FPM API).


Instancia OVP (Ver Overview Page Floorplan)

Aadir y activar Sub-pasos para Applications GAF
La configuracin de sub-pasos es similar a la de los pasos principales. Para aadir sub-pasos
hay que realizar lo siguiente:
1. En Editor de configuracin FPM / FPM Configuration Editor, abrir la ventana
Component Configuration.
2. En la jerarqua seleccionar el paso principal en el que quieres aadir el sub-paso. Elegir
Aadir sub-paso / Add sub-step.
3. En la vista de atributos introducior los datos de Component ID y nombre en SUBSTEP
y de Component y windowde la Web Dynpro en SUBSTEP_UIBB.

Barra de herramientas de FPM
FPM nos permite crear barras de herramientas de acuerdo con las guas de interfaz de usuario
de SAP, pudiendo configurar los siguientes elementos:
- Botones estndar de funcin: (Guardar, editar).
- Botones especficos de la Application: con los que poder aadir nuestro propio cdigo.
- Botones de eleccin: Ofrecen al usuario un men desplegable con una lista de posibles
opciones. Se pueden elegir los valores y adjuntarles eventos. Para ello hay que
introducir el nombre de la etiqueta de la opcin y el ID del evento.
- Mens de navegacin.
- El botn Close/Cerrar aparece automticamente pero se puede ocultar con el
parmetro del atributo FPM_HIDE_CLOSE(=X)
-
Diferencias entre una barra de herramientas OIF y una GAF:
- Barra de herramientas de Application OIF
Hay una sola barra de herramientas en cada variante OIF, y contiene ms
botones estndar que la GAF. Tiene 2 opciones ms para crear botones
especficos de la Application. FPM automticamente aade el botn
Guardar / Save cuando se crea la configuracin del Component.

- Barra de herramientas de Application GAF
Cada paso y sub-paso de una variante, tiene una barra de herramientas propia
y no existe una barra de herramientas principal. FPM automticamente aade
los botones Anterior / Previous y Siguiente / Next cuando se crea la
configuracin del Component.

Aadir elementos a una Barra de herramientas
1. En el editor de configuracin de FPM localizar el Component OIF o GAF y elegir
Modificar
2. Elegir Aadir elemento a la barra de herramientas / Add Toolbar Element
3. Seleccionar un tipo de botn botn y pulsar OK. Aparecer el nuevo botn en el rbol
y los atributos editables en la previsualizacin.
Ajustar la barra de herramientas dinmicamente
En tiempo de ejecucin podemos cambiar la barra de herramientas mediante APIS. (Ver
Context Navigation Region (CNR) APIs en este mismo documento).

Botones de la barra de herramientas
- Activation Function / Funcin de activacin
- Alternate Function / Funcin alternativa
- Other Function / Otra funcin
- You can Also/ Related Links (navigation links)
- Close / Cerrar
- Salir al paso principal (Slo GAF) / Exit to Main Step (GAF only)
- Finish /finalizar
- Siguiente paso / Accin final (Slo GAF) /Next Step/Final Action (GAF only)

Atributos de los elementos de la barra de herramientas
- Element ID / ID del elemento.
- Duplicate Toolbar / Duplicar barra de herramientas (en la parte de debajo de la
pantalla).
- Sequence Index / ndice de sequencia (para ordenar los botones).
- Repeat Sel. Action (Repeat Select Action) / Repetir accin de seleccin (para coger la
misma opcin en el siguiente botn desplegable).
- Enabled / Habilitar (El botn deshabilitado aparece en gris).
- Visibility / Visibilidad (Botn visible en la barra de herramientas).
Eventos de botones de la barra de herramientas
Cada botn estndar de funcin est unido a un evento FPM (por ejemplo, Editar est
conectado al evento gc_event_edit). La conexin a estos eventos FPM es rgida y no se puede
cambiar. El evento puede, por supuesto, ser cambiado dinmicamente llamando otros
eventos. Algunos eventos de botn estn pre-configurados por FPM (por ejemplo, los eventos
Anterior y Siguiente de navegacin de los botones y el evento en el botn Guardar) y no
requieren ningn cdigo extra, pero en general, la aplicacin debe proporcionar el
procesamiento de eventos. En general, FPM garantiza nicamente que todas las UIBBs
afectadas sean informadas. Por ejemplo, aunque FPM proporciona un botn de impresin, no
hay soporte de impresin en FPM. FPM ofrece este botn slo para asegurarse de que se hace
de acuerdo con las directrices de interfaz de usuario de SAP. La aplicacin debe proporcionar
las funciones de impresin necesarias. La siguiente tabla muestra los botones de la barra de
herramienta (y los botones de listas desplegables) y los eventos provocados por ellos:



Interfaz IF_FPM_CNR_GAF
Proporciona mtodos que pueden ser utilizados para cambiar dinmicamente la barra de
herramientas de FPM de una pantalla inicial o principal para GAF. Se accede a ella a travs de
CL_FPM_SERVICE_MANAGER, como en el cdigo de ejemplo siguiente:
DATA: lo_cnr_gaf TYPE REF TO if_fpm_cnr_gaf,
lo_fpm TYPE REF TO if_fpm.
lo_fpm = cl_fpm_factory=>get_instance( ).
lo_cnr_gaf ?= lo_fpm->get_service(
cl_fpm_service_manager=>gc_key_cnr_gaf ).
Esta interfaz proporciona los siguientes mtodos:
- DEFINE_BUTTON; para poder crear o modificar botones estndar o especficos de la
Application.
- DEFINE_BUTTON_CHOICE; para poder crear o modificar botones estndar o
especficos de la Application de listas desplegables.
- CREATE_SEPARATOR; para crear un separador en tiempo de ejecucin en el rea de
OTHER_FUNCTIONS.
- SET_DUPLICATE_TOOLBAR; para activar o desactivar la duplicacin de la barra de
herramientas.
- DEFINE_YOU_CAN_ALSO; Para definir launchpads para el men You Can Also.
- DEFINE_RELATED_LINKS; Para editar la barra de menus para RELATED_LINKS.
- GET_BUTTONS; para indicar qu botones se mostrarn.
- GET_BUTTON_CHOICES; para indicar qu botones de lista desplegable se mostrarn.
- GET_SEPARATORS; para determinar la posicin de los separadores en el rea de
Other Functions.
- GET_RELATED_LINKS; para determinar los contenidos del men Related Links.
- GET_YOU_CAN_ALSO; para determinar los contenidos del men You Can Also.
Hay parmetros de estos mtodos que son especficos slo para GAF, y que son estos,
dependiendo de la localizacin del elemento de la barra de herramientas:
Localizados en el paso principal:
VARIANT_ID
MAINSTEP_ID
Localizados en un sub-paso:
VARIANT_ID
MAINSTEP_ID
SUBVARIANT_ID
SUBSTEP_ID
Localizados en la pantalla inicial:
SCREEN
Un ejemplo de mtodos llamados en tiempo de ejecucin para GAF se muestra en el siguiente
adjunto:
cdigo mtodos GAF runtime.txt

Interfaz IF_FPM_CNR_OIF
Proporciona mtodos que pueden ser utilizados para cambiar dinmicamente la barra de
herramientas de FPM de una pantalla inicial o principal para OIF. Se accede a ella a travs de
CL_FPM_SERVICE_MANAGER, como en el cdigo de ejemplo siguiente:

DATA: lo_cnr_oif TYPE REF TO if_fpm_cnr_oif,
lo_fpm TYPE REF TO if_fpm.
lo_fpm = cl_fpm_factory=>get_instance( ).
lo_cnr_oif ?= lo_fpm->get_service(
cl_fpm_service_manager=>gc_key_cnr_oif).

Esta interfaz proporciona los siguientes mtodos (los mismos que para GAF):
- DEFINE_BUTTON; para poder crear o modificar botones estndar o especficos de la
Application.
- DEFINE_BUTTON_CHOICE; para poder crear o modificar botones estndar o
especficos de la Application de listas desplegables.
- CREATE_SEPARATOR; para crear un separador en tiempo de ejecucin en el rea de
OTHER_FUNCTIONS.
- SET_DUPLICATE_TOOLBAR; para activar o desactivar la duplicacin de la barra de
herramientas.
- DEFINE_YOU_CAN_ALSO; Para definir launchpads para el men You Can Also.
- DEFINE_RELATED_LINKS; Para editar la barra de mens para RELATED_LINKS.
- GET_BUTTONS; para indicar qu botones se mostrarn.
- GET_BUTTON_CHOICES; para indicar qu botones de lista desplegable se mostrarn.
- GET_SEPARATORS; para determinar la posicin de los separadores en el rea de
Other Functions.
- GET_RELATED_LINKS; para determinar los contenidos del men Related Links.
- GET_YOU_CAN_ALSO; para determinar los contenidos del men You Can Also.
Dado que existe una barra de herramientas para cada variante de OIF, los mtodos para OIF
slamente necesitan que se pase el parmetro VARIANT_ID.
Un ejemplo de mtodos llamados en tiempo de ejecucin para OIF se muestra en el siguiente
adjunto:
cdigo mtodos OIF runtime.txt

Previsualizacin completa de FPM
Para activar la funcin de vista previa para un desarrollo propio de UIBB debemos
implementar la interfaz IF_FPM_CFG_UIBB_PREVIEW. sta proporciona el mtodo
UIBB_PREVIEW con el parmetro de entrada IV_INTERFACE_VIEW que es la vista actualmente
visible, y el parmetro de salida EV_PREVIEW_WINDOW. Si elige el botn Mostrar UIBB en
tiempo de ejecucin, todas UIBBs implementadas para la interfaz IF_FPM_CFG_UIBB_PREVIEW
se muestran con el layout para la configuracin actual.
Regin de identiicacin de FPM (IDR)
Tiene 3 partes:
rea de cabecera /Header area (IDR Bsica)
rea de entradas / Ticket area (IDR Extendida) -> Slo para OIF
rea de posiciones / Items area

Tanto el rea de cabecera como la de las entradas, puede ser configuradas en la fase de
desarrollo en la ventana de Component Configuration. Para realizar ajustes y modificaciones
en tiempo de ejecucin, existe una serie de mtodos encapsulados en la interfaz IF_FPM_IDR,
y que son los siguientes:

Mtodos para el rea de cabecera:

- GET_APPLICATION_TITLE; recupera el texto del ttulo y su descripcin.
- SET_APPLICATION_TITLE; muestra un nuevo texto del ttulo y descripcin en el
rea de cabecera.
- SET_HEADER_VISIBILITY; hace que el rea de cabecera sea visible o invisible.

Mtodos para el rea de entradas:

- GET_TICKET; recupera el texto de la parte superior de entradas, fondo billete y
sus descripciones.
- SET_TICKET; muestra los nuevos textos de la parte superior de entradas, fondo
billete y sus descripciones.
- SET_TICKET_VISIBILITY; hace que la zona de entrada visible o invisible.

Mtodos para el rea de posiciones:

- ADD_ITEM_GROUP_BY_VAL; aade un nuevo grupo de posiciones en el rea
de posiciones. Con este mtodo se pueden aadir posiciones como simples
cadenas de texto, y luego, si necesitan ser cambiados los valores, se llama al
mtodo CHANGE_ITEM_GROUP_BY_VAL.
- CHANGE_ITEM_GROUP_BY_VAL; cambia la etiqueta y los valores de
posiciones aadidas con el mtodo ADD_ITEM_GROUP_BY_VAL.
- ADD_ITEM_GROUP_BY_REF; es similar a ADD_ITEM_GROUP_BY_VAL, pero en
lugar de introducir cadenas de texto se introducen como referencia a un
atributo del nodo de contexto de la Web Dynpro.
- ADD_NAVIGATION_ITEM; aade una pareja de etiqueta / enlace de
navegacin al IDR.
- CHANGE_NAVIGATION_ITEM; para editar una pareja de etiqueta / enlace de
navegacin aadida con ADD_NAVIGATION_ITEM.
- ADD_IMAGE_ITEM; aade una pareja de etiqueta / icono al IDR.
- CHANGE_IMAGE_ITEM; para editar una pareja de etiqueta / icono aadida
con ADD_IMAGE_ITEM.
- CONTAINS_ITEM_GROUP; verifica si existe un grupo de posiciones
determinado dentro de la IDR.
- REMOVE_ITEM_GROUP; borra un determinado grupo de posiciones.
- INITIALIZE_ITEMS; borra todas las posiciones de la IDR.
- SET_ITEMS_VISIBILITY; edita la visibilidad de toda la zona de posiciones.

Para acceder a la interfaz y poder utilizar los mtodos anteriores, debemos incluir el siguiente
cdigo:

DATA: lo_idr TYPE REF TO if_fpm_idr,
lo_fpm TYPE REF TO if_fpm.
lo_fpm = cl_fpm_factory=>get_instance( ).
lo_idr ?= lo_fpm->get_service( cl_fpm_service_manager=>gc_key_idr ).


Proporcionar un enlace al editor de configuracin de FPM en el
IDR
Para crear un enlace en el rea de cabecera de nuestra Application FPM existen 2 opciones:
1. Usar la transaccin SU03

- Abrir la transaccin SU03 e ir a la pestaa Parmetros / Parameters
- Aadir el parmetro FPM_CONFIG_EXPERT con el valor marcado (= X)

2. Abrir la Application FPM con el parmetro URL sap-config-mode = X (poner la coletilla
sap-config-mode = X al final de la direccin URL).
Ayuda rpida
Da una explicacin til de una View secundaria, pantalla inicial, paso principal, o sub-paso. Se
puede introducir el texto de ayuda directamente o dar una referencia a un objeto de
documentacin. Podemos visualizarla desde el rbol de jerarqua en el atributo Text / Texto
o Objeto de documentacin / Documentation Object de un elemento Explanation /
Explicacin del rbol. Para crear una ayuda de bsqueda se deben realizar los siguientes
pasos:
1. Seleccionar la configuracin de una Application de Web Dynpro desde el navegador de
objetos del workbench de ABAP.
2. En el explorador de la Web Dynpro ir a Display Web Dynpro Configuration screen /
Mostrar la pantalla de configuracin de Web Dynpro -> Web Dynpro Configuration /
elegir configuracin Web Dynpro -> Test -> Execute in Administrator Mode /
Ejecutar en modo Administrador. La application se ejecutar en otra ventana del
navegador.
3. En esta ventana, ir a regin de identificador de la Application y seleccionar el enlace
Adapt Configuration / Adaptar configuracin.
4. En la pantalla Editor for Web Dynpro ABAP Components Customizing / Editor de
componentes de Web Dynpro ABAP Personalizar pulsar en Change / Modificar.
5. En la pantalla Personalizar componente <nombre de la aplicacin>, asegurarse de
que la View Component-Defined / Componente definidoest ON.
6. Pulsar Expandir todo / Expand All.
7. Seleccionar la sub-View, paso principal, sub-paso, o pantalla inicial y Aadir
explicacin / Add Explanation en el rea de accin del editor de configuracin.
8. El Sistema genera automticamente un texto compuesto por el ttulo del elemento al
que se refiere precedido de Explanation / Explicacin.
9. En el campo Texto / Text de la vista de atributos, modificar el contenido del texto
con lo que queramos.
10. Guardar la configuracin.
11. Probar la nueva configuracin.

Crear ayuda rpida enlazando a un objeto de documentacin
1- Crear un objeto de documentacin, realizando los siguientes pasos:
a) Ir a la transaccin SE61
b) Elegir General Text / Texto general como clase de documento.
c) Introducir el nombre tcnico del objeto y pulsar Crear / Create.
d) Introducir el texto de la ayuda.
e) Guardar y activar.
2- Seleccionar desde el navegador de objetos del workbench de ABAP la configuracin de
la Application Web Dynpro.
3- En el explorador de la Web Dynpro ir a Display Web Dynpro Configuration screen /
Mostrar la pantalla de configuracin de Web Dynpro -> Web Dynpro Configuration /
elegir configuracin Web Dynpro -> Test -> Execute in Administrator Mode /
Ejecutar en modo Administrador. La Application se ejecutar en otra ventana del
navegador.
4- En esta ventana, ir a regin de identificador de la Application y seleccionar el enlace
Adapt Configuration / Adaptar configuracin.
5- En la pantalla Editor for Web Dynpro ABAP Components Customizing / Editor de
componentes de Web Dynpro ABAP Personalizar pulsar en Change / Modificar.
6- En la pantalla Personalizar componente <nombre de la aplicacin>, asegurarse de
que la View Component-Defined / Componente definidoest ON.
7- Pulsar Expandir todo / Expand All.
12. En el campo Objeto de documentacin / Documentation Objectde la vista de
atributos, introducir el nombre tcnico (creado en al paso 1) del objeto de
documentacin.
13. Guardar la configuracin.
14. Probar la nueva configuracin.


Variantes
En algunos casos, la configuracin final de un cambio de View OIF o una hoja de ruta GAF
puede ser solo decidida en tiempo de ejecucin. Por ejemplo, suponga que una pantalla inicial
le pide que seleccione una de tres opciones. La posterior hoja de ruta o cambio de View que
aparece depende de la opcin que haya seleccionado en la pantalla inicial. FPM hace esto
posible porque permite configurar variantes. Cada variante es un conjunto completo de datos
de configuracin de un cambio de vista OIF o una hoja de ruta GAF. Se utiliza la entrada desde
la pantalla inicial (o de cualquier otra informacin de partida, como los parmetros de la
Application) para seleccionar una de las variantes.

Configurar la seleccin de Variante
La seleccin de variante se controla mediante programacin con un controlador de
configuracin especfica de la Application (APPCC). Para configurar la seleccin de variante se
realizan los siguientes pasos:
1- Implementar la interfaz IF_FPM_OIF_CONF_EXIT (o IF_FPM_GAF_CONF_EXIT)
2- Para seleccionar la variante, usar el mtodo SET_VARIANT de esta forma:
- Instancia OIF:
method OVERRIDE_EVENT_OIF .
...
case io_oif->mo_event->MV_EVENT_ID.
when if_fpm_constants=>gc_event-leave_initial_screen.
io_oif->set_variant( ).
...
- Instancia GAF:
method OVERRIDE_EVENT_GAF .
...
case io_gaf->mo_event->MV_EVENT_ID.
when if_fpm_constants=>gc_event-leave_initial_screen.
io_gaf->set_variant( ).
3- Declarar el AppCC del FPM realizando los siguientes pasos:

a) En el editor de configuracin de FPM abrir la ventana del editor de configuracin
de components. En la zona de control, seleccionar Change / Modificar ->
Ajustes globales / Global Settings.
b) En la ventana de dilogo de Ajustes globales / Global Settings, bajo Parmetros
especficos de aplicacin / Application-Specific Parameters introducir el
component deWeb Dynpro que estemos usando como controlador de la
configuracin especfica de Application.
c) Guardar.
Pantalla inicial
Esta pantalla es opcional y est compuesta por una o ms UIBBs.
Aadir una pantalla inicial
1. Iniciar el editor de configuracin de FPM y abrir la configuracin del component OIF o
GAF.
2. En la zona de control, seleccionar Add / Aadir -> Pantalla inicial / Initial Screen.
3. Seleccionar Aadir UIBB / Add UIBB -> Aadir UIBB / Add UIBB e introducir el ID
del component y la Window adecuada.
FPM aade el botn de inicio de forma automtica a la barra de herramientas de la pantalla
inicial. ste no es configurable. Cuando lo pulsamos en tiempo de ejecucin, lanza el evento
IF_FPM_CONSTANTS=>GC_EVENT-LEAVE_INITIAL_SCREEN, sale de la pantalla principal y
muestra el primer paso de la hoja de ruta (en GAF) o cambia de View (en OIF). A veces
necesitaremos omitir la pantalla inicial. En este caso, lanzaremos el evento
LEAVE_INITIAL_SCREEN con el siguiente cdigo:
data: lo_fpm type ref to if_fpm
lo_fpm = cl_fpm_factory=>get_instance( )
lo_fpm->raise_event_by_id(IF_FPM_CONSTANTS=>GC_EVENTLEAVE_
INITIAL_SCREEN)
.
A veces es til que no se comience la Application desde la pantalla inicial, por ejemplo cuando
los parmetros de entrada ya estn establecidos y no es necesario indicar el objeto con el que
queremos trabajar. Para realizar esto en tiempo de ejecucin se lanza el evento de FPM
LEAVE_INITIAL_SCREEN de alguna de estas 2 formas:
En el mtodo OVERRIDE_EVENT_* de nuestro AppCC
En el mtodo ROCESS_BEFORE_OUTPUT de alguna de nuestras pantallas iniciales
UIBBs (Si no usamos AppCC) Como en el cdigo de ejemplo adjunto:
cdigo evento LEAVE_INITIAL_SCREEN.txt


Pantalla de confirmacin
FPM no proporciona una Pantalla de confirmacin por defecto, pero s por separado para OIF o
para GAF. Cada variante de la Application puede requerir una pantalla de confirmacin
diferente y FPM permite configurarlas.
Pantalla de confirmacin en instancias OIF
Aparecen slo cuando el objeto que est siendo procesado se borra. Despus de eliminar un
objeto, aparece esta pantalla en lugar del cambio normal de View.
Pantalla de confirmacin en instancias GAF
Muchas Applications GAF usan un paso final de confirmacin al final de la hoja de ruta para
informar de que la accin se ha completado correctamente.
Aadir y configurar una pantalla de confirmacin
1. Iniciar el editor de configuracin FPM del component de nuestra application y abrir la
pantalla de configuracin del component.
2. En la zona e control, Seleccionar Aadir / Add -> Pantalla de confirmacin /
Confirmation Screen. Podemos seleccionar los radiobuttons de la jerarqua para
movernos entre Pantalla de confirmacin / Confirmation Screen y otras pantallas
de nuestra application.
Para mostrar la pantalla de confirmacin en Applications OIF en tiempo de ejecucin, slo
tenemos que pulsar el botn estndar Delete / Borrar y se lanza el evento
IF_FPM_CONSTANTS=>GC_EVENT-DELETE_CURRENT_OBJECT. Tambin se puede realizar por
cdigo como en este ejemplo:
data: lo_fpm type ref to if_fpm
lo_fpm = cl_fpm_factory=>get_instance( )
lo_fpm->raise_event_by_id(IF_FPM_CONSTANTS=>GC_EVENTDELETE_
CURRENT_OBJECT)

Bucle de eventos de FPM
Si necesitamos que una interaccin del usuario afecte no slo a un componente local,
sino tambin a otros componentes de la Application, la accin de la Web Dynpro debe
ser transferida a un evento FPM. Este evento a continuacin, pasa a travs de un modelo
de fase FPM (bucle de eventos) que se integra en el modelo de fase de Web Dynpro.
Dentro del bucle de eventos FPM todos los componentes involucrados pueden participar
en el procesamiento del evento.

Lanzar eventos estndar
En una Application FPM muchos eventos se desencadenan con las acciones siguiente / next y
anterior / previous (en GAF) o cuandop cambiamos de una View a otra (OIF). Para estas
interacciones, FPM automticamente inicia el bucle de eventos. Adems, estos eventos
estndar son manejados de forma genrica por FPM.
Pero hay veces que los eventos estndar sean desencadenados desde una UIBB de una
Application especfica por ejemplo saltar la pantalla inicial si los parmetros de inicio se pasan
como parmetros URL.
Cada evento FPM se representa en tiempo de ejecucin por una instancia de la clase
CL_FPM_EVENT. Esta clase encapsula la informacin necesaria para ejecutar el evento.
Desencadenar el bucle de eventos de FPM
1. Crear una instancia de CL_FPM_EVENT con los atributos apropiados. Para todos los IDs
de eventos estndar hay constantes disponibles en la interfaz IF_FPM_CONSTANTS.
2. Lanzar el evento llamando al mtodo IF_FPM~RAISE_EVENT y pasar la instancia de
CL_FPM_EVENT.
Cuando un evento slo necesita el parmetro ID del evento, FPM ofrece un evento adicional
RAISE_EVENT_BY_ID que hace que el paso 1 descrito justo antes no sea necesario. En ese caso,
el evento se lanza as:
data lo_fpm type ref to if_fpm
lo_fpm = cl_fpm_factory=>get_instance( )
lo_fpm->raise_event_by_id( IF_FPM_CONSTANTS=>GC_EVENTLEAVE_
INITIAL_SCREEN )

Desencadenar eventos especficos de la Application
Se siguen las mismas reglas que para desencadenar el bucle de eventos, con la nica diferencia
de que como FPM no conoce la semntica del evento, no lleva a cabo acciones especficas para
este evento. Sin embargo, el procesamiento del evento es idntico. El siguiente cdigo
muestra un ejemplo de cmo desencadenar un evento especfico de la Application (incluyendo
parmetros de evento):
data: lo_fpm type ref to if_fpm,
lo_event type ref to cl_fpm_event.
create object lo_event
exporting
iv_event_id = 'DELETE_AIRPORT'.
lo_event->mo_event_data->set_value(
iv_key = 'AIRPORT_ID'
iv_value = lv_airport_id).
lo_fpm = cl_fpm_factory=>get_instance( ).
lo_fpm->raise_event( io_event = lo_event ).

Reaccionar a Eventos del Framework
El bucle de eventos FPM est integrado en el modelo de fase Web Dynpro, como muestra la
siguiente figura:

Principales mtodos Web Dynpro
Los siguientes mtodos de Web Dynpro son importantes para Applications FPM:
- DOINIT; Llamado una sola vez en tiempo de ejecucin y que sirve para inicializar.
- DOBEFOREACTION; Llamado por todas las UIBB cuando el usuario activa una ida-
vuelta. Las validaciones deben estar controladas en este mtodo.
- ONACTION (Manejador de acciones)
Diferentes categoras de Interfaces de Web Dynpro
Las interfaces Web Dynpro proporcionadas por FPM se pueden dividir en dos categoras:
Categora 1; implementada por ms de un component de Web Dynpro. Pueden tener ms de
una instancia, y cada instancia participar slo en una parte del bucle de eventos durante el
tiempo de vida de la Application. Las siguientes interfaces son de este tipo:
IF_FPM_UI_BUILDING_BLOCK
IF_FPM_TRANSACTION
IF_FPM_WORK_PROTECTION
IF_FPM_RESOURCE_MANAGER
Categora 2; implementada slo por un component de Web Dynpro que tiene una sola
instancia que participa en todos los bucles de eventos durante el tiempo de vida de la
Application. Las siguientes interfaces son de este tipo:
IF_FPM_APP_CONTROLLER
IF_FPM_SHARED_DATA
IF_FPM_OIF_CONF_EXIT
IF_FPM_GAF_CONF_EXIT

Pgina principal de Floorplan (OVP)
OVP est basada en el component de Web Dynpro FPM_OVP_COMPONENT. Es una
configuracin de Applications que contienen un conjunto de pginas y la navegacin entre
ellas.

Estructura de una OVP
reas de contenido
Cada OVP tiene al menos un rea de contenidos que pueden estar divididas en varias
secciones cada seccin puede contener numerosas Views especficas de la Application (UIBBs)
y bloques de construccin de interfaces de usuario genricos (GUIBBs). Cada rea de
contenidos est asociada a un tipo, y estos pueden ser:
View principal
Pgina de edicin
Pantalla inicial
Pantalla de dilogo
Secciones
Se usan para estructurar un rea de contenidos. Son posibles varios layouts para cada seccin,
que determinan el n de columnas de la seccin con el atributo Section Layout. El siguiente
dibujo ilustra la estructura de un rea de contenidos de una OVP:

Personalizacin
La personalizacin puede cambiarse de ON a OFF en el editor de configuracin o con un
mtodo API llamado para toda la Application o para un rea de contenidos dada. Cuando est
activada, es posible expandir / contraer los paneles, Arrastrar y soltar UIBBs y el editor de
personalizacin puede ser abierto en tiempo de ejecucin, lo que permite realizar actividades
adicionales.
Editor de Personalizacin
Para abrir el Editor de Personalizacin en tiempo de ejecucin, hacer click en el icono
Personalize / Personalizar en la pgina de la barra de herramientas. El editor de
Personalizacin nos permite realizar las siguientes actividades:
Aadir o borrar UIBBs a las secciones
Cambiar el n de columnas dentro de una seccin usando la lista desplegable Layout
Type.
Decidir si los UIBBs en una columna deben estar apilados y el nmero de pilas por
columna.
Cuando la Application se ejecuta en modo de configuracin (experto) (parmetro URL:
sap-configmode = X), los ajustes de personalizacin son vlidos para todos los usuarios
finales que no tienen sus propios ajustes individuales. Si se selecciona el botn Reset
to Default restaura la personalizacin de administracin si existe, y si no existe, los
ajustes de configuracin originales.
Botones de la barra de herramienta de la UIBB
Se puede definir el conjunto de botones de la barra de herramientas que se mostrarn
realizando una de estas 2 acciones:
Definir una lista de acciones en el editor de configuracin del rea de contenido en el
que se asigna la UIBB. Se pueden definir acciones y asignar los eventos FPM
correspondientes y reas de contenidos de destino.
Si las acciones UIBB estn expuestas en tiempo de ejecucin, por ejemplo cuando el
UIBB se basa en un UIBB genrico y la lista de acciones es proporcionada por la clase
alimentadora, se puede seleccionar el atributo Acciones de captura / Capture
Actions de la barra de herramientas de UIBB en el editor de configuracin. FPM utiliza
entonces la API de UIBB para determinar las acciones de barras de herramientas
disponibles en tiempo de ejecucin y los botones resultantes se agregan a la barra de
herramientas del panel de cabecera al lado de los botones configurados.

Eventos FPM relacionados con el OVP para la navegacin
Se pueden utilizar los siguientes eventos para habilitar la navegacin entre las reas de
contenido OVP:
- FPM_CALL_FULL_SCREEN; navegar a la pgina de edicin
- FPM_CALL_DEFAULT_EDIT_PAGE; navegar a la pgina de edicin por defecto
- FPM_BACK_TO_MAIN; Abandonar la pgina de edicin y navegar de vuelta a la vista
general de la pgina principal (sin guardar los datos).
- FPM_SAVE_AND_BACK_TO_MAIN; Evento transaccional. Abandonar la pgina de
edicin y navegar de vuelta a la vista general de la pgina principal.
- FPM_CHANGE_CONTENT_AREA; sustituir el actual rea de contenido por otro rea de
contenido.
- FPM_OPEN_DIALOG; Abre una ventana de dialogo. Hay que pasar el ID del rea de
contenido del cuadro de dilogo usando el parmetro del evento
TARGET_CONTENT_AREA.
Modificaciones Dinmicas en tiempo de ejecucin
Se pueden realizar de 2 formas:
1- Con una API para hacer ajustes simples de los botones de la barra de herramientas: La
interfaz IF_FPM_CNR_OVP proporciona mtodos para modificar los botones de la
barra de herramientas de una Application OVP en tiempo de ejecucin. Esta interfaz
incluye los siguientes mtodos:
- GET_CONTENT_AREAS; Obtener la lista de reas de contenido disponibles en el
momento.
- GET_CURRENT_CONTENT_AREA; Obtener el actual rea de contenidos.
- GET_UIBBS; Obtener una lista de UIBBs para un area de contenidos o seccin.
- GET_TOOLBAR_ELEMENTS; obtener una lista de los elementos de la barra de
herramientas disponible.
- GET_TOOLBAR_BUTTON; obtener los atributos de un botn de la barra de
herramientas.
- GET_TOOLBAR_TOGGLE_BUTTON; obtener los atributos de un botn biestado de
la barra de herramientas.
- GET_TOOLBAR_BUTTON_CHOICE; obtener los atributos de un botn con lista
desplegable de la barra de herramientas.
- ADD_TOOLBAR_BUTTON; aadir un nuevo botn a la barra de herramientas
existente.
- ADD_TOOLBAR_TOGGLE_BUTTON; aadir un nuevo botn biestado a la barra de
herramientas existente.
- ADD_TOOLBAR_BUTTON_CHOICE; aadir un nuevo botn con lista desplegable a
la barra de herramientas existente.
- CHANGE_TOOLBAR_BUTTON; modificar un botn de la barra de herramientas
existente.
- CHANGE_TOOLBAR_TOGGLE_BUTTON; modificar un botn biestado de la barra
de herramientas existente.
- CHANGE_TOOLBAR_BUTTON_CHOICE; modificar un botn con lista desplegable
de la barra de herramientas existente.
- REMOVE_TOOLBAR_ELEMENT; eliminar un elemento de la barra de herramientas.
- GET_APPLICATION_PARAMETERS; obtener los parmetros de la application.
- CHANGE_APPLICATION_PARAMETERS; modificar los parmetros de la Application.
- GET_PAGE_SELECTOR; obtener la etiqueta de la ventana con la lista desplegable
del selector de pgina y las entradas.
- CHANGE_PAGE_SELECTOR; modificar la etiqueta de la ventana con la lista
desplegable del selector de pgina y las entradas.
- SET_GENERIC_BUTTON_ACTION_TYPE; establecer el tipo de accin de los botones
genricos de la OVP.
- SET_SIDE_PANEL_LINK; definir el enlace del panel lateral.
- SET_TAG_VALUE; Establecer un valor para una etiqueta (panel lateral).

2- Con una API para un acceso completo. Un component Web Dynpro de una Application
o una clase ABAP pueden implementar la interfaz IF_FPM_OVP_CONF_EXIT que
proporciona el mtodo OVERRIDE_EVENT_OVP. Este mtodo permite acceder a la
interfaz OVP de tipo IF_FPM_OVP. Adems de los mtodos de IF_FPM_CNR_OVP
interfaz, que se describen en la tabla anterior, tambin puede utilizar los siguientes
mtodos para cambiar el estado plano OVP dinmicamente:
- ADD_CONTENT_AREA; aadir nueva rea de contenidos.
- CHANGE_CONTENT_AREA; modificar un rea de contenidos existente.
- REMOVE_CONTENT_AREA; eliminar un rea de contenidos existente.
- GET_SECTIONS; obtener una lista de todas las secciones de un rea de contenidos.
- ADD_SECTION; aadir una nueva seccin al rea de contenidos.
- CHANGE_SECTION; modificar una seccin existente.
- REMOVE_SECTION; eliminar una seccin.
- ADD_UIBB; aadir una UIBB a un rea de contenido o seccin existente.
- CHANGE_UIBB; modificar una UIBB existente.
- REMOVE_UIBB; borrar una UIBB.
- GET_EVENT; obtener el evento actual de FPM.
- IS_EVENT_CANCELLED; devuelve el resultado indicando si el actual evento FPM se
ha cancelado o no.
- CANCEL_EVENT; cancelar el procesamiento de eventos
- IF_FPM_WIRE_MODEL~ADD_WIRE; aadir un wire.
- IF_FPM_WIRE_MODEL~REMOVE_WIRE; borrar un wire.
- IF_FPM_WIRE_MODEL~GET_WIRES; obtener todos los wires.
Ajustar una View de un ALV predeterminada para una
UIBB freestyle
Cuando se aade una UIBB freestyle en una Application se puede seleccionar la ALV
predeterminada que se mostrar cuando se lanza la UIBB freestyle en tiempo de ejecucin.
Disear ajustes de tiempo en el editor de configuracin de FPM
Para seleccionar las Views predeterminadas para ALV realizar los siguientes pasos:
1. Implementar la interfaz de Web Dynpro IF_FPM_CFG_CONF_ALV_USAGE en la UIBB
freestyle que tiene uso en el component de Web Dynpro SALV_WD_TABLE.
2. Usar el editor de configuracin de FPM, aadir este freestyle UIBB a nuestro floorplan.
3. En la View configuracin del Component / Component Configuration del editor de
configuraciones, seleccionar el botn Atributos / Attributes de la UIBB embebida. Se
muestran los atributos de la UIBB, incluyendo la tabla Tablas configurables de ALV /
Configurable ALV Tables.
4. En esta tabla, usar la ayuda de bsqueda para introducir una View ALV para cada uso
del component de la Web Dynpro SALV_WD_TABLE.
Representacin de las Views de ALV en tiempo de ejecucin
La View del ALV no se aplica automticamente a la utilizacin en el component de Web Dynpro
SALV_WD_TABLE en nuestro UIBB. Debemos instanciar su uso en el component
SALV_WD_TABLE con la correspondiente clave de configuracin. Para ello, hay que aplicar las
claves de configuracin ALV en el mtodo WDDOINIT de la UIBB freestyle con el siguiente
cdigo adjunto:
cdigo mtodo wddoinit.txt

Component de dilogo de FPM
Proporciona un framework de soporte para cuadros de dilogo. Los cuadros de dilogo de FPM
se admiten en todos los foorplans (OIF, GAF, y OVP).
Estructura de un cuadro de dilogo FPM
Pueden ser UIBBs o GUIBBs freestyle. Las zonas CNR and IDR no estn disponibles para cuadros
de dilogo. Ejemplo:

En FPM se soporta hasta 3 niveles de cuadros de dilogo abiertos:

El cuadro de dilogo 3 slo muestra el botn Cerrar / Close, pero los otros 2 primeros
muestran los botones Oky Cancelar / Cancel.

Caractersticas del cuadro de dilogo FPM
Por defecto tienen 2 botones (Aceptar y Cancelar) manejados por el propio FPM.
Admiten todos los tipos de UIBB. Por tanto pueden tener botones especficos de la
Application manejados por la UIBB y embebidos dentro de ella. Por ejemplo:

Tiene su propia rea de mensajes y manejador de mensajes. Puede lanzar mensajes
locales y globales (Ver Administrador de mensajes para cuadros de dilogo FPM).
Pueden tener ms de una UIBB configurable (ver Configurar cuadros de dilogo
FPM).
Con ellos se puede a la pgina de error de error FPM (ver Pgina de error de error
FPM en cuadros de dilogo).
Soportan navegacin URL y Applications Web Dynpro.
Soportan el uso de cuadros de dilogo de prdida de datos, manejados en el bucle de
eventos.
Pueden lanzar eventos como FPM_SAVE, FPM_NEW y FPM_REFRESH.
Pueden ser abiertos desde la barra de herramientas de la Application (ver Configurar
cuadros de dilogo FPM).
Soporta todas las GUIBBs y UIBBs compuestas.
Soporta transferencia de datos entre otros cuadros de dilogo.

Crear y configurar un cuadro de dilogo FPM
Cada cuadro es unvocamente identificable por el ID del cuadro de dilogo / Dialog box ID y
se configura en el editor de configuracin de FPM. El procedimiento es el siguiente:
1. Seleccionar Add / Aadir en el editor de configuracin, debajo de la jerarqua. Elegir
Dialog Box / Cuadro de dilogo
2. Introducir un nombre en la ID del cuadro de dilogo / Dialog Box ID.
3. Introducir los atributos de UIBB para el cuadro de dilogo con el botn Aadir UIBB /
Add UIBBde la pantalla del editor de configuracin.
4. Cambiar el Layout seleccionando el nodo del cuadro de dilogo en la jerarqua y
eligiendo el tipo de Layout como se muestra en el pantallazo:

5. En esta misma pantalla de atributos se puede cambiar el conjunto de botones que se
muestran con la lista desplegable Dialog Buttons / Botones de dilogo.
6. Para pasar de uno a otro entre varios cuadros de dilogo de una sola Application,
podemos hacerlo con el radiobutton Dialog Box / Cuadro de dilogo de la jerarqua.
7. Se pueden lanzar cuadros de dilogo desde la barra de herramientas. Creando un
botn (en el ejemplo mostrado se llama Trigger Dialog) con el evento FPM asociado
FPM_OPEN_DIALOG_BOX pasando el ID del cuadro de dilogo al parmetro
DIALOG_BOX_ID (para ello, en la tabla que se muestra en Maintain Event Parameters
/ actualizar parmetros de eventos hay que aadir el nombre del evento). Ver
ejemplo:

Abrir y cerrar cuadros de dilogo FPM
Los cuadros de dilogo se abren de 2 formas:
- Con la Api IF_FPM; que contiene el mtodo OPEN_DIALOG_BOX. Este mtodo
tiene los siguientes parmetros:

IV_DIALOG_BOX_ID
IS_DIALOG_BOX_PROPERTIES (opcional)
IO_EVENT_DATA (opcional)

- Con un evento de FPM (FPM_OPEN_DIALOG), como en el ejemplo del paso 7 del
apartado anterior:
cl_fpm_event=>gc_event_open_dialog_box
Ejemplo:
cdigo evento OPEN_DIALOG_BOX.txt


El cerrado del cuadro de dilogo lo controla FPM con el evento FPM_CLOSE_DIALOG:
cl_fpm_event=>gc_event_close_dialog_box

Procesamiento de eventos en cuadros de dilogo
Los eventos de FPM o los eventos especficos de una Application pueden ser manejados en los
cuadros de dilogo de FPM.

Transferencia de datos en cuadros de dilogo
Se realiza con el parmetro IO_EVENT_DAT del evento open_dialog_box. Establece el valor a
transferir y lo pasa mientras est abierto otro cuadro de dilogo FPM.

El atributo MV_IS_DIALOG_MODE
El atributo IF_FPM~MV_IS_DIALOG_MODE proporciona informacin sobre el estado de una
Application, ya sea en un cuadro de dilogo o en una pantalla principal. La Application puede
leer el estado (abierto o cerrado) el uso de este atributo e indica si la aplicacin est en el
cuadro de dilogo o en la pantalla principal. Ejemplo:
DATA: lo_fpm TYPE REF TO if_fpm,
lv_window_id TYPE fpm_dialog_window_id.
lv_window_id = CONTENT_AREA_1.
lo_fpm = cl_fpm_factory=>get_instance( ).
lo_fpm->open_dialog_box( EXPORTING
iv_dialog_box_id = lv_window_id ).

Administrador de mensajes para cuadros de dilogo FPM
FPM administra el control de los mensajes en trminos de visibilidad y duracin en los cuadros
de dilogo, como se explica en el cuadro adjunto:



Pgina de error en un cuadro de dilogo FPM
Cuando se encuentra un error durante la navegacin o procesamiento de un cuadro de
dilogo, ste desaparece automticamente y es sustituido por la pgina de error.
Bloque de construccin de Interfaz genrica de usuario
(GUIBB)
GUIBB son plantillas con las cuales la Application define los datos que se mostrarn junto con
la configuracin. La pantalla concreta de los datos de la interfaz de usuario no se determina ni
se genera por el GUIBB hasta el tiempo de ejecucin. FPM suministra los siguientes GUIBB:
Form component (Component de Web Dynpro: FPM_FORM_UIBB)
List component (Component de Web Dynpro: FPM_LIST_UIBB)
Tabbed component (Component de Web Dynpro: FPM_TABBED_UIBB)
Search component (Component de Web Dynpro: FPM_SEARCH_UIBB)
Launchpad component (Component de Web Dynpro: FPM_LAUNCHPAD_UIBB)

Clases alimentadoras
Son las clases que proporcionan toda la informacin necesaria para los GUIBB. Implementan
las siguientes interfaces:
- IF_FPM_GUIBB_FORM; para form components
- IF_FPM_GUIBB_LIST; para list components
- IF_FPM_GUIBB_SEARCH; para search components
Estructura
Con el mtodo GET_DEFINITION, la clase define el catlogo de campos del component y
suministra el component con los datos de la Application en tiempo de ejecucin con el mtodo
GET_DATA.

Caractersticas
Estn basadas en una interfaz predefinida que suministra todos los mtodos necesarios para
estandarizar la comunicacin entre la Application y los GUIBBs
Esta comunicacin abarca lo siguiente:
- Definicin de la Application
- Definicin del Layout y las dependencias entre campos
- La accin opcional basada en metadatos
- El manejador de acciones / eventos y envo de datos.

Vamos a pasar a explicar ms detalladamente los 5 GUIBB de FPM:
Form Component (GUIBB FORM)
Es una plantilla de diseo genrica para mostrar datos en un formulario y que est
implementada usando el component de Web Dynpro FPM_FORM_UIBB.
Estructura
Un FORM est compuesto por varios sub-objetos:
- ELEMENT; Son combinaciones de campos y sus descriptores.
- MELTINGGROUP; un grupo de varios campos
- TOOLBAR; contiene botones con acciones asignadas que pueden ejecutarse desde el
FORM.
- GROUP; consiste en ELEMENTs, MELTINGGROUPs y TOOLBARs de un tipo predefinido.
Hay 3:
Pantalla completa con una columna
Pantalla completa con dos columnas
Mitad del ancho de la pantalla con una columna

Interfaz IF_FPM_GUIBB_FORM
Los mtodos que debemos implementar como mnimo de esta interfaz son:
- GET_DEFINITION; permite al alimentador facilitar toda la informacin necesaria para
la configuracin de un FORM: la lista de campos disponibles y sus propiedades, y la
lista de acciones (eventos de FPM).
- GET_DATA; Llamado en el bucle de eventos de FPM y reenva el evento de FPM
PROCESS_BEFORE_OUTPUT a la clase alimentadora. Aqu se pueden especificar los
datos del formulario despus de que el evento haya sido procesado.
Adems existen los siguientes mtodos:
- GET_PARAMETER_LIST; para definir una lista de parmetros que soporte la clase
alimentadora.
- INITIALIZE; llamado en tiempo de ejecucin cuando se crea el FORM.
- FLUSH; Primer mtodo llamado del bucle de eventos. Se utiliza para enviar los datos
del formulario modificados a otros componentes de la misma aplicacin.
- PROCESS_EVENT; llamado dentro del bucle de eventos para que tenga lugar el
procesamiento de eventos.
- GET_DEFAULT_CONFIG; para obtener la configuracin por defecto. Evita que el
usuario tenga que crear desde 0 un formulario.
- CHECK_CONFIG; para realizar chequeos en la configuracin inmediatamente antes de
guardar.
Puede verse una descripcin ms detallada de los mtodos y sus parmetros en el siguiente
documento (en ingls):
mtodos de la
interfaz IF_FPM_GUIBB_FORM.docx

Para editar un component FORM, ver el captulo Editor de formularios para el administrador
de Floorplan.
Usar la visualizacin del tipo CHECKBOX_GROUP en un Form
Un tipo checkbox_group se muestra como en el siguiente ejemplo:

El campo debe ser de tipo carcter y longitud igual al n de checkbox que queremos.
Valores por defecto para un checkbox se pueden establecer en el campo.
Con el mtodo FLUSH se actualizan los datos en el campo, por ejemplo, as quedara el valor
del campo con el checkbox group del pantallazo superior:
X______ (la primera posicin marcada y las otras 6 vacas)

Layouts para GROUPs en un formulario
Existen 2 posibilidades:
Versin previa de Layout para GROUPs:
Podemos organizar los GROUPs dentro un formulario dependiendo del tipo elegido
(pantalla completa con una columna, pantalla completa con dos columnas, mitad del
ancho de la pantalla con una columna).
Nueva versin de Layout para GROUPs:
Un Layout de tipos 2 columnas puede asignarse a un formulario dentro de la
jerarqua. Los GROUPs pueden ir en una u otra columna, y siendo todos del tipo mitad
del ancho de la pantalla con una columna. Cada columna se representa por separado
y las alturas de grupo no dependen del grupo de al lado.
Aadir Formulario
Se pueden aadir formularios adicionales a una Application de FPM, posicionndolo en los
siguientes elementos:
- En una sub-view
- En un paso principal
- En un sub-paso
- En un tabbed component
- En un a tabbed component en una pestaa de UIBB

El procedimiento es el siguiente:
Paso 1: Llamar al editor de configuracin de FPM
1. Seleccionar una APPlication de Web Dynpro en el navegador de objetos del workbench
2. En el explorador de la Web Dynpro ir a Display Web Dynpro Configuration screen /
Mostrar la pantalla de configuracin de Web Dynpro -> Web Dynpro Configuration /
elegir configuracin Web Dynpro -> Test -> Execute / Ejecutar.
3. En esta ventana, seleccionar el enlace Adaptar configuracin / Adapt Configuration
4. En el editor de components Webdynpro, en la pantalla de personalizacin, pulsar en
Modificar / Change
5. En la ventanapersonalizacin de componentes, <nombre de Application / Component
Customizing <application name>hay que asegurarse de que la View Components
definidos / Component-Defined est en ON.
Paso 2: Aadir un formulario
1. Seleccionar el lugar en el que deseamos colocarlo dentro de la previsaulizacin
2. Si no hay UIBB definido, elegir Atributos / Attributes.
3. Si ya hay una UIBB asignada, pulsar Aadir UIBB / Add UIBB o Aadir formulario
UIBB /Add Form UIBB.
4. Especificar el UIBB como component FORM introduciendo en la vista de atributos:
FPM_FORM_UIBB en el campo Component
FORM_WINDOW en el campo View
Un nombre para el campo Nombre de la configuracin / Configuration Name.
5. Guardar.
Paso 3: Configurar el formulario
1. Seleccionar Configurar UIBB / Configure UIBB
2. En la pantalla Editor for Web Dynpro ABAP Components Configuration / editor de
components de Web Dynpro ABAP configuracin seleccionar Crear / Create.
3. Introducir descripcin y OK.
4. En la ventana de dilogo del editor de clases alimentadoras, introducir la clase que
queremos asignar al formulario.
5. Seleccionar editar parmetros y elegir los parmetros de la clase alimentadora y OK.

Component List (GUIBB LIST)
Es una plantilla de diseo genrica para mostrar datos en una lista y que est implementada
usando el component de Web Dynpro FPM_LIST_UIBB.
Estructura
Un LIST est compuesto por un nmero de columnas. La view de componentes definidos nos
da la oportunidad de especificar:
- Qu datos se muestran y en qu columnas
- Tipo mostrado usado en cada columna.
- Orden de las columnas.
- N de columnas y filas mostradas a la vez.
Interfaz IF_FPM_GUIBB_LIST
Los mtodos que debemos implementar como mnimo de esta interfaz son:
- GET_DEFINITION; permite al alimentador facilitar toda la informacin necesaria para
la configuracin de una LIST: la lista de campos disponibles y sus propiedades, y la lista
de acciones (eventos de FPM).
- GET_DATA; Llamado en el bucle de eventos de FPM y reenva el evento de FPM
PROCESS_BEFORE_OUTPUT a la clase alimentadora. Aqu se pueden especificar los
datos de la lista despus de que el evento haya sido procesado.
Adems existen los siguientes mtodos:
- GET_PARAMETER_LIST; para definir una lista de parmetros que soporte la clase
alimentadora.
- INITIALIZE; llamado en tiempo de ejecucin cuando se crea el LIST.
- FLUSH; Primer mtodo llamado del bucle de eventos. Se utiliza para enviar los datos
de la lista modificados a otros componentes de la misma aplicacin.
- PROCESS_EVENT; llamado dentro del bucle de eventos para que tenga lugar el
procesamiento de eventos.
- GET_DEFAULT_CONFIG; para obtener la configuracin por defecto. Evita que el
usuario tenga que crear desde 0 una lista.
- CHECK_CONFIG; para realizar chequeos en la configuracin inmediatamente antes de
guardar.
Puede verse una descripcin ms detallada de los mtodos y sus parmetros en el siguiente
documento (en ingls):
mtodos de la
interfaz IF_FPM_GUIBB_LIST.docx

Interfaz IF_FPM_GUIBB_LIST_PAGING
sta es una interfaz opcional por si la Application quiere hacer uso de la funcin de paginacin
para LISTs GUIBB. Esto se utiliza cuando no se puedan cargar todas las entradas de una lista a
la vez. (El n que determina su uso es de Aprox. 100)
Los mtodos que debemos implementar como mnimo de esta interfaz son:
- GET_DEFINITION; permite al alimentador facilitar toda la informacin necesaria para
la configuracin de un LIST: la lista de campos disponibles y sus propiedades, y la lista
de acciones (eventos de FPM).
- PROCESS_EVENT; llamado dentro del bucle de eventos para que tenga lugar el
procesamiento de eventos.
- GET_DATA; Llamado en el bucle de eventos de FPM y reenva el evento de FPM
PROCESS_BEFORE_OUTPUT a la clase alimentadora. Aqu se pueden especificar los
datos de la lista despus de que el evento haya sido procesado.
Adems existen los siguientes mtodos:
- GET_PARAMETER_LIST; para definir una lista de parmetros que soporte la clase
alimentadora.
- INITIALIZE; llamado en tiempo de ejecucin cuando se crea el LIST.
- GET_ABSOLUTE_AMOUNT_OF_ROWS; llamado cada vez que se cambian los datos de
la lista.
- FLUSH; Primer mtodo llamado del bucle de eventos. Se utiliza para enviar los datos
de la lista modificados a otros componentes de la misma aplicacin.
- GET_PAGE; llamado cada vez que la lista necesita datos del alimentador, por ejemplo
cuando el ususario hace scroll.
Puede verse una descripcin ms detallada de los mtodos y sus parmetros en el siguiente
documento (en ingls):
mtodos de la
interfaz IF_FPM_GUIBB_LIST_PAGING.docx

Para editar un component LIST, ver el captulo Editor de listas para el administrador de
Floorplan.
Aadir Lista
Se pueden aadir LISTs adicionales a una Application de FPM, posicionndolo en los siguientes
elementos:
- En una sub-view
- En un paso principal
- En un sub-paso
- En un tabbed component
- En un a tabbed component en una pestaa de UIBB

El procedimiento es el siguiente:
Paso 1: Llamar al editor de configuracin de FPM
1. Seleccionar una APPlication de Web Dynpro en el navegador de objetos del workbench
2. En el explorador de la Web Dynpro ir a Display Web Dynpro Configuration screen /
Mostrar la pantalla de configuracin de Web Dynpro -> Web Dynpro Configuration /
elegir configuracin Web Dynpro -> Test -> Execute / Ejecutar.
3. En esta ventana, seleccionar el enlace Adaptar configuracin / Adapt Configuration
4. En el editor de components Webdynpro, en la pantalla de personalizacin, pulsar en
Modificar / Change
5. En la ventanapersonalizacin de componentes, <nombre de Application / Component
Customizing <application name>hay que asegurarse de que la View Components
definidos / Component-Defined est en ON.
Paso 2: Aadir una lista
1. Seleccionar el lugar en el que deseamos colocarla dentro de la previsualizacin
2. Si no hay UIBB definido, elegir Atributos / Attributes.
3. Si ya hay una UIBB asignada, pulsar Aadir UIBB / Add UIBB o Aadir lista UIBB /Add
list UIBB.
4. Especificar el UIBB como component LIST introduciendo en la vista de atributos:
FPM_LIST_UIBB en el campo Component
LIST_WINDOW en el campo View
Un nombre para el campo Nombre de la configuracin / Configuration Name.
5. Guardar.
Paso 3: Configurar la lista
1. Seleccionar Configurar UIBB / Configure UIBB
2. En la pantalla Editor for Web Dynpro ABAP Components Configuration / editor de
components de Web Dynpro ABAP configuracin seleccionar Crear / Create.
3. Introducir descripcin y OK.
4. En la ventana de dilogo del editor de clases alimentadoras, introducir la clase que
queremos asignar a la lista.
5. Seleccionar editar parmetros y elegir los parmetros de la clase alimentadora y OK.
Informacin til adicional sobre el component LIST
En la jerarqua en la configuracin de component de la Application, est disponible el siguiente
atributo:
- Lead Selection Action Assignment, con el que se puede asignar la ID de un evento FPM
a la seleccin principal. En tiempo de ejecucin, cuando ocurre la seleccin, se lanza el
evento seleccionado. Si no se asigna ningn evento, se asigna automticamente el
IF_FPM_GUIBB_LIST=>GC_FPM_EVENT_ON_LEAD_SEL
En la jerarqua en la configuracin de component del componente LIST, si elegimos Ajustes /
Settings estn disponibles los siguientes atributos:
- Contador de columnas
- Contador de filas
- Evento de seleccin; como una tabla Web Dynpro, una lista ofrece 2 tipos de seleccin
en tiempo de ejecucin:
Seleccin principal (Botn izquierdo del ratn -> un solo registro)
Seleccin normal (Botn derecho del ratn -> varios registros)
- Modo de seleccin; determina si es posible seleccionar varias filas
- Comportamiento de la seleccin; comprueba si las filas actualmente seleccionadas
son deseleccionadas cuando el usuario hace una nueva seleccin.
Los eventos FPM y el component List
Un component List toma parte de cada bucle de eventos de FPM, y tambin puede lanzar
eventos por s mismo de alguna de las 3 formas siguientes:
- Eventos de celda; la ID se pasa al parmetro:
IF_FPM_GUIBB_LIST=>GC_GUIBB_LIST_ON_CELL_ACTION
Y los valores de fila y columna correspondientes se pasan en los parmetros:
IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_ROW
IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_COLUMN_NAME
- Eventos de barra de herramientas; en este caso el ID de evento es el ID de la accin
que fue definida por la clase de alimentacin en el mtodo GET_DEFINITION. Se usan
los parmetros siguientes para obtener datos de inters de un elemento determinado
de la barra de herramientas:
IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_TOGGLE_STATE (para botn biestado),
IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_INPUT_VALUE (para campo de entrada)
IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_DROP_DOWN_KEY (para una lista
desplegable).
- Eventos de seleccin; cuando se selecciona un o varias filas.
Representacin de una Lista GUIBB como ALV
En la pantalla de configuracin de components, seleccionar Ajustes desde la jerarqua y en la
seccin de atributos, la lista desplegable de estilos de representacin mostrar las siguientes
opciones:
- Representacin estndar; formato simple de tabla
- Representacin como una repeticin de columna; formato de columna simple
- Representacin como ALV; con las funcionalidades de ordenar, filtrar, imprimir y
exportar a Excel.
Actividades en tiempo de ejecucin
Si se ha elegido mostrarse la representacin ALV, el usuario puede realizar cambios en la
disposicin y guardar. La siguiente vez que se muestre el ALV puede recuperarse esta
disposicin desde la lista desplegable View / Vista.
Otros datos importantes:
- La representacin ALV consume mucha ms memoria
- Si se elige una representacin ALV nunca se debe pasar a otro tipo de representacin
en una versin exterior porque se pierden los cambios.
- Los eventos en una lista ALV pueden no ser los mismos que en el component LIST.

Vous aimerez peut-être aussi