Sei sulla pagina 1di 6

Temas importantes a tomar en cuenta en migracin de Oracle 6i a 11g.

Built ins Obsoletos.


6i 11g
Disable_Item SET_MENU_ITEM_PROPERTY()
Enable_Item SET_MENU_ITEM_PROPERTY()
Item_Enabled GET_MENU_ITEM_PROPERTY
Menu_Clear_Field CLEAR_ITEM
Menu_Failure FORM_FAILURE
Menu_Message MESSAGE
Menu_Next_Field NEXT_ITEM
Menu_Previous_Field PREVIOUS_ITEM
Menu_Show_Keys SHOW_KEYS
Menu_Success FORM_SUCCESS
New_User LOGOUT y LOGON
OS_Command HOST
OS_Command1 HOST
BREAK DEBUG.SUSPEND
CALL CALL_FORM
CHANGE_ALERT_MESSAGE SET_ALERT_PROPERTY
OHOST HOST
ROLLBACK_FORM CLEAR_FORM (NO_COMMIT,FULL_ROLLBACK)
ROLLBACK_NR CLEAR_FORM (NO_COMMIT,FULL_ROLLBACK)
ROLLBACK_RL CLEAR_FORM (NO_COMMIT,FULL_ROLLBACK)
ROLLBACK_SV CLEAR_FORM (NO_COMMIT,FULL_ROLLBACK)
RUN_PRODUCT RUN_REPORT_OBJECT
Constantes Obsoletas
DATE_FORMAT_COMPATIBILITY GET_APPLICATION y SET_APPLICATION

Sintaxis Obsoletas
Utilizando el smbolo (&) como un equivalente funcional a NAME_IN () ahora es obsoleto.
Trigger Obsoletos
ON-DISPATCH-EVENT Slo se aplica a tems OLE y OCX
When-Mouse-Move/ Estos triggers son ignorados cuando se ejecuta
en la Web When-Mouse-Enter/ debido a la cantidad de trfico de red
que se generara
When-Mouse-Leave Triggers

Estricta observancin de los Triggers
WHEN-CLEAR-BLOCK
WHEN-CREATE-RECORD
WHEN-DATABASE-RECORD
WHEN-NEW-RECORD-INSTANCE
WHEN-REMOVE-RECORD
WHEN-NEW-FORM-INSTANCE
Todos los anteriores son permitidos a nivel de formulario y bloque, ya no son permitidos a nivel
de tem.


Propiedades Obsoletas
Command Type men tems
Nota: esta propiedad es parcialmente obsoleta. El nico valor vlidos es Null, PL / SQL, y el
men.
Si el mdulo de men usa Plus, forma, o Macro, que ya no son valores vlidos, los valores son
sustituye por el siguiente cdigo PL / SQL en el Comando propiedad Text:
Plus: / * HOST ('sqlplus <old_code>'); * / Null;
Forma: / * CALL_FORM (<old_code>); * / Null;
Macro: / * MACRO: <old_code>; * / Null;
donde <old_code> es el valor de la Propiedad de Command Text antes de la actualizacin. La
sustitucin de cdigo PL / SQL est comentado, para que pueda reemplazar el cdigo original
con el nuevo cdigo de PL / SQL.

Fixed Length tems
Use una mscara de formato con el nmero correspondiente de marcadores de posicin para
limitar o controlar la longitud de los datos introducido para un elemento.

List Type LOVs
Debido a que todas las listas de valores se basan ahora en grupos de registros, esta propiedad
est obsoleta.

Menu Source forms
Un valor de la base de datos ya no es vlido. File es el nico valor vlido para esta propiedad,
que indica que en tiempo de ejecucin, Forms utiliza la Ruta normal de bsqueda para localizar
el archivo MMX.

Runtime Compatibility Mode forms
Ignorado en tiempo de ejecucin. Para permitir WHEN-VALIDATE-ITEM funcione durante
items NULL, especifique 4.5 para la propiedad DEFER_REQUIRED_ENFORCEMENT.

Trigger Style triggers
Todos los trigger son ahora triggers de PL / SQL.

Obsolete Forms Runtime Command Line Options
OptimizeSQL
OptimizeTP
Keyin
Keyout
Output_file
Interactive
Block_menu
Statistics

