Está en la página 1de 31

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

TALLER DE TRANSACCIONES PERSONALIZADAS (parte III) OBJETIVOS En este laboratorio desarrollaremos una aplicacin que maneja procedimientos personalizados desde diversas viewObjects y el paso de datos entre paginas.

1. El modelo de la base de datos es el siguiente:

El cdigo SQL para la creacin de las tablas ser cedido por el instructor del curso.

javier_calizaya@yahoo.com

Pgina 1

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

1. Crear un proyecto que se denominara Transacciones02:

La persistencia quedara definida como en la imagen siguiente:

javier_calizaya@yahoo.com

Pgina 2

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

2. En el AppModule: Realizar la Programacin del procedimiento de insercin de en la tabla detalle.

Seleccionamos el procedimiento en el Client Interface:

javier_calizaya@yahoo.com

Pgina 3

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

3. Programacin en el ViewController 1. Dentro del la carpeta public_html crearemos una carpeta images y dentro de ello pondremos las imgenes que utilizaremos en nuestra aplicacin.

2. Diseamos una pagina de tipo plantilla:


javier_calizaya@yahoo.com Pgina 4

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Clic derecho en ViewController / New El asistente ira guiando en la creacin de la pagina En el paso 2, seleccionar la opcin:

No debe tener un manager Bean. En el paso 4 seleccionar la imagen que desea como fondo de su pagina.

javier_calizaya@yahoo.com

Pgina 5

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

3. Desarrollar con asistencia del instructor la siguiente interfaz en la pagina plantilla.jsp

4. Debe configurar la navegacin entre las paginas JSF Clic derecho a ViewController / Open JSF Navigation Disear la siguiente navegacin entre pginas:

javier_calizaya@yahoo.com

Pgina 6

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

5. Definir navegacin global en el JSF, poner vista de Source y agregar las lineas de codigo:

javier_calizaya@yahoo.com

Pgina 7

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

6. En la pagina plantilla.jsp vincular los actions de los tabs

En la imagen estamos vinculando el tab Venta con la navegacin global gventa mediante el atributo action. Repetir el procedimiento para cada uno de los tabs con su respectiva navegacin.
javier_calizaya@yahoo.com Pgina 8

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

7. Creacin de las paginas: Seleccionar la pagina plantilla.jsp del Application Navigation y luego dar clic al men File / Save as

Ponerle de nombre cliente.jsp Repetir el procedimiento para cada una de las pginas. El navigation debe quedar con la siguiente vista:

javier_calizaya@yahoo.com

Pgina 9

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

8. Una vez creadas las paginas, colocar al atributo select de los tab en true depediendo de la pagina en la que nos encontramos.

En la imagen, estamos en la pagina venta.jsp . Repetir el proceso para cada una de las pginas

javier_calizaya@yahoo.com

Pgina 10

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

9. Ejecutar la pgina cliente y probar la navegacin.

10. Mantenimiento de pginas mediante asistente. Mediante el asistente generaremos el mantenimiento para las paginas cliente.jsp y producto.jsp. A. Pagina Cliente Desde el DataControl arrastramos hacia la pgina el componente ClienteView1 Seleccionamos la opcion Tables / ADF Read-Only Table

javier_calizaya@yahoo.com

Pgina 11

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Marcar los siguientes cheks:

Se genera la siguiente tabla:

Al botn editar en su atributo action seleccionar irclientedetalle

javier_calizaya@yahoo.com

Pgina 12

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Agregamos a la tabla un boton de tipo nuevo, este boton lo generaremos desde ClienteView1 , lo arrastramos hacia la tabla de la pagina web:

A este boton nuevo tambien le agregamos en su atributo action: irclientedetalle.

A. Pagina ClienteDetalle En esta pagina arrastraremos tambin desde el DataControl la vista ClienteView1, pero ahora con la opcion Forms / ADF Form

javier_calizaya@yahoo.com

Pgina 13

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

No marcar ningn check y dale clic al botn aceptar.

Teniendo el formulario arrastrar desde el DataControl hacia la pgina el componente Confirmar:

javier_calizaya@yahoo.com

Pgina 14

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

La interfaz de la pgina tendra esta apariencia:

Por ultimo al botn guardar agregarle en su atributo action Ircliente. Ejecutar la pgina cliente.jsp y comprobar la transaccin. * Repetir el procedimiento para la pagina Producto.

javier_calizaya@yahoo.com

Pgina 15

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

10. Mantenimiento de Pginas mediante Backing y procedimientos personalizados. El asistente nos ayuda a agilizar el desarrollo, pero cuando los procesos son complejos, en el desarrollo de un sistema, es necesario utilizar un respaldo que nos permita tener un mejor control sobre los objetos. Por este motivo crearemos un backing. 1. Clic derecho en el ViewController / new Seleccionar java class:

2. En el faces-context.xml indicar que la clase BkVenta tendra un scope de tipo request

javier_calizaya@yahoo.com

Pgina 16

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

