Manual de Apex 2-1

También podría gustarte

Está en la página 1de 113

Application Express User's Guide

Building an Application

Application Express User's Guide


Notas de la traduccin: Building an Application comienza en la pag.24. Al comienzo de este documento se agreg
la guia del usuario y los conceptos bajo los cuales se apoya la herramienta de desarrollo. No se traducen los ttulos
con el fin de relacionar los prrafos con el texto original ms rpidamente.Los hipervnculos de este documento
apuntan todos a un servidor Oracle xe que se supone corriendo en el equipo que se est consultado este documento.
Julio Valle

Resumen
Esta herramienta permite generar aplicaciones web sobre una base de datos Oracle. Incluye todos los
componentes que se necesitan para construir una interface completa con el usuario. Permite utilizar los datos
de una hoja de clculo, crear modelos de pginas (plantillas), crear reportes, formularios, grficos, calendarios,
navegar a una url, bloquear pginas que se estn modificando (desarrollo en equipo), utilizar listas de valores
(LOV como las de form), implementar cortes de control, crear los formularios y reportes manualmente (adems
de con el wizard), implementar master-detail en un solo formulario, crear formularios a partir de tablas, a partir
de procedimientos almcenandos, a partir de una consulta sql, de un servicio web. Por supuesto se pueden
validar y chequear los datos ingresados por el usuario en forma interactiva, mostrar mensajes de error, crear
pginas de ayuda para los items, crear grficos de control de procesos que monitorean un sistema a intervalos
especficos en forma automtica, crear botones de navegacin, listas de seleccin, check box, popup,
calendarios, areas de texto, file browse (mostrar archivos documentos que estn en disco), ocultar
elementos de la pgina, radio group, etc. Se puede incorporar JavaScript a las aplicaciones web, a travs de
varias interfaces, sin sacrificar la comodidad de desarrollo. Crear LOV dependiente de los seleccionado en otra
LOV. Se puede enviar e-mail desde una aplicacin. Tambin se puede correr la aplicacin en modo debug, es
decir viendo los valores que toman las variables en tiempo de ejecucin.

Esta ayuda del sistema describe como usar el cliente Oracle Application Express conectado
a una base de datos Oracle Express Edition (Oracle Database XE).
Temas:

Documentation Topics
Audience

Documentation Accessibility

Related Documents

Conventions

Documentation Topics
Los temas que se incluyen en esta ayuda son los siguientes:
Title

Description

Quick Start

Ofrece una rpida introduccin al uso del cliente Oracle Application


Express con Oracle Database XE.

Running a
Demonstration
Application

Describe como ejecutar y modificar una aplicacin de demostracin


con Application Builder.

Application Builder Provee los conceptos bsicos sobre Application Builder.


Concepts
Utilice Application Builder para ensamblar interfaces HTML (
aplicaciones) a partir de los objetos de la base de datos tales
-1-

Application Express User's Guide

Title

Building an Application

Description
como tablas y procedimientos. (*)

Using Application
Builder

Provee importante informacin sobre el uso de Application Builder para


construir aplicaciones.

Building an
Application

Describe como utilizar Application Builder para construir una


aplicacin y sus componentes. (*)

Controlling Page
Layout and User
Interface

Describe diferentes mtodos para refinar las interfaces de las


aplicaciones de usuarios y el layout de las pginas incluyendo el
refinamiento de las regiones, editando los atributos de los items,
refinando templates e incorporando CSS (cascading style sheets)
e imgenes. (*)

Adding Navigation

Describe como implementar navegacin a una aplicacin utilizando


diferentes tipos de controles de navegacin, incluyendo entradas en
las barras de navegacin, tales como tabs, breadcrumbs, lists y trees.

Understanding
Application
Administration

Explica como gestionar el entorno de desarrollo de aplicaciones


incluyendo servicios, estados de cesin, preferencias de usuarios,
archivos de log, modelos de aplicaciones, usuarios finales de
Application Express, actividad de desarrollo de las aplicaciones, y
explica como enviar email desde una aplicacin.

Managing User
Interface Defaults

Describe como usar la interface de usuario que viene por default para
asignar propiedades a tablas columnas vistas.

Debugging an
Application

Describe la metodologa para depurar las aplicaciones con Application


Builder, incluye modo Debug, modo SQL trace, visualizar pginas de
reportes y como remover manualmente un control un componente
para aislar el problema.

Deploying an
Application

Explica como implementar (instalar) una aplicacin construida con


Application Builder.

Managing Application Describe como proveer seguridad a las aplicaciones desarrolladas con
Security
Application Builder utilizando encriptacin, proteccin del estado de la
sesin, autenticacin y control de autorizacin.
Advanced
Programming
Techniques

Provee informacin acerca de tcnicas avanzadas de programacin


tales como enlace de base de datos, utilizacin de tipos de datos
collections, ejecucin de SQL en background, utilizacin de servicios
web, y gestin de las preferencias de los usuarios.

Managing Application Explica como traducir una aplicacin construida con Application
Globalization
Builder.
Oracle Application
Express APIs

Describe las APIs disponibles en Oracle Application Express.

Managing Database Describe como usar el Object Browser para mostrar, crear y editar
Objects with Object objetos de la base de datos Oracle Database Express Edition.
Browser
Building Queries with Explica como usar la interface grfica del Query Builders para buscar
Query Builder
y filtrar objetos de la base de datos, seleccionar objetos y columnas,
crear relaciones entre objetos, formatear las salidas de los query y
-2-

Application Express User's Guide

Title

Building an Application

Description
salvar los query.

Using SQL Scripts

Provides information on how to use SQL Scripts to create, edit, view,


run, and delete script files.

Using SQL
Commands

Explica como utilizar los comando SQL para crear, editar, ver, ejecutar
y borrar comando sql.

Using SQL Utilities

Describe como usar las herramientas de SQL para exportar e importar


datos desde la base de datos, generar DDL, ver reporte de objetos, y
restaurar objetos dropeados de la base de datos.

Administering the
Database

Describe como administra la base de datos Oracle Database XE.

-3-

Application Express User's Guide

Building an Application

Application Builder Concepts


Nota de la traduccin: Son conceptos bajo los cuales se apoyara la herramienta de desarrollo. No describe los wizards
de desarrollo. Se traducen los titulos de este tema.
Julio Valle

Conceptos sobre Application Builder (AB)


Veremos conceptos sobre los cuales se describe el AB. Comenzamos por indicar que
se define como aplicacin a una coleccin de pginas (Pages) enlazadas a travs de Tags,
Buttons, enlaces de Hipertexto.
Qu es una pgina?
Una pgina es el elemento de construccin bsico de una aplicacin. Cuando se
construye una aplicacin con AB se crean pginas que contienen elementos que interactuan
con el usuario, tales como Tabs, Listas, Buttons, Items y Regions.
Se pueden agregar controles a la pgina en su Page Definition. Para ver la Page
Definition de una pgina existente:
1. Navegar a la Database Home Page
2. Click sobre el icon Application Builder.
3. Seleccionar una aplicacin existente.
4. Seleccionar una pgina.
La Page Definition se divide en tres partes ( secciones lgicas):
1. Page Rendering. Lista los controles de la interface con el usuario y la lgica que se
ejecuta cuando la Page es interpretada. Vase "About Page Rendering Controls". .
2. Page Processing. Lista los controles de lgica (tales como clculos y procesos) que
son evaluados y ejecutados cuando la pgina es procesada. Vase: "About Page
Processing Controls".
3. Share Components. Lista los componentes comunes que se pueden displayar o se
aplican sobre cada pgina dentro de la aplicacin. Vase:"About Shared
Components". .
Ver tambin:
"About the Page Definition" and "Editing a Page Definition"

Descripcin de Page Processing y Page Rendering


Al crear una aplicacin con AB, se enlazan pginas usando tabs, buttons, o hipertext
links. Cada pgina puede tener botones items y puede incluir la lgica de la aplicacin.
Se puede bifurcar de una pgina a la prxima usando navegacin condicional,
ejecucin de clculos, validaciones, y display de reports, calendarios y grficos. Se pueden
generar reportes, grficos y forms utilizando los wizards, escribiendo HTML esttico, o
personalizando la generacin con programacin PL/SQL.
Temas:

How the Application Express Engine Renders and Processes Pages


Understanding Conditional Rendering and Processing

Verifying User Identity


-4-

Application Express User's Guide

Building an Application

Controlling Access to Controls and Components

Describe como el motor del AB interpreta y procesa las pginas.


El motor del AB dinmicamente interpreta y procesa las pginas creadas a partir de
los datos guardados en las tablas de la base de datos Oracle. Para ver una pgina se enva
la peticin al servicio de Application Express ( APPLICATION EXPRESS ). Cuando se
ejecuta una aplicacin el servicio de Application Express se apoya en dos procesos:
Show Page: es el proceso que dibuja la pgina. Ensambla todos los atributos de la
pgina (incluye regiones, items y botones) en una pgina HTML.
Accept Page: ejecuta el procesamiento de la pgina. Ejecuta bifurcaciones, procesos
y clculos.
Cuando se solicita una peticin de pgina utilizando una url, el servicio ejecuta el
proceso Show Page. Cuando se submite (se acepta) una pgina, el servicio ejecuta el
proceso Accept Page, y ejecuta procesos de la pgina durante el cual salva los valores
submitidos en la cache de la sesin y ejecuta los procesos, validaciones y/o clculos
correspondientes.
Descripcin de Page Processing y Page Rendering
Una condicin es una expresin lgica que permite controlar el display, en la pgina,
de botones, regiones, items y tabs como as tambin permite controlar la ejecucin de
procesos, validaciones y clculos. Por ejemplo, cuando se condiciona un botn, el
constructor de pgina evalua la condicin durante el proceso Show Page. Dependiendo del
resultado de la evaluacin de la condicin, se mostrar, no, el botn.
Se especifican las condiciones, seleccionando un tipo de condicin, cuando se crea el
control o componente (regin, item, botn tab) bien seleccionando el atributo Condition
Type.
Depende del tipo de condicin que se seleccione, sern los valores que son
apropiados ingresar como expresiones. La condicin es evaluada a verdadero falso
basndose en la expresin especificada.
Nota: Si se usa una expresin de campo depende del tipo de condicin seleccionado.
Algunos tipos de condiciones no necesitan valores en ninguno de los campos de la
condicin. Otros solo necesitan valor en uno de los campos y otros requieren valores en los
dos campos. Aunque estos campos son etiquetados Expression1 y Expression2, no son
necesariamente expresiones en el sentido estricto. Ellos son simplemente valores
apropiados al tipo de condicin.
Para ver un listado completo de las condiciones disponibles para un componente
(control) dado, click en el icono View a la derecha del listado de los tipos de condiciones.
Una lista rpida de las condiciones comnmente usadas aparece debajo de la lista. Si la
condicin requiere una expresin, se la debe ingresar en el campo apropiado.
La siguiente seccin ofrece ejemplos de algunos tipos de condiciones, comnmente
usadas.
Ver: Available Conditions para un listado detallado de los tipos de condiciones.
Current Page en la Expression1
Su valor es verdadero cuando el ID de la pgina actual est dentro de una lista
(delimitada por comas, en la expression1). Por Ej. 100 en la expression1, implica que la
condicin se evalua como verdadera si el Id de la pgina actual es 100.
Exists (Sql query que retorna al menos un valor)
-5-

Application Express User's Guide

Building an Application

La condicin es verdadera si la consulta retorna al menos 1 fila. Por ejemplo:


Select 1 from emp where deptno = :P101_deptno
Este ej. Referencia al item P101_deptno como una variable bind. Se pueden utilizar
variables bind dentro de la aplicacin y en las consultas sql para referenciar items de la
sesin.
Ver: "About Bind Variables"
PL/SQL Expression
Use pl/sql expression para expresiones pl/sql vlidas evaluadas a verdadero / falso.
Por ej.
NVL(:MY_ITEM,NO) = YES
Autenticacin de usuario
Es el proceso mediante el cual se establece (reconoce) la identidad del usuario antes
que este pueda acceder a la aplicacin. Podra requerir que el usuario deba ingresar un
user/pass o bien un certificado digital o secure key.
Oracle Application Express Soporta autenticacin modular, permitiendo cambiar
fcilmente el mtodo de autenticacin cuando se necesite. Se puede establecer la
autenticacin del usuario seleccionando el mtodo de autenticacin, o usando el wizard para
crear su propio mtodo de autenticacin.
Ver: "Establishing User Identity Through Authentication" para ms informacin.
Control de Acceso a los Componentes
Mientras las condiciones controlan la construccin y procesamiento de componentes
sobre una pgina, las autorizaciones sobre los esquemas controlan el acceso de los
usuarios a los datos. La autorizacin es para controlar el acceso a los recursos basado en
los privilegios del usuario (sobre los objetos de la base de datos).
El esquema de autorizacin extiende la seguridad al esquema de autenticacin de la
aplicacin. Se puede especificar un esquema de autorizacin, para una aplicacin completa,
una pgina, o un componente de la pgina tal como una regin, item, o botn. Por ejemplo:
se podra utilizar un esquema de autorizacin para seleccionar que botones ( elementos de
navegacin) puede el usuario ver en la pgina.
Ver: "Providing Security Through Authorization"
Nocin de gestin de estado de la sesin
HTTP, el protocolo a travs del cual se entregan las pginas HTML, es un estandar.
Un browser web est solamente conectado al servidor el tiempo que necesita para bajar la
pgina. Adems, cada peticin de pgina, es tratada por el servidor como un proceso
independiente, des-relacionado con peticiones anteriores o futuras de cualquier pgina. Esto
significa que los valores ingresados en una pgina, relacionados tambin con pginas
subsiguientes necesitan ser gestionados como valores de estado de la sesin. Tpicamente
es el caso, cuando un usuario ingresa valores en una pgina, estos valores no son
accesibles en pginas subsiguientes. Oracle Application. Express, resuelve este problema,
manteniendo en forma transparente los valores de estado de la sesin y provee a los
-6-

Application Express User's Guide

Building an Application

desarrolladores la posibilidad de accederlos y actualizarlos desde cualquier pgina de la


aplicacin (dentro de la sesin).
Temas:

What Is a Session?
Understanding Session IDs

Referencing Session State

Que es una sesin?


Una sesin es una construccin lgica que establece persistencia a travs de las
pginas visitadas. Cada sesin tiene asignado un ID (identificador nico). El motor del
Application Express utiliza este ID para guardar y recuperar el conjunto de datos
pertenecientes a la sesin que deben permanecer persistentes durante la misma.
Ya que las sesiones son totalmente independientes, pueden existir varias al mismo
tiempo. Adems, debido a que las sesiones persisten en la DB hasta que el administrador
las purge, un usuario puede retornar a una sesin abierta con anterioridad, y continuar
utilizndola. Un usuario puede ejecutar mltiples instancias de una misma aplicacin en
diferentes sesiones de un browser.
Las sesiones son lgica y fsicamente distintas de las sesiones de base de datos
usadas para responder a la peticiones de las pginas. Un usuario ejecuta una aplicacin en
una sola sesin, de Oracle Application Express, que va desde el login al logout, con una
duracin tpicamente medida en minutos u horas. Cada Page requerida durante la sesin
implica crear o reutilizar una sesin de la base de datos Oracle a fin de acceder a los
recursos de la base de datos. A menudo estas sesiones de base de datos duran fracciones
de segundo.
Concepto de Session IDs
El servicio del Application Express establece la identidad del usuario para cada pgina
requerida y con el ID de la sesin recupera el estado de la sesin desde la base de datos. El
punto ms visible del ID es la URL de la pgina requerida. Otra ubicacin visible est en la
pgina HTML post e indirectamente en el contenido de una cookie de sesin. Esta cookie es
enviada por el servicio del Application Express durante la autenticacin y se mantiene
durante viva la sesin del browser ( la sesin de la aplicacin), lo que sea ms corto.
Oracle Application Express asigna un nuevo Id de sesin durante la autenticacin,
registra el usuario autenticado identificado con el Id de sesin y continuamente chequea el id
de sesin en cada procesamiento de pgina que se requiere a travs de una URL o post
data con la cooki de la sesin y registra la sesin en la base de datos. Estos chequeos
proveen flexibilidad y seguridad.
Ya que el Id de la sesin es la clave del estado de la sesin, el cookie de la sesin
(donde se pueda aplicar) y el registro de la sesin salvaguardan la integridad del ID de la
sesin y del estado de autenticacin del usuario.
Visualizar el estado de la sesin
-7-

Application Express User's Guide

Building an Application

El comportamiento de una aplicacin se gestiona por los valores de los estados de la


sesin. Por ej. Puede mostrarse condicionado por el valor de un item de la sesin. Se
pueden ver los valores de los item de una sesin desde una pgina con click en Session
Visualizar el estado de la sesin (Session State Page).
La pgina de estado de sesin provee informacin muy importante acerca del
estado de la sesin. Para localizar una pgina especfica, ingrese el ID de la pgina en
campo Page y haga click en GO. A continuacin se describe que informacin contiene.
Etiqueta
Application

Descripcin
Muestra el nombre de la aplicacin, el usuario conectado, el Id
del rea de trabajo ( Id del usuario de la base de datos), y el
lenguaje del browser.
Page Items
Muestra los atributos de los items de la pgina, incluye los id de
la aplicacin y de la pgina, nombre del item, como se displaya
el item (oculto, popup, button, display solo del HTML), el valor
del item en la sesin y un Status. La columna Status indica el
estado de la sesin. Los valores posibles son:
I-Insert U-Updated R-Reset
Application
Los application items son items que no residen en la page. Los
Items
application items son variables de estado de sesin
desprovistos de las propiedades de la interface de usuario.
Vase tambin: "Creating an Application-Level Item" y "Using
Substitution Strings" para mayor informacin sobre referencias
a items.
Session State
Resume el estado de la sesin con los datos actuales de la
sesin. Las listas de los Id de aplicacin, los Id de pgina, los
nombres de los item, (tipo de display, valor, y etiquetas de
display).
Ver: "Managing Session State Values"
Gestin de los valores de estado de la sesin
Cuando el motor del Application Express interactua, intercambia datos con la
aplicacin web, es importante conocer como acceder y gestionar los valores de estado de
sesin. En Oracle Application Express, el estado de la sesin se maneja automticamente
para cada pgina y fcilmente referenciado en cdigo HTML esttico en controles de lgica
tales como validaciones y procesos.
Temas:

Referencing Session State (Referenciar estado de la sesin)


Setting Session State (Establecer valores del estado de la sesin)

Clearing Session State (Resetear valores del estado de la sesin)

About Bind Variables (Acerca de variables locales relacionadas a la sesin)

Ver: Items y Referencing Item Values


-8-

Application Express User's Guide

Building an Application

Referenciar Estados de Sesin


Referenciar el valor de un item es de uno de los ejemplos ms comunes de
referencias de variables de estado de sesin. Un item puede ser un campo, un rea de texto,
una password, una select list una check box. En la siguiente tabla se describe la sintaxis
soportada para referenciar valores de las variables de sesin.
Sintaxis para referenciar variables de sesin.
Type
Sintaxis
Descripcin
SQL
:MY_ITEM
Sintaxis de una variable bind comn cuyo nombre
no excede los 30 caracteres. Use esta sintaxis para
hacer referencias dentro de consultas SQL y dentro
de cdigo PL/SQL.
PL/SQL
V(MY_ITEM)
Sintaxis PL/SQL para referenciar un item usando la
funcin V. Ver tambin: "Oracle Application Express
APIs"
PL/SQL
NV(MY_NUMERIC_ITEM) Sintaxis para referenciar un item numrico
utilizando la funcin NV. Ver tambin: "Oracle
Application Express APIs"
Statix text &MY_ITEM
Sintaxis de texto. Variable de sustitucin de texto.
Establecer variables de sesin.
Cuando un usuario acepta una pgina, el motor de APPLICATION EXPRESS .
automticamente guarda los valores tipeados en los items de la sesin. Por ejemplo,
supongamos que una aplicacin sencilla formada por dos pginas. La primer pgina de la
aplicacin contiene un formulario en el cual el usuario puede ingresar un nmero de telfono.
Se define el formulario y se crea un item denominado P2_PhoneNo. Sobre la segunda
pgina, se quiere displayar la informacin ingresada por el usuario en el primer formulario.
Cuando la pgina es aceptada, (la primera), Oracle Ap.Ex. captura el valor ingresado
para el nmero de telfono y lo guarda. El nro de telfono ingresado por el usuario puede ser
recuperado desde el estado de la sesin referenciando el item asociado con el campo de la
pgina.
Resetear valores del estado de sesin.
En el desarrollo de la aplicacin, a veces es til inicializar los valores de algunos items
especficamente, de todos los items de una pgina de todas las pginas de la aplicacin,
los de la actual sesin. Inicializar implica colocarles el valor null. En el punto siguiente se
ofrecen ejemplos especficos de inicializacin:
Temas:

Clearing Cache by Item


Clearing Cache by Page

Clearing Cache for an Entire Application

Clearing Cache for the Current User Session


-9-

Application Express User's Guide

Building an Application

Clearing Cache by item


Inicializa la cache para un solo item colocando su valor a null. Por ej. se puede usar
este mtodo para asegurar que un item tiene el valor null al ser preparada para ser
interpretada por el explorador.
El siguiente ej. usa la sintaxis estandar f?p para inicializar la cache para un item. Por
ejemplo la pgina denominada 5 de la aplicacin 100. Ubicando MY_ITEM en la ClearCache
de la sintaxis f?p resetea el valor de MY_ITEM a null.
f?p=100:5:&SESSION.::NO:MY_ITEM
El siguiente ejemplo resetea el valor del item THE_EMPNO y THE_DEPNO.
f?p=100:5:&SESSION.::NO:THE_EMPNO,THE_DEPTNO
Clearing Cache by Page
Cachear los item de la aplicacin es una forma efectiva de mantener el estado de la
sesin. Sin embargo, hay ocasiones en que se quiere limpiar la cache para todos los item de
la pgina. Por ejemplo, supngase que se necesita limpiar todos los campos de una pgina
cuando se hace click en la opcin de crear una nueva orden. Limpiando la cache de la
pgina entera, se colocan todos los valores de todos los items de la pgina a null.
Clearing Session Cache para dos pginas y resetear la paginacin.
Este ejemplo limpia la cache de la sesin para dos pgina y resetea la paginacin.
f?p=6000:6003:&SESSION.::NO:RP,6004,6014
Este ejemplo :
Ejecuta la pgina 6003 de la aplicacin 6000 y utiliza la sesin actual (id de la
sesin corriente)
Indica que no se muestra informacin de depuracin (NO).
Limpia todos los valores que se mantienen en la actual cache de la sesin para
los items de las pginas 6004 y 6014.
Resetea la variable de paginacin (RP) en la Page 6003 (la pgina solicitada).
Ver:"Controlling Report Pagination"
Clearing Session Cache de una Page y le pasa un valor a un item.
Este ejemplo muestra como implementar una actualizacin de formulario. Limpia la
informacin existente y setea el valor de un item (generalmente se setea la clave primaria).
f?p=6000:6003:&SESSION.::NO:6003:MY_ITEM:1234
Este ejemplo:
Ejecuta la pgina 6003 de la aplicacin 6000 de la actual sesin.
Indica que no se muestra informacin de depuracin. (NO).
Limpia todos los valores mantenidos en la cache de la pgina 6003 de la
sesin actual.
Setea el item de la sesin actual denominado MY_ITEM al valor 1234.
Clearing Session Cache de una Page e inicializa varios items.
Este ejemplo es similar al anterior, excepto en que pasa varios items.
-10-

Application Express User's Guide

Building an Application

f?p=6000:6004:&SESSION.::NO:6003:MY_ITEM1:MY_ITEM2,MY_ITEM3:1234,,5678
Este ejemplo:
Ejecuta la pagina 6004 de la aplicacin 6000 de la actual sesin.
Limpia la cache de todos los items de la pgina 6003.
Indica que se oculta la informacin de debug.
Setea los valores: MY_ITEM a 1234, MY_ITEM2 a null (indicado por la coma
utilizada sin valor previo), e indica que MY_ITEM3 se inicialice a 5678.
Clearing Cache para una aplicacin completa.
Se puede limpiar la cache de una aplicacin completa utilizando la sintaxis f?p y
creando un argumento Clear Cache utilizando la palabra clave APP. Por ejemplo:
f?p=App:Page:Session::NO:APP
Nota: Resetear la cache de una aplicacin completa no implica que se restaure el
estado de la aplicacin. Por ejemplo, si una aplicacin incluye clculos procesos (cdigo)
en el evento on-new instance de la aplicacin, el motor del Ap.Ex. ejecuta solo esos
clculos y procesos (cdigo) cuando la sesin de la aplicacin es creada. Luego ejecuta el
proceso de limpiar la cache y displayar la pgina requerida.
La nica forma de resetear una aplicacin completamente, sin el ID de la sesin, es
peticionarla utilizando una URL sin ID de sesin, bien llamando al mtodo
HTMLDB_APPLICATION.CLEAR_APP_CACHE desde otra aplicacin. Si embargo, si el ID es
registrado en el cliente utilizando una cookie, necesitar un logout para resetear el estado.
Clearing Cache para la sesin del usuario conectado.
Otro mtodo para limpiar la cache de una aplicacin es crear un argumento Clear
Cache utilizando la keyword SESSION. Por ejemplo:
f?p=6000:6004:12507785108488427528::NO:SESSION
Variables Relacionadas (Bind)
Se pueden utilizar variables en el cdigo de la aplicacin consultas SQL que hagan
referencia a items especficos de la sesin. Por ejemplo
SELECT * FROM emp WHERE name like '%' || :SEARCH_STRING || '%'

En este ejemplo, el string de bsqueda es un item de la pgina. Si el tipo de regin se


define como SQL Query, se puede referenciar el valor utilizando la sintaxis estandar de
SQL. Utilizando variables aseguramos que la representacin parseada de la consulta SQL
sea reutilizada por la base de datos, optimizando la utilizacin de la memoria del servidor.
Recordar las siguientes reglas cuando se definan y utilicen variables bind.
Deben corresponder a un nombre de item.
No son sensibles a las maysculas/minsculas.
El nombre puede tener hasta 30 caracteres (valid Oracle identifier).
Aunque los nombres de item de aplicacin y de pgina pueden tener hasta 255
caracteres, si se desea usar un item dentro de la sintaxis de SQL, el nombre del item solo
puede tener hasta 30 caracteres.
-11-

Application Express User's Guide

Building an Application

Uso de variables en tipos Regions sobre una consulta SQL LOV.


Si el tipo de una variable Regin es SQL Query, (las funciones pl/sql retornan SQL
Query), LOV (lista de valores), se pueden referenciar con la siguiente sintaxis.
:MY_ITEM
Una forma sencilla de hacer esto es incorporar una variable de sesin en la clusula
where. El siguiente ejemplo muestra como enlazar el valor del item THE_DEPTNO a una
regin definida como SQL Query.
SELECT ename, job, sal
FROM emp
WHERE deptno = :THE_DEPTNO
Ver: "Customizing Regions" para ver informacin acerca de la creacin de regiones.
Uso de variables (bind) en procedimientos PL/SQL
Para tipos region tales como un procedimiento PL/Sql, las regiones son construidas
usando un formato de bloque annimo. En otras palabras, el comienzo y fin son agregados
automticamente al cdigo PL/SQL. Por ejemplo:
INSERT INTO emp (empno, ename, job)
VALUES (:P1_empno, :P1_name, :P1_job);
En este ejemplo, los valores de empno, ename, y job son reemplazados por
P1_empno, P1_name y P1_job.
Nocin de la sintaxis URL
Cada aplicacin tiene un numero (denominado ID de la aplicacin) que la identifica
unvocamente. De forma similar, cada pgina tiene un nmero nico (el ID de la pgina). Las
aplicaciones y las pginas podran tener tambin alias alfanumricos. Los alias
alfanumricos son nicos dentro de un esquema de base de datos pero los alias de pginas
son nicos dentro de cada aplicacin. Cuando se ejecuta una aplicacin el motor de Ap. Ex
genera un nmero de sesin que sirve como clave para la sesin del usuario.
Temas:

Understanding the URL that Displays for a Page


Using f?p Syntax to Link Pages

Calling a Page Using an Application and Page Alias

Calling a Page from a Button URL

URL que se muestra para cada pgina.


La URL que muestra cada pantalla le indica la ubicacin a Oracle Application
Express e identifica: la direccin la direccin de Oracle Application Express, el ID de la
aplicacin, el ID de la pgina, y el ID de la sesin: Por ejemplo:
http://apex.oracle.com/pls/apex/f?p=4350:1:220883407765693447
-12-

Application Express User's Guide

Building an Application

Este ejemplo indica:


apex.oracle.com es la URL del servidor.
pls es el indicador que usa el cartridge mod_plsql.
apex es el nombre del descriptor de acceso de base de datos (DAD). El
DAD describe como el servidor de http se conecta al servidor de base de
datos as este puede completar la peticin http. El valor por default es apex.
F?p= es un prefijo usado por Oracle Application Express.
4350 es la aplicacin llamada.
1 es la pgina de la aplicacin a displayar.
220883407765693447 es el nmero de sesin.
Ver: "About Publishing the Application URL"
Enlace de pginas con el string f?p
Se pueden crear links entre pginas en la aplicacin usando la sintaxis:
f?p=App:Page:Session:Request:Debug:ClearCache:itemNames
:itemValues:PrinterFriendly
Table: f?p Syntax Arguments Sintxis de los argumentos que se pueden pasar con f?p.
Argumento
App
Page
Session

