martes, 26 de abril de 2011

Ampliar componente WebUI

Muchas veces las pantallas estándar no nos ofrecen todo lo que la empresa necesita. La interfaz web de CRM tiene la ventaja de poder ampliarse casi de cualquier manera, sin necesidad de solicitar código de desarrollador a SAP ya que son ampliaciones que no modifican el código estándar. A continuación detallo como identificar y ampliar una página o componente del interfaz web.

El primer paso es conocer el componente y vista que queremos actualizar. Es importante tener en cuenta que una pantalla que puede parecer idéntica puede estar en el mismo componente pero en diferentes vistas. Para conocer el componente y la vista que queremos ampliar nos situamos en la pantalla que queremos ampliar, situamos el foco en cualquier campo y presionamos F2.

El componente a ampliar está en el bloque "Campo:Información técnica - Componente de IU" y la vista en el campo "Vista". Hay casos en los que el botón F2 no funciona. En esos casos no queda otra opción que debugar la vista anterior hasta encontrar la que queremos ampliar.

Con estos datos vamos a la transacción BSP_WD_CMPWB - Workbench del componente BSP WD. Se pone el componente a ampliar y el set de ampliación a utilizar.

Si no existe set de ampliación o se quiere utilizar otro en este punto se puede crear con el botón de creación (La hoja en blanco)

Pinchamos al botón actualizar y llegamos a la pantalla donde nos muestra todo el componente con las páginas y las vistas que tiene.

Aquí pinchamos en el botón "Ampliar el componente" para poder modificarlo. Ponemos nombre a la aplicación y aceptamos los mensajes siguientes. En el pop-up donde nos pide una página mantenemos la página por defecto y añadimos los cambios a una orden de transporte.

Ahora el componente es ampliable. Podemos modificar las vistas las páginas, crear nuevos eventos, campos....

Lo más complicado de este proceso es encontrar en qué punto necesitamos ampliar y que métodos podemos utilizar, habrá que ir haciendo pruebas con break-points. Para ampliar cualquier componente pinchamos con el botón derecho en la vista y seleccionamos "ampliar", incluimos la ampliación en una orden de transporte.

La clase de la vista se ha transformado en una clase Z. En este punto es posible que para que se reflejen los cambios haya que salir de la transacción y volver a entrar. Tenemos que decidir en que punto vamos a ampliar, TODOS son ampliables.

Para ello presionamos el botón derecho sobre el método a ampliar y seleccionamos "Redefinir".

El indicador cambia a verde indicando que el método está ampliado. Con doble click entramos en el método. Es necesario llamar al método de la clase superior quitando el comentario que nos aparece en el código, ponemos el código que necesitemos y tenemos el componente ampliado.

3 comentarios:

  1. Hola,

    Cuando te refieres a pulsar F2 te refieres a pulsar pero siempre y cuando estes dentro del Netweaver verdad? Es decir cuando estes desarrollando

    Gracias,

    Carlos.

    ResponderEliminar
  2. No. En WebUI, en el navegador, en cualquier pantalla puedes pulsar F2 en un campo y te mostrará los datos de la pantalla que estás visualizando.
    Supongo que por Netweaver llamas a entrar en GUI, allí para ver los datos técnicos se pulsa F1 pero no te da los datos de la pantalla

    ResponderEliminar
  3. Hola una consulta,
    Te platico rapido cree un usuario de prueba con el cual estoy trabajando, Tambien di de alta el rol desde la spro,
    el cual contiene su clave de configuracion del rol, barra de navegacion y su layout, etc
    la clave de configuracion se llama "ZCRM_UI", la cual asigne a travez de "crm_ui_profile" Una vez hecho eso
    entre a la "crm_Ui" y me sigue mostrando la pagina en blanco.

    a que se debe esto?

    ResponderEliminar