Obsoletos atributos lgicos y GUI
Alert
AlertBackground
AlertIcon
AlertMessage
Boilerplate
Bold
Bold-inverse
Bold-text
Button-current
Button-non-current
Field-current
Field-non-current
Field-Queryable
Field-selected-current
Field-selected-non-current
Full-screen-title
ItemQueryDisabled
ListItemNonSelect
ListItemSelect
ListPrefix
Listtitle
Menu
Menu-bottom-title
MenuItemDisabled
MenuItemDisableMnemonic
MenuItemEnable
MenuItemEnableMnemonic
MenuItemSelect
MenuItemSelectMnemonic
Menu-subtitle
Menu-title
Normal
NormalAttribute
PushButtonDefault
PushButtonNonDefault
Scroll-bar-fill, Inverse, Inverse-underline,Bold-underline, Bold-inverse-underline
ScrollThumb
Status-Empty
Status-Hint
Status-Items
Status-Message
Sub-menu
TextControlCurrent
TextControlFailValidation
TextControlNonCurrent
TextControlSelect
ToolkitCurrent
ToolkitCurrentMnemonic
ToolkitDisabled
ToolkitDisabledMnemonic
ToolkitEnabled
ToolkitEnabledMnemonic
Underline
WindowTitleCurrent
Listas de Valores
Listas de valores basados en grupos de registros siguen siendo vlidas. Sin embargo, las listas
de valores "a la antigua" (al estilo V2.3 LOV) son obsoletos en Oracle Forms.
Cuando las formas contienen listas de valores de estilo antiguo se actualizan a formularios
Developer, la propiedad Text LOV LOV , que hace referencia a una tabla y una columna (como
EMP.ENAME), se convierte en una lista de valores "estilo nuevo" mediante la creacin de un
grupo de registros basado en una consulta (select <column> de <table>). La lista de valores de
nuevo estilo se basa en el nuevo grupo de registros.
Salidas de Usuario
Las siguientes salidas de usuario, que son las devoluciones de llamada no modificables en la
funcionalidad de disparo V2, se han eliminado. Ahora se supone que todas las llamadas a
estas salidas de usuario est pidiendo una salida de usuario definido por el usuario en lugar de
uno incorporado. Por lo tanto, cualquier cdigo que intenta
localizarlos se dirige a la salida de usuario con el mismo nombre en la estructura IAPXTB.
(IAPXTB es un archivo que acta como un ndice para localizar cada uno de los que el usuario
sale que cree al tiempo de ejecucin.). Usted debe recodificar cualquier cdigo que utiliza estas
devoluciones de llamada de PL / SQL:
COPY
ERASE
HOST
EXEMACRO
EZ_GOREC
EZ_CHKREC
Parmetros de Menu
Parmetros del men predefinidas tienen nombres como la ONU y PW. Uso de parmetros
men predefinido, que fueron capaces de hacer referencia a las variables bind, por ejemplo,: la
ONU y: PW en cdigo PL / SQL est unido a elementos de men.
Al actualizar desde versiones anteriores de las formas, utilice los buitl-ins recomendadas como
reemplazos para los parmetros de los mens predefinidos obsoletas en la siguiente tabla:
:UN GET_APPLICATION_PROPERTY(USERNAME)
:PW GET_APPLICATION_PROPERTY(PASSWORD)
:LN GET_APPLICATION_PROPERTY(USER_NLS_LANG)
:AD GET_FORM_PROPERTY(NAME_IN('SYSTEM.CURRENT_FORM'),
FILE_NAME)
:SO :SYSTEM.TRIGGER_MENUOPTION

Parmetros de los mens definidos por el usuario son obsoletos para Oracle Forms. Cualquier
elemento de men que llama a los built-ins MENU_PARAMETER o
APPLICATION_PARAMETER para definir los valores de los parmetros del men.
Por lo tanto, para reemplazar a los parmetros definidos por el usuario obsoletos, redefinir
manualmente como variables globales (GLOBAL). La propiedad del valor inicial de los
parmetros puede ser emulado inicializando sus recambio a las variables globales en su cdigo
de inicio de men.
Reports
Si el formulario contiene integrado aplicaciones de Oracle Reports, puede actualizar el
formulario a Oracle Forms cambiando la llamada integrada de Oracle Reports para utilizar:
RUN_REPORT_OBJECT (No utilice el run_product para llamar reportes.)
WEB.SHOW_DOCUMENT

/* The following example runs a report using the RUN_REPORT_OBJECT Built-in. The
report_object node defined in Forms Developer is assumed to be "report_node1". A user-
defined Reports parameter "p_deptno" is passed by Forms using the value in the "dept.deptno"
field. The Reports parameter form is suppressed */


DECLARE
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
/* Get a handle to the Report Object itself. */
v_report_id:= FIND_REPORT_OBJECT('report_node1');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,
SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
/* Define the Report output format and the name of the Reports Server as well as
a user-defined parameter, passing the department number from Forms to the Report.
The Reports parameter form is suppressed by setting paramform to "no". */
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,
'<HTML|HTMLCSS|PDF|RTF|XML|DELIMITED>');

/* replace <ReportServerTnsName> with the name of the Reports Services as defined in your
tnsnames.ora file */

SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER,
'<ReportServerTnsName>');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_OTHER,
'p_deptno='||:dept.deptno||'paramform=no');

/* finally, run the report and retrieve the Reports job_id as a handle to the
Reports process */

vc_report_job_id:=RUN_REPORT_OBJECT(report_id);

/*The report output is not delivered automatically to the client, which is okay because the Web is
a request model. Thus the next step is to check if the report finished. */