Request

Debug

ClearCache

Descripcin
Id de la aplicacin su alias.
Id de la pgina su alias.
Id de la sesin. Se puede referenciar un id de sesin para crear un link (de
hypertext) a otras pginas que mantienen el mismo estado de la sesin
mediante el pasaje del numero de sesin. Se puede referenciar el ID de
sesin utilizando la siguiente sintaxis:
String de sustitucin: &SESSION
Pl/SQL: v(SESSION)
Variable: :APP_SESSION
Setea el valor de REQUEST. Cada botn de la aplicacin setea el valor de
REQUEST con el nombre del botn. Esto permite aceptar procesos que
hacen referencias al botn que el usuario lo cliqueo. Se puede referenciar a
REQUEST con la siguiente sintaxis:
String de sustitucin: &REQUEST
PL/SQL: V(REQUEST)
Variable: :REQUEST
Muestra detalles del procesamiento de la aplicacin. Los valores vlidos
para la bandera DEBUG son YES NO. Setee esta bandera a YES para
displayar detalles acerca del proceso. Se puede referenciar a la bandera de
DEBUG utilizando la siguiente sintaxis:
String de sustitucin: &DEBUG
PL/SQL: V(DEBUG)
Variable: :DEBUG
Limpia la cache. Esto setea el valor de los items a null.
Para limpiar los item de la cache de una sola pgina, se debe especificar el
ID de la pgina. Para limpiar los items cacheados de varias pginas, se
-13-

Application Express User's Guide

Building an Application

listan separados por comas los ID de pgina. Limpiar una cache de una
pgina tambin resetea cualquier proceso de la pgina. Se pueden incluir
valores de items individuales separados por coma nombres de coleccin
la palabra clave RP, la que cual resetea el numerador de pginas de la
regin de la pgina requerida. La palabra clave APP limpia la cache de
todas las pginas y de todos los items de la aplicacin y remueve las
preferencias de orden del usuario conectado. La palabra clave SESSION
logra el mismo resultado que APP pero solo limpia los items asociados a la
aplicacin de la sesin actual.
ItemNames
Lista delimitada por comas de nombres de items para setear el estado de la
sesin en una URL.
ItemValues
Lista de los valores de los items para setear la sesin en una url. Los items
no pueden incluir punto y coma, pero pueden incluir comas si estn entre
barras \. Por ej: \123,25\
PrinterFriendly Determina si la pgina est siendo interpretada (levantada, mostrada) en
modo PrinterFriendly. Si PrinterFriendly est seteado a YES, la pgina se
muestra en modo PrinterFriendly. El valor de PrinterFriendly puede ser
usado para condicionar la interpretacin de la pgina para remover
elementos tales como regiones de la pgina para optimizar la salida
impresa. Se puede referenciar esta bandera utilizando la siguiente sintaxis:
V(PRINTER_FRIENDLY)
Aunque es importante comprender como trabaja la sintaxis de f?p, rara vez
tendremos que redactarla nosotros mismos. El Ap Builder incluye varios wizards que
automticamente crean estas referencias. La siguiente seccin describe casos especficos
en que se utiliza el enlace de pginas con f?p.

Invocar una Pgina utilizando alias de aplicacin y de pgina


Los alias de aplicacin y pginas deben ser identificadores Oracle vlidos, no
pueden contener espacios en blanco, y no son sensibles a las maysculas. El siguiente
ejemplo invoca una pgina utilizando alias desde adentro de una aplicacin. Este ejecuta la
pgina home de la aplicacin myapp y utiliza el ID de la sesin actual.
f?p=myapp:home:&SESSION
Los alias de aplicacin deben ser nicos dentro del esquema del usuario. Si una
aplicacin en una base de datos diferente tiene el mismo alias, utilice el argumento &c para
calificar con el esquema del usuario. Por ejemplo:
f?p=common_alias:home:&session.&c=WORKSPACE_A
Invocando una pgina desde un botn con una url
Cuando se crea un botn, se puede especificar una URL para re-direccionar la
navegacin cuando el usuario haga click en el botn. Este ejemplo ejecuta la pgina 6001 de
la aplicacin 6000 utilizando la sesin actual.
f?p=6000:6001:&SESSION.
-14-

Application Express User's Guide

Building an Application

Ntese que esto es solo un mtodo para usar un botn. Este mtodo bypasea
submitir la pgina y acta como un hyperlink a otra pgina. Otro mtodo es submitir primero
la pgina. En esta ltima forma, clikeando el botn que submite la pgina para procesarla,
permite al formulario ser submitido y que el estado de la sesin sea guardado.
Ver: "Creating Buttons"
Utilizacin de Strings de sustitucin.
Se pueden usar strings de sustitucin dentro de un templeate de pgina regin
para reemplazar un carcter string por un valor. Al disear la aplicacin y permitir a los
usuarios editar los items, se necesita sustituir strings a fin de pasar la informacin.
Se puede utilizar sustitucin de string de la siguientes formas:
Incluir un string de sustitucin dentro de un template.
Referenciar un item pgina usando la sintaxis &ITEM.
Usar un string de sustitucin para lograr una funcionalidad especfica.
Los strings de sustitucin usado dentro de un template son delimitado por #. Por
ejemplo:
#ABC#
Para referenciar items de pginas aplicacin usar variables de sustitucin:
1. Preceder el nombre del item con un ampersand (&).
2. Agregar un punto al nombre del item.
Por ejemplo, se podra hacer referencia a un item de aplicacin denominado
F101_X en una regin HTML, en un titulo, en una etiqueta en cualquier otro contexto, as:
&F101_X.
Notar que se requiere el punto final. Cuando la pgina es interpretada, el motor del
App.Exp reemplaza el string de sustitucin por el valor del item F101_X

-15-

Application Express User's Guide

Building an Application

Strings de sustitucin predefinidos.


Application builder soporta un conjunto de string de sustitucin predefinidos. Pueden
ser necesarios para referenciar valores con el fin de lograr una funcionalidad especfica.
Las siguientes secciones describe estos strings de sustitucin, cuando conviene
usarlos y la sintaxis. Notar que la variable :USER tiene un significado especial dentro de la
base de datos.
Temas:

APP_ALIAS
APP_ID

APP_IMAGES

APP_PAGE_ID

APP_SESSION

APP_UNIQUE_PAGE_ID

APP_USER

AUTHENTICATED_URL_PREFIX

BROWSER_LANGUAGE

CURRENT_PARENT_TAB_TEXT

DEBUG

HOME_LINK

LOGIN_URL

IMAGE_PREFIX

Application Express SCHEMA OWNER

PRINTER_FRIENDLY

LOGOUT_URL

PROXY_SERVER

PUBLIC_URL_PREFIX

REQUEST

SQLERRM

SYSDATE_YYYYMMDD
-16-

Application Express User's Guide

Building an Application

WORKSPACE_IMAGES

Ver tambin:
"Substitutions" Acerca de la definicin de string de sustitucin estticos tales como un
atributo de la aplicacin.
"Establishing User Identity Through Authentication" identificacin de usuario a travs de
autenticacin.
APP_ALIAS
App_alias (alfanumrico) con el nombre de la aplicacin actual. App_alias es
diferente de App_Id, ya que App_id debe ser nico en todos los esquemas y en todas las
aplicaciones residentes en una base de datos. En contraste, App_alias requiere que sea
nico solo dentro del esquema al que pertenece. Se puede utilizar App_alias en cualquier
lugar que se pueda utilizar App_id. Por ejemplo, en la sintaxis f?p se puede usar un
app_alias un id de aplicacin como se muestra en el ejemplo siguiente:
f?p=ABC:1:&SESSION.
Este ejemplo ejecuta en la actual sesin, la pgina 1 de la aplicacin ABC.
Sintaxis de: APP_ALIAS.
Reference Type

Syntax

Bind variable

:APP_ALIAS

PL/SQL

V('APP_ALIAS')

Substitution string

&APP_ALIAS.

El siguiente es un ejemplo HTML:


Click me to go to page 1 <a href="f?p=&APP_ALIAS.:1:&SESSION.">
of the current application</a>
APP_ID
App_id identifica la aplicacin que se est ejecutando.
Sintaxis de: APP_ID
Reference Type

Syntax

Bind variable

:APP_ID

Direct PL/SQL

HTMLDB_APPLICATION.G_FLOW_ID (A NUMBER)

PL/SQL

NV('APP_ID')

-17-

Application Express User's Guide

Reference Type

Syntax

Substitution string

&APP_ID.

Building an Application

El siguiente es un ejemplo de una referencia a un string de sustitucin:


f?p=&APP_ID.:40:&SESSION.
APP_IMAGES
Utilizar este string para referenciar imgenes importadas, Java Script, y cascading
style sheets (CSS) que son para una aplicacin dada y no son compartidos con otras
aplicaciones. Si se importa un archivo y se lo hace especfico de la aplicacin, luego se
debe utilizar este string de sustitucin.
Sintxis de: APP_IMAGES
Reference Type

Syntax

Bind variable

:APP_IMAGES

Direct PL/SQL

Not available.

PL/SQL

V('APP_IMAGES')

Substitution string

&APP_IMAGES.

Template substitution

#APP_IMAGES#

Ver: "IMAGE_PREFIX", "WORKSPACE_IMAGES", y "Managing Images"


APP_PAGE_ID
App_page_id es el id de la pgina de la aplicacin actual. Por ejemplo, si la
aplicacin est en la pgina 3, debe responder con 3. Es til utilizar esta sintaxis cuando se
desea escribir componentes de aplicaciones que necesitan trabajar en mltiples
aplicaciones.
Sintaxis de: app_page_id
Reference Type

Syntax

Bind variable

:APP_PAGE_ID

Direct PL/SQL

HTMLDB_APPLICATION.G_FLOW_STEP_ID (A NUMBER)

Direct PL/SQL

:APP_PAGE_ID

PL/SQL

NV('APP_PAGE_ID')

-18-

Application Express User's Guide

Building an Application

Reference Type

Syntax

Substitution string

&APP_PAGE_ID.

Ejemplo de sustitucin:
f?p=&APP_ID.:&APP_PAGE_ID.:&SESSION.
APP_SESSION
App_session es uno de los strings de sustitucin ms usados. Se puede utilizar
para crear enlaces de hipertexto entre pginas de aplicaciones que mantienen el estado de
una sesin pasndole el nmero de sesin.
Sintaxis de app_session
Reference Type

Syntax

Bind variable

:APP_SESSION

PL/SQL

V('APP_SESSION')

Short PL/SQL

V('SESSION')

Short substitution string

&SESSION.

Substitution string

&APP_SESSION.

Consideremos el siguiente ejemplo:


Desde adentro de una regin HTML:
<a href="f?p=100:5:&SESSION.">click me</a>
Utilizando Pl/Sql:
htf.anchor('f?p=100:5:'||V('SESSION'),'click me');
En una consulta sql query:
SELECT htf.anchor('f?p=100:5:'||:app_session,'clickme') FROM DUAL;

APP_UNIQUE_PAGE_ID
App_unique_page_id es un entero generado por una secuencia Oracle el cual es
nico para cada pgina presentada. Este nmero es utilizado por las aplicaciones para
prevenir submitir (aceptar procesar) pginas duplicadas y puede ser usado para otros
propsitos. Por ejemplo, si tu quieres obtener una URL nica para evitar que el browser
guarde en la cache, se puede embeber (incrustar) este numero en la respuesta columna
de debug en el llamado al procedimiento f.
Sintaxis de app_unique_page_id
Reference Type

Syntax

Bind variable

:APP_UNIQUE_PAGE_ID

PL/SQL

V('APP_UNIQUE_PAGE_ID')
-19-

Application Express User's Guide

Building an Application

Reference Type

Syntax

Substitution string

&APP_UNIQUE_PAGE_ID.

El siguiente ejemplo es un HTML:


SELECT 'f?p=100:1:'||:APP_SESSION||':'||
:APP_UNIQUE_PAGE_ID||
':::P1_EMPNO:'||empno, ename, job
FROM emp
Notar el uso de la columna APP_UNIQUE_PAGE_ID en la respuesta. Esto hace que
esta URL sea nica y evita el problema de cacheo excesivo del browser.
APP_USER
App_user es el usuario actual que est ejecutando la aplicacin. Dependiendo de la
modalidad de autenticacin, tiene valores que pertenecen a diferentes conjuntos. Si la
aplicacin se ejecuta autenticando contra la base de datos, el valor del usuario es el mismo
que el USER de la base de datos. Si la aplicacin utiliza un esquema de autenticacin contra
el cual se autentica tendr el user dado durante la autenticacin.
Sintaxis de App_user
Reference Type

Syntax

Bind variable

:APP_USER

PL/SQL

V('APP_USER')

Short PL/SQL

V('USER')

Substitution string

&USER.

Considere los siguientes ejemplos.


En una region HTML.
Hello you are logged in as &USER.
En un cdigo Pl/sql
htp.p(Hello you are logged in as||V(USER));
Como una variable
SELECT * FROM some_table WHERE user_id = :app_user
Ver: "Authentication" para mayor informacin acerca del atributo Public User
AUTHENTICATED_URL_PREFIX
Este atributo, a nivel de aplicacin, identifica un prefijo autenticado vlido (es decir,
un prefijo Url de una sesin iniciada). Se puede usar un path relativo o full comenzando con
http. Este item es til si tu aplicacin puede ser ejecutada en ambos modos: autenticado (log
in) y pblico ( sin log in). Se puede usar authenticated_url_prefix para construir un link a una
pgina autenticada. Este item es ms til cuando se usa autenticacin bsica contra la base
de datos porque los cambios a la URL pueden requerir autenticacin.
-20-

Application Express User's Guide

Building an Application

Sintaxis de authenticated_url_prefix
Reference Type

Syntax

Bind variable

:AUTHENTICATED_URL_PREFIX

PL/SQL

V('AUTHENTICATED_URL_PREFIX')

Substitution string

&AUTHENTICATED_URL_PREFIX.

BROWSER_LANGUAGE
Referencia a la preferencia del lenguaje del browser actual.
Sintaxis de browser_language
Reference Type

Syntax

Bind variable

:BROWSER_LANGUAGE

Direct PL/SQL

HTMLDB_APPLICATION.G_BROWSER_LANGUAGE

PL/SQL

V('BROWSER_LANGUAGE')

Substitution string

:BROWSER_LANGUAGE.

Substitution string

&BROWSER_LANGUAGE.

CURRENT_PARENT_TAB_TEXT
Es el ms utilizado en los template de pginas, pero es solo relevante para
aplicaciones que tienen dos niveles de tab (es decir, los tab parent y standard). Sirve para
referenciar a la etiqueta del tab parent. Permite repetir el tab parent actualmente
seleccionado dentro del template de la pgina.
Sintaxis de current_parent_tab_text
Reference Type

Syntax

Bind variable

Not Available.

Substitution string

&CURRENT_PARENT_TAB_TEXT.

DEBUG
-21-

Application Express User's Guide

Building an Application

Los valores vlidos para la bandera de debug son Yes No. Activando debug se
muestran los detalles del proceso de la aplicacin. Si se escribe cdigo y se desea ver el
debug la nica forma es setear el modo debug a yes.
Sintaxis de debug
Reference Type

Syntax

Bind variable

:DEBUG

Direct PL/SQL

HTMLDB_APPLICATION.G_DEBUG

PL/SQL

V('DEBUG')

Substitution string

&DEBUG.

Por ejemplo: f?p=100:1:&SESSION.::&DEBUG


HOME_LINK
Es la pgina inicial de la aplicacin. El motor del App.Exp apuntar a esta ubicacin
si no se especifica una pgina y si no se define una pgina alternativa por medio la lgica del
esquema de autenticacin. Se define el Home_Link como un atributo de la pgina.
Sintaxis de home_link
Reference Type

Syntax

Direct PL/SQL

HTMLDB_APPLICATION.G_HOME_LINK

PL/SQL

V('HOME_LINK')

Template Reference

#HOME_LINK#

Substitution String

&HOME_LINK.

Ver: "Authentication" para mayor informacin sobre el atributo home link.


LOGIN_URL
Sirve para displayar un link a la pgina de login para usuarios que no estn
actualmente logueados.
Sintaxis de login_url
Reference Type

Syntax

Bind variable

:LOGIN_URL

Direct PL/SQL

HTMLDB_APPLICATION.G_LOGIN_URL
-22-

Application Express User's Guide

Building an Application

Reference Type

Syntax

PL/SQL

V('LOGIN_URL')

Substitution string

&LOGIN_URL.

Template Substitution

#LOGIN_URL#

IMAGE_PREFIX
Determina un path virtual al servidor web usado para apuntar al directorio de
imgenes distribuidas con Oracle Application Express. Si se desea referenciar imgenes
importadas utilizar WORKSPACE_IMAGES y APP_IMAGES.
Ver: "APP_IMAGES","WORKSPACE_IMAGES", y "Configuring Standard Application Attributes"

Sintaxis de image_prefix
Reference Type

Syntax

Bind variable

:IMAGE_PREFIX

Direct PL/SQL

HTMLDB_APPLICATION.G_IMAGE_PREFIX

PL/SQL

V('IMAGE_PREFIX')

Substitution string

&IMAGE_PREFIX.

Template Substitution

#IMAGE_PREFIX#

APPLICATION EXPRESS SHEMA OWNER


Si se estn generando llamados a aplicaciones desde dentro de cdigo pl/sql,
podra ser necesario referenciar al propietario del esquema de Oracle Application Express.
Seguidamente se describe la correcta sintaxis para referencia directa Pl/Sql.
HTMLDB_APPLICATION.G_FLOW_SCHEMA_OWNER
Tambin se podra usar #FLOW_OWNER# para referenciar este valor en las
consultas SQL y PL/SQL (por ejemplo, en una regin en un procesos)
PRINTER_FRIENDLY
El valor de PRINTER_FRIENDLY determina si el motor de Ap.Ex se ejecuta en
modo visualizacin. Este setting puede ser referenciado en los condicionales para eliminar
elementos no deseados en una pgina impresa.
Sintaxis de printer_friendly
Reference Type Syntax
Direct PL/SQL

HTMLDB_APPLICATION.G_PRINTER_FRIENDLY (VARCHAR2
DATATYPE)
-23-

Application Express User's Guide

Building an Application

Reference Type Syntax


PL/SQL

V('PRINTER_FRIENDLY')

Substitution
string

&PRINTER_FRIENDLY.

LOGOUT_URL
Es un atributo a nivel de aplicacin usado para identificar la URL de logout. Esta es
la URL a la que navega para la pgina de logout u opcionalmente directamente desconecta
al usuario. Para crear una entrada logout en la barra de navegacin, se adiciona un punto a
&LOGOUT_URL. Si se est codificando una pgina template, utilizar #logout_url#. (notar
el punto final).
Sintaxis de logout_url
Reference Type

Syntax

Bind variable

:LOGOUT_URL

PL/SQL

V('LOGOUT_URL')

Substitution string

&LOGOUT_URL.

Template substitution

#LOGOUT_URL#

PROXY_SERVER
Proxy_server es un atributo de la aplicacin. El atributo puede ser usado por
regiones cuyos fuentes se originan desde una url. Seguidamente la sintaxis correcta para
una referencia pl/sql directa usada cuando estn escribiendo pl/sql para acceder a un
servidor web remoto desde adentro de la base de datos (por ejemplo, cuando usamos el
paquete utl_http despachado con la base de datos).
HTMLDB_APPLICATION.G_PROXY_SERVER
PUBLIC_URL_PREFIX
Es un atributo a nivel de aplicacin que identifica la URL para salir de modo logged
a una vista pblica.
Sintaxis de public_url_prefix
Reference Type

Syntax

Bind variable

:PUBLIC_URL_PREFIX

PL/SQL

V('PUBLIC_URL_PREFIX')

-24-

Application Express User's Guide

Building an Application

Reference Type

Syntax

Substitution string

&PUBLIC_URL_PREFIX.

Template substitution

#PUBLIC_URL_PREFIX#

REQUEST
Cada botn de la aplicacin setea el valor de REQUEST al nombre del botn al
valor del atributo REQUEST asociado al botn. Esto permite procesar aceptaciones que
referencian el nombre del botn cuando un usuario lo clickea. In la sintaxis f?p se puede
setear request utilizando el cuarto parmetro.
Referencias al valor de REQUEST
Request es tpicamente referenciado durante el proceso de aceptacin (es decir, el
proceso que ocurre cuando se enva una pgina del cliente al servidor).
Sintaxis de Request
Reference Type

Syntax

Bind variable

:REQUEST

Direct PL/SQL

HTMLDB_APPLICATION.G_REQUEST

PL/SQL

V('REQUEST')
&REQUEST

Substitution string
&REQUEST. (exact syntax match)
Alcance y valor de REQUEST para pginas enviadas.
Cuando se enva una pgina, se inicia un proceso de Aceptacin. Este proceso de
aceptacin consiste de clculos, validaciones, subprocesos, y bifurcaciones. El valor de
REQUEST est disponible durante cada fase del proceso de aceptacin. Una vez que la
aplicacin bifurca a una pgina diferente se setea el valor de request a NULL.
El valor de REQUEST es el nombre del botn que el usuario clikqueo, el nombre
del tab elegido por el usuario. Por ejemplo, supngase que tiene un botn con el nombre de
CHANGE, y una etiqueta Apply Change. Cuando el usuario clickquea el botn, el valor de
REQUEST ser CHANGE.
Referencias REQUEST utilizando condiciones.
Es comn referenciar REQUEST en los condicionales. Por ejemplo, si se desea
resetear la paginacin cuando el usuario hace clicks en Go a una pgina del report. Se
puede resetear la paginacin al crear un proceso de aceptacin de pagina. El proceso de la
pgina puede ser condicionado usando
Request = Expression 1.
Para crear un on-submit page process:
1. Mediante Condition, seleccionar el tipo de condicin Request = Expression1.

-25-

Application Express User's Guide

Building an Application

2. En Expression 1, ingresar GO.

Uso de REQUEST al mostrar procesos.


Se puede usar REQUEST para mostrar procesos cuando se navega a una pgina
usando la sintaxis f?p. Por ejemplo:
f?p=100:1:&SESSION.:GO
Recuerde que el cuarto argumento en la sintaxis f?p es REQUEST. Este ejemplo
dirige hacia la aplicacin 100, pgina 1 para la sesin actual, y setea el valor de REQUEST
al valor GO. Cualquier proceso regin puede referenciar el valor de REQUEST utilizando
mostrar proceso (Show processing).
El siguiente es un ejemplo similar pero utilizando PL/SQL:
IF V ('REQUEST') = 'GO' THEN
htp.p('hello');
END IF;
Notar que htp.p('hello') es un call a un pl/sql del paquete Web Toolkit para salida impresa
del string especificado.
Ver tambin:
Oracle Database Application Developer's Guide - Fundamentals for information about
developing Web applications with PL/SQL
Oracle Database PL/SQL Packages and Types Reference for information about htp
packages
SQLERRM
Es un templete de sustitucin solo disponible en la Region de mensajes de error de
la aplicacin.
#SQLERRM#
SYSDATE_YYYYMMDD
Representa la fecha actual sobre el servidor de base de datos, con el formato
yyyymmdd. Se puede utilizar en lugar de invocar llamados a la funcin SYSDATE().
Sintaxis de sysdate_yyyymmdd
Bind variable
:SYSDATE_YYYYMMDD
PL/SQL
V('SYSDATE_YYYYMMDD')
Direct PL/SQL
HTMLDB_APPLICATION.G_SYSDATE (DATE DATATYPE)

Reference Type

Syntax

Bind variable

:SYSDATE_YYYYMMDD

Direct PL/SQL

HTMLDB_APPLICATION.G_SYSDATE (DATE DATATYPE)


-26-

Application Express User's Guide

Building an Application

Reference Type

Syntax

PL/SQL

V('SYSDATE_YYYYMMDD')

WORKSPACE_IMAGES
Utilice este string de sustitucin para referenciar imgenes importadas, Java Script,
y hojas de conexin en cascada del estilo que son compartidas con muchas aplicaciones
dentro de un workspace (o esquema de base de datos).
Sintaxis de worksapce_images
Reference Type

Syntax

Bind variable

:WORKSPACE_IMAGES

Direct PL/SQL

Not available

PL/SQL

V('WORKSPACE_IMAGES')

Substitution string

&WORKSPACE_IMAGES.

Template substitution

#WORKSPACE_IMAGES#

Ver: "APP_IMAGES" y "IMAGE_PREFIX"

Building an Application
Nota de la traduccin: La traduccin avanz hasta Creating Buttons.
Julio Valle

Aqu se describe como utilizar el generador de aplicaciones para construir una


aplicacin y sus componentes. Incluye instrucciones para crear una aplicacin y agregar
pginas como as tambin componentes (reports, grficos form) controles de pgina
(botones, items, listas de valores ) y componentes compartidos (menus, lists, tabs).
Topics:

Creating an Application
Adding Pages to an Application

Creating Reports

Creating Forms

Creating Calendars

Creating Charts

Creating Buttons

Creating Items
-27-

Application Express User's Guide

Building an Application

Creating Lists of Values

Using Shortcuts

Incorporating JavaScript into an Application

Creating Dependent Select Lists

Creating a Help Page

Ver tambin:

"Using Application Builder"


"Controlling Page Layout and User Interface"

"Adding Navigation"

Creating an Application
Una aplicacin es una coleccin de pginas las cuales comparten un estado de
sesin comn y la autenticacin. Se puede crear una aplicacin utilizando el wizard. Se
puede deletear una aplicacin desde la home page del builder.
Topics:

About Creating an Application Using a Wizard


About the Create Application Wizard

About the Create Application from Spreadsheet Wizard

About Demonstration Applications

Deleting an Application

About Creating an Application Using a Wizard


Cuando se hace click en CREATE en la home page, se propone:
Create application Permite crear una consulta a partir de queries SQL de tablas de
la base de datos..
Create Application from Spreadsheet. Permite crear una aplicacin basada en una
hoja de clculo. Se puede subir pegar una hoja de clculos de datos para crear una tabla y
luego agregar una interfase con el usuario. En la aplicacin resultante, los usuarios pueden
crear consultas, eliminar insertar, actualizar registros analizar los datos.
Ver tambin: "About the Create Application from Spreadsheet Wizard".
Demonstration Application. Instala / Desinstala aplicaciones demo. Sirve para
aprender a construir aplicaciones. Ver tambien "About Demonstration Applications".
Ver tambin: "Adding Pages to an Application" for information about adding
reports and forms by creating a new page.
-28-

Application Express User's Guide

Building an Application

About the Create Application Wizard.


El wizard permite crear una aplicacin funcional completa a partir de cualquier nmero
de tablas. Se pueden crear pginas en blanco pginas basadas en queries SQL sobre
tablas de la base de datos. Se puede crear consultas SQL escribiendo la select
(manualmente) bien utilizando la interface grfica del Query Builder. Las aplicaciones
basadas sobre tablas pueden consistir de un simple report, un form y un report, un form
tabular. Cuando se crean pginas sobre tablas, se tiene la opcin de generar pginas de
anlisis. Las pginas de anlisis extienden un report simple ( un reporto sobre un form)
para incluir mltiples drill-down reports y grficos.
Ver tambin: "Building Queries with Query Builder"
Topics:

Creating an Application Based on Tables or Queries


About Application Models and User Interface Defaults

Leveraging Application Models and User Interface Defaults

Creating an Application Based on Tables or Queries


