0 оценок0% нашли этот документ полезным (0 голосов)
633 просмотров61 страница
El documento describe Floorplan Manager (FPM), una aplicación Web Dynpro ABAP que proporciona un marco para el desarrollo de interfaces de usuario consistentes con las directrices de SAP. FPM ayuda en la creación y configuración de interfaces basadas en plantillas como Object Instance Floorplan y Guided Activity Floorplan. También describe cómo crear una aplicación FPM simple con dos pestañas o dos pasos y configurarla usando el editor de configuración de FPM.
El documento describe Floorplan Manager (FPM), una aplicación Web Dynpro ABAP que proporciona un marco para el desarrollo de interfaces de usuario consistentes con las directrices de SAP. FPM ayuda en la creación y configuración de interfaces basadas en plantillas como Object Instance Floorplan y Guided Activity Floorplan. También describe cómo crear una aplicación FPM simple con dos pestañas o dos pasos y configurarla usando el editor de configuración de FPM.
El documento describe Floorplan Manager (FPM), una aplicación Web Dynpro ABAP que proporciona un marco para el desarrollo de interfaces de usuario consistentes con las directrices de SAP. FPM ayuda en la creación y configuración de interfaces basadas en plantillas como Object Instance Floorplan y Guided Activity Floorplan. También describe cómo crear una aplicación FPM simple con dos pestañas o dos pasos y configurarla usando el editor de configuración de FPM.
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:
- 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.