viernes, 28 de noviembre de 2014

Crear Procedimientos almacenados en Oracle con java para EBS R12

Java juega un papel importante en el espacio de desarrollo de aplicaciones de hoy en día.

Se ha vuelto cada vez más popular en los últimos años, debido a que es multiplataforma, potente y fácil de aprender. Aunque el desarrollo de Java no está directamente relacionada con PL / SQL, es importante para un desarrollador de PL / SQL aprender un poco acerca de Java, ya que hay algunos beneficios de usar java en las tareas de base de datos.

Oracle Database 11g contiene compatibilidad JVM con Java 1.5, que incluye cambios sustanciales en el lenguaje, por lo que es una plataforma aún más complementaria para el desarrollo. También a partir de Oracle 11g, la base de datos incluye un compilador Just-in-time, que compila el código de bytes de Java en instrucciones de lenguaje de máquina.

En este ocasión aprenderemos  a combinar el poder de PL / SQL de con código Java que se almacena en la base de datos. Aprenderemos cómo crear procedimientos almacenados, funciones y disparadores utilizando el lenguaje Java, nos centraremos únicamente en el uso de los tipos de Java junto con las aplicaciones PL / SQL.

Para poder crear los programas java utilizaremos JDeveloper el cual viene incluido cuando instalamos oracle developer suite 10g (10 1 2 0 2), vamos a realizar una pequeña aplicación con la cual podamos consultar todos los pedidos de OM junto a sus documentos generados en AR y  esta información la vamos a enviar a un correo determinado.

El formato del correo que enviaremos será HTML para es que vamos a desarrollar un programa que construya nuestro HTML.

Lo primero que haremos será obtener las tablas, vistas o Sinónimos que vamos a utilizar para armar el Query que utilizaremos.

Lo primero que haremos será iniciar sesión en el EBS y luego nos vamos a la responsabilidad “Order Management”, abrimos el formulario “Quick Sales Orders” buscamos un pedido ya tomado, colocamos el mouse  donde dice “Customer”, luego nos vamos al menú “Help” y seleccionamos la opción “Record History”


Esto nos abrirá la siguiente ventana:


De esta pantalla lo que nos interesa es el dato resaltado con amarillo, podemos observar que se trata de una vista ya que en Oracle EBS R12 su standard de nombrado de objetos vistas dice que deben terminar el nombre con una V esto quiere decir <Modulo>_<Nombre Vista>_V, bueno con esta vista ya podemos obtener todos los pedidos pero necesitamos obtener los documentos aplicados a este pedido, para ello hacemos click derecho en cualquier campo de la cabecera del pedido y seleccionamos “Payment/View Invoices/Credits” tal como se muestra en al imagen:



Esto nos abrirá la siguiente pantalla:



En esta pantalla podemos observar los campos “Amount y Balance” los cuales representan el monto real del pedido y el saldo respectivamente, en este caso el saldo es “0” ya que el pedido fue cancelado en su totalidad.

Lamentablemente el truco que Aplicamos para ver la tabla o vista que es utilizada en esta pantalla lo único que nos queda es descargar el formulario e identificar la tabla mediante su definición de BLOCK, para ellos nos vamos a “Help/About Oracle Applications” tal y como se muestra en la siguiente imagen:


Esto nos abrirá la siguiente pantalla:



En esta pantalla podemos observar que el nombre del archivo que representa al formulario es “OEXOETEL” el cual esta resaltado con amarrillo, como dato adicional podemos observar la dirección en donde se encuentra el ejecutable de esta pantalla “/u01/oracle/<Instancia>/apps/apps_st/appl/ont/12.0.0/forms/US/OEXOETEL.fmx” en esta dirección es en donde se encuentra todos los archivos de los formularios compilados correspondientes a OM,  este archivo no nos sirve necesitamos el archivo “FMB” para ello lo descargamos de la siguiente dirección tal y como se muestra en la imagen:



Todos los archivos  FMB del EBS están en la dirección:
“/u01/oracle/<Instancia>/apps/apps_st/appl/au/12.0.0/forms/<Idioma>”

Una vez descargado el archivo procedemos abrirlo con form 10g