Se puede crear una aplicacin basada sobre un tabla, query, drill-down query
seleccionando Create Application en el Create Application Wizard.
1. Sobre la Home Page de la base de datos, click en Application Builder.
2. Click en el botn Create.
3. Seleccionar Create Application y click en Next.
4. Ingrese los detalles bsicos de la aplicacin y click en Next.
a. Name. Ingrese un nombre que describa la aplicacin.
b. Application. Ingrese un valor entero (nico) para identificar la aplicacin.
c. Create Application. Seleccione un mtodo de creacin:
o From scratch Permite agregar pginas manualmente.
o Based on existing application design model Permite copiar
definiciones de pginas desde modelos de aplicaciones anteriores.
Notar que se debern definir todos los otros atributos de la aplicacin, se
puede elegir copiar los mismos atributos utilizando la opcin copiar componentes
compartidos desde otra aplicacin. (Vase el punto 7 y "About Application Models
and User Interface Defaults"

d. Schema La aplicacin obtendr su recursos a partir de todas las sql ejecutadas


sobre un esquema de base de datos especfico. Identificar el propietario del
esquema de base de datos.
Next agrega la pgina a su aplicacin.
5. Under Add Pages.
.a Seleccionar el tipo de pagina que se desea agregar. Incluye las opciones de:
o Blank Crea una pgina sin agregar ninguna funcionalidad.
o Report Crea una pgina que contiene el resultado de una consulta SQL
formateado. Se puede elegir construir un report basado en una tabla que se
selecciona basado en una sentencia SQL SELECT dada por el usuario por
una funcin PL/SQL que retorna una sentencia SQL SELECT que se provee.
o Form crea un form para actualizar un sola fila en una tabla de la base de
datos.
o Tabular Form Crea un form para ejecutar update, insert delete sobre
mltiples filas de una tabla de la base de datos.
-29-

Application Express User's Guide

Building an Application

o Report and Form Construye dos pginas combinando form y report. Sobre la
primer pgina, el usuario selecciona una fila para actualizar. Sobre la segunda
pgina el usuario puede agregar un nuevo registro actualizar borrar un reg.
Existente.
Action Displaya el tipo de pgina seleccionada. Por cada seleccin, el wizard
propone diferentes tipos de informacin.
Las pginas report incluyen un check box Include Analysis Pages. Seleccione esta
opcin y siga los prompt del wizard para extender un simple report ( un report sobre un
form) para incluir mltiples grficos y reports drill-down.
.b Click Add Page. La pgina ( pginas) aparecen al tope de la pgina. Para borrar
una pgina, click en el icono Delete.
.c Repetir los puntos anteriores hasta que todas las pginas hallan sido agregadas.
.d Click Next.
6. Determinar si se va a incluir los tabs en la aplicacin y click Next.
7. Determinar si se va a importar componentes compartidos con otra aplicacin. Los
componentes compartidos son elementos comunes que pueden displayarse ser aplicados
sobre una pgina dentro de una aplicacin.
Para incluir componentes compartidos:
a. Copy Share Componentes desde otra aplicacin, seleccione Yes
b. Copy from Application, seleccione la aplicacin desde la cual quiere importar
componentes compartidos.
c. Select Componentes to Import, seleccione los componentes a importar.
d. Next.
8. Seleccione las siguientes preferencias de autenticacin y globalizacin.
a. Default Authentication Scheme Identifica un esquema de autenticacin que se
desea usar por default.
b. Language Selecciona el lenguaje primario para esta aplicacin. Este atributo
identifica el lenguaje en el cual la aplicacin es desarrollada. Este lenguaje es el lenguaje
base desde el cual todas las traducciones son hechas.
c. Obtener la preferencia de lenguaje del usuario. Especifica como el motor determina
el lenguaje de la aplicacin. El lenguaje primario de la aplicacin puede ser esttico (es
decir, derivada del lenguaje del browser) determinada de una preferencia de usuario
item. El lenguaje seteado en la base de datos determina el formato de display de la fecha y
las caractersticas de ordenamiento. Se puede alterar los atributos de lenguaje y la forma de
seleccionar el lenguaje ms tarde editar los atributos de globalizacin de la pgina. Para
ello vase "Configuring Globalization Attributes".
d. Click Next.
9. Seleccione un theme (contexto) y click Next. Los Themes (contextos) son
colecciones de templeates que pueden ser usados para definir el layout y el estilo de una
aplicacin completa. Vase "Managing Themes".
10. Confirmar las selecciones realizadas. Retornar a la pgina anterior del wizard,
click en Previous. Aceptar las opciones realizadas y click en Finish.
About Application Models and User Interface Defaults.
(Modelos de aplicaciones y valores por default de la interface del usuario).
El wizard para crear aplicaciones est diseado asumiendo que el desarrollador lo
ejecutar mltiples veces. Para facilitar este mtodo interactivo para el desarrollo de
aplicaciones, cada vez que se ejecuta el wizard guarda la definicin de la pgina como
un modelo de aplicacin.
-30-

Application Express User's Guide

Building an Application

Consideremos el siguiente ejemplo: Crear una nueva aplicacin ejecutando el wizard.


Despus de ver la aplicacin, caemos en la cuenta que no es todo lo que se quera. En lugar
de modificarla, se puede ejecutar el wizard nuevamente y seleccionar un modelo de
aplicacin. Al seleccionar un modelo de aplicacin existente cuando se re-ejecuta el wizard,
se puede rpidamente mejorar la aplicacin con mnimo tiempo y esfuerzo. Ver tambin:
Managing Application Models"
Otra forma de incrementar la productividad cuando creamos una aplicacin es
especificando valores por default en la interface de usuario. Los valores por default en las
interfaces son metadatos que permiten asignar valores por default a las propiedades de las
tablas, columnas, listas dentro de un esquema especfico. Ver tambin: Managing User
Interface Defaults"
Leveraging Application Models and User Interface Defaults.
(Mejorar modelos de aplicaciones e interfaces de usuarios)
Se puede incrementar la productividad en el desarrollo de aplicaciones mejorando los
modelos de aplicaciones y los valores por default de las interfaces de usuarios. Considere
los siguientes escenarios:
1) Crear una aplicacin basada en tablas vistas ejecutando el wizard.
2) Ejecutar la aplicacin generada. Determinar las deficiencias funcionales.
3) Evaluar si crear editar las interfases del usuario. Por ejemplo, se pueden usar los
valores por default en la interface del usuario para controlar los campos del formulario
para displayar las etiquetas de los reports. Tambin se puede utilizar los valores por
default (de la interface) para displayar columnas especficas o displayar determinadas
columnas en orden alternativo.
4) Navegar a la home page de la aplicacin y crear una nueva aplicacin haciendo click
en Create.
5) Seleccionar Create Application.
6) Cuando pregunta por los detalles de la aplicacin, especificar lo siguiente:
a. Nombre-Ingrese el nombre que describe a la aplicacin.
b. Application-Ingrese el id que identifica a la aplicacin ( acepte el valor por default
que propone el wizard).
c. Create Application-seleccione Based on existing application design model.
1) Seleccione un modelo de aplicacin. Note que las pginas que se crearon recin, ya
aparecen para ser seleccionadas como modelos.
2) Agregue, edite remueva pginas.
3) Complete el wizard.
4) Repetir los pasos 2 a 9 hasta que la aplicacin alcance los requerimientos funcionales.
About the Create Application from Spreadsheet Wizard
(Wizard para Creacin de aplicaciones desde hojas de clculos)
Se pueden crear aplicaciones a partir de datos en hojas de clculos seleccionando
Create Application from Spreadsheet en el wizard.
Para crear una aplicacin desde una hoja de clculo:
1)
2)
3)
4)

Desde Home Page, click en Application Builder.


Click en el botn Create.
Seleccionar Create Application from Spreadsheet.
Especificar como sern importados los datos desde la hoja de clculos.
Seleccione alguno de los siguientes y click Next:
-31-

Application Express User's Guide

Building an Application

a. Upload file (comma-delimited tab-delimited). Especifique uno de los


siguientes y click Next:
i. File Click en Browse para localizar el archivo a ser importado.
ii. Separator Especificar el carcter separador de columna.
Utilizar \t para separadores tab.
iii. Optionally Enclosed By Ingrese el carcter delimitador. Se
puede usar este carcter delimitador para indicar el comienzo/fin
de un dato. Si se especifica un carcter delimitador, el wizard
ignora los espacios en blancos que aparecen antes del carcter
de inicio y los que aparecen despus del carcter de fin, que
delimitan el dato. Se puede tambin usar esta opcin para datos
que estn delimitados por un carcter especfico.
iv. File Character Set Seleccionar el conjunto de caracteres en el
que est codificado el archivo de texto.
b. Copy and Paste (hasta 30 kbytes). Copiar y pegar los datos de la hoja
de clculo que se desea importar y hacer click en Next.
5) Revisar la vista previa para ver como ser displayada la tabla y hacer click en
Next. Especificar el nombre de la tabla y sus columnas, modificar los tipos de
datos, detallar que columnas incluir.
6) Revisar si se displayan nombres en singular y escrbalos en plural. La interface
por default de las columnas displaya los nombres por default de las etiquetas.
7) (Opcional) Mediante la interface por default, edite las etiquetas a displayar y
click Next.
8) Para los totales por columnas, seleccione las columnas para las cuales los
datos deben ser sumarizados en el reporte y grficos y click en Next.
9) Este wizard crea varios totales por reports. Selecciones las columnas que se
deben totalizar por report.
a. Aggregate by Column Elija uno ms columnas para las cuales se
quiere sumarizar o promediar.
b. Aggregate Function to use Seleccionar las funciones de resumen
(Sum Average).
c. Click Next.
10) Seleccionar opciones a nivel de aplicacin:
a. Application Name Ingrese un nombre alfanumrico para esta
aplicacin.
b. Especificar el modo de creacin:
i. Read and Write incluye operaciones insert y update en las
pginas.
ii. Read Only no incluye insert y update.
c. Seleccione el tipo de grfico.
d. Click Next.
11) Seleccione un theme (contexto) y click Next. (Themes son colecciones de
templetes que pueden ser utilizados para definir el estilo y layout de una
aplicacin completa. Vase: "Managing Themes".
12) Confirmar opciones. Si desea ver pginas previas del wizard puede realizar
click en Previous. Para aceptar todo y finalizar, click Create.
About Demonstration Applications (Aplicaciones de demostracin).
Oracle Application Express se instala con aplicaciones de demostracin. Utilice estas
aplicaciones para comprender las funcionalidades que se pueden incluir en las aplicaciones.
Ver tambin: "Running a Demonstration Application"
-32-

Application Express User's Guide

Building an Application

Acceso a las aplicaciones demo


Para acceder a las aplicaciones demo:
1) Desde la Home Page, click en Aplication builder.
2) Click en el botn Create.
3) Seleccionar Demonstration Application. Aparece la pgina de aplicaciones demo,
displayando enlaces a las siguientes aplicaciones:
a. Sample Application ofrece una demostracin que resalta conceptos bsicos
de diseo.
b. Collection Showcase muestra los conceptos del carrito de compras.
c. Web Services sirve como ejemplo de cmo se puede utilizar servicios web.
4) Instalar una aplicacin demo, bajar hasta la aplicacin que se desea instalar, click
Install. Aparecer el estado Installed.
5) Editar la aplicacin instalada haciendo click en Edit.
6) Ejecutarla con click Run
7) Para re-instalarla (a la aplic. Demo), click en Re-Install.
Deleting an Application (Eliminacin de una aplicacin).
Se puede eliminar una aplicacin desde adentro del Application Builder, o mientras se estn
editando sus atributos. Si se deletea una aplicacin, se borran con ella todos los
componentes definidos (reports, grficos, formularios), controles de pginas (botones,
items, lista de valores), y tambin los componentes compartidos (breadcrumbs, listas, y
tabs). No se eliminan los default para las interfases.
Temas:

Deleting an Application from Application Builder


Deleting an Application from Edit Application Attributes

Deleting an Application from Application Builder


Para borrar una aplicacin desde Application Builder:
1) Desde la Home Page, click en el icono Application Builder.
2) Seleccionar una aplicacin.
3) Cuando se muestre el Ap. Builder, verificar el ID de aplicacin y el nombre en la parte
superior de la pgina.
4) Sobre la lista de tareas, click en Delete this Application.
5) Seguir las instrucciones que se dan en pantalla.
Deleting an Application from Edit Application Attributes.
Deletear una aplicacin desde la edicin de los atributos de aplicacin:
1) Desde la Home Page, App. Builder
2) Seleccionar la aplicacin.
3) Click en editar atributos.
4) Click en Edit Standard Attributes.
5) Verificar el ID de la aplicacin y su nombre.
6) Click en Delete al tope de la pgina.
Vase : Configuring Standard Application Attributes"

-33-

Application Express User's Guide

Building an Application

Adding Pages to an Application.


Se puede agregar una nueva pgina componente a una pgina existente, ejecutando el
Create Page Wizard. Para acceder al mismo:
o Click en Create Page en la home-page de la aplicacin.
o Click en Create en la pagina de definicin.
o Seleccionar sobre la barra de desarrollo el Create Link.
Nota: Se puede agregar tambin un componente a una pgina existente (tal como un report,
un grfico, un formulario, un wizard, un calendario, un tree) utilizando el Wizard Create
Page. El wizard responde solicitando el ID de una pgina existente.
Temas.

Creating a Page from Application Home Page


Creating a Page from the Page Definition

Creating a Page from the Developer Toolbar

Running a Page or Application

Grouping Pages

Locking and Unlocking a Page

Deleting a Page

Vase tambin: Creating Reports", "Creating Charts", "Creating Forms", "Creating


Calendars", and "Creating Trees"
Creating a Page from Application Home Page
Para crear una nueva pgina desde el Application home page:
1) Desde el Database Home Page, click en Application Builder
2) Seleccionar una aplicacin. Aparecer la Application home Page de la misma.
3) Click Create Page
4) Seleccionar el tipo de pgina que se desea crear:
a. Pgina en Blanco.
b. Mltiples pginas en blanco.
c. Reporte.
d. Grfico.
e. Formulario.
f. Wizard.
g. Calendario.
h. Tree.
i. Pgina de login.
5) Seguir las instrucciones dadas en pantalla.
Createing a Page from the Page Definition
Para crear una nueva pgina mientras se est viendo una Page definition:
1) Navegar a la correspondiente Page Definition.
a. Navegar a la Database Home Page.
-34-

Application Express User's Guide

Building an Application

b. Click en el cono Application Builder.


c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la definicin de la pgina.
2) Desde la barra de navegacin (al tope de la pgina), click en el botn Create.
3) Seleccionar el tipo de pgina que se desea crear:
a. New page.
b. Region sobre esta pgina.
c. Control de pgina sobre si misma.
d. Control compartido. (Shared control)
Table: Create Page Options Describe las opciones disponibles correspondientes al tipo de
pgina seleccionado.
Create Page Options

Available Selections
Available page types:

New Page
a.
b.

Blank age
Multiple blank pages

c.

Report

d.

Chart

e.

Form

f.

Wizard

g.

Calendar

h.

Tree

i.

Login Page

Regions function as containers for content. Available region types:


Region on this page
j.
k.

HTML
Report

l.

Form

m.

Chart

n.

Breadcrumb

o.

PL/SQL Dynamic Content

p.

Tree

q.

URL

r.

Calendar

-35-

Application Express User's Guide

Create Page Options

Building an Application

Available Selections
s.

Multiple HTML

t.

Help Text

Page controls:
Page control on this page
u.
v.

Item
Button

w.

Branch

x.

Computation

y.

Process

z.

Validation

Shared component options:


Shared control
aa.
bb.

Navigation Bar icon


Parent tab

cc.

Standard tab

dd.

List of values

ee.

List

ff.

Breadcrumb

4) Continuar con las instrucciones de pantalla.


Vase tambin: Editing a Page Definition
Creating a Page from the Developer Toolbar
Los usuarios que estn logueados a la Database Home Page utilizando una cuenta de
usuario tienen acceso a la barra de desarrollo. La barra de desarrollo se displaya al final de
cada pgina y ofrece una forma rpida de crear una nueva pgina.
Para crear una nueva pgina desde la barra de desarrollo:
1) Sobre la barra de desarrollo, seleccionar Create. Aparecer el wizard del nuevo
componente.
2) Seleccione el tipo de componente que se desea crear y click Next. Las opciones
disponibles son:
a. New Page
b. Regin sobre esta Page.
c. Page Control sobre esta Page.
d. Shared control.
Table: Create Page Options Describe las opciones disponible correspondientes
al tipo de pgina seleccionado.
3) Continuar con las instrucciones dadas sobre la pantalla.
Vase tambin: "Using the Developer Toolbar"
-36-

Application Express User's Guide

Building an Application

Running a Page or Application.


El motor del Application Express dinmicamente ejecuta y procesa pginas basadas sobre
los datos alojados en las tablas de las bases de datos. Para ver un versin ejecutada de la
aplicacin, se ejecuta submite la misma al motor del Application Express. Al crear nuevas
pginas, se pueden ejecutar individualmente, ejecutar la aplicacin completa. Se puede
ejecutar una aplicacin con click en el icono Run Application.
Temas.

About the Run Application Icon


Running an Application from the Application Builder Home Page

Running an Application from the Application Home Page

Running a Page from the Pages List on the Application Home Page

Running a Page from the Page Definition

About the Run Application Icon


El icono de ejecucin de una aplicacin se asemeja a la luz del semforo. Un gran icono
colorido, Run Application, aparece sobre la home page de las aplicaciones.

Muchas pginas dentro del Application Builder tambin ofrecen una versin ms pequea
de este icono. Click en este pequeo icono se ejecuta la aplicacin completa de pginas
individuales dependiendo del contexto en que se invoca. Por ejemplo, si es desde la home
page ejecuta la aplicacin completa, si es desde la Page Definition ejecuta solo la pgina en
cuestin.

Running an Application from the Application Builder Home Page


Para ejecutar una aplicacin completa desde la home page del Builder:
1) Desde la home page de la base de datos, click en Application Builder.
2) Desde la lista de vistas (View), seleccionar Details y click en Go.
3) Localizar la aplicacin en la lista de aplicaciones.
4) Click en el icono Run que est en la columna ms a la derecha.
Running an Application from the Application Home Page
Para ejecutar una aplicacin completa desde la home page de la aplicacin:
1) Sobre la Home Page de la base de datos, click en Application Builder. Aparece la
home page del builder.
2) Seleccionar una aplicacin.
3) Click en el icono Run.
-37-

Application Express User's Guide

Building an Application

Running a Page from the Pages List on the Application Home Page
Para ejecutar una pgina desde la lista de Pginas:
1) Desde la Home Page, click en el icono Application Builder.
2) Seleccionar una aplicacin.
3) Desde la lista View, seleccionar Details y click en Go.
4) Desde la lista Pages, localizar la pgina que se desea ejecutar y click en Run, de la
columna que est ms a la derecha.
Running a Page from the Page Definition
Para ejecutar una pgina especfica de la Page Definition:
1) Desde la Database Home Page, clic en Application Builder.
2) Seleccionar la aplicacin.
3) Seleccionar la pgina. Aparece directamente la page definition.
4) Clic en Run Page en el extremo superior derecho de la pgina.
Grouping Pages
Utilice grupo de pginas y gestione las pginas dentro de una aplicacin. Para utilizar grupo
de pginas, se debe crear un grupo y luego asignar las pginas al grupo. Los grupos de
pgina no tienen otra funcin especial que no sea organizar las pginas de una aplicacin.
Se puede organizar fcilmente las pginas, por grupos, dentro de la aplicacin.
Temas:

Viewing the Page Group Report


Creating a Page Group

Assigning Pages to a Page Group

Viewing Page Groups from the Application Home Page


Para ver el grupo de pginas desde la home page de la aplicacin:
1) Desde la Database Home Page, clic en Application Builder.
2) Seleccionar la aplicacin.
3) Desde la lista de tareas del lado derecho de la pgina, clic en Manage Page Groups
4) Desde la lista de tareas, clic en Report Page Groups.
Viewing Page Groups from the Page Definition
Para ver un grupo de pginas desde la Page Definition.
1) Desde la Database home page, clic en el icono Application Builder.
2) Seleccionar una aplicacin.
3) Seleccionar una pgina. Aparece la definicin de la pgina.
4) Desde la View list, seleccionar Groups.
Creating a Page Group
Para crear un grupo de pginas:
1) Desde la Database Home Page, click en Application Builder.
2) Seleccionar una aplicacin.
3) Desde la lista de tareas, sobre el lado derecho de la pgina, click en Manage Page
Groups.
4) Desde la page group click en Create.
5) Ingresar el nombre, una descripcin, y click en Create.
Assigning Pages to a Page Group
Para asignar una pgina a un grupo:
-38-

Application Express User's Guide

Building an Application

1) Desde la Database Home Page, click en Application Builder.


2) Seleccionar una aplicacin.
3) Desde la lista de tareas, sobre el lado derecho de la pgina, click en Manage Page
Groups.
4) Sobre la lista de tareas, click en Report Unassigned Pages. Aparecern las pginas
no asignadas a grupos.
5) Desde Page Group, seleccionar el grupo al cual se quiere asignar las pginas.
6) Seleccionar las pginas que deben ser asignadas.
7) Click en Assigned Checked. Si se selecciona el id de pgina se enlaza a la pgina de
atributos. Si se selecciona el nombre de la pgina enlaza a la definicin de pgina.
Locking and Undlocking a Page
Se pueden prevenir conflictos durante el desarrollo de la aplicacin impidiendo el acceso a
pginas de la aplicacin. Mediante el loocking de una pgina, se previene que otros
desarrolladores puedan editarla.
Temas.

Determining If a Page Is Locked


Locking a Page

Unlocking Pages

Accessing Alternative Locked Pages Views

Determining if a page est locked.


Se indica que la pgina (actual) est lockeada mediante un icono. Si la pgina esta
deslockeada, el icono aparece abierto, sino aparece cerrado. El icono de estado del lockeo
aparece en las siguientes pginas:
o Application home page. Seleccione Details desde la lista Display. Aparece una lista de
pginas. El icono de lock aparece debajo de la columna Lock.
o Page Definition. El icono lock aparece en el extremo derecho del men de la pgina.
Locking a Page
Se puede lockear una pgina de la aplicacin:
1) Desde la Database Home Page, click en Application Builder.
2) Seleccionar una aplicacin.
3) Sobre la lista de tareas a la derecha de la pgina, click en Manage Page Locks.
4) Seleccione la pgina apropiada y click en Lock Checked.
5) Ingrese un comentario en el campo de comentarios.
6) Click en Lock Page.
Locking a Page from the Pages List
Para lockear una pgina desde la Lista de Pginas:
1) Desde la Database Home Page, click sobre App.Builder.
2) Seleccionar una aplicacin..
3) Desde la lista View, seleccionar Details y click en Go.
4) En la lista de pginas, localizar la pgina deseada y click en el icono Lock.
5) Ingresar un comentario.
6) Click en Lock Pages.
Locking a Page from the Page Definition.
-39-

Application Express User's Guide

Building an Application

Para lockear una pgina desde la pgina de definicin de la aplicacin:


1) Navegar a la pgina de definicin de la aplicacin.
2) Click en el icono Lock, en la esquina superior derecha, encima de Shared
Components.
3) Seleccionar las pginas deseadas y click en Lock Checked.
4) Ingresar un comentario.
5) Click en Lock Pages.
Unlocking Pages
Solo el desarrollador que lockeo una pgina puede deslockearla. Sin embargo, un
desarrollador con privilegios administrativos puede deslockear pginas lockeadas por otros
desarrolladores.
Los pasos para deslockear pginas es similar que para el lockeo descrito ms arriba.
Accessing Alternative Locked Pages Views.
Se puede acceder un cierto nmero de diferentes vistas de pginas lockeadas. Para ello:
1) Desde la Database Home Page, click en app.builder.
2) Seleccionar una aplicacin.
3) Desde la lista de tareas, a la derecha de la pg., click en Manage Page Locks.
4) Desde la lista de tareas, click en uno de los siguientes:
a. Show Locked Pages: Lo cual displaya solo pginas lockeadas dentro de la
actual aplicacin.
b. Show all pages.: Displaya todas las pginas de la aplicacin.
c. Show Unlocked Pages: Displaya solo las pginas desloqueadas de la actual
aplicacin.
d. Administer Locks: Permite a un administrador deslokear cualquier pgina
lockeada por un desarrollador.
Deleting a Page
Se puede deletear una pgina desde la Page Definition mientras se estn editando los
atributos de la pginas.
Deleting a Page from the Page Definition.
Para deletear una pgina desde la Page Definition hacerlo desde la barra de navegacin al
tope de dicha pgina, con un click en Delete.
Deleting a Page while editing page attributes.
Para deletear una pgina mientras se editan los atributos de pginas, en la page definition,
click en Edit Attributes, Click en edit Standard Attributes y click en Delete.

-40-

Application Express User's Guide

Building an Application

Creating Reports
En Oracle Application Express, un reporte es el resultado de una consulta Sql query
formateada. Se pueden generar reportes mediante la seleccin y ejecucin del constructor
de consultas, mediante la definicin de una regin en el reporte basada en una consulta
sql.
Temas.

Creating a Report Using a Wizard


Editing Report Attributes

Controlling Report Pagination

Enabling Column Sorting

Adding a CSV Link to a Report

Exporting a Report as an XML File or a CSV File

Creating a Column Link

Defining an Updatable Column

Defining a Column as a List of Values

Controlling When Columns Display

Controlling Column Breaks

Creating a Report Using a Wizard


Application Builder incluye un cierto nmero de wizards para construir reportes. Para crear
un reporte utilizando un wizard:
1) Desde la Database Home Page, click en App. Builder.
2) Seleccionar la aplicacin.
3) Click en Create Page.
4) Seleccionar Report
5) Seleccionar uno de los siguientes tipos de report:
a. Wizard Report : No requiere conocimientos sobre SQL. Selecciona el
esquema, tabla, columna y resultados a mostrar.
b. SQL Report : Crea un reporte basado sobre una sentencia Sql Select una
funcin Pl/sql que retorna una sentencia sql select.
6) Continuar con las instrucciones de pantalla.
Editing Report Attributes
Se pueden utilizar los atributos del report y de las columnas de las pginas para controlar
precisamente la definicin de la pgina del report. Por ejemplo se pueden usar estos
atributos para alterar los encabezamientos de columna, la posicin, si es oculta, bien para
crear una columna que es una suma para seleccionar la secuencia de ordenamiento.
Desde la Page Definition, se puede acceder a los atributos de la pgina report con un click
en Report RPT, adyacente a la region report que tu quieres editar. Report indica al reporte
-41-

Application Express User's Guide

Building an Application

que es un report regular y RPT indica que es generado por wizard. Se puede navegar
tambin a los atributos del report (a la pgina de atributos) haciendo click en el nombre de la
regin y luego seleccionando el tab Report Attributes.
Para acceder a la pgina de atributos del report:
1) Desde la Database Home Page, click en Application Builder.
2) Seleccionar la aplicacin.
3) Seleccionar la pgina. Aparece la pgina de definicin.
4) Debajo de la Regions, hacer click en Report cerca del nombre de la regin que se
desea editar. Con lo cual aparece la pagina de Atributos del Report.

El tipo de encabezamiento identifica como fue generado el encabezamiento del report.


Utilice la seccin de atributos de columna para controlar la apariencia y funcionalidad de
cada columna. El link de cada columna indica si una columna tiene actualmente definido un
enlace. El Edit de cada columna indica si es o no updateable una columna.
Table: Common Report Column Edits Describe las ediciones ms comunes para las
columnas de los reportes.
Descripcin
Modificar la secuencia de ordenacin
de una columna
Modificar alineacin del
encabezamiento
Modificar el encabezamiento de la
columna
Control sobre las columnas a
displayar.

Accin a desarrollar.
Click sobre las flechas arriba / abajo.

Habilitar una nica secuencia de


ordenacin.

Click en Sort y seleccionar un numero de secuencia


desde Sort Sequence. Se debe elegir al menos una
columna de ordenacin (pueden ser varias).
Click en Sum para habilitar la suma de la columna.

Habilitar una columna de totales

Under Column Alignment, seleccionar una nueva


alineacin de columna.
Under Heading, ingrese el nuevo texto que
corresponde a la columna.
Click en Show para indicar que una columna debe
ser displayada.

Se puede adems refinar los atributos especficos de una columna.


-42-

Application Express User's Guide

Building an Application

5) Para acceder a los atributos de la columna, click en el icono Edit adyacente al alias
de la columna. Ver tambin la ayuda on line para ms informacin sobre un atributo
especfico de la columna.
Controlling Report Pagination
Se puede controlar la paginacin del reporte mediante:
o Inclusin del string de sustitucin de paginacin en el template del report.
o Hacer la seleccin, del atributo Layout y Paginacin, desde los atributos del report.
Se puede controlar como mostrar la paginacin seleccionando desde el atributo Layout y
Paginacin. Para acceder a esta seccin:
1) Crear un reporte.
2) Debajo de la Regions, click sobre el enlace de atributo (Report RPT). Con lo
cual aparecer la pgina de atributos del report.
3) Bajar con scroll down hasta Layout y Paginacin.
Se usan los atributos de Layout y Paginacin para seleccionar el estilo de paginacin,
determinar donde se displaya la paginacin y especifica el nmero de filas que displayar
sobre cada pgina. La tabla siguiente describe los atributos ms comunes utilizados en
Table: Layout and Pagination Attributes
Atributo
Report
Templeate
Pagination
Scheme
Display
Possition
Number of
Rows
Strip HTML

Descripcin
Especifica el template que se aplicar a este report. Los template (de
reportes) proveen control sobre la salida de los resultados de una consulta
sql. Se pueden seleccionar desde algunos template por default seleccionar
un templete customizado.
Especifica el esquema de paginacin para este reporte. Provee al usuario
informacin sobre el nmero de filas y posicin dentro del conjunto
resultante. Tambin define el estilo de los enlaces botones usados para
navegar a la pgina siguiente y previa.
Define donde se displaya la paginacin. Si se elige displayar la paginacin
sobre el reporte, se requiere que el template, del reporte, soporte el tipo de
display.
Define el nmero mximo de filas a displayar por cada pgina.
Especifica si se remueve, no, los tags HTML desde las columnas que
tengan expresiones HTML y columnas con links.
Si se seleccionan datos de la base de datos que contienen tags HTML,
pueden causar conflictos con el HTML generado por los enlaces de
columnas con las expresiones HTML. Cuando esta opcin esta habilitada,
solo se utiliza la porcin de datos de la columna como valor ( no se utiliza el
enlace ).

Including Pagination After the Rows in a Report


Para incluir paginacin despus de las filas en un reporte.
1) Crear un reporte.
2) Navegar a la pgina de atributos del reporte.
3) En Layout and Pagination, seleccionar lo siguiente:
a. Report Template Selecciona un templete de reporte (opcional).
b. Pagination Scheme Selecciona un esquema de paginacin.
c. Display Position Selecciona una posicin.
d. Number of Rows Selecciona cuantas filas mostrar en cada pgina.
-43-

Application Express User's Guide

Building an Application

e. Click en Apply Changes.