vc_rep_status := REPORT_OBJECT_STATUS(vc_report_job_id);
IF vc_rep_status='FINISHED' THEN

/* Call the Report output to be displayed in a separate browser window. The URLfor relative
addressing is only valid when the Reports Server is on the same host as the Forms Server. For
accessing a Remote Reports Server on a different machine, you must use the prefix
http://hostname:port/ */

web.show_document ('/<virtual path>/<reports cgi or servlet name>/getjobid='||
vc_report_job_id ||'?server='|| '<ReportServerTnsName>','_blank');
ELSE
message ('Report failed with error message '||rep_status);
END IF;
END;

Llamar a un informe de forma sncrona hace que haya espera del usuario, mientras que el
informe se procese en el servidor. Para Reports largos, se recomienda que usted
inicie el informe de forma asincrnica, estableciendo la propiedad REPORT_COMM_MODE a
asncrona y el MODO_REPORT_EXECUTION a lote.
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,ASYNCHRONOUS)
;

Despus de llamar al RUN_REPORT_OBJECT, debe crear un temporizador para ejecutar
controles frecuentes en la REPORT_OBJECT_STATUS actual utilizando un trigger When-
Timer-Expired. Por motivos de rendimiento, el temporizador no se debe disparar
ms de cuatro veces por minuto. Una vez generado el informe, el trigger
When-Timer-Expired llama al WEB.SHOW_DOCUMENT incorporado para cargar
el archivo de salida Reports, identificado por un job_id nico, al navegador del cliente.

El siguiente ejemplo muestra el trigger When-Timer-Expired que comprueba el estado de
Report_Object_Status.

(...)
/* :global.vc_report_job_id needs to be global because the information about
the Report job_id is shared between the trigger code that starts the Report
and the When-Trigger-Expired trigger that checks the current Report status. */
vc_rep_status:= REPORT_OBJECT_STATUS(:global.vc_report_job_id);
IF vc_rep_status='FINISHED' THEN
web.show_document ('/<virtual path>/<reports cgi or servlet name>/getjobid='||
vc_report_job_id ||'?server='|| '<ReportServerTnsName>','_blank');
ELSIF vc_rep_status not in ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
(...)

Para actualizar manualmente Reports en Oracle Forms, haga lo siguiente:
1. Encontrar todas las apariciones de run_product.
2. Identificar y localizar las listas de los parmetros utilizados con estas llamadas.
3. Retire todos los ajustes de parmetros del sistema Informes como desname y destype
a partir de las listas de parmetros.
4. Busque el ID de nodo Informes para el nombre de nodo Informes definido en Oracle Forms o
las formas 6i.
5. Crear cdigos Set_Report_Object_Property para DESNAME, REPORT_SERVER,
DESFORMAT, DESTYPE, COMM_MODE y EXECUTION_MODE en su
PL / SQL.
6. Utilice Run_Report_Object (report_node_id, paramlist_id) para reutilizar su parmetro listas
que se haban creado para run_product.

Al actualizar las aplicaciones de despliegue cliente / servidor a la Web, tome nota
que una aplicacin basada en Web:
Soporta slo tipos de imgenes JPEG y GIF, por lo que convertir las imgenes existentes para
estos formatos.
Admite el uso de JAR comprimido ( Java Archive ) archivos para la transferencia de archivos.
Asegurar JAR de los PJCs o Java Beans para la transferencia de archivos. No es necesario
los archivos JAR si la transferencia de archivos desde el cliente al servidor de formularios es
parte de la aplicacin funcionalidad.
No es compatible con ActiveX , OCX , OLE o controles VBX en la interfaz de usuario .
En su lugar, utilice JavaBeans para duplicar la funcionalidad de la interfaz de usuario .
Cualquier otra dependencias de la interfaz de usuario de Microsoft Windows tambin deben
sustituirse por JavaBeans . Tambin puede utilizar WebUtil para restaurar algunas de estas
funciones.
No es compatible con triggers When-Mouse-Enter, When-Mouse-Leave, y When-Mouse-Move
No es compatible de forma nativa el acceso de escritura en el disco duro del cliente. Esto
puede ser logrado por el uso en las formas de la biblioteca Oracle WebUtil. Soporta fuentes
Java solamente, a fin de comprobar las aplicaciones para los tipos de fuentes utilizadas. Si es
necesario, cambiar a fuentes de Java. Java utiliza una lista de alias de la fuente, ubicada en el
Registry.dat

Tiene algunos Elementos incorporados y paquetes que se ejecutan slo en el servidor de
aplicaciones, pero no en el navegador del cliente:
- TEXT_IO
- HOST
- ORA_FFI
- GET_FILE_NAME
- READ_IMAGE_FILE
- WRITE_IMAGE_FILE
Si se requiere la funcionalidad de estos Built-in y paquetes para el cliente, use WebUtil.

Potrebbero piacerti anche