You are on page 1of 70

Oracle WorkFlow EBS R12

Oracle Application Framework




Saludos mis amigos, un tiempo atrs me toco modificar el workFlow de OM, as que me vi en la tarea de instalar WF Builder y
aprender hacer de esta tecnologa, ahora les explicare lo poco que aprend espero que les sea de utilidad.
Lo primero que debemos hacer es descargar WF Builder de la pgina de Oracle:
http://www.oracle.com/technetwork/database/options/winclient-101059.html




Una vez descargado procedemos a descomprimirlo:





Aqu hay una nota con respecto a la instalacin:
Recommended Set Up for Client/Server Products with Oracle E-Business Suite 11i & R12 [ID 277535.1]
How To Download and Install the Latest Oracle Workflow Builder (Client Tool) and XML Gateway Message Designer for E-
Business [ID 261028.1]
Para aquellas personas que utilizan Windows 7 X64, les recomiendo que descompriman el instalador en la Unidad C para que as no
tengan ningn inconveniente al momento de instalarlo.
Cuando se ejecutando la instalacin, les saltara el siguiente mensaje:


Le damos click en ignorar, para que la instalacin contine, nos saldr varias veces, solo hacemos click en ignorar.
Lo siguiente es cambiar el modo de compatibilidad del programa ejecutable, para ello nos vamos a inicio:



Asemos click en propiedades, y nos vamos a la pestaa Compatibilidad, ah marcamos la casilla Ejecutar este programa en modo
de compatibilidad para: y seleccionamos Windows XP (Service Pack 3)



Ahora bien procedemos a ejecutar WF Builder, esta es la pantalla inicial:



Vamos a conectarnos a la Base de Datos:



En la casilla resaltada con rojo ponemos el alias configurado en el TSNAME para poder conectarnos al Motor de Base de Datos.



Ahora vamos a seleccionar el WorkFlow que vamos a modificar, en este ejemplo voy a seleccionar OM Order Header tal como se
muestra en la figura.



Presionamos el botn OK. Veremos que nuestra pantalla muestra la siguiente Informacin:
1. En primera instancia se puede observar que los objetos estn bloqueados
2. Podemos Observar los procesos contenidos en el WorkFlow
3. Podemos Observar las Funciones, etc.





Ahora bien por defecto cuando instalamos WF Builder viene configurado con un nivel de acceso de 1000, esto quiere decir que nadie
podr modificar nada, a continuacin un listado de los niveles de acceso que se pueden definir dentro del Work flow
1. 0-9 est reservado para Oracle Workflow
2. 10-19 est reservado para Oracle Application Object Library
3. 20-99 est reservado para Oracle E-Business Suite
4. 100-999 est reservado para extensiones especficas de los clientes
5. 1000 es reservado para el publico
Podemos jugar con estos valores o observar que objetos se habilitan para que podamos modificarlos, en mi caso lo cambie a 0 y asi
evitarme cualquier problema, ahora bien deberamos revisar primero la doc. De WorkFlow Builder:
http://docs.oracle.com/cd/B12190_11/current/acrobat/115wfdg.pdf



Ahora observamos cmo cambio la pantalla:





Hasta este punto ya definimos los permisos para poder modificar los objetos en WF Builder, antes de modificar algo vamos hacer una
copiar de Order Header en nuestro servidor, nos posicionamos en el siguiente directorio, creamos la carpeta WF, ingresamos en
ella tal como se muestra en la imagen:


En esta carpeta vamos a crear una copia del WF de OM Order Header con el siguiente comando:


Ahora verificamos que el archivo ha sido generado correctamente:



Bien, ahora vamos abrir el proceso CLOSE_HEADER_PROCESS, este es el proceso que se ejecuta al momento de cerrar el
encabezado de una SALES ORDER



Observamos que se nos abre el diagrama del WF:


CLOSE_HEADER_PROCESS es el proceso encargado de cerrar las Order Sales esto podemos notarlo en el formulario Sales
Orders en el campo Status del encabezado de nuestra orden, cuando un pedido es registrado inicial mente muestra un estado, como
ejemplo sera el de la imagen Booked.