4) Editar el templete del reporte:
a. Navegar a la definicin de pgina del reporte.
b. En templates, seleccionar el nombre del template.
c. Incluir el string de sustitucin #PAGINATION# en el atributo After Rows.
d. Click en Apply Changes.
5) Ejecutar la pgina.
Including Pagination Before the Rows in a Report
Para incluir paginacin antes de las filas en un reporte:
1) Crear un reporte.
2) Navegar a la pgina de atributos del reporte.
3) En Layout and Pagination, seleccionar lo siguiente:
a. Report Template Selecciona un templete de reporte (opcional).
b. Pagination Scheme Selecciona un esquema de paginacin.
c. Display Position Selecciona una posicin que contiene el word top.
d. Number of Rows Selecciona cuantas filas mostrar en cada pgina.
e. Click en Apply Changes.
4) Editar el templete del reporte:
f. Navegar a la definicin de pgina del reporte.
g. En templates, seleccionar el nombre del template.
h. Incluir el string de sustitucin #TOP_PAGINATION# en el atributo Before Rows.
i. Click en Apply Changes.
5) Ejecutar la pgina.
Enabling Column Sorting (ordenar por columna)
Para habilitar la ordenacin por columna:
1) Navegar a la pgina de atributos del report. "Editing Report Attributes".
2) En los atributos de columna, seleccionar el check box de Sort adyacente a cada
columna por la cual se desea ordenar.
3) Desde Sort Sequence (secuencia de ordenacin), seleccionar un nmero de
secuencia. Sort Sequence es opcional. Sin embargo, si se ordena por una o ms
columnas, al menos una de las columnas necesita tener definido el Sort Sequence.
4) Hace scroll hacia abajo a Sorting.
5) Especificar si es orden ascendente descendente click en set defaults.
Adding a CSV Link to a Report ( Agregar enlace para exportar el reporte )
Se puede crear un enlace, dentro del reporte, que permita al usuario final, exportar el reporte
generado a un archivo con formato delimitado por comas (.csv). Para agregar dicho tipo de
enlace es necesario habilitar la opcin de salida CSV (CSV output option). Cuando se usa la
opcin de salida CSV, el template del reporte no tiene trascendencia (ya que no sirve para
formatear un archivo delimitado por comas). Se puede incluir un enlace CSV con cualquier
template de report que tenga definido el string de sustitucin CSV export.
Vase tambin: "Automatic CSV Encoding"
Enabling the CSV Output Option ( Habilitar la opcin de salida CSV )
Para habilitar la opcin de salida CSV:
1) Navegar a los atributos de la pgina del reporte.
2) Bajar con scroll hasta Report Export.
-44-

Application Express User's Guide

Building an Application

3) En Enable CSV output, seleccionar Yes.


4) (Opcionalmente) En el separador de campos (Separator and Enclosed By fields),
definir el separador y delimitador. Por default los delimitadores de string son los () y
los campos por comas punto y coma dependiendo de la configuracin NLS.
5) En el campo etiqueta del link (Link Label) se debe ingresar un texto. Este texto se
mostrar en el reporte y permitir al usuario invocar un download.
6) (Opcionalmente) Para especificar un nombre por default para el archivo exportado,
ingresar un nombre de archivo en campo Filename. Por default, el motor del
Application Express crea un nombre para el archivo exportado tomando el nombre de
la regin y dndole extensin (.csv .xml ).
7) Click en Apply Changes.
Exporting a Report as an XML File or a CSV File
Se puede exportar un reporte como un archivo XML indicndolo en el template del report.
Para exportar un reporte como un archivo:
1) Navegar a la pgina de atributos del reporte. "Editing Report Attributes".
2) Bajar hasta el atributo Layout and Pagination.
3) En la lista de Report Template, seleccionar export: XML export: CSV.
Seleccionando export: xml, le indica al motor del application express que no construya
la pgina del reporte y que vuelque el contenido a un archivo XML.
4) Click en Apply Changes.
Creating a Column Link ( Crear una columna de enlace )
Utilice el atributo Column Link para crear un enlace desde un reporte a otra pgina dentro de
la aplicacin bien a una URL.
Para crear una columna de enlace a otra pgina:
1) Navegar a la pgina de atributos del report. "Editing Report Attributes".
2) En el atributo Report Column localizar la columna que tendr el enlace.
3) Click en el icono Edit adyacente al nombre de la columna. Aparecer la pgina de
atributos de la columna.
4) Seleccionar Column Link
5) Para crear un enlace a otra pgina:
a. En Target, seleccionar Page in this Application.
b. (Opcionalmente) En los atributos del link, especificar atributos adicionales en el
link que sern incluidos en el tag <a href= > (por ejemplo, un link, clase
estilo).
c. En Link Text, ingresar el texto imagen que se desea mostrar como link (se
puede seleccionar alguna de las imgenes por default).
d. En Page, especificar el ID de la pgina destino. Para resetear la paginacin de
esta pgina, seleccionar Reset Pagination.
e. En Request, se especifica la solicitud que se utilizar.
f. En Clear Cache, se especifica las pginas (es decir los ID de pginas) sobre
las cuales se limpia la cache. Se puede especificar varias pginas listando los
ID separados por comas.
g. En Name y Value especificar el valor de un item especfico.
6) Click en Apply Changes.
Para crear una columna con enlace a una URL:
1) Navegar a la pgina de atributos del report. "Editing Report Attributes".
-45-

Application Express User's Guide

Building an Application

2) Acceder al atributos de una columna con click en Edit (junto a la columna). Aparecer
la pgina de atributos de la columna seleccionada.
3) Bajar a Column Link.
4) En Column Link, ejecutar la siguiente seleccin:
a. En Target Type, seleccionar URL
b. En Link Text, ingresar el texto a mostrar como enlace y seleccionar un string de
sustitucin.
c. (Opcional). En Link Attributes, especificar los atributos adicionales del link que
sern incluidos en el tag <a href= > (por ejemplo, un link, clase estilo).
d. En URL, ingrese la direccin URL a la cual se desea navegar.
5) Click en Apply Changes.
Defining an Updatable Column
Se puede hacer que una columna sea de actualizacin editando los atributos Tabular Form
Element bien editando la pgina de los atributos de una columna del report. Tenga en
cuenta que el motor del Application Express solo puede ejecutar los update sobre la tabla si:
o Se define un update de mltiples filas.
o Se implementa un pl/sql que ejecuta la actualizacin de los datos.
o Cuando usa la built-in del item que se muestra, se debe definir que el report utilice el
tipo SQL Query (updatetable report).
Para definir columnas actualizables:
1) Navegar a la pgina de atributos del report. "Editing Report Attributes".
2) Acceder a la pgina de atributos de la columna con un click en el icono Edit,
adyacente a la columna en cuestin. Se muestra la pgina de atributos de la columna
seleccionada.
3) Bajar a Tabular Form Element.
4) En Tabular Form Element, hacer la siguiente seleccin.
a. Display As Seleccionar un tipo de columna actualizable. Utilice esta opcin
para que una columna sea actualizable. La actualizacin solo podr ser
ejecutada si se define un multirow update, si se implementa un proceso pl/sql
que actualice los datos.
b. Date Picker Format Mask Seleccionar una mscara si en la opcin anterior
(Display As) se eligi Date Picker.
c. Element Width Especificar el ancho del item.
d. Number of Rows Especificar la altura del item del formulario (solo es
aplicable en reas de texto).
e. Element Attributes Especificar si es un item radio group o un check box.
f. Element Option Attributes Define un estilo atributo (de elemento de form)
standard
g. Primary Key Source Type Identifica el tipo por default.
h. Primary Key Source Identifica el fuente por default.
i. Si la columna es parte de la primary key definida en un proceso MRU
(multi row update), solo aparece la Primary Key Source Type y la
Primary Key Source.
ii. En otros casos aparece Default y Default Type. Utilice Default y Default
Type para establecer una relacin entre dos registros masters en un
formulario master detail, seleccione los valores por default para las
nuevas filas.
-46-

Application Express User's Guide

Building an Application

i. Reference Table Owner Identifica al propietario de las tablas referenciadas.


Use este atributo para construir la interface por default para el usuario del
report.
j. Reference Table Name Identifica la tabla vista que contiene la columna del
reporte.
k. Reference Column Name Identifica el nombre de la columna a la que se hace
referencia .
5) Click en Apply Changes.
Defining a Column as a List of Values (Columna tipo lista de valores)
Las columnas de los reportes pueden ser mostradas como listas de valores. Por ejemplo,
una columna puede ser mostrada como una lista de seleccin una lista popup de valores.
O bien, una columna puede ser mostrada como un texto read-only basado en una lista de
valores.
Esta ltima metodologa es una estrategia efectiva cuando se muestra una lookup y es
particularmente til en reportes, no-actualizables, comunes. Esta metodologa permite
displayar los valores de una columna sin tener que escribir la sentencia sql join.
Para mostrar una columna de reporte como lista de valores:
1) Navegar a la pgina de atributos del reporte.
2) Acceder a la pgina de atributos de la columna con un clic en el Edit adyacente a la
columna seleccionada. Aparece la pgina de los atributos de la columna.
3) Bajar hasta List of Values.
4) En Named LOV, hacer una seleccin desde el repositorio de lista de valores.
5) Para incluir un valor nulo en una lista de valores.
a. En Display Null, seleccionar yes.
b. En Null Text, especificar el valor a displayar. Una columna puede tambin tener
un valor que no se muestra en la lista de valores.
6) Para definir un valor que no se muestra en la lista de valores:
a. En Display Extra Value, seleccionar Yes. El valor extra se usa si la columna
actual no es parte de la LOV. En esta situacin, el valor actual es mostrado.
Sino se displayan valores extras, podra quedar con un valor errneo y producir
una actualizacin
b. En Null Value, especificar el valor a displayar.
c. Si no se ha seleccionado un Named LOV, ingrese la consulta sql necesaria
para displayar la lista en el campo de la LOV Query.
7) Si no se ha seleccionado un Named LOV, ingrese la consulta sql necesaria para
displayar la lista en el campo de la LOV Query.
8) Clic en Apply Changes.
Vase tambin: Creating Lists of Values"
Controlling When Columns Display
Se pueden utilizar los atributos de columna Authorization y Condition para controlar cuando
se muestra una columna.
Authorization permite controlar el acceso a la columna del reporte basado en una condicin
predefinida. La condicin se evalua a verdadero falso segn la expresin ingresada en
Expressions.
Para especificar los atributos Authorization y Condition:
-47-

Application Express User's Guide

Building an Application

1) Navegar a la pgina de atributos del reporte. "Editing Report Attributes".


2) Acceder a la pgina de atributos de la columna con clic en el icono Edit adyacente a
la columna seleccionada.
3) En Authorization, seleccionar desde la lista de Authorization Scheme.
4) En Conditions, seleccionar desde la lista de Condition Type, y dependiendo de la
seleccin realizada, ingresar la expresin correspondiente en el campo Expression.
Si la autorizacin es exitosa y la condicin es verdadera se muestra la columna.
Vase tambin:

"Providing Security Through Authorization"


"Understanding Conditional Rendering and Processing"

Available Conditions

Controlling Column Breaks ( Cortes de Control )


Se puede controlar la impresin en los cortes de control por columna utilizando el atributo
Break Formatting. Por ejemplo, supngase que el reporte muestra informacin del nmero
de empleados por departamento. Si varios empleados son miembros de un departamento,
se puede mejorar la presentacin especificando un corte de control por departamento a fin
de que aparezca impreso solo una vez el nmero de departamento.
Para crear este tipo de corte de control:
1) Navegar a la pgina de atributos del report.
2) Bajar a Break Formatting.
3) Seleccionar los cortes desde la lista Breaks.

-48-

Application Express User's Guide

Building an Application

Creating Forms
Se pueden incluir varios tipos de forms en las aplicaciones. Se pueden incluir forms que
permitan al usuario actualizar una sola fila de una tabla varias filas de una tabla.
Application Builder incluye un wizard que permite crear formularios automticamente bien
se pueden crear formularios manualmente.
Temas:

Creating a Form Using a Wizard


Creating a Tabular Form

Building a Master Detail Form

Creating a Form Manually

Validating User Input in Forms

Creating a Form Using a Wizard


La forma ms fcil de crear un formulario es usando el wizard. Por ejemplo, el wizard crea
un formulario con un item por columna de la tabla vista. Tambin incluye la creacin de los
botones necesarios y los proceso requeridos para insertar, actualizar, y deletear filas desde
la tabla utilizando la clave primaria de la misma. Cada regin tiene definido un nombre y una
posicin, todos los otros atributos son items, botones, procesos y bifurcaciones.
Para crear un form utilizando el wizard:
1) Desde la Database Home Page, clic en el icono del Application Builder.
2) Seleccionar una aplicacin.
3) Clic en Create Page.
4) Seleccionar Form.
5) En Forms, seleccionar un tipo de form de los descriptos en:
Table: Forms Page Types.
Form Page Type
Form on a Procedure

Description
Crea un form basado sobre los argumentos de un procedimiento
almacenado. Utilizar este mtodo cuando se tiene implementada la lgica
la manipulacin de datos (data manipulation language) en un
procedimientos almacenados paquetes.
Form on a SQL Query
Crea un form basado sobre las columnas retornadas por una consulta Sql
tal como un EQUIJOIN.
Form on a Table or View Crea un form que permite al usuario actualizar una sola fila en una tabla de
la base de datos.
Form on a Table with
Crea dos pginas. Una pgina muestra un report. Cada fila provee un
Report
enlace a la segunda pgina que permite al usuario actualizar cada registro.
Nota: Este wizard soporta hasta 127 columnas.
Form on Web Service
Crea una pgina con items basado sobre la definicin de un Web service.
Este wizard crea un formulario de input del usuario, un proceso que llama
al servicio Web y un botn que submite. Ver tambin: "Creating a Form

on a Web Service"
Form and Report
Web Service

on Crea una pgina con items basados sobre la definicin de un servicio


Web. Este wizard crea un formulario de input de usuario, un proceso que
llama al servicio Web, un botn que submite, y displaya el resultado
obtenido en un reporte. Ver tambin:"Creating an Input Form and

-49-

Application Express User's Guide

Building an Application

Report on a Web Service"


Master Detalil Form

Summary Page
Tabular Form

Crea un form que displaya una relacin master-detail dentro de un solo


formulario HTML. Con este form, los usuario s pueden consultar, insertar,
actualizar, y deletear valores de dos tablas vistas relacionadas como
master-detail. Ver tambin: "Building a Master Detail Form"
Crea una versin read-only de un formulario. Se usa, generalmente, para
proveer una pgina de confirmacin, al final del wizard.
Crea un formulario en el cual los usuarios pueden actualizar mltiples filas
en una tabla. Ver tambin:"Creating a Tabular Form"

6) Continuar con las instrucciones dadas en pantalla.


Creating a Tabular Form
Un formulario tabular permite a los usuarios actualizar varias filas de una tabla. El wizard
crea un form para ejecutar operaciones de insert, update delete sobre varias filas de una
tabla de la base de datos.
Para crear un form tabular:
1) Desde la Database Home Page, click en Application Builder.
2) Seleccionar una aplicacin.
3) Click en Create Page
4) Seleccionar Form
5) Seleccionar Tabular Form . Aparecer la pgina del wizard correspondiente.
6) En Identify Table/View Owner:
o Especificar el esquema de la tabla o vista sobre la cual se basa el form.
o Seleccionar las operaciones que se desea ejecutar sobre la tabla (por ejemplo:
Update, Insert y Delete).
7) En Identify Table/View Name, seleccionar una tabla.
8) En Identify Columns to Display:
o Especificar si utiliza la interfase de usuario por default. Seleccionar Yes No.
Habilitar la interfase de usuario por default permite asignar las propiedades por
default a una tabla, columna vista en un esquema especfico.
o Seleccionar las columnas (actualizables y no actualizables) que incluye el form.
Se puede modificar el orden de las columnas la consulta SQL despus de
crear la pgina del formulario.
9) En Identify Primary key, seleccionar la columna PK y una columna PK secundaria (si
corresponde).
10)En Defaults for Primary and Foreign Keys, seleccionar el tipo de origen de la columna
de la primary key. Las orgenes posibles para generar las primary key son:
o Existing trigger Seleccionar esta opcin si hay un trigger definido en la
tabla. Se puede tambin seleccionar esta opcin si se tiene pensado en
especificar la fuente de la columna primary key, mas tarde, despus de crear el
formulario.
o Custom PL/SQL function Seleccionar esta opcin si se desea proveer una
funcin pls/sql que retorne el valor de la primary key.
o Existing sequence Seleccionar esta opcin si se desea seleccionar una
secuencia desde la lista de secuencias disponibles en el esquema.
11) En Updatable Columns, seleccionar que columnas deberan ser de actualizacin.
12)En Identify Page and Region Attributes.
o Especificar la informacin de pagina y de regin.
o Seleccionar un template para la regin.
-50-

Application Express User's Guide

Building an Application

o Seleccionar un template para el report.


13)En Identify Tab, especificar un tab de implementacin para esta pgina.
14)En button Labels, ingresar el texto a mostrar en cada botn.
15)En Identify Branching, especificar las pginas a bifurcar despus de hacer click en los
botones Submit y Cancel.
16)Click en Finish.
Nota: No modificar la lista de campos de la select despus de que se ha generado el form
tabular. Haciendo esto se puede causar un error de checksum cuando se alteran los datos
en el formulario.
Ver tambin:"Managing User Interface Defaults"
Building a Master Detail Form
Un formulario master detail refleja una relacin uno a muchos entre dos tablas del esquema
de la base de datos. Tpicamente, un form master detail muestra una fila de la tabla master y
mltiples filas de la tabla detail dentro de un nico form HTML. Con este form, los usuarios
pueden insertar, actualizar y deletear registros desde dos tablas vistas.
Para crear un form master detail:
1. Desde la Database Home Page, click en Application Builder.
2. Seleccionar una aplicacin.
3. Click en Create Page.
4. Seleccionar Form
5. Seleccionar Master Detail Form. Aparecer el wizard correspondiente.
6. En Define Master Table:
a. Seleccionar el esquema de la tabla vista.
b. Seleccionar el nombre de la tabla vista.
c. Seleccionar las columnas a mostrar.
7. En Define Detail Table:
a. Especificar mostrar solo tablas relacionadas.
b. Seleccionar el esquema de la tabla vista.
c. Seleccionar el nombre de la tabla vista.
d. Seleccionar las columnas a mostrar.
8. En Define Primary Key, seleccionar la columna de la primary key de la tabla master y
luego seleccionar la columna de la primary key de la tabla detail.
9. En Define Master and Detail, definir las relaciones entre las tablas master y detail.
10. Especificar el origen de las columnas primary key de la tabla master y de la tabla
detail.
11. En Define Master Options, especificar si se incluye master row navigation. Si se
incluye master row navigation, hay que definir el orden de las columnas. Sino se
define navigation order column, el form de actualizacin master navega por la
columna de la primary key.
12. En Choose Layout, especificar el layout de la pgina master detail. Se puede incluir el
master detail como un form tabular sobre la misma pgina, desplegar el master
detail como pginas separadas.
13. En Page Attributes, revisar y editar la informacin de la pgina master detail.
14. En Identify Tabs, especificar si se incluye opcionalmente un tab set.
15. Click en Create.
Creating a Form Manually
-51-

Application Express User's Guide

Building an Application

Se puede tambin crear un form manualmente ejecutando los siguientes pasos.


o Crear una regin HTML (sirve como contenedor de los items de pgina).
o Crear los items a mostrar en la regin.
o Crear los proceso y bifurcaciones.
Para crear un form manualmente mediante la creacin de una regin HTML:
1. Navegar a la correspondiente Page Definition:
Navegar a la Database Home Page.
Click en Application Builder.
Seleccionar una aplicacin.
Seleccionar una pgina. Aparecer la definicin de pgina.
2. Crear una regin HTML.
En Regions, click en el icono Create.
Seleccionar el tipo de regin HTML.
Seguir las instrucciones del wizard.
3. Agregar items a la pgina:
En Items, click en el icono Create.
Seguir las instrucciones del wizard.
Processing a Form
Una vez creado el form, el prximo paso es procesar los datos de datos insertando
actualizando las tablas vistas subyacentes en la base de datos. Hay tres formas para
procesar un form:

Creating an Automatic Row (DML) Processing Process


Creating a Process that Contains One or More Insert Statements

Using a PL/SQL API to Process Form Values

Creating an Automatic Row (DML) Processing Process


Una forma comn de implementar un form es creando manualmente un proceso Automatic
Row Processing (DML). Este mtodo ofrece tres ventajas. Primero, no requiere escribir
cdigo SQL. Segundo, Oracle Application Express ejecuta los procesos DML necesarios.
Terceros, estos procesos. Tercero, estos procesos automticamente ejecuta la deteccin de
prdidas de actualizacin (lost update detection). La deteccin de prdidas de actualizacin
asegura la integridad de datos de la aplicacin donde los datos pueden ser accedidos
concurrentemente.
Para implementar esta metodologa :
o Add items, define el tipo de fuente del item a partir como una columna de base de
datos, y especifica un nombre de columna case-sensitive.
o Seleccionar la opcin Always overrides the cache value. (Reescribir siempre el
valor cacheado).
Para crear un proceso Automatic Row Processing (DML):
1. Navegar a la correspondiente Page Definition:
a. Navegar a la Database Home Page.
b. Click en el cono Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la definicin de la pgina.
2. En Processes, click en el icono Create.
3. Seleccionar el proceso Data Manipulation.
-52-

Application Express User's Guide

Building an Application

4. Seleccionar la categora de procesos Automatic Row Processing (DML).


5. Especificar los siguientes atributos del proceso:
a. En el campo Name, ingresar el nombre para identificar el proceso.
b. En el campo Sequence, especificar un nmero de secuencia.
c. En la lista Point, seleccionar el punto de inicio del proceso. En la mayora de
los casos corresponde seleccionar, select Onload After Header.
d. En la lista Type, seleccionar Automatic Row Processing (DML).
6. Continuar las instrucciones dadas por el wizard en pantalla.
Creating a Process that contains One or More Insert Statements
En este mtodo de manejo del form, se crea uno ms procesos para gestionar las
acciones de insert, update, y delete. En vez de dejar que motor del Application Express lo
maneje en forma transparente, el desarrollador asume el control completo.
Por ejemplo, supngase que se tiene un form con tres items:
P1_ID Un item oculto que guarda la primary key de la fila que se muestra
actualmente, de una tabla.
P1_FIRST_NAME Un campo item de texto para entrada de datos del usuario.
P1_LAST_NAME Un campo item de texto para entrada de datos del usuario.
Supongamos tambin que hay tres botones etiquetados Insert, Update, y Delete. Tambin
asumimos que se cuenta con una tabla T que contiene las columnas id, first_name and
last_name. La tabla tiene un trigger que automticamente completa la columna ID cuando no
se provee un valor para la misma.
Para procesar el insert de una nueva fila, se crea un proceso condicional de tipo PL/SQL que
se ejecuta cuando el usuario hace click en el botn Insert. Por ejemplo:
BEGIN
INSERT INTO T ( first_name, last_name )
VALUES (:P1_FIRST_NAME, :P1_LAST_NAME);
END;
Para procesar el update de una fila, se crea otro proceso condicional del tipo pl/sql. Por
ejemplo:
BEGIN
UPDATE T
SET first_name = :P1_FIRST_NAME,
last_name = :P1_LAST_NAME
WHERE ID = :P1_ID;
END;
Para procesar el delete de una fila, se crea otro proceso condicional que se ejecuta con el
click del botn correspondiente. Por Ejemplo:
BEGIN
DELETE FROM T
WHERE ID = :P1_ID;
END;
Using a PL/SQL API to Process Form Values
Para cierto tipo de aplicaciones, es apropiado centralizar todos los accesos a las tablas en
un solo ( en unos pocos) paquetes PL/SQL. Si se crea un paquete para manejar las
-53-

Application Express User's Guide

Building an Application

operaciones DML, se puede llamar a los procedimientos y funciones dentro de dicho


paquete desde un proceso PL/SQL After Submit para procesar los insert, update y delete.
Populating Forms
Oracle Application Express llena un form al cargarlo, cuando el motor del App.Express
levanta la pgina. Un form se puede llenar de las siguientes formas:
1. Creando un proceso y definirlo como Automated Row Fetch
2. Llenar el form manualmente por referencia un item oculto de estado de sesin.
Para crear un proceso Automated Row Fech:
1. Navegar a la correspondiente Page Definition:
a. Navegar a la Database Home Page.
b. Click en Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparecer la definicin de la pgina.
2. En Processes, click en Create.
3. Seleccionar el tipo de proceso Data Manipulation.
4. Seleccionar la categora de proceso Automatic Row Fetch.
5. Especificar los siguientes atributos de proceso:
a. En el campo Name, ingresar un nombre que identifique el proceso.
b. En el campo Sequence, especificar un nmero de secuencia.
c. En la lista Point, seleccionar el correspondiente punto de proceso.
d. En la lista Type, seleccionar Automated Row Fetch.
6. Seguir las instrucciones del wizard.
Tambin se puede llenar un form manualmente por referenciar un sesin state item oculto.
Por ejemplo, el siguiente cdigo en un proceso de tipo pl/sql, en Oracle Application Express,
debera setear los valores de ename y sal. El ejemplo tambin demuestra como llenar
manualmente un form referenciando un session state item denominado P2_ID
FOR C1 in (SELECT ename, sal
FROM emp WHERE ID=:P2_ID)
LOOP
:P2_ENAME := C1.ename;
:P2_SAL := C1.sal;
END LOOP;
En este ejemplo:
C1 es un cursor implcito.
El valor de P2_ID ya haba sido seteado.
El process point para este proceso debera ser seteado para ejecutar (o disparar) en
Onload Before Regions.
Validating User Input in Forms
Se pueden utilizar validaciones para chequear los datos ingresados por los usuarios antes
de procesarlos. Una vez que se crea una validacin y el mensaje de error asociado, se
puede asociar la validacin a un item especfico. Se puede seleccionar que la validacin
muestre el mensaje de error asociado en lnea (es decir en la misma pgina donde se
ejecuta la validacin) o en una pgina de error separada.
La creacin de un mensaje de error en lnea involucra los siguientes pasos:
-54-

Application Express User's Guide

Building an Application

Crear una nueva validacin y un mensaje de error de texto especfico.


Asociar la validacin con un item especfico.

Creating a Validation
Para crear una nueva validacin:
1. Navegar a la correspondiente Page Definition:
a. Navegar a la Database Home Page.
b. Click en Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparecer la definicin de la pgina.
2. En Validations, click en el icono Create.
3. Cuando aparece el wizard de Create Validations, continuar con las instrucciones del
mismo en pantalla.
a. Item. Estas validaciones arrancan con el trmino Item y provee los chequeos
ms comunes que podras querer ejecutar sobre el item con el cual la
validacin se asocia.
b. Code. Estas validaciones requiere que se provea cdigo pl/sql una consulta
Sql que defina la lgica de la validacin. Utilice este tipo de validacin para
ejecutar validaciones especficas (customizadas) que requieran verificar
valores de ms de un item o acceder a tablas adicionales de la base de datos.
4. Continuar con las instrucciones del wizard.
Nota: Las validaciones no pueden contener ms de 3.950 caracteres.
Associating a Validation with a Specific Item
Para asociar un item con una validacin y su mensaje de error:
1. Navegar a la correspondiente Page Definition:
a. Navegar a la Database Home Page.
b. Click en Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparecer la definicin de la pgina.
2. En Validations, seleccionar el item de validacin que se quiere asociar. Aparecer la
pgina de atributos para la validacin.
3. Bajar al Error Message:
En Error message display location, verificar la ubicacin donde se muestra.
En Associated Item, seleccionar el item que se quiere asociar con esta
validacin.
4. Click en Apply Changes.
About Error Message
Error message display location identifica donde se displaya el mensaje de error. Este
puede ser mostrado en una pgina de error (una pgina aparte) en la misma pgina (Inline
error messages). Inline error messages puede mostrarlo en un rea de notificacin
(definida como parte del page template) dentro del campo indiciado.
Al producir un error grave que detenga el proceso, incluyendo cualquier validacin restante,
se debe mostrar el error sobre una pgina de error (error page).

-55-

Application Express User's Guide

Building an Application

Creating Calendars
Application Builder incluye un wizard para generar un calendario. Una vez que se especifica
la tabla sobre la cual el calendario est basado, se pueden crear enlaces drill-down a la
informacin que se guarda en columnas especficas.
Temas:

About Creating Calendars


Creating a New Calendar

Converting an Easy Calendar to a SQL Calendar

Editing a Calendar Title

Editing Calendar Attributes

About Creating Calendars


Application Builder soporta dos tipos calendarios:
Easy Calendar crea un calendario basado sobre un esquema, tabla y columna
especfico. El wizard solicita que se seleccione una columna tipo date y una columna
de display.
Sql Calendar crea un calendario basado sobre una consulta sql (dada por el
desarrollador). La sentencia SQL SELECT que se escriba debe incluir al menos dos
columnas: una columna tipo date y una columna de display.
Ver tambin: "Calendar Display"
Supported Calendar Substitution Strings
Application Builder soporta varios string de sustitucin de formato date. Se puede ver una
lista completa de los strings de sustitucin soportados sobre la pgina Calendar Templates.
Para ver una lista de los string de sustitucin soportados para calendarios:
1. Navegar al template correspondiente del calendario.
2. Expandir la lista de Substitution Strings a la derecha de la pgina.
Ver tambin: "Viewing Templates"
Creating a New Calendar
Cuando tu creas un calendario depende de si se est agregando un calendario sobre una
pgina existente si se est agregando a una nueva pgina. Cuando se crean calendarios
recordar:
Se pueden solamente crear un calendario por pgina.
La date column determina que das sobre el calendario tendrn entradas.
La display column define una fila especfica que mostrar una fecha (calendario).
Ver tambin: "Editing Calendar Attributes"
Adding a Calendar to an Existing Page
Para agregar un calendario a una pgina existente:
-56-

