Primera parte
Conceptos y Creación de una aplicación personalizada
En Oracle EBS R2 existen varios tipos de programas
concurrentes que podes crear y ejecutar, los cuales son:
- Oracle Reports : Esta opción es
utilizada para ejecutar reportes desarrollados utilizando Reports Builder.
- PL/SQL Stored procedures : Esta
opción es utilizada para ejecutar procedimientos almacenados en la Base de
Datos.
- Host script: Esta opción es
utilizada comúnmente para ejecutar secuencias de comandos Shell, es comúnmente
utilizada para realizar acciones sobre el sistema operativo tales como copiar o
mover un archivo, etc.
- Java stored procedures: Como su
nombre lo indica se trata de archivos ejecutables escritos en el lenguaje de
programación Java y almacenados en la Base de Datos, utilizar procedimientos
almacenados siempre será la mejor manera de realizar operaciones dentro del
motor, pero hay ciertas actividades que con Java se las realizaría mejor, especialmente cuando
se trata de interactuar con el sistema operativo o con una Base de Datos de
Terceros.
- SQL *Plus: Se utiliza para ejecutar
una secuencia de comandos SQL *Plus o Bloque anónimo, se obtendrá el mismo
resultado como si se lo estaría ejecutando en la herramienta SQL Plus de
Oracle.
- Perl Concurrent Program: Se utiliza
para ejecutar programas escritos en CGI Perl. CGI significa Common Gateway
Interface y Perl es el más común lenguaje para escribir scripts CGI. Se utiliza
para scripting, programación web interfaces / desarrollo, y es ideal para el
análisis.
Ubicación de los
Archivos Ejecutables
Los archivos ejecutables deben estar almacenados en un
directorio en específico, por nombrar algunos directorios tenemos:
1.
Un programa generado para el módulo de cuentas a
Cobrar estará almacenado en: $AR_TOP/bin.
2.
Un reporte creado para el módulo de Inventario
estará almacenado en $INV_TOP/Reports/<Lenguaje>,
donde <Lenguaje> será cualquier lenguaje instalado en el EBS.
Archivos de Salida y
de Registro (Output and log files)
Estos archivos se generan durante la ejecución de un
concurrente, en ellos podemos encontrar mensajes de salida de todo el proceso
así como mensajes de registro.
El archivo de salida se genera cuando el concurrente se ha
ejecutado de forma satisfactoria y así de esta forma el usuario puede observar
la información procesada (no necesariamente un concurrente debe de crear un
archivo de salido).
El archivo de Registro se utiliza para escribir mensajes
técnicos con respecto a la ejecución del concurrente, información que no
necesariamente puede ser entendida por el usuario final, la forma de consulta
la ubicación de los archivos es mediante la tabla “FND_CONCURRENT_REQUESTS”
mediante la siguiente consulta:
Otra forma de visualizar los archivos de registro y de
salida es mediante la pantalla “Requests”
Las definiciones de los programas concurrentes podemos
encontrarlas en las siguientes tablas, las cuales pertenecen al esquema appsys
:
- FND_CONCURRENT_PROGRAMS .- Contiene
información sobre el nombre y la descripción del programa concurrente, modo de
ejecución, estilo de impresión y otro atributos que definen al programa.
- FND_EXECUTABLES.- Contiene
información sobre el ejecutable del programa concurrente, incluyendo el nombre
del archivo ejecutable, el cual se encuentra alojado en el servidor, el método
de ejecución se asocia con el archivo ejecutable del programa concurrente para
ayudar al administrador de concurrentes a identificar cómo y con qué
herramienta ejecutar el archivo físico.
Existen tres formas de crear programas concurrentes en
Oracle Applications las cuales son :
- Atreves de la interface basada en formularios “Program
Executable” archivo “FNDCPMCP”, y el ejecutable se crea
en la pantalla “Executable” archivo “FNDCPMPE”
- Atreves de la utilidad “FNDLOAD” y el archivo de
control “afcpprog.lct”
- O finalmente utilizando API’s PL/SQL “APPLSYS.FND_PROGRAM”.
Los programas concurrentes deben estar asociados a una
aplicación existente, puede ser una aplicación estándar del EBS R12 o una
personalizada, en la cual alojaremos todos nuestros desarrollos.
Registrar una
Aplicación Personalizada (Register a custom application)
Todas las funcionalidades del EBS R2 están aisladas según
sus aplicaciones registradas (Esquemas), este es el mecanismo utilizado para
separar el código personalizado de cada una de ellas, este es el estándar que tenemos que seguir
para realizar aplicaciones personalizadas dentro del EBS y separar nuestro
código del código estándar del EBS, esto nos ayuda a protegernos de las
actualizaciones y parches que se pudieran aplicar al EBS.
Vamos a crear un esquema según los siguientes datos:
SCHEMA Name
|
XDEMO
|
TOP Name
|
XDEMO_TOP
|
Application
|
XDemo Customizaciones
|
Data Group
|
Standard
|
Request Group
|
XDemo Request Group
|
Menu
|
XDEMO_MENU
|
Responsibility
|
XDEMO Customizaciones
|
APPL_TOP
|
/oracle/apps/r12/visr12/apps/apps_st/
appl
|
Instance Name
|
VISR12
|
Server Name
|
oraclevisionr12
|
Son varias las actividades que debemos de realizar, las
cuales son:
- Crear
una variable de entorno
- Ejecutar
AutoConfig (adautocfg.sh)
- Crear una estructura de directorio de esquema
CUSTOM
- Agregar el esquema personalizado para el medio ambiente
- Crear un nuevo espacio de tablas
- Crear un usuario de base de datos
- Registrar un esquema de Oracle
- Registrar un usuario de Oracle
1.- CREAR LA VARIABLE DE ENTORNO
Ahora vamos a crear un nuevo parámetro de entorno para
nuestra aplicación personalizada. Esta es la única forma compatible de
modificar los parámetros de configuración automática. No edite los archivos de
contexto de forma manual, ya que serán sobrescritos la próxima vez que se
ejecuta AutoConfig.
1.- Iniciamos Sesion en el sistema y navegamos hasta “System Administrator/Oracle Applications
Manager/AutoConfig”, y le damos click en el link “Manage Custom Parameters”
2.- Le damos click en el botón “Add”
Seleccionamos "Applications Tier" y luego hacemos click en el boton "Next"
En esta pantalla ingrese los siguientes datos:
Attribute
|
Value
|
Description
|
OA_VAR
|
c_xdemo_top
|
Por convenio el nombre debe estar en minúsculas y comenzar con el
prefijo c_ y no debe tener espacios
|
Default Value
|
%s_at%/xdemo/12.0.0
|
Consulte las variables del contexto estándar
en $ APPL_TOP
|
Title
|
XDEMO_TOP
|
Nombre de la variable de entorno
|
Description
|
Customizacion XDemo
|
Descripcion para la variable de entorno TOP
|
OA_TYPE
|
Selecione PROD_TOP
|
Definicion para este
producto
|
damos click en el botón Next, en esta pantalla simplemente se valida los datos ingresados:
Verificamos que nuestra variable esta lista para ser
configurada, presionamos el botón finish
Y como verán ya tenemos una variable de entorno:
2.- EJECUTAR AutoConfig
AutoConfig es una utilidad proporcionada por Oracle. Está
dirigida a configurar el medio ambiente. Se puede ejecutar tanto a nivel de
aplicación como a nivel de Base de Datos, se ejecuta mediante la ejecución de
un script llamado adautocfg.sh. Nosotros sólo vamos a ejecutarlo a nivel de aplicación
para recoger el parámetro de entorno que acabamos de crear.
1.- Abrimos el Putty y
nos logeamos con un usuario del sistema operativo.
2.- Navegamos hasta “$INST_TOP/admin/scripts”
3.- Ahora ejecutamos el comando AutoConfig : ./adautocfg.sh
, la imagen siguiente nos muestra el resultado de la operación:
Con esta operación hemos actualizado los archivos de
configuración, si quieren saber mas hacer de la configuración del entorno
pueden consultar la siguiente nota “Using
AutoConfig to Manage System Configurations in Oracle E-Business Suite Release
12 [ID 387859.1]”.
Para verificar que nuestra variable de entorno fue bien
configurada debemos de ingresar a WinCSP y navegar hasta el directorio “/u01/oracle/VIS/apps/apps_st/appl” en
este debemos observar una nueva carpeta llamada “xdemo” que es el nombre que le aviamos asignado a nuestro esquema.
3.- CREAR UNA ESTRUCTURA DE DIRECTORIO DE ESQUEMA CUSTOM
Ahora tenemos que crear la estructura de directorios de los
archivos de aplicación personalizados. Los directorios se crean en el servidor
de aplicaciones en el directorio $ APPL_TOP. Cada producto tiene su propia
estructura de directorios con un nombre corto o acrónimo. Oracle asume que los
objetos se guardan en un directorio específico. Por eso tenemos que ser
específico acerca de la estructura de directorios que creamos. Vamos a iniciar
sesión a nivel de aplicación y crear los directorios de las aplicaciones de
usuario.
1.- Iniciamos sesión en el “PuTTY” y seteamos las variables de entorno:
2.- Ahora navegamos hacia el directorio XDEMO_TOP:
cd $XDEMO_TOP
3.-Ahora creamos el directorio de archivos con los
siguientes comandos:
mkdir
$XDEMO_TOP /admin
mkdir
$XDEMO_TOP/admin/sql
mkdir
$XDEMO_TOP/admin/odf
mkdir
$XDEMO_TOP/sql
mkdir
$XDEMO_TOP/bin
mkdir
$XDEMO_TOP/reports
mkdir
$XDEMO_TOP/reports/US
mkdir
$XDEMO_TOP/reports/ESA
mkdir
$XDEMO_TOP/forms
mkdir
$XDEMO_TOP/forms/US
mkdir
$XDEMO_TOP/forms/ESA
mkdir
$XDEMO_TOP/lib
mkdir
$XDEMO_TOP/install
mkdir
$XDEMO_TOP/install/ch1
mkdir
$XDEMO_TOP/install/ch2
mkdir
$XDEMO_TOP/install/ch3
mkdir
$XDEMO_TOP/install/ch4
mkdir
$XDEMO_TOP/install/ch5
mkdir $XDEMO_TOP/install/ch6
verificamos que los directories se hayan creado:
4.-CREAR UN NUEVO TABLESPACE
Vamos a crear un nuevo esquema en la Base de Datos para ello
nos conectamos a sqlplus con el usuarios sysadmin:
El esquema creado contendrá todos los objetos “Tablas,Vistas,
etc” de nuestro esquema personalizado.
5.- CREAR UN NUEVO USUARIO EN LA B.D.
Tenemos que crear un usuario de B.D. con el cual crearemos
todos los objetos en la B.D.
6.- REGISTRAR EL ESQUEMA DE ORACLE
Hay que registrar el nuevo esquema XDEMO en Oracle
E-Business Suite. Tenemos que crear la aplicación para que Oracle sepa dónde
buscar el sistema de archivos para los objetos personalizados. Crearemos una
aplicación personalizada para que podamos aislar las personalizaciones que
hacemos.
1.- Nos conectamos al EBS, navegamos a “System Administrator/Application/Register”
Donde el significado de la información
insertada es la siguiente:
Application
|
Nombre de nuestra nueva aplicación,
por estándar los nombres de las nuevas aplicaciones que extiendan
funcionalidad a una aplicación ya existente deberán tener el prefijo X<Nombre>
|
Short Name
|
Nombre corto o Abreviación
|
Basepath
|
Representa una variable de entorno la
cual está alojada en el sistema operativo, esta variable apunta al directorio
donde están alojados nuestros archivos fuentes, es donde la biblioteca de objetos
de aplicación tratara de encontrar los archivos relacionados con nuestra
aplicación personalizada
|
Description
|
Una descripción de nuestra nueva
aplicación, no es una información necesaria
|
7.- REGISTRANDO EL USUARIO ORACLE
Ahora vamos a registrar el usuario Oracle. Ya hemos creado
el usuario de base de datos y aquí estamos registrando ese usuario en la
biblioteca de aplicaciones de Oracle. Tan sólo hay que registrar un usuario de
Oracle cuando creamos una aplicación personalizada.
1.- Nos dirigimos a “System
Administrator/Security/ORACLE/Register”
Para finalizar debemos asignar nuestra aplicación creada a
un grupo de datos, para ellos nos dirigimos a “System Administrator/Security/ORACLE/DataGroup”
Ahora si ya estamos preparador para crear nuestras propias
customizaciones, eso lo explicare en el próximo artículo gracias.
Nota: Por alguna razón hay
ocasiones en las que el EBS R12 cuando creamos nuestra nueva aplicación para
customizaciones no carga la variable de entorno que apunta a los archivo de
nuestras custom, esto se soluciona reiniciando la capa de aplicación con los
siguientes comandos.
Solucion:
Reiniciamos la capa de aplicacion
cd
$ADMIN_SCRIPTS_HOME
sh
adstpall.sh apps/apps
sh adstrtal.sh apps/apps