Cuando cerramos por completo los pedidos , solo las lneas cambian su estado a Closed y el encabezado no cambia su estado, esto
se debe a que en el WF est configurado para que el ultimo da del mes cambie todos los pedidos a nivel de encabezado su estado a
Closed, vamos a cambiar esta funcionalidad de tal manera que el encabezado del pedido se cierre inmediatamente cuando se cierren
todas sus lneas, abajo podemos ver cmo queda actualmente un pedido luego de haber sido cerrado:


Bueno manos a la obra, lo primero que debemos hacer es identificar la funcin utilizada para cerrar los encabezado de pedidos, en la
imagen puede verse esta funcin seleccionada:



Hacemos click derecho sobre este icono y seleccionamos Properties:



Se nos despliega la siguiente pantalla, en ella se nuestra mucha informacin importantsima, tal es el caso de Function Name el cual
viene a ser un mtodo contenido en la base de datos, nos vamos al tap Node Attributes:



En este tab estn declaradas las variables que el work flo le pasa a la funcin, en la que tenemos que enfocarnos es en Wait Mode,
esta variable le indica al EBS el tiempo que tiene que esperar para cambiar el estado del encabezado de una orden a Closed, por
defecto est configurado para cambiar los estados a fin de mes Day of Month -> Last, vamos a modificar esto de tal forma que
cambie el estado en un minuto, seleccionamos el atributo Relative Time



Establecemos el valor a Relative Time



Establecemos el valor de Day of Mont en None



Ahora para el atributo Wait Mode seleccionamos Relative Time


Luego guardamos el WF.




Ahora bien creamos una nueva Sales Order y ejecutamos el flujo completo hasta cerrar el viaje,


Si por alguna razn su pedido no fuera cerrado al finalizar el viaje, deben correr el siguiente concurrente:
Workflow Background Process




Bueno eso es todo amigo, les dejo algunas notas que me ayudaron:

Para descargar el Work Flow de OM
How to Download Workflow file .wft for Order Lines and Headers (OEOL, OEOH) [ID 578248.1]

Para saber qu campo modificar para que las rdenes se completen en el da:
Sales Order Header Does Not Close After ALL Lines Have Closed [ID 133837.1]
Need to Have Sales Order Header Close as Soon as Lines are Closed [ID 338040.1]
Order Header Won't Close Auntomatically After Lines Are All Closed [ID 284799.1]
Changing Wait Mode in Workflow Order Headers For Earlier Closure Than 'Wait 30 Days' [ID 278513.1]
How to create a custom copy of the seeded Purchasing PO Approval Workflow POAPPRV [ID 1270010.1]
No se olviden de dejar sus comentarios.
Publicado por Jose Antonio en 6:02 No hay comentarios:
Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con FacebookCompartir en Pinterest
jueves, 4 de julio de 2013
Creando Programas Concurrentes en EBS R12(Concurrente con java)

Saludos mis queridos amigos, ahora vamos a ver como se crean concurrentes en el EBS R12 utilizando java, en esta ocasin la
aplicacin que realizaremos comprimir dos archivos y creara un archivo zip, para ello utilizaremos algunas libreras de java.
Para poder crear concurrentes utilizando cdigo java debemos tener en nuestras maquinas un IDE de desarrollo, lo recomendable es
tener JDeveloper de Oracle, ahora bien tenemos que saber exactamente con que versin de JDev. Tenemos que trabajar, para ellos
iniciamos sesin en el EBS R12, y hacemos click en el enlace About this Pague



Se nos abrir una pgina, nos desplazamos al tab Technology Components



En esta pgina vemos todas las tecnologas utilizadas en EBS R2, la que nos interesa es lo que tenemos resaltado con amarrillo OA
Framework 12.1.3, en metalink buscamos la versin de JDev. Que tenga incluida esta compilacin de OAF, en este artculo podrn
encontrar las diferentes versiones de OAF que existen para las diferentes versiones del EBS:
OA Framework - How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 1!" #$D
%1&'()!1*