Application Express User's Guide

Building an Application

1. Navegar a la correspondiente Page Definition.


a. Navegar a la Database Home Page.
b. Click en el cono Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la definicin de la pgina.
2. En Regions, click en el icono Create. Aparecer el wizard de Create Region.
3. Seleccionar Calendar.
4. Seleccionar el tipo de calendario que se desea crear:
a. Easy Calendar crea un calendario basado en una columna fecha y en una
columna display especificada.
b. SQL Calendar crea un calendario basado sobre una consulta SQL que se
debe especificar.
5. Continuar con las instrucciones dadas en pantalla.
Adding a Calendar to a New Page
Para crear un calendario sobre una nueva pgina:
1. Navegar a la Database Home Page.
2. Click en el cono Application Builder.
3. Seleccionar una aplicacin.
4. Click en Create Page.
5. Seleccionar Calendar.
6. Seleccionar el tipo de calendario que se desea crear:
a. Easy Calendar crea un calendario basado en una columna fecha y una
columna display especificada.
b. SQL Calendar crea un calendario basado sobre una consulta SQL dada.
7. Continuar con las instrucciones dadas por el wizard en pantalla.
Converting an Easy Calendar to a SQL Calendar
Crear un Easy Calendar es la forma ms simple de crear un calendario. Sin embargo, si se
resuelve que el calendario resultante no es apropiado, se puede rpidamente convertir este
en un calendario SQL.
Para convertir un Easy Calendar en un SQL Calendar:
1. Navegar a la correspondiente Page Definition.
a. Navegar a la Database Home Page.
b. Click en el cono Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la definicin de pgina.
2. En Regions, click CAL junto al nombre de la regin. Aparecer la pgina de atributos
del calendario.
3. En la lista Tasks, click en Convert to SQL Based calendar. Convirtiendo un Easy
Calendar a un SQL Calendar, agrega una seccin Region Source a la Region
Definition. La Region Source, contiene la consulta SQL original que crea el calendario.
Al tener acceso a la Region Source, se puede editar la consulta para cubrir las
necesidades requeridas.
Editing a Calendar Title
-57-

Application Express User's Guide

Building an Application

El ttulo que aparece al tope del calendario corresponde a la region title.


Para modificar la region title:
1. Navegar a la Page Definition.
2. En Regions, seleccionar el nombre de la regin. Aparece la definicin de la regin.
3. En Region, ingresar un nuevo titulo.
4. Click en Apply Changes.
Editing Calendar Attributes
Una vez que se ha creado el calendario, se puede modificar su apariencia editando sus
atributos.
Temas:

Accessing the Calendar Attributes Page


Calendar Display

Calendar Interval

Column Link

Day Link

Accessing the Calendar Attributes Page


Para acceder a la pgina de atributos del calendario:
1. Navegar a la Page Definition correspondiente:
a. Navegar a la Database Home Page.
b. Click en App. Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la definicin de pgina.
2. En Regions, click en CAL a continuacin del nombre de la regin. Aparecer la
pgina de atributos de calendario. Los temas que siguen se describen en las
secciones especficas de la pgina Calendar Attributes.
Calendar Display
Utilice calendar display para especificar un template para las columnas y el formato general
del calendario.
Calendar Templeate determina que template se utilizar cuando el motor de App. Express
levante un calendario. Date Column define la columna de la tabla consulta que contiene
las fechas que sern ubicadas en el calendario. Display Column define una fila especfica
que displaya sobre un calendario.
Para seleccionar otra Display Column:
1. Navegar a lo correspondiente pgina de atributos del calendario.
2. Localizar la seccin Calendar Display.
3. Para especificar otra display column, seleccionar la columna que corresponda desde
la lista de Display Column.
4. Click en Apply Changes.
Para especificar una Display Column personalizada:
1. Navegar a la correspondiente pgina de atributos del calendario.
-58-

Application Express User's Guide

Building an Application

2. Localizar la seccin Calendar Display.


3. En Display Type, seleccionar Custom.
4. En Column Format, ingresar el formato de columna personalizado. Se puede usar una
expresin HTML y los strings de sustitucin soportados por la aplicacin.
5. Click en Apply Changes.
Ver tambin: "Supported Calendar Substitution Strings"
Calendar Interval
Utilice Calendar Interval para definir las fechas que son incluidas en el calendario.
Begin At Start Of Interval determina el momento en que el calendario debe comenzar.
Seleccionando esta opcin crea un calendario que abarca un intervalo completo (tal como un
mes). Por ejemplo:
Si en Begin at start of interval se selecciona, la fecha 15 de junio, y el display es
mensual, el calendario resultante abarca desde el 1 al 30 de junio.
Si en Begin at start of interval no se selecciona, la fecha 15 de junio, y el display es
mensual, el calendario resultante abarca desde el 15 al 30 de junio.
Date Item contiene la fecha sobre la cual se basa el calendario.
Los dos atributos siguientes define que items contienen el start date y el end date del
calendario. Se pueden usar estos atributos para crear calendarios que abarcan mltiples
meses. Item Containing Start Date apunta a un item que contiene la fecha de inicio del
calendario. Item Containing End Date apunta a un item que contiene la fecha de fin del
calendario. Notar que el formato de la fecha debe ser yyyymmdd.
Start of Week determina el da de la semana en el cual el calendario comienza.
Column Link
Se utiliza para crear una columna de enlace en el calendario.
Para crear una columna de enlace a otra pgina:
1. Navegar a la correspondiente pgina de atributos del calendario.
2. Bajar hasta Column Link.
3. En Target is a, seleccionar Page in this Application.
4. En Page, especificar el ID de la pgina destino. Para resetear la paginacin de esta
pgina, seleccionar reset pagination for this page.
5. En Request, especificar la respuesta que se utilizar.
6. En Clear Cache, especificar las pginas (es decir los ID de las mismas) sobre las
cuales se limpia la cache. Para especificar varias pginas utilizar una lista de ID
separados por comas. Se puede setear el valor en la sesin ( es decir, dar una lista
de valores ) utilizando los dos atributos siguientes: el Set (grupo) de atributos y el With
los valores de estos atributos.
7. Para establecer el estado de la sesin:
a. Set these items Ingresar una lista delimitada por comas de los nombres de
los items para los cuales se debe establecer el estado en la sesin.
b. With these values Ingresar una lista delimitada por comas de los valores de
los items especificados en a. Se puede especificar valores estticos la
sintaxis de sustitucin (por ejemplo, &APP_ITEM_NAME.). Notar que el item
del valor pasado a f?p= en la URL no puede contener ( : ). Por consiguiente,
-59-

Application Express User's Guide

Building an Application