3. En la pagina ventas.jsp, en la linea final del codigo escribir lo siguiente:

Cada control que coloquemos en la pagina venta.jsp automticamente sera creado como objeto en el bkventa.

4. Disear la interfaz grafica de la pagina venta.jsp


javier_calizaya@yahoo.com Pgina 17

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Agregar 2 Panel Horizontal: phproducto phmovimiento En el panel Horizontal phmovimiento colocaremos una tabla que se generara del componente MovimientoView1:

Solo se mostraran 3 campos:

Agregaremos tambin un formulario en el panelHorizontal phmovimiento


javier_calizaya@yahoo.com Pgina 18

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Con los siguientes campos.

javier_calizaya@yahoo.com

Pgina 19

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Para que cambie dinmicamente el formulario de la derecha conforme se haga una seleccin en la tabla se debe hacer lo siguiente: a. La tabla debe tener un id = tbmovimiento b. En el radio de la tabla , la propiedad autosubmit debe encontrar en true. c. En el formulario, su propiedad partialTrigger debe apuntar a tbmovimiento En el panelhorizontal phproducto de la misma forma agregarle una tabla tbproducto y un formulario, y repetir el procedimiento ya mencionado.

javier_calizaya@yahoo.com

Pgina 20

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

5. Agregarle un botn Comenzar Venta a la pagina con el action= irventadetalle La presentacin final de la pgina seria de esta manera:

Si revisa el backing BkVenta se dara cuenta que conforme ha ido generando objetos en la pagina venta.jsp tambien se han ido creando instancias de las clases que dan soporte a los controles ADF Faces. Cuando se de clic al boton comenzar Venta debe aparecer la pagina ventadetalle.jsp.

javier_calizaya@yahoo.com

Pgina 21

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

11. Desarrollo de interfaz grafica de la pagina ventadetalle.jsp Debe crear una clase BkDetalleVenta y asignarle un scope de tipo request en el faces-context.xml.

En la pagina ventadetalle.jsp agregarle este codigo :

Diseo de la interfaz grafica, agregar un formulario y los componentes: 1. txtmovimiento 2. txtnombreproducto 3. txtidproducto 4. txtunidades 5. txttotallocal 6. txttotaldolar 7. cmdgrabar

Ejecutar la pagina:

javier_calizaya@yahoo.com

Pgina 22

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

12. Para grabar un detalle son necesarios los datos de idmovimiento y idproducto, estos datos se encuentran en la pagina ventas.jsp, con un paso de parmetros mediante el backing podremos lograr completar esta funcionalidad. Para este caso vamos a pasar tres parmetros: Idmovimiento nombreProducto idproducto

javier_calizaya@yahoo.com

Pgina 23

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

1. Paso de parmetros desde la pagina venta.jsp hacia ventadetalle.jsp

La navegacin entre estas dos paginas se da con la variable irventadetalle , que esta siendo trabajada desde el boton comenzar Venta de la pagina venta.jsp. Ingresaremos al cdigo de la clase BkVenta.java Y declararemos 3 variables con sus respectivos accesores set / get

javier_calizaya@yahoo.com

Pgina 24

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Regresamos a la pgina y le damos clic derecho sobre el botn Comenzar Venta y seleccionamos la opcion: (Antes de hacer este procedimiento debemos dejar en blanco su propiedad action)

Aparece una ventana que indica que se va a generar un mtodo para este botn, de tipo action.

javier_calizaya@yahoo.com

Pgina 25

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Se ha generado este procedimiento:

En este mtodo capturaremos los valores de las cajas de texto y las cargaremos en un request, este request es el que llevara las variables hacia la pagina ventadetalle.jsp.

javier_calizaya@yahoo.com

Pgina 26

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Vamos a la pagina ventadetalle.jsp y vamos a cargar a los tres controles con su respectivo value que proviene del backing bkventa.

Ejecutar la pagina y compruebe que pasan los datos.

13. Grabar datos en la tabla detalle.


javier_calizaya@yahoo.com Pgina 27

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Desde el dataControl arrastrar hacia el formulario el method insertarDetalle:

Cargar los parmetros que necesita el method :

javier_calizaya@yahoo.com

Pgina 28

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

En la parte inferior de la pgina crearemos una tabla que muestre dinmicamente las inserciones que se van haciendo en detalle. Para que esta tabla se actualice dinmicamente debemos crear un method action en el pageDefinition.

Seleccionar la opcion:

javier_calizaya@yahoo.com

Pgina 29

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Dentro de la carpeta binding dar doble clic a la method Execute y en la ventana emergente seleccionar las opciones:

Finalmente vamos al cdigo del botn Guardar Venta:


javier_calizaya@yahoo.com Pgina 30

Curso de Especializacin Java / Oracle

Autor: Ing. Javier Calizaya Melendrez

Y agregamos el cdigo marcado:

Ejecutar la pagina y probar la funcionalidad.

javier_calizaya@yahoo.com

Pgina 31

También podría gustarte