Necesitamos saber el nombre del bloque al cual queremos llegar para poder identificar la vista/Tabla que utiliza la pantalla, para ello volvemos al EBS y nos dirigimos “Help/Diagnostics/Examine” tal y como muestra la imagen



Esto nos abrirá la siguiente pantalla:



En esta pantalla podemos ver el nombre del block el cual es “VIEW_ORDER_INVOICE”, ubicamos este nombre en Oracle Developers forms:



Aquí podemos observar que el nombre de la vista es “oe_ra_cust_trx_hdr_perf_v”, la cual esta resaltado con rojo.
Si ejecutamos un select sobre esta vista en SQL Developer notaremos que no nos muestra ningún resultado:



Esto es debido a que la vista utiliza los métodos “OE_Invoice_PUB.get_order_number() y OE_Invoice_PUB.get_order_type()” los cuales obtienen el número de pedido y el tipo de pedido respectivamente, esta información la obtiene del formulario en el cual se encuentra actualmente, es por esta razón que cuando lo ejecutamos el select sobre la vista esta no nos devuelve nada ya que no nos encontramos en el formulario de toma de pedido.



Ya con toda esta información nuestro script quedaría de la siguiente forma:



  Lo siguiente que vamos hacer es crear una vista con este query para después poderla utilizar



Presionamos aceptar y la vista será creada:



Ahora vamos a crear nuestras clases java las cuales vamos a subir luego al motor de Oracle, para ello abrimos JDeveloper:



Procedemos a crear una nueva Aplicación tal como se muestra en la imagen



Este proceso nos crea un proyecto vacío, lo eliminamos y creamos uno nuevo:


Nuestro proyecto tendrá la siguiente estructura:


Podemos observar algunos errores, esto es debido a que no hemos importado el driver de oracle.
Lo primero que vamos hacer es crear el “Deployment Profile” tal como se muestra en la imagen:




Seleccionamos el tipo “Loadjava and Stored Procedures” ya que este nos permite generar paquetes y procedimientos almacenados en Oracle, los cuales estarán directamente relacionados con nuestros  métodos java, además también suben las clases java o Oracle al momento de generar el deploy.
Las propiedades de nuestro archivo deploy deberán quedar de la siguiente manera:



Con esto nos aseguramos que además de subir los archivos .class también suba los .java que son en los cuales está el código fuente.

Ahora procederemos a crear un paquete en nuestro deployment:



Una vez creado el paquete vamos a crear un procedimiento almacenado que apunte al método “Demo_Proc. getPedidoOmAr” el cual explicare más adelante :



Tal como se puede ver en la imagen el procedimiento recibe dos parámetros los cuales son vectores el uno es un vector de String y el otro es un vector de Objetos Double, ambos parámetros los hemos declarado en modo “OUT”, esto se lo realiza de esta forma ya que vamos a utilizar este procedimiento en un concurrente del EBS, para poder seleccionar el modo en las propiedades de un parámetro perteneciente a un método java estso deben declararse como arrays, si no se lo declarara así solo tendríamos un modo que sería el “IN”, nuestro deployment quedara así:



Hasta ahora solo hemos armado la estructura de nuestro proyecto, para poder publicar nuestro paquete en el motor debemos crear una conexión desde JDeveloper al motor el cual será utilizado para publicar nuestro código en Oracle.
Procedemos a crear nuestra conexión tal como se muestra en la imagen:


Ahora vamos a proceder a adicionar el driver de Oracle al proyecto y asi de esta forma no tengamos errores al probar nuestro código en JDeveloper, la imagen a continuación muestra los pasos a seguir para importar el archivo:



Ahora vamos a publicar nuestro código utilizando la conexión que creamos hace unos momentos, la imagen muestra lo que  se debe hacer para publicar los archivos:



Este será nuestro resultado en JDeveloper:



Pues bien si nos dirigimos a la base de datos en el esquema APPS deberemos encontrar tanto el paquete como los objetos java creados, la imagen a continuación nos muestra los objetos en el motor:


Bueno vamos a explicar un poco las clases de nuestro proyecto:
Empecemos con la clase “Demo_Proc”:



