lunes, 2 de julio de 2012

Programación BOL/GenIL. Crear nuevo bloque (5/7)

Continuamos con la creación del bloque. 
Vamos ahora a configurar la parte de webui para que nuestra clase sea visible mediante un bloque.

Conocido el componente a ampliar es necesario crear una nueva vista y asignarla al componente y grupo de pantallas. Hay que redefinir los métodos de la vista y crear nuevos eventos para que el bloque se comporte como deseamos. También hay que relacionar la vista con el GUID del objeto raíz. En este punto vamos a crear la vista mediante el asistente.

Entramos en la transacción BSP_WD_CMPWB en el componente que nos interesa. Para este caso vamos a ampliar las tareas por lo que nuestro componente es el BT125H_TASK. Pinchamos en la opción "Browser de modelo BOL". Si hemos realizado bien la configuración desplegando el objeto raiz deberíamos ver nuestro componente. 

Vamos a crear ahora la vista. 
Para crear la vista utilizamos el asistente y debemos incluir el objeto con el que vamos a relacionar la tabla. Este objeto nos aparece también en los objetos raiz del browser de modelo BOL. Debemos elegir el que nos convenga. En este caso concreto el que nos interesa el el objeto BTOrder.
Vamos al "Browser de estructura de componente" y en las vistas presionamos el botón derecho y crear. Nos muestra un asistente. En el primer paso debemos asignarle un nombre a la vista. Personalmente me gusta empezarlos por Z pero el nombre del completamente es libre. En el paso siguiente de nodos modelos asignamos nuestro nodo Root y el nodo con el que enlaza que hemos decidido que sea BTOrder:




En el paso de nodos de valor no indicamos nada. Pásamos al paso de atributos modelo.
Aqui presionamos el botón + () del asistente. Nos aparece una pantalla con los nodos que hemos introducido en el paso de nodos modelo con todos sus campo.

Seleccionamos los campos que queremos que aparezcan en la vista. Por norma deben ser todos los de la tabla Z y se debe incluir el campo de relación con el objeto estándar. En este paso es posible que algún campo genere conflicto de nombres. En caso de que se nos muestre un conflicto de nombres simplemente cambiamos el nombre del campo, por ejemplo poniendole una Z delante.

Se nos muestra una lista con todos los campos seleccionados. Pasamos al siguiente paso y continuamos sin indicar nada.
Seguimos con el paso de "crear enlaces para controlador custom". En este caso vamos un poco a ciegas. Tenemos que encontrar la relación entre el nodo de contexto BTOrden con los datos de la actividad (o los objetos que nos interese). Con un poco de sentido común y ayuda de MR. Google encontraremos la relación correcta. Siempre tenemos la opción de prueba-error. Una vez decidamos continuamos y debemos seleccionar el tipo de vista. Para nuestro caso nos interesa una vista de tabla, que sea confirgurable y modificable. Estos son los datos:


Presionamos continuar y se nos presenta el resumén de la configuración por si queremos cambiar algo. Presionamos finalizar y tenemos la vista creada.

Ya tenemos nuestra vista creada y relacionada con el componente. Vamos a publicarla. Para ello tenemos que añadir la vista al ViewSet que nos interese. Vamos al "Editor de repository en tiempo de validez" y presionamos el botón de modificar. En este caso vamos a modificar el ViewSet TaskOVViewset. En el viewArea presionamos el botón derecho y añadimos nuestra vista.
A continuación hacemos doble click en el viewSet y vamos a la pestaña de configuración. Añadimos la vista a los bloques que ya son visibles. Este paso lo podemos hacer en el WebGUI.
Volvemos al "Browser de estructura del componenete" y hacemos doble click en la vista. En la pestaña de configuración mostramos los campos que nos interesen.

Con esto nuestra vista está visible en web. En el siguiente post veremos como hacer que se comporte como nos interesa.

Relacionado:
Programación BOL/GenIL (1/.)
Programación BOL/GenIL (2/.)
Programación BOL/GenIL (3/.)
Programación BOL/GenIL (4/.)
Programación BOL/GenIL (6/.)


6 comentarios:

  1. Buenas, mi nombre es Eleonora. Y leyendo los pasos para la configuración tengo una pregunta para hacerte.

    Una vez que configuras la vista Z para los Usuarios, en caso de que ellos modifiquen la disposición de columnas o personalicen algún punto, nos dijeron que dicha modificación modifica la vista creada Z ya que lee la estandar modificada.

    Sabrás la tabla donde se guardan las personalizaciones de cada usuario? nos indicaron que borrandoles de ahi esas modificaciones el usuario volvería a ver la Z que crearon.

    Agradecería tu ayuda!

    Muchas gracias

    ResponderEliminar
  2. Gracias muy útil tu blog. Saludos

    ResponderEliminar
  3. Optika, me apunto tu consulta, a ver si puedo averiguarlo, parece muy útil.

    Gracias Eduardo.

    ResponderEliminar
  4. Sigo bien el wizard para la creación de la vista, pero al final me pide que registre el objeto BT125H_TASK, ¿es normal? ¿realmente debo registrarlo? ¿he hecho algo mal?
    Muchas gracias.

    ResponderEliminar
  5. Sergio, lo primero que debes hacer es ampliar el componente. Para eso en la primera parte debes crear el set de ampliación (puede ser genérico para todos los componentes) y una vez lo tengas en el set de ampliación ampliarlo, tan simple como con el botón derecho ampliar.
    Desde luego lo que no es normal es que tengas que registrar el objeto.

    Saludos

    ResponderEliminar
  6. Tienes razón muchas gracias, http://abap-crmtutorials.blogspot.com.es/2012/05/enhancement-set.html

    ResponderEliminar