Si se figan en la imagen el parche Patch 9879989 es aplicado tanto como para la versin 12.1.3 como para 12.1.3.1, as que este ser
el que descargaremos para instalarlo en nuestro sistema operativo y generar nuestros concurrentes, notaran que es un archivo zip
instalacin de JDeveloper consiste solamente en descomprimir el Archivo en un determinado directorio y configurar unas variables de
entorno, esta Versin de JDeveloper nos servir tanto como generar programas java para utilizarlos como concurrentes como para
crear nuevas aplicaciones para el EBS R12(Aplicaciones Web):



Vamos a descomprimir el archivo en la unidad C en una carpeta que se llame JDeveloperOAF



Al descomprimir notamos que tenemos tres directorios, debemos crear un acceso directo a jdevW.exe el cual se encuentra en la ruta
C:\JDeveloperOAF\jdevbin\jdev\bin:



Ahora vamos a configurar una variable de entorno llamada JDEV_USER_HOME, esta variable se la configura para que JDeveloper
sepa donde estarn nuestros proyectos y el archivo que nos servir para conectarnos a al Base de Datos, esto lo explicare cuando
hagamos nuevas pginas en OAF.



Ahora bien esta versin de JDeveloper no proporciona las libreras que necesitamos para crear concurrentes en java para el EBS R12.
Antes de empezar a construir nuestro cdigo Java en JDeveloper, es necesario crear algunas libreras adicionales que son especficas
para el desarrollo de concurrentes, para ingresamos a nuestro servidor desde el PUTTY y nos dirigimos al directorio $JAVA_TOP



Vamos a crear un archivo zip de la carpeta oracle con el siguiente comando:




Ahora vamos a verificar que el archivo conclib.zip se haya creado correctamente en el servidor



Copiamos este archivo en una carpeta de nuestra maquina local:



Como ltimo paso solo queda descomprimir el archivo rar en el mismo directorio:



Ahora vamos a ejecutar JDeveloper y crear nuestro primer concurrente (asumo que saben java y JDeveloper, pero si en todo caso
necesitan algn tutorial de java con JDeveloper me avisan y con gusto hare un artculo explicando cmo programar en java con
JDeveloper):






Si se fijan al iniciar por primera vez JDeveloper nos pide que migremos archivos de versiones anteriores(esto solo si fuese el caso)



Al terminar de cargar JDeveloper, nos mostrara la pantalla inicial:


Ahora vamos a crear un proyecto que le vamos a llamar Concurrentes, hacemos click en el icono nuevo:



En General seleccionamos Applocations, y en el panel de la derecha seleccionamos Application, luego hacemos click en
Aceptar



Prestemos atencin en la siguiente pantalla, el cuadro marcado con rojo es el nombre de nuestra aplicacin java, el cuadro marcado
con azul es la estructura de paquetes, tenemos que seguir el standart de Oracle por eso es que como vern la estructura est dada por
Oracle.apps.xdemo.cp, donde xdemo es el nombre de nuestra aplicacin de customizaciones, le damos click en aceptar



En esta pantalla nos pedir el nombre de nuestro proyecto, le damos click en Aceptar



Ahora notaran que en la paleta Applications Navigator se ha creado un rbol con nuestra aplicacin y nuestro proyecto:



Ahora vamos a crear una nueva clase, para ello hacemos click derecho sobre nuestro proyecto y seleccionamos New


Seleccionamos Simple Files y en el panel derecho Java Class, le damos click en Aceptar



Nuestra clase se va a llamar ZipDocs, tenemos que tomar mucha atencin y verificar que el paquete en el cual estar alojada nuestra
clase es Oracle.apps.xdemo.cp el cual en la imagen esta resaltado con verde:



Ahora le damos click en Aceptar y el ide abrir de forma automtica la clase creada, deber quedar de la siguiente forma:



Ahora procedemos a importar la librera que creamos en el servidor y que copiamos a nuestra mquina, para ello hacemos click
derecho sobre nuestro proyecto,Propiedades



En la pantalla seleccionamos Libraries y hacemos click en Add Jar/Directory



Seleccionamos nuestra librera y le damos click en Select(debemos seleccionar la carpeta descomprimida)