Lo primero que debemos notar es que esta clase tiene un solo método el cual es para el que hemos creado un procedimiento almacenado en Oracle,tomar en cuenta que también todas las excepciones son capturadas y lanzadas asía arriba para que aquel que invoque este método las controle.
1.- El primer paso que realiza este meto es el de traer todo los pedidos con sus documento de OM, para utiliza una instancia de la clase “Datos”, posteriormente con los pedidos crea un a página HTML con ayuda de las clases “PageHTML y TablaHTML”.
2.- Una vez creada la página es enviada por correo con ayuda del método “EnviarMail” de la instancia datos.

Clase Datos:



De esta clase los utilizamos los métodos “getPedidoOmAr y EnviarMail”.
El método “getPedidoOmAr”  es el que trae los pedidos de OM ejecutando el select contenido en la variable “SQL” y lo devuelve en un objeto ArrayList.

El método “EnviarMail” envía un correo al usuario especificado en la variable “Destinatario” invocando un procedimiento de la base de datos creado específicamente con este fin.
Podemos observar que en el método “EnviarMail” hay código comentado:


El código comentado es para conectarnos al motor desde JDeveloper, desde Oracle la conexión se la obtiene con:
Connection conn = new OracleDriver().defaultConnection();
Más abajo dejo el enlace de descarga de todo el proyecto incluyendo el código PL/SQL de procedimiento  “send_mail”.
Ahora procedemos a crear el concurrente en EBS.
1.-Primero creamos el ejecutable tal como se muestra en la imagen:



2.- Ahora creamos el Concurrente tal como se muestra en la imagen:



3.-Ahora asignamos el concurrente al grupo de solicitudes dela responsabilidad del administrador tal como se muestra en la imagen:


4.- Ahora ejecutamos el concurrente:


El formato del correo que llega es asi:



Les dejo un link donde explico cómo crear concurrentes en el EBS.

Aqui esta el link del Codigo fuente :https://sourceforge.net/projects/javaoracleenebsr12/

Eso es todo amigos espero que les sea de gran ayuda el Articulo.

viernes, 31 de octubre de 2014

Instalando PhoneGap - Ejemplo Hola Mundo

Instalando PhoneGap
PhoneGap es un framework de código abierto para el desarrollo de aplicaciones para móviles. Su principal característica es ser multiplataforma, es decir, con un solo código de aplicación podemos utilizarlo en multitud de plataformas móviles, como Android, iOS o Windows Phone.
El núcleo de las aplicaciones PhoneGap se crea utilizando lenguajes de programación Web, como JavaScript, HTML5, CSS3, y con la ayuda de otros frameworks de desarrollo y de la propia API de PhoneGap. Esta API nos permite acceder mediante código JavaScript a características nativas del móvil, como por ejemplo: Acelerómetro, cámara, contactos, eventos, geolocalización, redes o almacenamiento. Posteriormente, y para cada una de las plataformas móviles para las que queramos generar nuestra aplicación, tendremos que incluir este núcleo Web como parte de la aplicación nativa. De esta forma podremos generar una aplicación "nativa" para cada plataforma móvil aprovechando para todas ellas el mismo núcleo de la aplicación.
Podemos encontrar más información de PhoneGap en la dirección www.phonegap.com,donde podrás descargar la última versión del framework.
Soporte
Con PhoneGap es posible desarrollar aplicaciones para los siguientes sistemas operativos para móviles:
a.       Android
b.       iOS
c.       Windows Phone
d.       BlackBerry OS
e.       Web OS
f.         Symbiam
g.        Bada
Para el desarrollo de la aplicación, además de poder utilizar lenguajes de programación web HTML 5, CSS 3 y JavaScript, también soporta perfectamente el uso de frameworks de desarrollo web móvil como: jQuery Mobile, Sencha Touch, Dojo, jQTouch,SprountCore, GloveBox, XUI, iScroll, entre otros.
Cómo trabaja PhoneGap
El esquema básico de funcionamiento de PhoneGap es el siguiente:
          a)      Construir la aplicación usando estándares Web: HTML, HTML 5, CSS, CSS3, JavaScript o               haciendo uso de otros frameworks para el desarrollo de aplicaciones Web.
          b)       Combinar la aplicación Web con PhoneGap, esto nos dará acceso a las características nativas               de los dispositivos móviles.
          c)        Configurar la aplicación en cada una de las plataformas para las que queramos generar la                     aplicación nativa.