los valores de los items no pueden contener comas al menos que estn entre
barras inclinadas (backslashes) por ejemplo: \1234,56\ ).
8. Click en Apply Changes.
Ver tambien: "Supported Calendar Substitution Strings"
Para crear un enlace de columna a una URL:
1. Navegar a la correspondiente pgina de atributos de calendario.
2. Bajar a Column Link.
3. En Target is a, seleccionar URL.
4. En URL, ingrese la direccin que corresponda.
5. Click en Apply Changes.
Day Link
Utilice Day Link para crear un link sobre un da del calendario. Este atributo crea un link
sobre el da actual sobre el calendario.
Para crear un day link a otra pgina:
1. Navegar a la correspondiente pgina de atributos del calendario.
2. Bajar a Day Link.
3. En Target is a, seleccionar Page in this Application.
4. En Page, especificar el ID de la pgina destino. Para resetear la paginacin de dicha
pgina, seleccionar reset pagination for this page.
5. En Request, especificar la respuesta que se usar.
6. En Clear Cache, especificar las pginas (es decir los ID) en las cuales limpiar la
cache. (Se especifica como una lista de ID separados por comas). Se puede
establecer los valores para la sesin utilizando los atributos Set these items y With
these values.
7. Para establecer los valores de la sesin:
a. Set these items Ingresar una lista de nombres de items separados por comas
sobre los cuales establecer los valores para la sesin.
b. With these values Ingresar una lista de valores, separados por comas, para
los items indicados en a. Tener en cuenta que los valores no pueden comas al
menos que estn entre backslashes (por ejemplo: \1234,56\.
8. Click en Apply Changes.
Para crear un day link a una url:
1. Navegar a la correspondiente pgina de atributos del calendario.
2. Bajar a Day Link.
3. En Target is a, seleccionar url.
4. En url, ingresar la direccin URL que corresponda.
5. Click en Apply Changes.

-60-

Application Express User's Guide

Building an Application

Creating Charts ( Creacin de Grficos ).


El generador de aplicaciones Application Builder incluye wizards para generar HTML y
grficos SVG (Scalable Vector Graphics). Oracle Application Express soporta dos tipos de
grficos:
HTML
SVG
SVG es un lenguaje basado en XML para grficos Web de la W3C (World Wide Web
Consortium. Los grficos SVG se definen utilizando etiquetas Html. Cuando se evalue si los
grficos SVG son apropiados para determinada aplicacin tngase en cuenta que:
Algunos browser no soportan grficos SVG.
La mayora de los browser que soportan SVG requieren realizar download del plug-in
correspondiente.
Temas:

About SVG Plug-in Support


About Creating Charts

Creating a New Chart

Editing Chart Attributes

Understanding Chart Cascading Style Sheet Classes

Referencing a Custom Cascading Style Sheet

Specifying Custom CSS Styles Inline

Enabling Asynchronous Updates

Displaying Charts in Other Languages

About SVG Plug-in Support


El plug-in SVG de Adobe puede gestionar datos codificados en UTF-8, UTF-16, ISO-8859-1,
y US-ASCII. La codificacin de un grfico SVG se determina por el DAD (database access
descriptor) del conjunto de caracteres de la base de datos. Si el conjunto de caracteres del
DAD no es UTF8, AL32UTF8, AL16UTF16, WE8ISO8859P1, o US7ASCII, los grficos SVG
no pueden ser interpretados por el plug-in de Adobe SVG.

About Creating Charts


En el Application Builder, un grfico, se define mediante un wizard. En la mayora de los
wizards grficos, se selecciona un tipo de grfico y se provee una consulta SQL usando la
sintaxis siguiente:
SELECT link, label, value
FROM
...
-61-

Application Express User's Guide

Building an Application

Donde:
link es una URL
label es el texto que se displaya en la barra.
Value es la columna numrica que define el tamao de la barra.
Por ejemplo:
SELECT null, ename, sal
FROM
scott.emp
WHERE deptno = :P101_DEPTNO
Para crear un grfico dial (dial chart), seleccionar un tipo de grfico dial y escribir la consulta
necesaria usando la siguiente sintaxis:
SELECT value , maximum_value [ ,low_value [ ,high_value] ]
FROM
...
Donde:
Value es el punto de comienzo del grfico dial.
Maximum_value es el punto ms alto posible del grfico dial.
Low_value y high_value son los valores histricos mas alto y bajo.
Por ejemplo:
SELECT dbms_random.value(500, 1200), 1300, dbms_random.value(100, 200)
FROM DUAL

Table: Available Chart Types Esta tabla describe los tipos de grficos disponibles en el
generador de aplicaciones Application Builder.
Plug- Tipo de grfico
in
Bar (HTML)
*
*
*

*
*

Descripcin

Grfico de barras que muestra una serie de datos representando


cada punto con una barra.
Bar, Horizontal
Grfico de barras simple basado en series, orientado
horizontalmente con cada punto de la serie representado por una
barra.
Bar, Vertical
Grfico de barras simple basado en series, orientado
verticalmente con cada punto de la serie representado por una
barra.
Cluster
Bar, Grfico de barra mltiple basado en series orientado
Horizontal
horizontalmente y dividido por una variable comn, con cada
punto de la serie representado por una barra. (Por ejemplo, Total
de ventas por departamento dividido por meses del ao).
Cluster
Bar, Grfico de barra mltiple basado en series orientado
Vertical
verticalmente y dividido por una variable comn, con cada punto
de la serie representado por una barra. (Por ejemplo, Total de
ventas por departamento dividido por meses del ao).
Dial Sweep
Tambin conocido como indicador angular: este grfico muestra el
porcentaje del valor mximo y/o el valor absoluto comparado al
valor mximo representado como un rea slida.
Dial
Tambin conocido como indicador angular: este grfico muestra el
porcentaje del valor mximo y/o el valor absoluto comparado al
-62-

Application Express User's Guide

Line

Pie

Stacked
Horizontal

Building an Application

valor mximo representado como una lnea.


Grfico de lneas mltiples basado en series con cada lnea
representando todos los puntos de la serie
Grfico de torta simple basado en series con cada lonja
representando un punto de la serie.
Bar, Grfico de barra mltiple basado en series orientado
horizontalmente donde cada punto en valor absoluto representa
un segmento de una sola barra.
Bar, Idem Stacked Bar, Horizontal, pero en direccin vertical

Stacked
Vertical
*
Stacked
Idem Stacked Bar, Horizontal, pero cada punto es un porcentaje
Percentage Bar, del 100% de la serie representada.
Horizontal
*
Stacked
Idem Stacked Bar, Vertical, pero cada punto es un porcentaje del
Percentage Bar, 100% de la serie representada.
Vertical
* Basado en SVG. (Requiere plug-in).
Basado en HTML (No requiere plug-in).
Nota: No cambie el tipo de grfico de un grfico existente. En vez de ello, borre el grfico
existente y crear nuevamente con el tipo adecuado.

Creating a New Chart


La creacin de grficos depende de si estamos agregando un grfico a una pgina existente
si estamos agregando un grfico a una nueva pgina.
Adding a Chart to an Existing Page
Para agregar un grfico a una pgina existente:
1. Navegar a la Page Definition.
2. En Regions, click en el icono Create. Aparece el wizard de Create Region.
3. Seleccionar Chart
4. Seleccionar el tipo de grfico. Ver tabla: Table: Available Chart Types.
5. Continuar con las instrucciones dadas en pantalla.
Ver tambin: "About Creating Charts"
Adding a Chart to a New Page
Para crear un grfico sobre una nueva pgina:
1. En la Database Home Page, click en App. Builder.
2. Seleccionar una aplicacin.
3. Click en Create Page.
4. Seleccionar Chart.
5. Seleccionar el tipo de grfico. Vase : Table: Available Chart Types.
6. Continuar con las instrucciones de pantalla.
Vase tambin: "About Creating Charts"
Editing Chart Attributes

-63-

Application Express User's Guide

Building an Application

Una vez creado el grfico se puede modificar la forma de mostrarlo editando sus atributos en
la pgina de atributos del grfico.
Para acceder a la pgina de atributos del grfico:
1. Navegar a la Page Definition.
a. Navegar a la Database Home Page.
b. Click en App. Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la definicin de la pgina.
2. En Regions, click en Chart luego del nombre de grfico que se quiere editar. Aparece
la pgina de atributos grficos. Note que removiendo un titulo del grfico (es decir, el
atributo Chart Title podra impactar negativamente en la ubicacin y display de la
forma en que se muestra el grfico.
Understanding Chart Cascading Style Sheet Classes
Cuando se crea un nuevo grfico, Oracle Application Express lo interpreta basndose en la
clase Cascading Style Sheet (CSS) asociada con el contexto actual. Cascading Style Sheet
es una hoja HTML con diferentes estilos que pueden ser cambiados entre si permitiendo
mayor flexibilidad. Se puede cambiar la apariencia de un grfico si se referencia a otro CSS
si se re-escribe una clase en la seccin CSS de la pgina Edit Attributes.
El siguiente ejemplo contiene las clases CSS para el grfico tipo dial en Sample Application.
Este ejemplo contiene todas las clases CSS disponibles. Los nombres de clases aparecen
en negritas.
text{font-family:Verdana, Geneva, Arial, Helvetica, sansserif;fill:#000000;}
tspan{font-family:Verdana, Geneva, Arial, Helvetica, sansserif;fill:#000000;}
text.title{font-weight:bold;font-size:14;fill:#000000;}
text.moredatafound{font-size:12;}
rect.legend{fill:#EEEEEE;stroke:#000000;stroke-width:1;}
text.legend{font-size:10;}
#background{fill:#FFFFFF;stroke:none;}
rect.chartholderbackground{fill:#ffffff;stroke:#000000;strokewidth:1;}
#timestamp{text-anchor:start;font-size:9;}
text.tic{stroke:none;fill:#000000;font-size:12}
line.tic{stroke:#000000;stroke-width:1px;fill:none;}
#dial{stroke:#336699;stroke-width:2px;fill:#336699;fill-opacity:.5;}
#dial.alert{fill:#FF0000;fill-opacity:.5;}
#dialbackground{stroke:#000000;strokewidth:none;fill:none;filter:url(#MyFilter);}
#dialcenter{stroke:none;fill:#111111;filter:url(#MyFilter);}
#dialbackground-border{stroke:#DDDDDD;strokewidth:2px;fill:none;filter:url
(#MyFilter);}#low{stroke-width:3;stroke:#336699;}
#high{stroke-width:3;stroke:#FF0000;}
#XAxisTitle{letter-spacing:2;kerning:auto;fontsize:14;fill:#000000;text-anchor:middle;}
-64-

Application Express User's Guide

Building an Application

#YAxisTitle{letter-spacing:2;kerning:auto;fontsize:14;fill:#000000;text-anchor:middle;writing-mode:tb;}
.XAxisValue{font-size:8;fill:#000000;}
.YAxisValue{font-size:8;fill:#000000;text-anchor:end;}
.nodatafound{stroke:#000000;stroke-width:1;font-size:12;}
.AxisLine{stroke:#000000;stroke-width:2;fill:#FFFFFF;}
.GridLine{stroke:#000000;stroke-width:0.3;strokedasharray:2,4;fill:none;}
g.dataholder rect{stroke:#000000;stroke-width:0.5;}
.legenditem rect{stroke:#000000;stroke-width:0.5;}
Table: Available Chart CSS Classes Esta tabla describe todas las clases CSS soportadas.
Notar que ciertas clases solo se aplican a tipos de grficos especficos.
Class

Description

text

Defines the appearance of text that displays in a chart.

tspan

Defines the appearance of text that displays in a chart. tspan should match the
definition of text.

text.title

Overrides the default chart text. Use this class for title text.

text.moredatafou Defines the appearance of more datafound text.


nd
Creates the rectangular box that holds the chart legend.
rect.legend
To a remove the legend border, change rect.legend to the following:
rect.legend{fill:#CCCC99;stroke:none;}

text.legend

Defines the text that appears in the chart legend.


Creates the entire background for the SVG plug-in.

#background
For a solid white background with no border, change #background to the following:
#background{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:2;}
Not applicable to pie and dial charts. Creates the background of the rectangle that
rect.chartholderb holds the chart data.
ackground
For a clear background, change rect.chartholderbackground to the following:
rect.chartholderbackground(display:none;)

#timestamp

Only applicable if the Asynchronous Update chart attribute is set to Yes. Controls
the appearance of the update timestamp test.
To disable the display of the timestamp, use defines #timestamp as follows in the

-65-

Application Express User's Guide

Class

Building an Application

Description
Custom CSS, Inline attribute.
"#timestamp{display:none;}"
Ver tambin: "Enabling Asynchronous Updates"

text.tic

Dial charts only. Defines the numbers on a dial chart.

line.tic

Dial charts only. Defines the graduation mark that displays directly beneath the
number on a dial chart.

#dial

Dial charts only. Defines the value that displays on the dial chart.

#dial.alert

Dial charts only. Defines a value (called an alert value) that renders on in a dial
chart using a different display.

#dialbackground

Dial charts only. Creates the background of a dial chart.

#dialcenter

Dial charts only. Creates the center of the dial on a dial chart.

#dialbackground- Dial charts only. Works in conjunction with #dialbackground to create specific
border
graphic effect.
#low

Dial charts only. Defines a historical low watermark of the data being displayed on
a chart.

#high

Dial charts only. Defines historical high watermark of the data being displayed on a
chart.

#XAxisTitle

Defines the title that appears on the x-axis

#YAxisTitle

Defines the title that appears on the y-axis.

.XAxisValue

Defines the value that appears on the x-axis.

.YAxisValue

Defines the value that appears on the y-axis.

.AxisLabel

Similar to the axis value.

.nodatafound

Defines the text element that displays if no information is available.

.AxisLine

Indicates zero on charts that have negative values.

-66-

Application Express User's Guide

Building an Application

Class

Description

.GridLine

Creates the horizontal and vertical lines on the chart.

g.dataholder rect Applies a blanket style to all data that displays in the chart.
.legenditem rect

Applies a blanket style to all rectangular items in the legend.

Referencing a Custom Cascading Style Sheet


Se puede referenciar un Cascading Style Sheet castomizado para un grfico utilizando la
seccin CSS de la pgina Chart Attributes. Cuando se referencia un CSS externo, se lo
referencia completamente simplemente se sobreescribe el estilo especfico.
Para referenciar un grfico CSS castomizado:
1. Subir la CSS al Application Builder. Vease: "Uploading Cascading Style Sheets".
2. Crear un grfico. Vase: "Creating a New Chart".
3. Navegar a la Page Definition:
4. En Regions, click en Chart luego del nombre de la regin. Aparece la pgina de Chart
Attributes.
5. Bajar hasta la seccin CSS.
6. En Use Custom CSS, seleccionar Yes.
7. Para referenciar un CSS externo exclusivamente:
a. En Custom CSS, Link, ingresar un link a un CSS
castomizado. Por ejemplo:
#IMAGE_PREFIX#themes/theme_4/svg.css
b. Especificar que el CSS debera ser usado exclusivamente.
En Custom CSS,Inline ingresar lo siguiente: /**/.
8. Para referenciar un CSS castomizado y re-escribir un estilo especfico:
a. En Custom CSS,Link, ingresar un link a una hoja de estilo
castomizada. Por ejemplo:
#IMAGE_PREFIX#themes/theme_4/svg.css
b. En Custom CSS,Inline, ingresar el estilo CSS castomizado
que se desea sobre-escribir.

Specifying Custom CSS Styles Inline


Se pueden sobre-escribir estilos especficos dentro del CSS dado por default, utilizando las
CSS castomizadas, atributo Inline sobre las pgina de atributos de grficos.
Para sobre-escribir un estilo especfico dentro del default CSS:
1. Crear un grafico. Vease: "Creating a New Chart".
2. Navegar a la Page Definition.
3. En Regions, click en Chart luego del nombre de la regin. Aparece la pgina de Chart
Attributes.
4. Bajar hasta CSS.
5. En Use Custom CSS, seleccionar Yes.
-67-

Application Express User's Guide

Building an Application

6. En Custom CSS,Inline, ingresar el estilo CSS que se desea sobre-escribir para


castomizarlo.
Enabling Asynchronous Udates
Se pueden crear grficos que monitorean informacin estableciendo el atributo
Asynchronous Update (de actualizacin asincrnica) en la pgina de atributos del grfico
(Chart attributes page). Al establecer este atributo actualiza el grfico para reflejar los
cambios dados en los datos subyacentes, a intervalos de tiempos predefinidos.
Para habilitar la actualizacin asincrnica:
1. Crear un grfico. See Creating a New Chart.
2. Navegar a la Page Definition. Aparece la Page Definition.
3. En Regions, click Chart luego del nombre de la regin. Aparece la pgina de atributos
del grfico.
4. Bajar a Refresh.
5. En Asynchronous Update, seleccionar Yes.
6. En Update Interval (Seconds), ingresar el intervalo expresado en segundos entre
actualizacin. Para una ptima performance, seleccionar un intervalo que sea mayor
a los 2 segundos.
Cuando se habilita la actualizacin asincrnica, se displaya un timestamp sobre el grfico
indicando la ltima actualizacin. Para deshabilitar el timestamp que aparece cada vez que
se actualiza:
1. Navegar a la pgina Chart Attributes.
2. Localizar la seccin CSS.
3. En Use Custom CSS, seleccionar Yes
4. En Custom CSS,Inline editar #timestamp como sigue:
#timestamp(display:none;)
Displaying Charts in Other Languages
Para mostrar un grfico en otro lenguaje, editar las clases text y tspan para reflejar el
lenguaje correcto.
Para mostrar un grfico en otro lenguaje:
1. Navegar a la pgina Chart Attributes.Vase:"Editing Chart Attributes".
2. Bajar al CSS.
3. En Use Custom CSS, seleccionar Yes.
4. En Custom CSS,Inline, editar las clases text y tspan para reflejar el correcto
lenguaje. El siguiente ejemplo muestra como cambiar un grfico a lenguaje Coreano:
text{font-family:Batang;fill:#000000;}
tspan{font-family:Batang;fill:#000000;}

-68-

Application Express User's Guide

Building an Application

Creating Buttons
Al disear las aplicaciones, se pueden usar Buttons para que los usuarios naveguen a una
pgina especfica a determinada URL, al correo a procesar informacin (por ejemplo,
para crear botones Create, Cancel, Next, Previous Delete).
Los Buttons pueden ejecutar dos tipos diferentes de acciones. Un Buttone puede submitir
una pgina y luego navegar a una URL. O bien, un Button, puede bifurcar a una URL sin
submitir la pgina.
Temas:

Creating a Button Using a Wizard


Creating Multiple Buttons

Understanding the Relationship Between Button Names and REQUEST

About Branching with Buttons

Displaying Buttons Conditionally

Creating a Button Using a Wizard


Se puede crear un botn utilizando el Wizard Create Button de la Page Definition. Cada
Button reside en una regin. Una regin es un rea sobre una pgina que sirve de
contenedor.
Para crear un nuevo botn:
1. Navegar a la correspondiente Page Definition.
2. Si es necesario, crear una regin HTML. Ver: "Customizing Regions".
3. En Buttons, click en el icono Create. Aparece el wizard Create Button.
4. Seleccione la regin que contendr al botn.
5. Selecciona una posicin para el botn:
a. Crear un botn mostrandolo entre los items de la regin.
b. Crear un botn en una posicin especfica de la regin.
Seleccione (a) para agregar un botn a una regin como si fuera un item (por
ejemplo, para agregar un botn directamente a la derecha de los campos).
6. Si se selecciona (b. Crear un botn en una posicin especfica de la regin.) :
a. Especificar la etiqueta y el nombre del botn.
b. Seleccionar el tipo de botn: HTML Button (Default), Image, or Template Driven.
Seleccionar Button is Reset para crear un botn Undo. Cuando habilita, este
tipo de botn resetea la pginas a valores nulos al estado que ellos estaban
cuando la pgina fue inicialmente interpretada.
c. Seleccionar una Accin.
1. Seleccionar Submit page and redirect to URL lo cual submite la
pgina actual al motor del Application Express cada vez que el usuario
hace click en el botn.
2. Seleccionar Redirect to URL without submiting page evita submitir
la pgina. Elija esta accin cuando no sea necesario submitir la pgina
para procesarla (por ejemplo, un botn Cancel). Esta accin evita
procesamiento en la base de datos y reduce la carga.
-69-

Application Express User's Guide

Building an Application

7. Si se selecciona Create a button displayed among this region's items


a. Especificar un nombre de botn y una secuencia.
b. Especificar si el botn mostrn se muestra al comienzo de una nueva linea
nuevo campo.
c. Especificar una etiqueta.
d. Ingresar el valor de la peticin (value of Request).
e. Seleccionar el estilo del botn.
8. Continuar con las instrucciones de la pantalla.
Ver tambin:"Understanding the Relationship Between Button Names and REQUEST"
Creating an HTML Button
Los botones pueden ubicarse en una posicin del template de la regin predefinida entre
los items del form. Para crear un botn HTML, seleccione uno de los siguientes:
Under Task, crea un botn en una posicin de la regin.
Under Button Type, selecciona un tipo de botn y luego crea un botn HTML (es la
opcin por default).
Creating Multiple Buttons
Se pueden crear botones mltiples dentro de una misma region, en un solo paso, utilizando
el wizard Create Multiple Buttones. Para crear varios botones de una sola vez:
Navegar a la correspondiente Page Definition.
Si es necesario, crear la HTML region. Ver: "Customizing Regions".
En Buttons, click en el cono Create. Aparece el wizard Create Button.
Seleccionar Create Multiple Buttons al final de la pgina. Aparece el wizard
correspondiente.
En Place Buttons in Region, seleccionar la regin que contendr los botones.
En Template, seleccionar uno.
En HTML Attributes, especificar los atributos HTML para estos botones. Estos textos
sern agregados a la definicin HTML. Por ejemplo, se pude indicar que la clase de
un text button como: class=myclass
Para completar rapidamente el resto de los campos, hacer una seleccin desde la
lista Quick Button a la derecha de la pgina.
Click en Create Buttons.
Understanding the Relationship Between Button Names and REQUEST
El nombre que se da a un botn determina el valor del atributo REQUEST del botn. Se
puede referenciar el valor de REQUEST desde un PL/SQL usando la variable bind
:REQUEST. Al usar esta variable bind, se puede condicionar procesos, validar bifurcar
basado sobre que botn el usuario hizo clicks. Se pueden crear procesos que se ejecuten
cuand el usuario hace click en un botn. Se puede tambin usar una condicin mas
compleja como se muestra en los siguientes ejemplos:
If :REQUEST in ('EDIT','DELETE') then ...
If :REQUEST != 'DELETE' then ...
-70-

Application Express User's Guide

Building an Application

Estos ejemplos asumen la existencia de los botones EDIT y DELETE. Se puede usar
tambin esta sintaxis en condiciones pl/sql. Tener cuidado con los nombres de los botones
pues se preservan las maysculas. Si un botn se denomina LOGIN y luego un request
buscan por Login, no lo encontrar. Por Ejemplo:
<input type="BUTTON" value="Finish" onClick="javascript:doSubmit('Finish');">
Notar que en este ejemplo Finish es el nombre del REQUEST y este ejemplo es casesensitive.
About Branching with Buttons
Cada pgina puede incluir varias bifurcaciones. Una bifurcacin navega a otra pgina una
URL. El motor del Application Express considera supone que bifurcara en algn momento
durante el proceso de la pgina. Se puede elegir bifurcar antes de procesar, antes de
calcular, antes de validar y despes de procesar. Al igual que cualquier otro control en
Application Builder, la bifurcacin puede ser condicional. Por ejemplo, se puede bifurcar
cuando un usuario hace click a un botn. Cuando se crea una bifurcacin, se puede asociar
con un botn especfico. La bifurcacin solo ser considerada si el usuario hace click en el
botn.
Ver tambin: "Controlling Navigation Using Branches"
Displaying Buttons Conditionally
Se puede elegir tener condicionado el display de un botn editando los atributos en la pgina
Edit Pages Button.
Para condicionar el display de un botn:
1. Crear el botn. "Creating a Button Using a Wizard".
2. Navegar a la correspondiente Page Definition.
3. En Buttons, seleccionar el nombre del botn. Aparece la pgina de atributos del
botn.
4. Bajar hasta la opcin Conditional Button Display.
5. Seleccionar en la lista Condition Type una condicin.
6. Ingresar una expresin en los campos propuestos.
7. Click en Apply Changes.
Ver: "About Bind Variables"

-71-

Application Express User's Guide

Building an Application

Creating Items
Un item es una parte de un formulario HTML. Un item puede ser un campo de texto, un rea
de texto, una password, una lista de seleccin, una chexk box, etctera. Los atributos de los
items afectan la forma en que se displaya el item sobre la pgina. Por ejemplo, dichos
atributos pueden impactar sobre como se mostrarn las etiquetas, como de largo ser el
item y si ellos sern mostrados a continuacin debajo del item previo.
Hay dos tipos de items: page items y application items. Los page items son ubicados sobre
la pgina y tienen asociados propiedades de la interfase de usuario, tales como Display As,
Label y Label Template. Los application items no estn asociados con una pgina y adems
no tienen propiedades de lla interfase de usuario. Se puede utilizar un application items
como una variable global.
Temas:

Creating a Page-Level Item


Referencing Item Values

Editing Page Item Attributes

Displaying Conditional or Read-Only Page Items

Working with a Multiple Select List Item

Creating an Application-Level Item

Populating an Alternative Date Picker Format

Ver: "How Item Attributes Affect Page Layout" y "Using Substitution Strings"
Creating a Page-Level Item
Se puede crear un item a nivel de pgina ejecutando el wizard Create Item desde la Page
Definition.
Para crear un nuevo item a nivel de pgina:
1. Navegar a la correspondiente Page Definition.
2. Si es necesesario, crear una regin HTML. Ver: "Customizing Regions".
3. En Items, click en el cono Create.
4. Seleccionar un tipo de item. Ver:"About Item Types".
5. Seguir las instrucciones del wizard.
About Item Naming Conventions
Cuando se especifca un nombre de item, recordar las siguientes reglas. Los items deben:
No pueden tener comillas.
Comenzar con una letra un nmero, y los caracteres siguientes pueden ser: letras,
nmeros, y el carcter de subrayado.
Son case-insensitive.
No deben exceder los treinta caracteres.
Las letras deben pertenecer al conjunto de caracteres ASCII.
-72-

Application Express User's Guide

Building an Application

About Item Types


Cuando se crea un item, se especifica el tipo del item. Una vez que se crea un item, aparece
sobre la pgina Edit Page Item, una lista Display As. Para ver los tipos de items acceder a la
tabla: Table: Available Item Types
Tipos de Items Disponibles
Tipo Item Descripcin
Check
Muestra una lista de valores para seleccionar. Se necesita una lista de valores
box
para mostrar los check boxes. El valor correspondiente a un check box
seleccionado es retornado en un solo string delimitado por dos puntos.
El siguiente ejemplo muestra como crear un simple check box que retorna YES.
Este ejemplo muestra ambos un check box y una etiqueta de campo.
SELECT NULL display_text, YES return_value FROM DUAL;
Este ejemplo incluye el texto click to select.
Select click to select display_text, YES return_value from dual;
Date
Picker

Display
As Text

File
Browse

Hidden

Ver tambin: "HTMLDB_UTIL"


Muestra un campo de texto con un cono de calendario. Cuando se selecciona,
este icono displaya un pequeo calendario desde el cual se puede seleccionar la
fecha y opcionalmente la hora.
Si el formato que necesita no est incluido en la lista Display As, seleccionar
Date Picker (para seleccionar la mscara). Cuando se utiliza un formato de
mscara, la aplicacin busca el formato en un item denominado
PICK_DATE_FORMAT_MASK. Notar que es necesario completar este
item antes de usarlo a este item para trabajar.
Ver: "Populating an Alternative Date Picker Format"
Display as Text incluye los siguientes subtipos:
Display as Text (based on LOV, does not save state). Muestra el valor
desde una LOV haciendo corresponder los valores con el valor retornado
por la LOV, pero no guarda el estado en la sesin.
Display as Text (based on LOV , saves state). Idem, pero tambin
genera un item que se submite con la pgina para pasar el valor retornado
en el estado de sesin.
Display as Text (based on PL/SQL, does not save state). Muestra la
salida de un bloque PL/SQL, sin guardarlo en la sesin.
Display as Text (does not save state). Muestra el valor del item sobre la
pgina sin crear in item en el formulario.
Display as Text (escape special characters, does not save state).
Muestra el valor del item con caracteres especiales ('<','>','&')
Display as Text (saves state). Muestra los vores de los items y crea un
item en el formulario el cual se submite con la pgina para pasar el valor al
estado de sesin.
Muestra un campo de texto con un botn Browse. Esto permite al usuario
localizar un archivo sobre el sistema local de archivos y subirlo. Oracle
Application Express provee una tabla para estos archivos que son subidos como
as tambin las API para recuperar (abrir) los archivos.
Vase: "Understanding the Security Risks of File Upload Tables"
Crear un elemento de formulario (HTML) oculto. Se le puede asignar un estado
de sesin y ser referenciado como un campo de texto.
-73-

Application Express User's Guide

Building an Application

List
Se basa en una lista de valores. Este item permite gestionar una lista de items
Managers mediante seleccin y adicin a la lista. La lista de valores se muestra como una
popup.
Multiple
Se crea un elemento multiselect HTML en el form. Cuando se submite, los
Select
valores seleccionados son retornados en un string delimitado. Se puede procesar
el string mediante la API HTMLDB_UTIL
Ver tambin: "Working with a Multiple Select List Item" y "HTMLDB_UTIL"
Password Crea un elemento HTML password en el form.
Popup
Crea un campo de texto con un cono. Cuando el usuario cliquea en el cono,
List
of aparece una ventana popup con una lista de valores mostrando una serie de
Values
links. Cuando el usuario hace una seleccin desde la lista, el valor seleccionado
ser ubicado en el campo de texto. El control de la LOV popup se hace a travs
del template. Se puede solo especificar una LOV popup template por cada
aplicacin.
Utilizando una LOV popup es una buena prctica para listas de valores que son
muy grandes para retornarlas sobre una sola pgina.
Hay dos tipos de LOV Popup: Uno que procesa un conjunto de filas cuando la
ventana se abre y otro que no.
La LOV Popup debe estar basada sobre una consulta que selecciona dos
columnas con diferentes alias. Por ejemplo:
SELECT ename name, empno id
FROM emp
Si una de las columnas es una expresin, hay que utilizar un alias. Por ej:
SELECT ename||' '||job display_value, empno FROM emp
Radio
Crea un elemento radio group en el form, basado en una lista de valores. Elija
Radiogroup with Submit para que sea submitida la pgina cuando se
seleccione una opcin en el radio button.
El siguiente ejemplo muestra los nombres de los empleados, pero retorna el nro
de empleado:
SELECT ename, empno FROM emp
Select
Muestra una lista de valores. Se requiere una lista de valores para los items que
List
sean listas de seleccin. Las listas de seleccin son creadas usando elementos
HTML <select> en el form. Los valores en una lista de seleccin son
determinados utilizando un nombre de LOV definiendo una LOV a nivel de item.
Se puede especificar el valor NULL y que retorne el valor NULL.
El siguiente ejemplo retorna los nombres de los empleados (ename) y los
nmeros de los empleados (empno) desde la tabla emp. Notar que los alias de
las columnas no son requeridos pero se incluyen para claridad.
SELECT ename display_text, empno return_value FROM emp
Oracle Application Express provee mejoras adicionales que en las listas de
seleccion HTML standard:

Select List with Submit Submite la pgina cuando el usuario cambia el


valor seleccionado en la lista. En submite, el REQUEST ser el nombre del
item que representar a la lista, para permitir utilizarlos en los procesos
(calculos, condiciones, validaciones, y bifurcaciones).
Select List with Redirect Redirige al usuario volver a la misma pgina,
colocando ONLY al valor seleccionado en la lista.
Select List Returning URL Redirect Se basa en una lista de valores
-74-

Application Express User's Guide

Building an Application

con urls como valores de retorno. Al cambiar el valor de la lista causa que
el browser se dirija a la correspondiente URL seleccionada.
Select List with Branch to Page Se basa en una lista de valores con
Ids de pginas. Al seleccionar un valor de la lista, el motor del Application
Express se dirige a la pgina seleccionada.
Nota: Si la lista de seleccin es muy larga puede causar un error. Si se espera
una larga lista es preferible utilizar una Popup List de valores ( en lugar de la
select list).
Stop and Se fuerza el cierre de una tabla HTML al utilizar el tag </table> y crea una nueva
Start
tabla HTML. Se puede usar este tipo de item para resetear el ancho de una
Table
columna en la mitad de una regin.
Notar que un item Stop y Start Table solo muestra su etiqueta. Se puede impedir
que muestre la etiqueta si se setea la etiqueta a null. Eso se logra removiendo el
label que propone el wizard.
Text
Se muestra como un campo de texto HTML que puede contener hasta 30.000
bytes de text. Se puede controlar el ancho y alto editando los atributos Height y
Width del item.
Las opciones disponibles de items Text son:
Text Field Se muestra como un campo de texto.
Text Field (Disabled, does not save state) Muestra una versin de solo
lectura de una lista de valores, utilizando los valores de la sesin para
buscar el valor asociado. El valor mostrado en pantalla no es guardado al
submitir la pgina.
Text Field (Disabled, saves state) Muestra una versin de solo lectura
de una lista de valores, utilizando los valores de la sesin para buscar el
valor asociado.
Text Field (always submits page when Enter pressed) Muestra una
versin de solo lecutra. Al submitir, salva el valor mostrado en pantalla en
el estado de sesion.
Text Field with Calculator Popup Se muestra como un campo de texto
junto con un cono. Cuando cliquea el cono muestra una pequea ventana
mostrando una calculadora. Los clculos son dejados en el item.
Text Area Muestra un rea de texto HTML. No hay longitud mxima para un item mostrado
en un Text Area. Se controla el ancho y el largo editando los atributos height y
width. La opcin Display As incluye:

Text Area (auto height) Ajusta el ancho de acuerdo a la cantidad de


texto. Se utiliza cuando se necesita una Text Area de grandes dimensiones
pero no hay lugar en el form si no hay datos para mostrar.
Text Area with Counter Muestra un contador que indica la cantidad de
bytes ingresados al campo.

Text Area with Spell Checker Provee un popup corrector ortogrfico


(idioma ingls).

Text Area with HTML Editor Provee controles de formato de texto


bsicos. Notar que estos controles podrian no trabajar con todos los web
browsers.

Referencing Item Values


-75-

Application Express User's Guide

Building an Application

Se pueden referenciar valores de items en una regin del estado de sesin, clculos,
validacines y bifurcaciones. Se puede consultar la sintaxis soportada para referenciar los
valores de los items en Syntax for Referencing Item Values
Ver:"Managing Session State Values"
Syntax for Referencing Item Values
Type
SQL

Syntax

Description
Sintaxis standard para variables internas (el nombre no debe
:MY_ITEM
pasar los 30 bytes). Se utiliza en consultas SQL y en cdigo
PL/SQL.
PL/SQL
Sintaxis PL/SQL para referenciar el valor de un item utilizando
V('MY_ITEM')
la funcin V( ). Ver:"Oracle Application Express APIs"
NV('MY_
PL/SQL
Sintaxis PL/SQL para referenciar el valor de un item numrico
utilizando la funcin NV( ).
NUMERIC_ITEM') Ver: "Oracle Application Express APIs"
&MY_ITEM
Static
Texto esttico.
Text
Static
Text
(exact)

&MY_ITEM

Texto exttico. Sustitucin exacta.

Se puede cambiar el valor de un item utilizando cualquiera de los siguientes mtodos:


Para los items de la pgina, utilice el atributo Source para indicar el valor de dicho
item. En la Page Definition, seleccionar el nombre del item para ver la pgina Edit
Page Item. Bajar con el scroll hasta Source y editar el campo.
Tamben se puede cambiar el valor de un item en cualquier regin procedimiento
PL/SQL utilizando la siguiente sintaxis:
BEGIN
:MY_ITEM := new value;
END;

Pasar el valor de una referencia URL usando la sintaxis f?p. Por ejemplo:
f?p=100:101:10636547268728380919::NO::MY_ITEM:ABC

Establecer el valor a travs de un clculo. Los clculos estn destinados a cambiar el


valor de los items. Por ejemplo:
TO_CHAR(SYSDATE,'Day DD Month, YYYY');

Se puede usar las PL/SQL API para cambiar el valor de un item dentro del cdigo
PL/SQL:
HTMLDB_UTIL.SET_SESSION_STATE('MY_ITEM',SYSDATE);

Ver: "Clearing Session State", "Oracle Application Express APIs", y "About Cross-Site
Scripting Protection"
Editing Page Item Attributes
-76-

Application Express User's Guide

Building an Application

Una vez que se crea un item, se puede editar sus atributos en la pgina Edit Page Item.
1. Navegar a la correspondiente Page Definition
a. Navegar a la Database Home Page.
b. Click en el cono Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Aparece la Page Definition
2. En Items, seleccionar el nombre del tem.
Aparece la pgina de atributos de dicho item.
3. Editar el item correspondiente. Para ver informacin acerca de un atributo especfico,
seleccionar el item Help.
4. Click en Apply Changes.
Ver: "About Cross-Site Scripting Protection"
Displaying Conditional or Read-Only Page Items
Se puede elegir que un item se displaye condicionalmente bien sea solo lectura editando
sus atributos.
1. Crear el item.
2. Navegar a la correspondiente Page Definition.
3. En Items, seleccionar el item que interesa. Aparece la pgina de atributos del item.
4. Para displayar condicionalmente un item:
a. Bajar con el scroll hasta Conditions.
b. Seleccionar el tipo de condicin desde la lista Condition Type.
c. Ingresar las expresiones que correspondan para condicionar.
5. Para hacer un item de solo lectura:
a. Bajar con el scroll hasta Read Only Display Settings
b. Seleccionar desde la lista Read Only Condition Type.
c. Ingresar las expresiones que correspondan para condicionar.
6. Click en Aplicar Cambios.
Working with a Multiple Select List Item
Un item multiple select se muestra como una lista de multiples elementos select. Cuando
se submite, los valores seleccionados son retornados en un solo string separados por dos
puntos. Se pueden manejar los valores dados en este formato de dos formas:
Usando la funcin INSTR
Usando la funcin HTMLDB_UTIL.STRING_TO_TABLE
Using HTMLDB_UTIL.STRING_TO_TABLE to Convert Selectd Values
Supongase que se tiene un reporte sobre las tablas emp y dept que estn acotadas a los
departamentos seleccionados desde un lista de departamentos (multiple select), a tal fin se
crea el item (multiple select), P1_DEPTNO, utilizando la siguiente consulta:
SELECT dname, deptno
FROM dept
En segundo lugar, se retornan solo aquellos empleados que pertenecen a los departamentos
seleccionados, asi:
SELECT ename, job, sal, comm, dname
-77-

Application Express User's Guide

Building an Application

FROM emp e, dept d


WHERE d.deptno = e.deptno
AND instr(':'||:P1_DEPTNO||':',':'||e.deptno||':') > 0
Luego, se desea pasar los valores seleccionados en el item (multiple select) a una tabla,
P1_DEPTNO. Para lograr esto, se debe convertir la cadena de strings delimitados por dos
puntos en una matriz PL/SQL utilizando la funcin HTMLDB_UTIL.STRING_TO_TABLE. El
siguiente ejemplo muestra como insertar los departamentos seleccionados en una tabla de
auditoria conteniendo la fecha de la consulta.
DECLARE
l_selected HTMLDB_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
--- Convierte una cadena de strings,delimitados por dos puntos, en una
-- matriz PL/SQL
l_selected := HTMLDB_UTIL.STRING_TO_TABLE(:P1_DEPTNO);
--- Loop sobre la matriz para insertar los nmeros de departamentos
-- y la fecha del sistema (sysdate).
-FOR i IN 1..l_selected.count
LOOP
INSERT INTO report_audit_table (report_date, selected_department)
VALUES (sysdate, l_selected(i));
END LOOP;
END;

Ver: "STRING_TO_TABLE Function"


Creating an Application-Level Item
Los items a nivel de aplicacin no se displayan, pero son usados como variables globales de
la aplicacin.
Para crear un nuevo item a nivel de aplicacin:
1. Navegar a la Database Home Page.
2. Click en el cono Application Builder.
3. Seleccionar una aplicacin.
4. Cuando aparece Application Builder, click en Shared Components.
5. En Logic, seleccionar Items. Aparece la pgina de Application Items.
6. Para crear un nuevo item, click en Create.
7. Continuar con las indicaciones de pantalla.
About the Application Items Page
Una vez que se tiene creado un item a nivel de aplicacin, este aparecer en la pgina de
items a nivel de aplicacin. Se puede controlar como se muestra la pgina de items (a nivel
de aplicacin) seleccionando una opcin desde la lista View. Las opciones disponibles son:
-78-

Application Express User's Guide

Building an Application

Icons (el default) muestra cada item de aplicacin como un gran cono. Para editar un
item, basta con cliquear el cono correspondiente.
Details muestra cada item, de aplicacin, como un linea en un reporte. Para editar el
item, basta con cliquear sobre el nombre del mismo (en la linea).

Accessing Application Item History


Se puede ver la historia de los cambios de los items, a nivel de aplicacin, con un click en
History, al tope de la pgina de items a nivel de aplicacin.
Populating an Alternative Date Picker Format
Si se necesita crear un item Date Picker, pero el formato que necesitas no aparece en la
lista Display As, seleccionar Date Picker (use application format mask). Cuando la
aplicacin usa este tipo de fecha (Date Picker), el motor del Application Express deriva el
formato de la fecha desde un item denominado PICK_DATE_FORMAT_MASK. Se puede
definir (cambiar el valor), este item de dos formas:
Al definir un string de sustitucin llamado: PICK_DATE_FORMAT_MASK
Al crear un item a nivel de aplicacin llamado: PICK_DATE_FORMAT_MASK
Defining PICK_DATE_FORMAT_MASK as an Application Substitution String
Un mtodo para definir el PICK_DATE_FORMAT_MASK es crear un string de sustitucin. Los
strings de sustitucin, a nivel de aplicacin, se definen en la pgina de Edit Application
Attribuites. Tener en cuenta que un string de sustitucin, a nivel de aplicacin, es un valor
esttico y no puede ser alterado en tiempo de ejecucin.
Para definir un string de sustitucin (a nivel de aplicacin)PICK_DATE_FORMAT_MASK :
1. En la pgina Database Home Page, click en Application Builder.
2. Seleccionar una aplicacin. Aparece el Application Builder.
3. Click en el cono Edit Attributes.
4. Click en Edit Standard Attributes.
5. Bajar con scroll hasta Static Substitution Strings.
6. Crear un nuevo string de sustitucin esttico PICK_DATE_FORMAT_MASK :
a. En Substitution String, ingresar PICK_DATE_FORMAT_MASK.
b. En Substitution Value, ingresar un valor (ej., Month DD, YYYY).
Defining an Application-Level Item Named PICK_DATE_FORMAT_MASK
Otro mtodo para indicar el valor de PICK_DATE_FORMAT_MASK es crear un item a nivel de
aplicacin denominado PICK_DATE_FORMAT_MASK. Esto forma permite tener el control del
formato de fecha, de la aplicacin, en tiempo de ejecucin, de cualquier item mostrado como
PICK_DATE_FORMAT_MASK, al setear, simplemente, el valor de la mscara. Adems se
puede setear el valor de PICK_DATE_FORMAT_MASK a travs de clculos, en cualquier
lugar, dentro de la aplicacin.
Si se desea prover al usuario una lista de formatos de fechas como preferencias de la
aplicacin, se necesitar crear un item a nivel de aplicacin denominado
PICK_DATE_FORMAT_MASK y luego utilizar programacin para setear el valor de este item
basado en la seleccin del usuario.
Ver: "Creating an Application-Level Item"

-79-

Application Express User's Guide

Building an Application

Creating Lists of Values


Una lista de valores (LOV) es conjunto de valores estticos dinmicos utilizados para
mostrar un item de pgina especfico, tal como una lista popup de valores, una select list,
una check box, un radio group, lista multiple select.
Temas:

Creating Named LOVs at the Application Level


About Static LOVs

Editing an Existing LOV

Referencing Session State Within a LOV

Referencing a Null Value in an Item Based on a LOV

Accessing LOV Reports

Ver tambin: "Creating Items"


Creating Named LOVs at the Application Level
Se definen LOVs a nivel de aplicacin mediante la ejecucin del wizard Create LOV y
agregandolas a la lista de valores del repositorio. Todas las LOVs pueden ser definidas como
estticas dinmicas. Las listas estticas estn basadas sobre pares predefinidos de
valores a mostrar y retornar. Las listas dinmicas estn basadas sobre consultas SQL sobre
una tabla.
Para crear una LOV:
1. En la Database Home Page, click en Application Builder.
2. Seleccionar una aplicacin. Aparece la home page de la aplicacin.
3. Click en el cono Shared Components.
4. En User Interface, seleccionar Lists of Values.
5. Para crear una nueva LOV, click en Create.
6. Seguir las instrucciones de la pantalla. Las nuevas LOVs son agregadas al repositorio
de List of Values.
About the List of Values Page
Una vez que se creo la LOV, aparece sobre la pgina de List of Values. Se controla la forma
en que se muestra la pgina mediante una seleccin desde la lista View. Las opciones
disponibles son:
Icons (el default) muestra cada LOV como un gran cono. Para editar la LOV, click
sobre el cono correspondiente.
Details muestra cada LOV como una lnea de reporte. Para editar un LOV, click sobre
el nombre de la misma.
About Static LOVs
-80-

Application Express User's Guide

Building an Application

Las LOVs estticas se basan sobre una lista esttica de valores a mostrar y retornar que se
especifican cuando se crea la misma con el wizard. Para crear una LOV esttica, se ejecuta
el wizard Create LOV y se selecciona Static en LOV type. Oracle Application Express
guarda los valores a mostrar, los valores a retornar y la secuencia de ordenacin que se
especifica en el repositorio de listas de valores. Una vez que se agreg la LOV esttica al
repositorio, se puede crear un item y displayar esta LOV como un check box, un radio group,
una select list una popup list.
Editing an Existing LOV
Para editar una LOV existente, seleccionar la LOV en la pgina de List of Values.
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Click en Shared Componentes.
4. En User Interface, seleccionar Lists of Values
5. Seleccionar una LOV. Aparece la pgina de edicin de la LOV.
6. Editar los atributos apropiados y click en Apply Changes.
Bulk Edit of Static LOVs
Se pueden editar los valores a mostrar de todas las LOVs estticas al cliquear en el botn
Grid Edit sobre la pgina Edit List of Values.
Para ejecutar una edicin de todas las LOVs estticas:
1. En la Database Home Page, click en App.Builder.
2. Seleccionar una aplicacin.
3. Click en Shared Components.
4. En User Interface, seleccionar Lists of Values. Por default, las LOVs se muestran
como conos.
5. Cambiar el display por default. Seleccionar Details desde la lista View y click en Go.
6. Elegir Static LOV y seleccionar el nombre de la LOV.
7. Click en el botn Grid Edit ubicado debajo de Subscription.
8. Editar los correspondientes valores a displayar y click en Apply Changes.
Referencing Session State Within a LOV
Se puede referenciar el estado de sesin al utilizar variables bind. En el siguiente ejemplo, la
LOV solo trabaja si el item my_deptno contiene un nmero de departamento vldio:
SELECT ename, empno FROM emp WHERE deptno = :my_deptno
Referencing a Null Value in an Item Based on a LOV
Las LOVs tienen la opcin de mostral el valor null y la opcin de retornar el valor null. El
valor null a mostrar es el valor que el usuario v en la lista y le indica que no ha
seleccionado un valor apropiado (non-null) desde la lista. Cuando un usuario selecciona un
valor null, empty (vaco), el valor que se transmite no es un string vacio un Oracle null,
sino un literal %null%. La aplicacin debe estar preparada para procesar este literal y tratar
esta seleccin como valor null.

-81-

Application Express User's Guide

Building an Application

Hay que tener en cuenta este comportamiento cuando se escribe el cdigo para procesar los
valores submitidos. Por ejemplo, sea una evaluacin al submitir el item P1_X y se necesita
usar la expresin PL/SQL replace(:P1_X,'%'||'null%',null)para preparar el item
para guardar permanentemente en estado de sesin o para pasar a una DML a otra APIs.
Para evitar problemas, tener en cuenta la forma apropiada de codificar %null% en
expresiones que ocurren en los clculos, procesos, y validaciones en la pgina. Se debe
separar el string %null% asi la aplicacin no replaza por un valor null en la pgina cuando
este es salvado. Considere el siguiente ejemplo:
'%'||'null%'
Accessing LOV Reports
El Application Builder incluye varios reportes ya diseados para ayudar manejar mejor las
LOVs.
Para acceder a los LOV reports:
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Cuando aparece App.Builder, click en Shared Components.
4. En User Interface, seleccionar Lists of Values.
5. Seleccionar una de los siguientes tabs al tope de la pgina:
Search
Subscription
Utilization
History
6. Continuar con las instrucciones dadas en pantalla.
Search
Click Search para mostrar la pgina de Search Dynamic Lists of Values. Utilizar esta pgina
para buscar las consultas que soportan a las LOVs dinmicas. Ingrese una consulta en el
campo uery Contains y click en Go.
Subscription
Click en Subscription para mostrar la pgina de List of Values Subscription. Esta pgina
muestra todas las LOVs de la aplicacin.
Utilization
Click en Utilization para mostar la pgina List of Values Utilization. Esta pgina muestra las
LOVs utilizadas en la actual aplicacin. Para editar una LOV, click sobre el nombre de la
misma.
History
Click en History para mostrar la pgina List of Values History. Esta pgina muestra la history
reciente de los cambios de la LOVs por fecha.

-82-

Application Express User's Guide

Building an Application

Using Shortcuts
Utilizando shortcuts se puede evitar repetir cdificar funciones HTML PL/SQL. Se pueden
usar shortcut para definir una pgina de control, un botn, un texto HTML, un procedimiento
PL/SQL, HTML. Una vez definido, se puede invocar un shortcut usando la sintaxis
especfica para localizarlo. Shortcuts pueden ser referenciados muchas veces, adems
reducen redundancia de cdigo.
Temas:

About Shortcut Types


Defining Shortcuts

Accessing Shortcut Reports

About Shortcut Types http://127.0.0.1:8080/i/doc/bldapp_cut_about.htm#CEGBDBAE


Cuando se crea un nuevo shortcut, se debe especificar el tipo de shortcut que se desea
crear. Oracle Application Express soporta los siguientes tipos de shortcut:

PL/SQL Function Body


HTML Text

HTML Text with Escaped Special Characters

Image

Text with JavaScript Escaped Single Quotes

Message

Message with JavaScript Escaped Special Quotes

Text with JavaScript Escaped Single Quotes


Use este tipo de shortcut para referenciar un shortcut dentro de un string literal de
JavaScritp. Este shortcut define un string de texto. Cuando el shortcut es referenciado, este
evita las comillas simples requereidas para JavaScript.
Message
Use este tipo de shortcut para referenciar un mensaje traducible en tiempo de ejecucin.
Notese entonces que este shortcut no tiene body, por lo que el nombre del mismo debe
coincidir con el nombre del correspondiente mensaje. En tiempo de ejecucin, el nombre del
shortcut se expande al texto del mensaje traducido al lenguaje actual.
Message with JavaScript Escaped Single Quotes
Use este tipo de shortcut para referenciar un shortcut dentro de un string literal de JavaScript
y referenciar un mensaje traducible en tiempo de ejecucin.
Ver: "About Translating an Application and Globalization Support"

-83-

Application Express User's Guide

Building an Application

Defining Shortcuts
Antes que se pueda incorporar un shortcut en la aplicacin, se debe definirlo y agregarlo al
repositorio de Shortcuts. Los nuevos shortcuts se referencian utilizando la siguiente sintaxis:
"MY_SHORTCUT"
Note que el nombre del shortcut debe ser capitalizado y encerrado entre comillas.
Para definir un nuevo shortcut:
1. En la Database Home Page, click en App.Builder.
2. Seleccionar una aplicacin.
3. Cuando aparece el Application Builder, click en Shared Components.
4. En User Interface, seleccionar Shortcuts.
5. Click en Create.
6. Seleccionar uno de los siguientes mtodos de creacin:
a. From Scratch
b. As a Copy of an Existing Shortcut
7. Continuar con las instrucciones de pantalla.
Los nuevos shortcuts son agregados al repositorio y estn disponibles para usarlos en:
El atributo Region Source de regiones definidas como HTML Text (con shortcuts). Ver:
"Customizing Regions".
En los textos de los atributos Header y Footer de una Regin. Ver: "Specifying a
Region Header and Footer"..
En los atributos Label y Default Value de un item. Ver: "Items".
En el atributo Templates de una Regin. Ver: "Editing Templates"..
About the Shortcuts Page
Una vez que se creo un shortcut, este aparecer en la pgina de Shortcuts. Se controla la
vista de la pgina haciendo click en la lista View. Las opciones disponibles son:
Icons (el default) muestra cada shortcut como un gran cono.
Details muestra cada uno como una linea de reporte.
Accessing Shortcut Reports
El Application Builder incluye varios reportes diseados para ayudar a una mejor gestin de
las LOVs. Para acceder a los Shortcut Reports:
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Cuando aparezca Application Builder, click en Shared Componentes.
4. En User Interface, seleccionar Shortcuts.
5. Click en uno de los siguientes botones:
a. Subscription
b. History
Nota: Los botones Subscription y History solo aparecen despus de que se crea el shortcut.
Subscribed Shortcuts
-84-

Application Express User's Guide

Building an Application

Click en Subscription para mostrar la pgina de Subscribed Shortcuts. Esta pgina muestra
todos los shortcuts (subscirbed) de la aplicacin.
Shortcut History
Click en History para mostrar la pgina de Shortcut History. Esta pgina muestra la historia
reciente de los cambios de shortcuts por fecha.

-85-

Application Express User's Guide

Building an Application

Incorporating JavaScript into an Application


Una buena forma de agregar caractersticas que imitan los atributos de las aplicaciones
client/server es incorporando JavaScript a las aplicaciones Web, sin sacrificar los beneficios
de los desarrollos Web. Oracle Application Express incorpora mltiples interfaces integradas
y especialmente diseadas para incorporar JavaScript.
Tener en cuenta que JavaScript no es apropiado para validaciones intensivas de datos. Por
ejemplo para verificar que el nombre est contenido dentro de una tabla grande de base de
datos ya que se debera crear un enorme documento HTML con los registros de los clientes.
En general, las operaciones complejas de validacin se ubican mejor del lado de las
validaciones del servidor Application Express en vez de hacerlo con JavaScript.
Temas:

Referencing Items Using JavaScript


Incorporating JavaScript Functions

Calling JavaScript from a Button

Ver: "Understanding Validations"


Referencing Items Using JavaScript
Cuando se referencia un item, la mejor forma es hacerlo por el ID. Si se observa el fuente
HTML de una pgina del Oracle Application Express en un Web browser, se notar que
todos los items tienen un atributo id. Este id corresponde al nombre del item, no a la etiqueta
del item. Por ejemplo, si se crea un item con el nombre P1_FIRST_NAME y una etiqueta
First Name el id ser P1_FIRST_NAME.
Conocer el ID del item, permite al desarrollador utilizar el mtodo getElementById() para
obtener y para setear los valores y atributos del item. El siguiente ejemplo muestra como
referenciar un item mediante su ID y mostrar su valor en un mensaje de alerta (alert box).
<script language="JavaScript1.1" type="text/javascript">
function firstName(){
alert('First Name is ' + document.getElementById('P1_FIRST_NAME').value );
}
// or a more generic version would be
function displayValue(id){
alert('The Value is ' + document.getElementById(id).value );
}
</script>
// Then add the following to the "Form Element Attributes" Attribute of the item:
onchange="displayValue('P1_FIRST_NAME');"
Incorporating JavaScript Functions
Hay dos lugares para incluir funciones JavaScript:
-86-

Application Express User's Guide

Building an Application

En el atributo Header de la pgina HTML.


En un archivo .js en el template de la pgina.

Ver para mayor informacin acerca de cmo referenciar un shortcut dentro de un string literal
de JavaScript, en "Text with JavaScript Escaped Single Quotes"
Incorporating JavaScript in the HTML Header Attribute
Una forma de incluir JavaScript dentro de la aplicacin es agregandolo en el atributo Header
de la pgina HTML. Esta es una buena forma para funciones que son muy especficas de
una pgina asi como tambin una conveniente forma de testear una funcin antes de
incluirla en un archivo .js.
Se puede agregar funciones JavaScript, a una pgina, simplemente mediante el ingreso de
cdigo en el atributo HTML Header de la Page Attributes de la pgina en cuestin. Por
ejemplo, agregar la funcin test para que est accesible desde cualquier lugar de la pgina.
Para agregar cdigo JavaScript en el atributo HTML Header:
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Seleccionar una pgina.
4. Click en Edit Attributes
5. Bajar hasta el atributo HTML Header.
6. Ingresar el cdigo y click en Apply Changes.
Por ejemplo, agregando lo que sigue testea que una funcin este accesible desde cualquier
lugar de la actual pgina.
<script type="text/javascript">
function test(){
window.alert('This is a test.');
}
</script>
Ver tambin: "HTML Header"
Including JavaScript in a .js File Referenced by the Page Template.
En Oracle Application Express se puede referenciar a un archivo .js en el template de la
pgina. De esta forma todo el cdigo JavaScript del .js queda accesible a la aplicacin. Esta
no es la forma ms eficiente, dado que, un .js se carga en la primer pgina que se v de la
aplicacin y luego queda cacheado por el browser.
El siguiente cdigo muestra como incluir un .js en la seccin del header del page template.
Notar la linea script src= que aparece en negrita.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<head>
<title>#TITLE#</title>
#HEAD#
<script src="http://myserver.myport/my_images/custom.js" type="text/javascript"></script>
</head>
<body #ONLOAD#>#FORM_OPEN#

-87-

Application Express User's Guide

Building an Application

Ver tambien: "Page Templates"


Calling JavaScript from a Button
Llamar a un JavaScript desde un botn es una buena forma de confirmar una pantalla.
Oracle Application Express usa esta tcnica para la operacin de delete de la mayor parte de
los objetos. Por ejemplo, cuando se deletea un botn, un mensaje JavaScript aparece
consultando al operador para que confirme la accin. Considerese el siguiente ejemplo:
<script type="text/javascript">
function deleteConfirm(msg)
{
var confDel = msg;
if(confDel ==null)
confDel= confirm("Would you like to perform this delete action?");
else
confDel= confirm(msg);
if (confDel== true)
doSubmit('Delete');
}
</script>
Este ejemplo crea una funcin para confirmar una accin de borrar y luego invoca a la
funcin desde un botn. Note que la funcin opcionalmente submite la pgina y setea el
valor de la variable interna :REQUEST a Delete, adems ejecuta el delete usando un
proceso que condiciona la ejecucin vasado en el valor de la respuesta.
Ntese que cuando se crea un botn se necesita seleccionar Action Redirect to URL
without submitting page. Luego se especifica una URL destino tal como la siguiente:
confirmDelete('Would you like to perform this delete action?');
Ver tambin: "Creating a Button Using a Wizard"
Creating Dependent Select Lists
Se puede usar una select list (lista de seleccin) para determinar el rango de valores de
otra select list de la misma pgina. Se puede lograr esta funcionalidad por medio de una
select list que controle los valores submitidos a la siguiente select list. Se incorporan
estos valores en la siguiente select list como una variable bind en la clausula WHERE de la
consulta.
Se tiene una LOV que controla a otra LOV:
Crear un form bsico.
Definir dos listas de valores. Notar que la LOV controladora debe submitir la pgina
despus de que se elige un valor.
Definir un bifurcacin que retorne a la pgina actual
-88-

Application Express User's Guide

Building an Application

Considrese el siguiente ejemplo. La primera LOV permite al usuario elegir una pais (
estado nacional)
SELECT state_name d, state_id v
FROM states
La segunda LOV selecciona el nombre de una provincia y el ID (de la provincia) desde una
lista condicionada por el id del pais seleccionado en la primera LOV.
SELECT county_name d, county_id v
FROM counties
WHERE state_id = :Px_STATE_ID
Ver tambin:

"Creating Forms"
"Creating Lists of Values"

"Controlling Navigation Using Branches"

Creating a Help Page


El generador de aplicaciones incluye atributos predefinidos para crear el Ayuda de la
aplicacin. Crear la Ayuda de la aplicacin consiste sencillamente en los siguientes pasos:
Crear una pgina de ayuda especfica y una regon de ayuda.
Definir el texto de la pgina de ayuda.
Definir el texto del item de ayuda.
Crear un cono en la barra de navegacin para enlazarlo con la pgina de ayuda.
Las ayudas creadas en Application Builder se muestran sobre una pgina de ayuda
especfica. Para acceder a la ayuda, los usuarios hacen click en un enlace que los conduce
a la pgina de ayuda especfica. Esta pgina de ayuda muestra una pgina e items de ayuda
con tpicos especfocos de la pgina que se est viendo.
Temas:

Creating a Help Page and Region (Crear una regin y pgina de ayuda)
Defining Help Text (Definir el texto de la ayuda)

Creating a Help Navigation Bar Entry (Crear un cono, de ayuda, en la barra )

Creating a Help Page and Region


El primer paso, en la creacin de la ayuda de una aplicacin, es crear una pgina especial y
una regin de texto de ayuda.
Para crear una nueva regin de texto de ayuda:
1. Crear una nueva pgina para la ayuda. Ver "Adding Pages to an Application".
2. Navegar a la Page Definition de la pgina creada. Ver "Accessing a Page Definition".
3. Bajar a Regions, seleccionar el cono Create
4. Cuando aparezca para seleccionar el tipo de regin, seleccionar Help Text
5. Seguir las instrucciones de la pantalla.
-89-

Application Express User's Guide

Defining Help Text

Building an Application

http://127.0.0.1:8080/i/doc/bldapp_hlp_text.htm

Se define el texto de ayuda para la pgina un solo item mediante la edicin de sus
atributos. Idealmente se debera definir estos atributos cuando se crea la aplicacin. Sin
embargo por simplicidad, el siguiente procedimiento describe como definir este texto
despues de que se ha creado la aplicacin.
Para definir una pgina de ayuda:
1. Navegar a la Page Definition de la pgina a la que se le desea agregar una pagina de
ayuda.
2. Clic en Edit Attributes para ver la pgina de atributos existentes.
3. Bajar hasta Page Help Text.
4. Ingresar el texto de ayuda en el campo que se muestra.
5. Clic en Apply Changes.
Repetir el procedimiento previo para cada pgina que se requiere texto de ayuda.
Para definir el texto de ayuda de un item de una pgina:
1. Navegar a la Page Definition de la pgina a la cual se desea agregar ayuda a un item.
2. En Items, click en el nombre del item que se desea editar.
3. Bajar hasta Help Text.
4. Ingresar el texto de ayuda en el campo provisto.
5. Click en Apply Change.
Repetir este proceso para cada item que requiere texto de ayuda.
Editing Mltiple Item Help Topics at Once
Si se trata de incluir texto de ayuda a los items de la aplicacin, se pueden editar mltiples
textos de ayuda de items a la vez usando el reporte Bulk Edit Item Help.
Accessing the Bulk Edit Item Help Report
Para ver el reporte Bulk Edit Item Help:
1. En la Database Home Page, click en el cono Application Builder
2. Seleccionar una aplicacin.
3. Sobre la lista de tareas (Tasks list), click en View Application Reports.
4. Click en Page Componentes.
5. Seleccionar Item Help Text. Se displaya un reporte en la parte inferior de la pgina.
6. En el reporte Bulk Item Help se puede:
a. Actualizar el texto de una ayuda existente (update existing help topics). Se
edita el texto que se est mostrando y se hace click en Apply Changes.
b. Conectar a la Page Definition que contiente el item mediante un click en el ID
de la pgina.
c. Conectar a la Page Item mediante un click en el nombre del item.
Seeding Item Help Topics
Si la aplicacin todava no tiene texto de ayuda, se puede ejecutar una actulizacin masiva
del texto de ayuda por default.
Para setear los temas de ayuda de los items:
1. Acceder al reporte Bulk Edit Item Help.
2. Click en Seed Item Help Text
-90-

Application Express User's Guide

Building an Application

3. En Default Help Text, ingresar el texto de ayuda por omisin que aparecer en todos
los casos.
4. Click en Apply Changes.
Searching for Existing Item Help Topics.
Se puede buscar ayuda por texto o por la etiqueta del item.
Para buscar ayuda por texto:
1. En Help contains, ingrese las palabras claves.
2. Click en Go.
Searching for an Item Label
Para buscar por la etiqueta de un item:
1. En Help contains, ingresar las palabras claves (la etiqueta).
2. Click Go.
Ver tambin: "Viewing Application Reports"
Creating a Help Navigation Bar Entry
Una vez que se ha creado la ayuda, el paso siguiente es crear una entrada en la barra de
navegacin de forma tal que los usuarios puedan accederla.
Para crear una entrada en la barra de navegacin:
1. Navegar a la Page Definition:
a. Navegar a la Database Home Page.
b. Click en el cono Application Builder.
c. Seleccionar una aplicacin.
d. Seleccin una pgina. Aparece la definicin de la pgina.
2. En Navigation Bar, click en el cono Create.
3. Especificar las entradas que correspondan a los atributos de la barra.
a. Squense
b. Alt Tag Text
c. Icon Image Name
d. Image Height and Image Width
e. Text
4. Especificar la ubicacin destino, para ello:
a. En Target type, seleccionar Page in this application.
b. En Page, especificar el id de la pgina.
c. En Request, escribir: &APP_PAGE_ID
Al especificar el string de sustitucin &APP_PAGE_ID como Request (peticin), se instruye
al motor del Application Express a mostrar el texto de ayuda la pgina actual cuando el
usuario hace click en este cono.

-91-

Application Express User's Guide

Building an Application

Controlling Page Layout and User Interface


Esta seccin describe diferentes formas que se pueden usar para refinar las interfaces con
los usuarios de las aplicaciones, ya sean regiones, edicin de items, templates de
personalizacin, e incorporar imgenes y cascading style sheets.
Temas:

Understanding Page Layout


Displaying Components on Every Page of an Application

Customizing Regions

How Item Attributes Affect Page Layout

Incorporating Content from Other WebSites

Managing Themes

Customizing Templates

Optimizing a Page for Printing

Using Custom Cascading Style Sheets

Managing Images

Managing Static Files

Creating a Multiple Column Layout

Rendering HTML Using Custom PL/SQL

Ver tambin: "Adding Navigation" para mayor informacin sobre creacin de bars, tabs,
breadcrumbs, lists y trees.
Understanding Page Layout
El motor del Application Express genera pginas por la combinacin de templates con
componentes definidos por el desarrollador y datos de la base.
La estructura de la pgina es deterimnada por el template de la pgina. Por ejemplo, el
template de la pgina controla si una pgina utiliza tabs y una barra de navegacin. Tambin
puede definir si la pgina incluye una barra del lado izquierdo que sirve como un contenedor
de enlaces de navegacin a pginas secundarias. Finalmente, el template, puede incluir
definiciones de las posiciones de regiones, las cuales permite un control preciso sobre la
ubicacin de regiones que usan tablas HTML style sheet. El template de pgina esta
compuesto de una combinacin de HTML con strings de sustitucin los cuales se sustituirn
con el componente apropiado en tiempo de ejecucin.
Como desarrollador, se agrega contenido sobre una pgina mediante la creacin de
regiones. Una regin es un rea de una pgina que sirve como un contenedor. Cada regin
-92-

Application Express User's Guide

Building an Application

contiene un tipo diferente de contenido, tal como, HTML, report, form, chart, list, breadcum,
pl/sql, un arbol, una url, un calendario. Se posiciona la regin en forma relativa a otras
regiones (es decir, basado sobre una secuencia de nmeros y columnas), usando la
posicin definida en el page template. El estilo de la regin es tambin controlado por el
region template. Al igual que el page template, el region template define la estructura del
area que la regin toma como una pgina. Esto define si el ttulo de la regin es mostrado y
donde este es displayado relativo al contenido principal, al cuerpo de la pgina. Una regin
puede tambin definir posiciones absolutas para los botones.
Ver tambin: "Creating a Region"
Displaying Components on Every Page of an Application
La pgina cero de la aplicacin funciona como la pgina principal maestra. El motor del
Application Express genera todos los componentes que se agregan a la pgina cero sobre
cada pgina dentro de la aplicacin. Se puede adems controlar si el motor del Application
Express genera un componente, ejecuta un clculo, validacin procesos mediante la
definicin de condiciones.
Para crear una pgina cero:
1. Crear una nueva pgina.
2. Especificar el ID de la pgina en cero.
Ver tambin:"Adding Pages to an Application", "Understanding Conditional Rendering and
Processing", and "Available Conditions"
Customizing Regions
Una regin es una rea de una pgina que sirve para contener algn componente. Cada
pgina puede tener cualquir cantidad de regiones. Se puede controlar la apariencia de una
regin a travs de especificaciones en el template de la region. El template de la regin
controla el aspecto, el tamao, los bordes, color de fondo, y que tipo de letra utiliza. El
templeate de la regin tambin determina la ubicacin estandard para cualquier botn que
se coloque en la regin.
Se pueden usar regiones para agrupar controles de pginas (tales como items botones).
Se puede crear una regin simple que no genera cdigo HTML adicional, o crear regiones
elaboradas que enmarcan el contenido de tablas HTML imgenes.
Las regiones se muestran en secuencia dentro de las columnas de una tabla HTML. Se
puede especificar tambin ubicaciones especficas para una regin, en posiciones definidas
en el template de la pgina. Tambin se puede condicionar el display de una regin.
Temas.
Creating a Region
Se puede crear una nueva regin ejecutando el Create Region Wizard.
1. Navegar a la correspondiente Page Definition:
a. Navegar a la Database Home Page.
b. Click en el cono Application Builder.
c. Seleccionar una aplicacin.
d. Seleccionar una pgina. Con lo cual aparece la definicin de la pgina.
2. En Regions, click en el cono Create. Aparece el wizard que crea una regin.
-93-

Application Express User's Guide

Building an Application

3. Seleccionar un tipo de regin y continuar con las instrucciones de pantalla.


Cuando se crea una regin se selecciona de que tipo es. El motor del Application Express
interpreta la regin basndose en el tipo que fue definida. La tabla de tipos de regiones est
disponible a continuacin.
Region Type

Description

HTML

Cuando se selecciona HTML, el wizard solicita se seleccione uno de los


siguientes:

HTML Funciona como un contenedor de items y contiene el HTML


que se le provee. Admite strings de sustitucin en el cdigo HTML
que se le escriba.
HTML Text (escape special characters) Es igual al anterior, pero
el motor convierte los caracteres especiales antes que ellos sean
generados.
HTML Text (with shortcuts) Soporta shortcuts.

Ver tambin: "Using Shortcuts"


Report

Las regiones reports se pueden definir mediante una consulta sql,


mediante la utilizacin de un wizard que guie la escritura de la consulta sql.
Ver tambin: "Creating Reports"
Son utilizadas para contener formularios.

Form
Ver tambin: "Creating Forms"
Chart

Una regin grfica contine graficos de lineas, barras, torta basados en


consultas sql.
Ver tambin: "Creating Charts"
Una regin del tipo List, contiene una coleccin de links denominada lista.

List
Ver tambin: "Creating Lists"
Contiene una lista jerrquica de links denominada breadcrumb.
Breadcrumb
Ver tambin: "Creating Breadcrumbs"
PL/SQL
Dynamic
Content
Tree

Este tipo permite generar cualquier HTML o texto usando el PL/SQL Web
Toolkit.
Los rboles son controles de navegacin jerrquicos basados en consultas
sql en tiempo de ejecucin. Permite al usuario expandir / colapsar nodos.
Ver tambin: "Creating Trees"
Este tipo de regiones obtiene su contenido mediante un llamado a un

URL
-94-

Application Express User's Guide

Region Type

Building an Application

Description
servidor web usando una URL predefinida.
Ver tambin: "Incorporating Content from Other WebSites"
Se utilizan para contener un calendario mensual.

Calendar
Ver tambin: "Creating Calendars"
Multiple HTML

Se utiliza esta opcin para crear mltiples regiones HTML de una sola vez.
En los campos provistos, se especifica la secuencia, el titulo, punto de
display, template del report y la columna de cada regin.
Las regiones Help Text permite crear ayudas a nivel de pgina.

Help Text
Ver tambin: "Creating a Help Page"
Ver tambin:

Oracle Database Application Developer's Guide - Fundamentals para ms informacin


sobre desarrollo de aplicaciones web con pl/sql.
Oracle Database PL/SQL Packages and Types Reference para ms informacin
sobre paquetes htp.
"How Region Attributes Affect Page Layout"

How Region Attributes Affect Page Layout


Se puede alterar la apariencia de una pgina cambiando los atributos de la regin. Para
editar los atributos de la regin.
1. Navegar a la correspondiente Page Definition.
2. En Regions, seleccionar un nombre de regin, con lo cual aparece la definicin de la
regin.
La siguiente tabla describe los atributos que afectan el layout de una pgina.
Table: Region Attributes Affecting Page Layout
Attribute
Conditions

Description
Define condiciones que determinan si la regin se muestra. Las
condiciones pueden hacer referencia al estado de la sesin, al usuario
actualmente loggeado, a las preferencias de entorno tales como si la
pgina est en modo Print View.
Ver Tambin: "Understanding Conditional Rendering and Processing"
y "Optimizing a Page for Printing"

Header and Footer

Especifica el texto HTML que se mostrar en la regin de tope de


pgina (justo antes del contenido de #BODY#).
-95-

Application Express User's Guide

Building an Application

Attribute

Description

Customization

Habilita al usuario final a utilizar las preferencias. Para ello se debe


incluir el string de sustitucin #CUSTOMIZE# en la seccin del Header,
Body, Footer del template de la pgina.
Ver Tambin: "Enabling Users to Customize a Page"

User Interface,
Column

User Interface,
Template

Determina la columna en la cual se muestra la regin. Si dos regiones


son mostradas en el mismo punto, se puede ubicar una al lado de la
otra indicando en la segunda regin que se displaye en la columna 2.
Muchas regiones se pueden displayar en cada columna y el orden de
display de la regin es controlado por el region display sequence
number.
Determina como se muestra la regin. Seleccionar desde los
templates definidos en la aplicacin. Para ver los atributos de template,
click en el nombre del template sobre la Page Definition.
Ver Tambin: "Customizing Templates" y "Region Templates"

User Interface,
Sequence
User Interface,
Display Point

Especifica el orden de display de la regin dentro de la pgina.


Identifica en que lugar dentro de la pgina se muestra la regin. Las
regiones son generadas en el orden del nmero de secuencia en un
Display Point. Click en el cono View para ver el layout de la pgina y
seleccionar una posicin.
Los posibles Display Point para una regin quedan determinados por
el atributo page-level del template (el cual es un atributo de la pgina).
Si no hay un template page-level seleccionado, se utiliza el default,
definido en la Application Definition.

User Interface,
Region HTML table
cell attributes

Define atributos adicionales a ser usados en las celdas de las tablas


HTML cuando la regin se displaya en mltiples columnas. Los
atributos controlan las celdas en las tablas que se usan para el lay out
de una regin en mltiples columnas.

Controlling Region Positioning


Cuando se crea una regin, se debe especificar su posicin ( Display Point) en la pgina.
Se puede elegir entre la posicin por default (tal como Page Template Body) una posicin
definida por el usuario en el template (tal como Page Template Region Position 1).
Adems del Display Point, se puede especificar la columna en la cual la regin ser ubicada.
Cuando se ubican regiones en mltiples columnas, Oracle Application Express
automticamente genera el HTML necesario para producir un layout con mltiples columnas.
Specifying a Region Header and Footer
Adems del contenido en el cuerpo de la regin (el cual puede ser un reporte, grfico
HTML con elementos de formulario), se puede especificar cdigo HTML adicional arriba
abajo de la regin en su encabezado y pi. El pie de una regin soporta los siguientes
strings de sustitucin:
-96-

Application Express User's Guide

Building an Application

#TIMING# muestra el tiempo transcurrido, en segundos, desde que se gener la


regin. Se puede utilizar para propsitos de depuracin.
#ROWS_FETCHED# Muestra la cantidad de filas traidas por el motor del reporte del
Oracle Application Express (es el page size). Se puede usar este string de sustitucin
para mostrar mensajes ms apropiados a los usuarios. Por ejemplo:
Se trajeron #ROWS_FETCHED# filas en #TIMING# segundos.

#TOTAL_ROWS# Muestra el nmero total de filas que cumplen con el where de la


consulta del reporte.
#FIRST_ROW_FETCHED# y #LAST_ROW_FETCHED# Muestra el rango de filas
displayadas (del total), por ejemplo:
displays the range of rows displayed. For example: Se muestran #ROWS_FETCHED#
filas, desde la #FIRST_ROW_FETCHED# a la fila #LAST_ROW_FETCHED#

Enabling Users to Customize a Page


Se puede usar el atributo Customization para permitir que los usuarios cambiar las regiones
cuando se ejecuta la aplicacin. Para ello:
1. Navegar a la correspondiente definicin de pgina (Page Definition).
2. En Regions, hacer click en el nombre de la regin. Aparece la definicin de la regin.
3. Bajar hasta Customization y seleccionar uno de los siguientes:
a. Customizable y no se muestra el default.
b. Customizable y se muestra el default.
4. En Customized Option Name, ingresar la etiqueta que representa esta regin en la
pgina del usuari.
5. Incluir el string de sustitucin #customize# en la seccin correspondiente ( Header,
Body Footer ) del template de la pgina.
Para utilizar esta opcin, se debe incluir el string de sustitucin #CUSTOMIZE# en la
seccin correspondiente ( Header, body Footer) del template de la pgina.
Si al menos una regin soporta customization por el usuario, aparece un link denominado
Customize donde se incluya el string de sustitucin #CUSTOMIZE# en el page template.
Cuando el usuario hace click en este link, se muestra una ventana al usuario permitindole
habilitar/deshabilitar regiones de la pgina.
Ver tambin: "Customizing Templates"
How Item Attributes Affect Page Layout
Un item es parte de un formulario HTML y puede ser un campo de texto, un rea de texto,
una password, una lista de seleccin, un check box, etc. Se puede la apariencia de una
pgina cambiando los atributos de los items. Por ejemplo, estos atributos pueden afectar en
que lugar se displaya, que tamao tendr, si el item se displayar a la derecha debajo del
item previo.
Ver tambin: "Creating Items"
Para editar los atributos de un item:
1. Navegar a la definicin de la pgina.
2. En Items, seleccionar el item deseado, con lo cual aparece la definicin del item.
Table: Item Attributes Effecting Page Layout describe como afecta al layout cada atributo de
un item.
-97-

Application Express User's Guide

Building an Application

Heading

Atributo

Descripcin

Displayed

Sequence

Determina el orden en el cual los items sern generados


dentro de la regin.

Displayed

Region

Define la regin en la cual se mostrar el item. Todos los


items estn en una regin.

Displayed

Begin On New Line Determina si este item se muestra sobre la misma linea del
item previo si se muestra sobre la siguiente.

Displayed

Begin On New
Field

Determina si este item se muestra en la prxima columna


en la misma columna del item previo.

Displayed

ColSpan

Los items son colcados en tablas html. Define el valor a ser


usado por el atributo COLSPAN de la celda que contendr
al item.

Displayed

RowSpan

Los items son colocados en tablas html. Define el valor a


ser usado por el atributo ROWSPAN de la celda que
contendr al item.

Label

Label

Registra la etiqueta para este item. Se pueden incluir html,


JavaScript, y shortcuts. Se puede tambin usar el string de
sustitucin #CURRENT_ITEM_NAME# para obtener el
nombre del item asociado con esta etiqueta.

Label

Horizontal/Vertical
Alignment

Controla la alineacin horizontal y vertical de la etiqueta.


Las etiquetas pueden ser mostradas arriba, abajo a la
izquierda del item.

Label

Template

Especifica el template de la etiqueta. Se utiliza cuando se


quiere dar una apariencia consistente, a las etiquetas de
toda la aplicacin.

Label

HTML Table Cell


Attributes

Define atributos adicionales para la celda que contiene a la


etiqueta de este item (por ejemplo, nowrap =
"nowrap").

Label

Especifica atributos adicionales para la tabla de celdas


Post Element Texts HTML usada para mostrar cada opcin individual en un
item radio group en un conjunto de check boxes. Se
puede incluir html, JavaScript, y shortcuts. Se pueden
referenciar los siguientes strings de sustitucin:

#CURRENT_FORM_ELEMENT# obtiene el nombre del


elemento del formulario HTML con el cual se asocia
-98-

Application Express User's Guide

Heading

Atributo

Building an Application

Descripcin
este post element text.

List of
Values

Columns

Conditions

Read Only
Display
Settings

#CURRENT_ITEM_NAME# obtiene el nombre del item


con el cual este post element text se asocia.

Se aplica a radio groups y a check boxes. Define el nmero


de columnas que se usan para mostrar los valores
definidos en la lista de valores. Por default, todos los
valores se muestran en una columna.

Define la expresin condicional que determina si un item se


Condition Type and muestra.
Expressions
Ver tambin: "Understanding Conditional Rendering and
Processing"
Read Only
Condition Type

Define la expresin condicional que determina si el item se


mostrar como solo lectura. Se usa este atributo para
mostrar determinados items a un conjunto de usuarios
como actualizables, mientras a otros se los muestra de
solo lectura. Reduce la necesidad de codificar interfaces
duplicadas para diferentes usuarios.

Incorporating Content from Other WebSites


Generalmente, las pginas en una aplicacin estn basadas en datos alojados en una base
de datos Oracle. Para incorporar contenido desde otros servidores, se puede crear una
regin basada en una URL para mostrar su contenido. Por ejemplo, supongase que se
desea referenciar los precios actuales de los productos Oracle:
http://quote.yahoo.com/q?d=b&s=ORCL
Luego se podra crear un item denominado STOCK_SYMBOL y basar la regin en un precio
ingresado por el usuario. Por ejemplo:
http://quote.yahoo.com/q?d=b&s=&STOCK_SYMBOL.
A veces (como es el caso del ejemplo previo) el HTML retornado a la regin es ms del que
se necesita. Para restringir el HTML mostrado se pueden usar los siguientes atributos de
regin:

URL (descarta hasta pero no incluye el texto)


URL (descarta despues de pero incluye el texto)

Notar que el ejemplo anterior podra requerir que se establezca el atributo Proxy Server de la
aplicacin. Si no se setea el atributo Proxy Server de la aplicacin, se devuelve un mensaje
de error. Oracle Application Express utiliza la funcin utl_http.request_pieces, de
Oracle, para obtener el HTML generado desde una URL dada.
-99-

Application Express User's Guide

Building an Application

Ver tambin: "Configuring Standard Application Attributes" para ver ms informacin acerca
del seteo del atributo Proxy Server de una aplicacin.
Managing Themes
Themes (contextos) son colecciones de templates que pueden ser usados para definir el
layout y estilo de una aplicacin completa. La idea de usar theme (contexto) es proveer un
conjunto completo de templates que acomode cada patrn de interfase de usuario que se
necesite en una aplicacin.
Los templates estn organizados primero por tipo (button, calendar, label, list, breadcrumb,
page, popup LOV, region, y report) y luego por clases de template, especializando el
propsito del template dentro del tipo. Cada tipo de template provee un grupo de clases
standard y ocho clases especializadadas. Estas clasificaciones permiten a ORACLE
APPLICATION EXPRESS mapear templates con los themes (contextos), haciendo sencillo,
cambiar rpidamente, el look and feel de una aplicacin completa.
Temas:

Accessing the Themes Page


Changing Default Templates in a Theme

Creating a New Theme

Switching an Active Theme

Copying a Theme

Deleting a Theme

About Exporting and Importing Themes

Changing a Theme Identification Number

Viewing Theme Reports

Ver tambin: Customizing Templates


Accessing the Themes Page
Se gestinan los themes sobre la Themes page.
Para acceder a la Themes page desde Shared Components:
1. En la Database Home Page, hacer click en el cono de Application Builder.
2. Seleccionar una aplicacin.
3. Click en Shared Components.
4. Bajar hasta User Interface y seleccionar Themes. Con ello aparece la Themes page.
5. Para acceder a la vista de detalle (Details view), seleccionar Details desde la lista
View. El contexto actual seleccionado displaya una marca (check mark) en la columna
actual.
Para acceder a la Themes page desde la Page Definition:
1. En la Database Home Page, click en el cono del Application Builder.
-100-

Application Express User's Guide

Building an Application

2. Seleccionar una aplicacin.


3. Seleccionar una pgina. Con lo cual aparece la Page Definition.
4. Seleccionar el nombre del contexto (theme).
About the Themes Page
Una vez que se crea un contexto, este aparece sobre la Themes page. Se controla como se
displaya la pgina mediante la seleccin de las siguientes opciones desde la lista View:
Icons (el default) displaya cada contexto como un cono grande. Para editar uno
basta con hacer click en el cono correspondiente.
Details displaya cada contexto como una linea de reporte. Para cambiar el contexto
el template por default, click en el theme name. En la vista Details, se puede
seleccionar las siguientes opciones desde la lista Display:
o Summary View displaya los Id del contexto, el nombre, y el estado actual.
o Detailed View displaya el Id del contexto, el nombre, el estado actual, y el
nmero de templates en cada tipo de template.
Changing Default Templates in a Theme
El theme standard contiene templates para cada tipo de regiones y componentes. Se puede
cambiar el templates seleccionado por default de un theme (contexto) en la pgina de
definicin del Theme.
Se pueden sustituir esos defaults, por otros seleccionando otro template cuando ya se hallan
creado nuevos componentes o regiones, o mediante el cambio del template en la pgina de
atributos de los componentes o regiones.
Entonces, para revisar cambiar el template por default en un theme (contexto):
1. Navegar a la Themes page:
a. En la Database Home Page, click en el cono AB .
b. Seleccionar una aplicacin.
c. Click Shared Components.
d. En User Inerface, seleccionar Themes.
2. Acceder al la vista Details. Para ello en View seleccionar Details.
3. Seleccionar el theme (por el nombre) que se desea. Con ello aparce la pgina que
Crea/Edita el Theme. Al tope de la pgina se displaya el Id asociado a la aplicacin y
el nmero de identificacin del Theme.
4. Para cambiar el nombre del Theme, ingresar un nuevo nombre en el campo Name.
5. Para cambiar un template por default, se debe hacer una nueva seleccin desde la
lista correspondiente.
Table: Default Templates by Component describe el template por default disponible en la
seccin Default Templates by Component.
Attribute

Description

Page

Identifica el template por default para mostrar pginas. Si el desarrollador no


elige explcitamente un template, el motor del AE utiliza el template
especificado aqu.
Una vez definido, este template aparecer sobre la pgina Edit Application
Attributes debajo del encabezamiento del Application Template Defaults.
Ver tambin: "Display Attributes" para mayor informacin acerca de sustituir
el page template en la pgina Page Attributes.
-101-

Application Express User's Guide

Attribute
Error Page

Building an Application

Description
Opcional. Especifica un page template para usar en errores que se muestran
en una pgina separada a diferencia de aquellos que se displayan en linea.
Dejar este atributo en blanco si no se desea utilizar un template destinado a
mostrar errores.
Una vez definido, este template aparecer sobre la pgina de edicin de
atributos de la aplicacin (Edit Application Attributes) debajo del Application
Template Defaults.

Identifica el template que se usar cuando el motor del AE est en modo


printer friendly. Cuando se invoca al AE para armar una pgina se tiene la
Printer
Friendly Page opcin de identificar el valor del atributo printer friendly en YES NO.
Si se selecciona YES, luego la pgina se mostrar usando un template printer
friendly. El motor del AE muestra todos los textos, de los campos html del
formulario, como texto. El template printer friendly no necesita tener el tags
#FORM_OPEN# #FORM_CLOSE#. El objetivo es tener la posibilidad de
mostrar informacin con unas pocas tablas y en un formato adecuado para
imprimir.
Una vez definido, este template por default aparecer en la pagina Edit
Application Attributes debajo del encabezamiento Application Template
Defaults.
Ver tambin: "Optimizing a Page for Printing"
Breadcrumb

Identifica el template por default para los breadcrumb que se utilizar en la


creacin de nuevos breadcrumbs.

Button

Identifica el template por default utilizado en la creacin de botones.

Calendar

Especifica el calendar template por default utilizado para crear calendarios.

Label

Identifica el template por default para crear nuevas etiquetas.

List

Especifica el template por default para crear nuevas listas.

Region

Especifica el template por default para crear nuevas regiones.

Report

Identifica el template por default para crear nuevos reports.

Table: Region Templates by Region Type describe el template por default disponible en la
seccin Default Templates by Region Type.
Attribute

Description

Breadcrumbs

Template de regin por default para crear un breadcrumb.


-102-

Application Express User's Guide

Building an Application

Attribute

Description

Charts

Template de grfico por default para crear grficos.

Forms

Template de formulario por default para crear formularios.

Lists

Template de regin por default para crear una lista.

Reports

Template de regin por default para crear un reporte.

Tabular Forms Template de regin por default para crear un formulario tabular. (un browse)
Wizards

Template de regin por default para crear un nuevo wizard.

Creating a New Theme


Se puede crear un nuevo contexto (theme) a partir de uno en blanco seleccionando uno
existente desde el repositorio.
Para crear un nuevo contexto:
1. Navegar a la Themes page:
a. En la Database Home Page, click en el cono de AB .
b. Seleccionar una aplicacin.
c. Click en Shared Components.
d. Debajo de User Interface, seleccionar Themes.
2. Click en Create.
3. Especificar si se selecciona un contexto (theme) desde el repositorio, se crea uno
nuevo en blanco.
4. Si se selecciona From Repository:
a. Seleccionar un Theme desde el repositorio.
b. Click Create.
5. Si se selecciona From Scratch:
a. Especificar un nuevo nombre.
b. Click en Create. Aparece la pgina de Themes.
c. Definir los templates por default para el nuevo Theme:
i. Click en el cono Edit (junto al nombre del nuevo Theme).
ii. Cambiar el nombre del theme, ingresar un nuevo nombre en el campo
Name.
iii. Cuando aparece la pgina Define Theme, seleccionar los templates por
default para el nuevo theme.
Switching an Active Theme
Cuando se cambia a un nuevo theme, todos los componentes que estn asignados a un
template son asignados al template correspondiente en el nuevo theme. AB logra mapear el
template a travs de la asignacin del identificador de clase del template.
Nota: Se puede solo cambiar a un otro theme si ya existe previamente.
-103-

Application Express User's Guide

Building an Application

Para aplicar un theme a una aplicacin:


1. Navegar a la Themes page.
2. Click en el cono Switch Theme. Con lo cual aparece la pgina de Switch Theme.
3. En la lista de theme de Switch seleccionar un theme y click en Next.
4. Revisar el estado de la columna que identifica mapeos problemticos:
a. Check indica que el mapeo fue exitoso.
b. Warning indica que hay ms de un template en el theme con el mismo
identificador de clase. El mensaje de advertencia provee una lista para
seleccionar cual es el template apropiado.
c. Error indica que AB no pudo mapear la clase con los themes. Asegurese que
una sola clase est identificando a los templates en ambos themes.
5. Click en Next para continuar.
6. Click en Switch Theme.
Ver tambien: "Creating a New Theme"
Copying a Theme
Cada theme es identificado por un ID. Cuando se copia un theme se especifica un nuevo ID.
Copiar un theme es util si se quiere experimentar con la edicin de un theme existente bien
si se desea exportarlo con un ID diferente.
Para copiar un theme:
1. Navegar a la Themes page:
a. En la Database Home Page, click en el cono de AB .
b. Seleccionar una aplicacin.
c. Click en Shared Components.
d. En User Interface, seleccionar Themes.
2. En la lista Tasks (a la derecha de la pantalla), click en Copy Theme (es la primera
opcin).
3. En la pgina de Copy Theme:
a. Copy from Theme: Es una lista donde se selecciona el theme origen (desde el
cual se copia). Por ejemplo: 6. Southwest.
b. Copy to this Theme Identification Number: Es un nmero, ID, que identifica
univocamente a los objetos del generador de aplicaciones. Del 1 al 100 estn
reservados para Oracle. Elegir, por ejemplo 1006.
c. Click en Next.
d. Aparece la pantalla para confirmar la copia del theme.
e. Click en el botn Copy Theme.
Notar que el Theme generado tiene el mismo nombre que el original (cambia el ID). Se
puede cambiar el nombre, para ello vase: Creating a New Theme
Deleting a Theme
Solo se pueden eliminar themes que no estn referenciados (inactivos). Cuando se deletea
un theme, AB solo remueve los templates inactivos.
Para eliminar un theme:
1. Navegar a la pginas de Themes.
2. En la lista de tareas que est a la derecha, click en Delete Theme.
3. Seleccionar el Theme, que se desea eliminar, en la lista que se muestra.
4. Click en el botn Remove Theme.
-104-

Application Express User's Guide

Building an Application

About Exporting and Importing Themes


Se exporta un theme de la misma forma que se exporta cualquier archivo relacionado con la
aplicacin. Exportar un theme desde una instancia de desarrollo a otra, involucra los
siguientes pasos:
1. Exportar el theme usando el Export Theme Utility.
2. Importar el archivo exportado en la instancia destino del OAE .
3. Instalar el archivo exportado desde el repositorio Export.
Ver tambin: "Exporting Themes" y "Importing Export Files"
Changing a Theme Identification Number
Cada theme tiene asociado un ID. Se puede usar el utilitario Change Theme ID para cambiar
el nmero que identifica a un theme. Esto puede ser util cuando se desea exportar un
theme con un nmero diferente para lograr una importacin exitosa en la instancia destino.
Para cambiar el ID de un theme:
1. Navegar a la Themes page.
2. En la lista de tareas que esta a la derecha, click en Change Identification Number.
3. Aparece la pgina Change Theme ID, y alli se debe:
a. Seleccionar un theme.
b. Especificar un nuevo nmero identificatiorio.
c. Click en Next.
d. Aparece la pantalla de confirmacin. Click en Change Theme ID.
Viewing Theme Reports
Application Builder incluye un conjunto de reportes diseados para colaborar en la gestin
de themes y templates.
Temas:
Viewing All Templates in a Theme
Viewing Theme Template Counts
Viewing File References
Viewing Class References
Viewing Template Substitution Strings
Viewing All Templates in a Theme
Para ver todos los templates que componen un theme:
1. Navegar a la Themes page.
2. Click en Reports (est arriba a la izquierda).
3. En la pgina de Theme Reports:
a. En Report, seleccionar Application Templates.
b. En Theme, seleccionar un theme.
c. Click en Go. Con ello aparece un listado de templates catalogado por tipo,
nombre, theme asociado y clase (de template).
4. Para editar un template, seleccionar el nombre del template.
Viewing Theme Template Counts
El reporte Theme Template Count lista que clases (template classes) tienen actualmente
templates creados con ellas.
1. Navegar a la Themes page.
2. Click en Reports.
-105-

Application Express User's Guide

Building an Application

3. En la pgina de Theme Reports:


a. En Report, seleccionar el Theme Template Counts.
b. En Theme, seleccionar el theme.
c. Click en Go.
4. Si se est usando clasificacin personalizada (custom), tildar Show Custom y click en
Go.
Viewing File References
Este reporte muestra un listado de todos los archivos asociados con templates,
componentes compartidos, componentes de pgina en la actual aplicacin.
Para ver este reporte:
1. Navegar a la Themes page.
2. Click en Reports.
3. En la pgina de Theme Reports:
a. En Report, seleccionar el File References.
b. En Theme, seleccionar el theme.
c. Click en Go.
4. En la pgina de File References:
a. En Show, seleccionar el tipo de componente a incluir en el reporte. Si no se
selecciona alguno, no se mostrar nada.
b. En Show Files, seleccionar uno de los siguientes:
i. With context muestra el componente, el ID del theme, el nombre del
componente, la imagen (si corresponde), y el ID de la pgina.
Seleccionar el page ID para enlazar a una Page Definition.
ii. Without context muestra solo el nombre de archivo y la imagen (si es
aplicable).
c. En File Extensions, seleccionar el tipo de extensiones para las cuales se
busca.
d. Click en Go.
5. Para bajarlo (download) como un archivo delimitado por comas (.csv), a este reporte,
hacer click en el botn Download CSV que est en la pgina.
Viewing Class References
Este reporte muestra un listado de clases asociadas con templates, componentes
compartidos componentes de pginas de la aplicacin actual.
Para ver este reporte:
1. Navegar a la Themes page.
2. Click en Reports.
3. En la pgina de Theme Reports.
a. En Report, seleccionar Class References.
b. En Theme, seleccionar un theme.
c. Click en Go.
4. Muestra la pgina de Class References, y alli:
a. En Show, se seleccionan los componentes a chequear si referencias clases.
Sino se selecciona nada, nada se muestra.
b. En Show Class Names, selecione uno de los siguientes:
i. With context muestra el componente, el ID del theme, el nombre del
componente, la imagen y el ID de la pgina.
ii. Without context muestra solo las clases referenciadas.
c. Click en Go.
5. Para bajar como archivo delimitado por comas (.csv) a este reporte, se debe
seleccionar el botn Download CSV.
-106-

Application Express User's Guide

Building an Application

Viewing Template Substitution Strings


Este reporte muestra el template de los strings de sustitucin para ver todos los strings de
sustitucin soportados por los componentes.
Para ver este reporte:
1. Navegar a la Themes page.
2. Click en Reports.
3. En la pgina de Theme Reports:
a. En la opcin Report list, seleccionar Template Substitution Strings.
b. En la opcin Theme list, seleccionar que theme se debe incluir en el reporte.
c. Click en el botn Go.
4. Para enlazar a la definicin del template, seleccionar un nombre de componente.
Ver tambin: "Using Substitution Strings"
Customizing Templates
El motor del AE crea la interface de usuario de una aplicacin basandose en una coleccin
de templates denominada theme. Los templates controla el look and feel (la apariencia) de
los componentes en la aplicacin. Si se necesita crear un nuevo template personalizado, es
generalmente ms simple arrancar con un template existente y luego modificarlo como se
desea. Una vez que se ha creado uno o ms templates, se pueden modificar para ajustarlos
a las necesidades especficas.
Temas:

Cascading Style Sheets


Selecting a Default Page Template

Viewing Templates

Creating a New Template

Viewing Template Reports

Editing Templates

Breadcrumb Templates

Button Templates

Calendar Templates

Label Templates

List Templates

Page Templates

Popup LOV Templates

Region Templates
-107-

Application Express User's Guide

Building an Application

Report Templates

Ver tambin: Managing Themes


Cascading Style Sheets
Una cascading style sheet (CSS-hoja con diferentes estilos) provee una forma de controlar el
estilo de una pgina web sin cambiar su estructura. Cuando se usa adecuadamente, una
CSS separa los atributos visuales tales como colores, margenes, y fonts de la estructura del
documento. OAE incluye themes (conj.de templates) que contiene templates que referencias
sus propias CSS. Las reglas de estilo definida en cada CSS para un theme particular
tambin determinan la forma en que se displayan las regiones y los reportes. Ver tambin:
"Using Custom Cascading Style Sheets"
Selecting a Default Page Template
Se puede especificar un template por default de dos formas.
Seleccionando uno dentro del theme especfico.
Seleccionando uno en la pagina base.
Por default, el motor del AE utiliza el template de pgina especificado en el Themes.
Para seleccionar un Page-level Template dentro del Theme
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Click en Shared Components.
4. En user interface, seleccionar Themes. Aparece la pgina de Themes.
5. En View seleccionar Details.
6. Seleccionar de la lista el theme correspondiente.
7. En Default Templates by Component, seleccionar lo deseado desde la Page list.
Ver tambin: "Changing Default Templates in a Theme"
Seleccionar un Page-Level Template para una pgina especfica.
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Seleccionar una pgina.
4. Click en Edit Attributes.
5. Localizar la seccin Primary Display Attributes.
6. Seleccionar lo deseado desde las listas en este Page Template.
Viewing Templates
Se pueden ver todos los templates disponibles en la pgina Templates. Otra alternativa es
ver el template que se utiliza para una pgina especfica en la Page Definition. Ver tambin:
"Viewing All Templates in a Theme"
Para ver la pgina de los Templates:
1. En la Database Home Page, click en el cono del Application Builder.
2. Seleccionar una aplicacin.
3. Click en Shared Components.
4. En User Interface, seleccionar Templates. Con ello aparece la pgina de los
templates.
-108-

Application Express User's Guide

Building an Application

5. Se puede ajustar el display haciendo una seleccin desde las opciones siguientes y
luego click en Go.
a. Theme Para ver solo templates de un theme especfico.
b. Show Para un tipo especfico de template.
c. View - Para ver todos los templates, ya sean o no referenciados.
6. Para ver la definicin de cualquiera de ellos hacer click en el nombre.
7. Para ver un preview de un template, click en el cono Run en la columna Preview. (No
todos los tipos de template tienen la capacidad de la vista previa).
Para ver los templates desde la Page Definition
1. En la Database Home Page, click en el cono Application Builder.
2. Seleccionar una aplicacin.
3. Seleccionar una pgina. Aparece la Page definition de la misma. Los templates
asociados con la esta, se encuentran Templates en la columna que est ms a la
derecha.
4. Para ver atributos de un template existente basta con un click en el nombre.
Creating a New Template
Si es el caso en que se necesita crear un template personalizado, generalmente es ms
simple arrancar desde un template existente y luego modificar este segn se desee.
Para crear un template personalizado:
1. Seleccionar la aplicacin.
2. Seleccionar componentes compartidos.
3. Seleccionar templates.
4. Click en Create.
5. Seleccionar el tipo de template que se desea crear.
6. Seleccionar el mtodo de creacin.
a. From Scratch (crear uno nuevo desde cero).
b. As a Copy of an Existing Template (crear a partir de uno existente)
7. Seguir las instrucciones de pantalla. Ser cuidadoso al asociar el template con el
correspondiente theme (layout modelo grafico).
Viewing Template Reports
El AB incluye reportes que describen donde se utilizan los templates, y su historia.
Para ver los reportes sobre template de la aplicacin actual:
1. Seleccionar una aplicacin.
2. Seleccionar componentes compartidos.
3. Seleccionar templates.
4. Se puede ajustar el display seleccionando desde las siguientes listas y haciendo click
en Go.
a. Theme Muestra solo templates de un theme especfico.
b. Show Muestra un tipo especfico de template.
c. View Muestra todos los templates, aquellos que estn actualmente
referenciados, aquellos que no estn referenciados.
5. Para ver los reportes de template, click en los siguientes botones:
a. Utilization: Muestra la utilizacin en la actual aplicacin de todos los tipos de
templates (page, report, region, label y list).
b. Subscription: Muestra los templates suscriptos por la aplicacin.
c. History: Detalla los cambios recientes al template por el desarrollador y la
ltima fecha de actualizacin.
Editing Templates
-109-

Application Express User's Guide

Building an Application

Una vez que se cre un template (personalizado), se puede rapidamente editarlo desde la
pgina de templates desde la Page Definition.
Para editar un template existente desde la pgina de Templates, se debe:
1. Seleccionar una aplicacin.
2. Seleccionar componentes compartidos.
3. Seleccionar Templates.
4. Se puede limitar el display seleccionando (filtrando) desde las siguientes listas y luego
haciendo click en Go.
a. Theme Muestra solo los templates de un Theme especfico.
b. Show Muestra un tipo especfico de template.
c. View Muestra todos los templates, los que actualmente estn referenciados y
aquellos que no estn referenciados.
5. Localizar el template que se desea editar y hacer click en el nombre del template.
6. Seguir con las instrucciones dadas en pantalla.
Al editar templates, se puede estar editando el template en una pgina y ejecutarlo en otra.
Para ello se debe seleccionar el check box Return to Page, el cual guarda la pgina que se
est editando despus que se haga click en Apply Changes.
Breadcrumb Templates
Un template de breadcrumb controla las entradas que se muestran. Se selecciona un
template breadcrumb cuando se crea una region.

About Breadcrumb Style Navigation


Los breadcrumbs indican donde, la pgina actual, est en relacin a las otras pginas por
las cuales ya se naveg. Los usuarios pueden hacer click en una pgina especfica para
verla inmediatamente. La interface de usuarios de Database Home Page incluye breadcrumb
debajo de la linea estandar de tabs que se encuentra al tope de cada pgina por la cual se
navega. Por Ejemplo:
Ver tambin:
Ayuda en linea para ms informacin acerca de como editar la pgina de los
template de Breadcrumb.
"Creating Breadcrumbs"
Breadcrumb Template Attributes
Esta seccin describe aspectos especficos de la pgina de template de Breadcrumb.
Identification
Name identifica el nombre del template. Utilizar el check bok Translatable para indiciar que
el template contiene texto (strings) que requieren ser traducidos. Theme indica el theme del
cual el template es miembro.
Template Class identifica una utilizacin especfica para el template. Cuando se cambia a
un nuevo theme, todos los templates miembros son mapeados al nuevo theme. Application
Builder logra este mapeo a travs de la asignacin de una clase template.
Breadcrumb Template Subscription
Para aplicar un template a la aplicacin actual se utiliza Template Subscription. Cuando se
selecciona un template existente, la aplicacin pasa a ser miembro del template.
Para cargar una nueva copia del template, click en Refresh.
-110-

Application Express User's Guide

Building an Application

Breadcrumb Template Styles


Seleccione uno de los siguientes estilos de template:
Child Breadcrumb Entries muestra todas las entradas que son hijos del breadcrumb
padre de la pgina actual, es decir, los pares del breadcrumb actual.
Current Breadcrumb muestra todas las entradas, en secuencia de navegacin, con
un padre comn.
Parent Breadcrumb Entries muestra todas las entradas que son padre de la entrada
actual (es decir, un nivel arriba de la entrada actual).
Parent to Leaf (breadcrumb style) muestra la entrada de la pgina actual, su padre
a la izquierda, y as sucesivamente hasta alcanzar el nodo raiz.
Breadcrumb Entry Control Attributes
Describe los atributos disponibles para las entradas breadcrumb.
Atributo

Descripcin

Before First

Define el texto que se muestra antes de aparecer la primer entrada.

Current Page
Breadcrumb Option

Non Current Page


Breadcrumb Option

After Last

Define como se ve la entrada que corresponde a la pgina actual.


Este atributo soporta los siguientes strings de sustitucin:

#NAME# especifica el nombre corto.


#LINK# especifica un enlace para esta entrada.

#LONG_NAME# especifica el nombre largo.

Define como se ven las entradas que no corresponden a la pgina


actual. Este atributo soporta los siguientes atributos de sustitucin:

#NAME# especifica el nombre corto.


#LINK# especifica un enlace para esta entrada.

#LONG_NAME# especifica el nombre largo.

Define el texto a mostrar a continuacin de la ltima entrada.

Template Attributes
Para especificar un enlace a hypertext (para una entrada breadcrumb) utilizar Breadcrumb
Link Attributes.
Para especificar el texto a mostrar entre cada entrada utilizar Between Levels. Por ejemplo:
main X cars X porsche X 911
El atributo Max Levels especifica la cantidad de niveles (de entradas) de los breadcrumb
mostrados.
Comments
Usar este atributo para registrar comentarios del desarrollador.
Button Templates
-111-

Application Express User's Guide

Building an Application

Los templates de botones permiten a los desarrolladores castomizar como se ven los
botones. Para crear un botn, se pueden utilizar diferentes imgenes tambin tags HTML.
El uso de templates para botones es opcional.
Button Template Attributes
Aqui se describe cada item, de la Button Template page, en forma detallada.
Button Template
Template Name identifica el nombre del template. Usar el check box Translatable para
indicar el template contiene texto el cual requiere traduccin. Theme indica el tema del cual
el template es un miembro.
Template Class identifica un uso especfico para el template. Cuando se cambia a un nuevo
tema, todos los templates de un tema son mapeados a los templates correspondientes del
nuevo tema. Application Builder logra este mapeo de template a travs de la asignacin de
una clase al template.
Template Subscription
Utilizar Template Subscription para aplicar un template existente a la actual aplicacin.
Cuando se selecciona un template existente, la aplicacin ser suscripta al template. Para
cargar una nueva copia del master template, hacer click en Refresh.
Template Text
Define el texto que muestra el botn. Se puede optar por incluir sustituciones en la forma
estandar. Por ejemplo, &ITEM_NAME puede ser sustituido en tiempo de interpretacin. Los
templates de botones soportan los siguientes strings de sustitucin:
#LABEL# es reemplazado con una etiqueta de botn.
#LINK# es reemplazado con una URL. La URL luego invoca un #DOsUBMIT# lo
remite a un JavaSript, el cual submite la pgina (es decir, setea el valor de retorno),
simplemente redirecciona al la URL provista).
Comments
Utilizar este atributo para registra los comentarios del desarrollador.
Calendar Templates
Los templates de calendario controlan la apariencia y la ubicacin de un calendario. Los
template de calendario frecuentemente utilizan tablas HTML para disponer las fechas. Se
setean atributos de calendario usando strings de sustitucin tales como #DD# y #MONTH#.
Una lista de los strings de sustitucin soportados aparece sobre el lado derecho de la pgina
de atributos. Note que los string de sustitucin utilizados en el template deben ser con letra
mayscula y comenzar y terminar con un signo numeral (#). .
Ver tambin: "Creating Calendars"
Calendar Template Attributes
En esta seccin se describen los detalles de la pgina del template de calendario.
Calendar Template Identification
Name identifica el nombre del template. Theme indica el tema del cual el template es
miembro.
Template Class identifica un uso especfico para el template. Cuando se cambia a un nuevo
tema, todos los templates miembros del tema son mapeados a los templates
-112-

Application Express User's Guide

Building an Application

correspondientes del nuevo tema. El Application Builder logra esto mapeando los templates
a travs de la asignacin de clase a cada template.
Template Subscription
xxxxxxxx
Label Templates
List Templates
Page Templates
Popup LOV Templates
Region Templates
Report Templates
Optimizing a Page for Printing
Using Custom Cascading Style Sheets
Managing Images
Managing Static Files
Creating a Multiple Column Layout
Rendering HTML Using Custom PL/SQL

-113-

También podría gustarte