Con esto notaremos que en el panel de la derecha nuestra librera aparece seleccionada, ahora hacemos click en Aceptar.



Ahora vamos a importar todas las clases de los paquetes til y request tal y como se observa en la imagen, adems de implementar la
interface JavaConcurrentProgram la cual tiene un solo mtodo llamado runProgram(CpContext cpContext),el cdigo finalde
nuestra clase debe quedar de la siguiente forma:


Compilamos nuestro cdigo:



Ahora procedemos a copiar nuestra clase compilada en el servidor, para ello vamos a crear los directorios xdemo y dentro de xdemo
crearemos cp, con los siguientes comandos:



Verificamos que estn creados los directorios:



Aqu vamos a copiar nuestra clase junto con su archivo fuente para tenerlo todo en su solo lugar, para ello en nuestras maquinas nos
vamos al directorio:



Ahora con WINCSP copiamos el archivo al servidor:



Bien ahora solo nos queda crear el concurrente en el EBS R12, pues manos a la obra:
1.- Creando el ejecutable
Para ello nos dirigimos a System Administrator/Program/Executable:



Debemos poner atencin al campo Execute File Path debemos notar que en este campo se pone la direccin donde se encuentra
nuestra clase ZipDocs, deben fijarse que la direccin est separada por puntos, que vendra hacer la manera como se hace referencia
en java a un determinado paquete.

2.- Creando el Programa Concurrente
Ahora procedemos a crear el programa concurrente, para ello nos dirigimos a System Administrator/Program/Define:


Los parmetros que vamos adicionar son los siguientes:

Seq Parameter Description Value Set Token Pront
10 Archivo A Primer Archivo 100 Characters ARCHIVO_A Archivo
A
20 Archivo B Segundo
Archivo
100 Characters ARCHIVO_B Archivo
B
30 Nombre
Archivo ZIP
Archivo ZIP 100 Characters SALIDA Nombre
Archivo
ZIP

Hay que tomar en cuenta que el token de cada parmetro lleva el nombre de los valores que recuperamos en nuestro programa
concurrente java.





3.- Agregar ejecutable a Grupo de Solicitudes

Una vez creado el ejecutable solo queda agregarlo a un grupo de solicitudes, para nos dirigimos a System
Administrator/Security/Responsability/Request :



4.- Ejecutar el Concurrente

Ahora procederemos a ejecutar el concurrente, para ello entramos en la responsabilidad XDEMO CUSTOMIZACIONES



Vamos a comprimir los archivos file1.txt y file2.txt que estn en la carpeta tmp del servidor:



Ahora procedemos a ejecutar el concurrente:


Como podrn ver los dos archivos se comprimirn en uno solo llamado demo.zip, presionamos el botn OK y verificamos la
ejecucin del concurrente:


Como se puede observar en la imagen el concurrente termino de forma satisfactoria, verificaremos si el archivo se cre en el servidor:



Hasta aqu hemos terminado con la aplicacin, como podrn ver es un ejemplo bastante bsico, con java se pueden hacer muy buenos
concurrentes adems que atreves de la clase CpContext se puede acceder a mucha informacin concerniente al entorno de
ejecucin, entre algunas podemos mencionar:

- Valores FND GLOBALES
- Conexin JDBC
- Valores de Perfil
- Y muchos Otros

Es recomendable utilizar el mtodo getJDBCConnection() para obtener la conexin al motor Oracle, asi como la utilizacin de los
mtodos commit() y rollback() para confirmar o deshacer las transacciones, no se olviden siempre de liberar las transacciones
con el mtodo releaseJDBCConnection() todos estos mtodos mencionados los podemos encontrar en la clase CpContext.

Algunos articulos que les podrian ser de utilidad serian los siguientes:

How +o ,reate a Java ,oncurrent -ro.ram/ #$D )'0&1!1*
Java ,oncurrent -ro.ram Runs Forever Due +o Javacache!2o. 2ockin. #$D 11101!1*
Bueno eso es todo amigos, espero que les haya gustado el artculo, espero sus comentarios

You might also like