Es importante utilizar estándares web para que nuestra aplicación funcione en la mayoría de dispositivos móviles.

Configuración

Primero nos vamos a la página de PhoneGap (www.phonegap.com) y descargamos el archivo "phonegap-2.9.0.zip ",


el cual contiene una carpeta de recursos para cada sistema operativo. En cada carpeta encontraremos una librería JavaScript y otra en el lenguaje nativo que usa la plataforma.



Por ejemplo, para Android tendremos una librería escrita en JavaScript, usada para el desarrollo de las aplicaciones web, que nos dará acceso al hardware del dispositivo a través de la API de PhoneGap. Además tendremos una librería escrita en Java que realiza la comunicación o puente entre la API JavaScript y las características nativas del sistema operativo o hardware.


La configuración de PhoneGap se realiza de forma diferente para cada sistema operativo móvil, pues se utilizan diferentes IDEs de desarrollo, distintos lenguajes de programación (nativos)  y la inclusión del código de nuestra aplicación Web según la plataforma tiene también sus particularidades.
En la siguiente sección explicaremos la configuración de PhoneGap para Android, por último daremos un listado de enlaces con tutoriales para la configuración en el resto de sistemas.

Configuración con Android

En esta sección vamos a ver como configurar PhoneGap para el entorno de desarrollo de Android. Además crearemos una primera aplicación de ejemplo.
Para preparar el entorno de desarrollo, deberemos hacer lo siguiente:

           a)      Descargar e instalar Netbeans 8.1
           b)      Descargar e instalar el SDK de Android.
           c)       Instalar el plugin ADT (Android Development Tools) desde el gestor de plugins de Netbeans.
           d)      Descargar y decomprimir PhoneGap (Cordova). En este caso utilizaremos solamente el                       directorio de Android.

Para configurar un nuevo proyecto tenemos dos posibles opciones: utilizar el script créate que facilita PhoneGap, o crear un nuevo proyecto desde Netbeans y configurarlo manualmente.
A continuación veremos en detalle estas dos opciones.
1.       Crear el Proyecto con PhoneGap: para crear el proyecto directamente con PoneGap tenemos que tener configuradas las siguientes variables de entorno:
a.       Usuario
                                                    i.      JAVA_HOME - C:\Program Files\Java\jdk1.7.0_13
                                                    ii.      ANT_HOME - D:\GWT\ant-1.9.4-bin
                                                    iii.      ANDROID_SDK_HOME - C:\Users\<Nombre Usuario>\AppData\Local\Android\android-studio\sdk
                                                    iv.      ANDROID_HOME - D:\<Nombre Usuario>\.android
b.      Sistema
                                                    i.      Adicionar a la variable path los siguiente: C:\Users\<Nombre Usuario>\AppData\Local\Android\android-studio\sdk\tools;D:\GWT\ant-1.9.4-bin\bin
Una vez configurado estas variables nos vamos al directorio “D:\GWT\phonegap-2.9.0\phonegap-2.9.0\lib\android\bin”




Desde la consola de comandos en este directorio ejecutamos el siguiente comando:

create.bat D:/GWT/DEMOS/DMO1 org.power.demo23 Demo23



Ahora bien ya tenemos nuestro proyecto Android creado ahora procedemos a abrirlo con netbeans, antes no tenemos que olvidar instalar el plugins de Android.
Instalando plugins: http://nbandroid.org/updates/updates.xml


Configuramos el SDK de Android:



Ahora procedemos a abrir el proyecto:



La estructura de archivo debe ser la siguiente:


Ahora hacemos click derecho en el proyecto y seleccionamos propiedades


Y seleccionamos la versión de Android 4.0.3 que corresponde al API 15.
Ahora crearemos una emulador para ejecutar nuestro proyecto con las siguientes características:



Y luego lo iniciamos:



 Iniciando el emulador:




Ejecutamos la aplicación



El resultado lo podemos ver en el emulador



Bueno eso es todo amigos , espero que les sirva de ayuda el tutorial.


Saludos.

PACK ABRIL 2024 Parte 1

PACK ABRIL 2024 En esta ocacion les traemos  640  edit's , versiones esclusivas para DJ's, accede a nuestra app y descarga todo lo q...