<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8142776109631722890</id><updated>2026-04-05T20:55:02.674+02:00</updated><category term="forms 11"/><category term="12c"/><category term="forms6i"/><category term="forms"/><category term="java"/><category term="linux"/><category term="reports"/><category term="x64"/><category term="10g"/><category term="14c"/><category term="FRM-50026"/><category term="OLE"/><category term="ORA-28040"/><category term="Vista"/><category term="antivirus"/><category term="bloqueos"/><category term="builder"/><category term="cavaa 16"/><category term="claves foráneas"/><category term="espacios"/><category term="fechas"/><category term="fk"/><category term="foorms"/><category term="icono"/><category term="jrf template"/><category term="jrockit"/><category term="list-item"/><category term="lock"/><category term="nod32"/><category term="nvidia"/><category term="pdf"/><category term="regedit"/><category term="rendimiento"/><category term="rep-0065"/><category term="rep-0200"/><category term="reports6i"/><category term="tabulación"/><category term="weblogic"/><category term="webutil"/><category term="wine"/><category term="xe"/><title type='text'>Oracle Forms</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-1191859302417271260</id><published>2025-01-19T14:39:00.006+01:00</published><updated>2025-01-21T16:42:05.151+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="14c"/><title type='text'>Instalación de Forms 14.1.2.0.0 en Windows 11 (64 bits)</title><content type='html'>&lt;h2 style=&quot;text-align: left;&quot;&gt;Introducción&lt;/h2&gt;&lt;p&gt;En diciembre de 2024 Oracle liberó después de mucha espera la versión 14 de Oracle Forms. Con esta guía quiero mostrar los pasos para instalarlo en un equipo Windows 11 para disponer de un entorno de desarrollo. Mi recomendación es usar Linux para desplegar Forms en producción.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2llwcsl9_mqOr3pnXTge4lK6b2IJ4vESm6mkIefXHqcBfaFnTozfIBQWBFYnB_fzB0pp3dRk2U2u_OKFL-Q5AnQZiRBwRPZtZYQcjz1bjuKT3T5_AyLvbGPe43IB-hhhyphenhyphen5uSTjtam0jZKx2E1x1zK5TqmC9-mJJM30y297K3vwllRrQr3abdeXCgKKI/s629/imagen5.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;341&quot; data-original-width=&quot;629&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2llwcsl9_mqOr3pnXTge4lK6b2IJ4vESm6mkIefXHqcBfaFnTozfIBQWBFYnB_fzB0pp3dRk2U2u_OKFL-Q5AnQZiRBwRPZtZYQcjz1bjuKT3T5_AyLvbGPe43IB-hhhyphenhyphen5uSTjtam0jZKx2E1x1zK5TqmC9-mJJM30y297K3vwllRrQr3abdeXCgKKI/w530-h287/imagen5.png&quot; width=&quot;530&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Preparar Sistema Operativo&lt;/h2&gt;&lt;p&gt;Todos los scripts de esta guía los hay que ejecutar con PowerShell. Yo utilizo la última versión en vez de la que trae Windows por defecto. Para instalar la última versión, desde una línea de comandos hay que ejecutar:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;winget install --id Microsoft.PowerShell&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Luego en la aplicación &quot;Terminal&quot; se puede lanzar una sesión con este shell.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxQCMPCFy4TM60erLVWHdLjD1FiZc9GBfObi_wGK8mf6htSCnBxzrJ1piZk7rgxx-V-IXN7k7v5JRQKxar40Wq3QfhU_W7EtHZoNBjQbP0RylJbN10rROH1LJN0nHEQsYdxzhMZw81-H__8AmRD__OP6hsCoAtPOGlojoaThOppeVetIp3rSKS-ITHDMo/s545/powershell_746.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;350&quot; data-original-width=&quot;545&quot; height=&quot;206&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxQCMPCFy4TM60erLVWHdLjD1FiZc9GBfObi_wGK8mf6htSCnBxzrJ1piZk7rgxx-V-IXN7k7v5JRQKxar40Wq3QfhU_W7EtHZoNBjQbP0RylJbN10rROH1LJN0nHEQsYdxzhMZw81-H__8AmRD__OP6hsCoAtPOGlojoaThOppeVetIp3rSKS-ITHDMo/s320/powershell_746.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Yo lo configuro para que se inicie por defecto con Terminal, en Configuración -&amp;gt; Perfil Predeterminado -&amp;gt; PowerShell&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El directorio home de Middleware 14.1.2.0.0 va ser C:\Oracle\Middleware\Oracle_Home141200 y el directorio del domino va a ser: C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;IMPORTANTE&lt;/b&gt;: El directorio del dominio debe de estar dentro del directorio home del Middleware.&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Software necesario&lt;/h2&gt;&lt;div&gt;Para realizar la instalación lo primero que se necesita es disponer del software necesario y para ello se puede obtener directamente de Oracle, para ello habrá que tener una cuenta de Oracle.&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Fusion Middleware Infrastructure 14.1.2.0.0: &lt;a href=&quot;https://www.oracle.com/middleware/technologies/forms/downloads.html&quot;&gt;https://www.oracle.com/middleware/technologies/forms/downloads.html#&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Forms 14.1.2.0.0 para Windows: &lt;a href=&quot;https://www.oracle.com/middleware/technologies/forms/downloads.html&quot;&gt;https://www.oracle.com/middleware/technologies/forms/downloads.html#&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Los archivos que hemos de tener son:&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;fmw_14.1.2.0.0_infrastructure.jar (SHA1:&amp;nbsp;5586183560EE69EAEF59572ADCC9F54DDA08D1CB)&lt;/li&gt;&lt;li&gt;setup_fmw_14.1.2.0.0_fr_win64.exe (SHA1:&amp;nbsp;0BC43EB91D40276AA9BF2524FD37CCCD69676A6F)&lt;/li&gt;&lt;/ul&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Ejecutar Instalación&lt;/h2&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Configurar Java&lt;/h3&gt;&lt;div&gt;Descomprimir paquete zip de Java 21 en C:\Oracle\jdk21:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;mkdir c:\Oracle&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd c:\Oracle&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;curl -o jdk21.zip&amp;nbsp;https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.zip&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Expand-Archive -Path .\jdk21.zip -DestinationPath .\&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;rm jdk21.zip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;mv jdk* jdk21&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\jdk21\bin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;.\java -version&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;java version &quot;21.0.5&quot; 2024-10-15 LTS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;Java(TM) SE Runtime Environment (build 21.0.5+9-LTS-239)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;Java HotSpot(TM) 64-Bit Server VM (build 21.0.5+9-LTS-239, mixed mode, sharing)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Instalar Fusion Middleware Infrastructure 14.1.2.0.0&lt;/h3&gt;Ejecutar la instalación desde un terminal &lt;b&gt;como administrador&lt;/b&gt;: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;c:\oracle\jdk21\bin\java -jar fmw_14.1.2.0.0_infrastructure.jar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Proceso de instalación:&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Bienvenido&lt;/b&gt;: Si todo va bien, nos arrancará el instalador, donde pulsaremos &quot;Siguiente&quot;&lt;/li&gt;&lt;li&gt;Actualizaciones Automáticas: Dejar marcado &quot;Omitir Actualizaciones Automáticas&quot;, pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ubicación de Instalación&lt;/b&gt;: En &quot;Directorio Raíz de Oracle&quot; meter &quot;C:\Oracle\Middleware\Oracle_Home141200&quot;. Pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tipo de Instalación&lt;/b&gt;: Dejar seleccionado &quot;Infraestructura de Fusion Middleware&quot; y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Comprobación de Requisitos&lt;/b&gt;: Realiza una verificación de Sistema Operativo y Java, si todo va bien pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Resumen de la Instalación&lt;/b&gt;: Nos muestra un resumen de lo que se va a instalar, pulsamos &quot;Instalar&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Progreso de Instalación&lt;/b&gt;: Va indicando por los pasos de instalación e indicando si ha ido correcto. Si todos han ido correctos, pulsar &quot;Siguiente&quot;. Instalación Terminada: Nos muestra un resumen, pulsar &quot;Terminar&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Instalar Forms 14.1.2.0.0 para Windows&lt;/h3&gt;&lt;div&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; mso-pagination: none;&quot;&gt;&lt;span lang=&quot;es&quot;&gt;Ejecutar setup_fmw_14.1.2.0.0_fr_win64.exe&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; mso-pagination: none;&quot;&gt;Proceso de instalación:&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; mso-border-shadow: yes; mso-padding-alt: 31.0pt 31.0pt 31.0pt 31.0pt; mso-pagination: none;&quot;&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Pantalla de Bienvenida&lt;/b&gt;: Pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Actualizaciones Automáticas&lt;/b&gt;: Seleccionar &quot;Omitir Actualizaciones Automáticas&quot; y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ubicación de Instalación&lt;/b&gt;: en &quot;Directorio Raíz de Oracle&quot; seleccionamos &quot;C:\Oracle\Middleware\Oracle_Home141200&quot; y pulsamos &quot;Siguiente&quot;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Tipo de Instalación&lt;/b&gt;: Seleccionar &quot;Forms and Reports Deployment&quot; y pulsamos &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;JDK Home&lt;/b&gt;: Seleccionar &quot;C:\Oracle\jdk21&quot; y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Comprobación de Requisitos&lt;/b&gt;: Si todo aparece correcto pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Resumen de Instalación&lt;/b&gt;: Pulsar &quot;Instalar&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Progreso de Instalación&lt;/b&gt;: Va mostrando los pasos que va realizando de instalación, si todo aparece correcto, pulsamos &quot;Siguiente&quot;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Instalación Terminada&lt;/b&gt;: Pulsar &quot;Terminar&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Configurar Repositorio en la Base de Datos&lt;/h3&gt;Antes de configurar el repositorio, &lt;b&gt;asegurarse de haber modificado la base de datos el perfil por defecto para que las contraseñas de la base de datos no caduquen&lt;/b&gt;: Con un usuario que sea DBA: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;alter profile default limit password_life_time unlimited;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La versión mínima de base de datos es Oracle 19.23. &quot;Oracle Fusion Middleware 14c requires Oracle Database 19c (19.23) or higher&quot;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ejecutar el configurador de RCU (Ejemplo para ejecutarlo desde una consola de PowerShell): &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;$env:JAVA_HOME = &quot;C:\Oracle\jdk21&quot;&lt;br /&gt;C:\Oracle\Middleware\Oracle_Home141200\oracle_common\bin\rcu.bat &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Proceso de instalación:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Bienvenido&lt;/b&gt;: Pulsar el botón &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Crear Repositorio&lt;/b&gt;: Seleccionar &quot;Crear Repositorio&quot; y &quot;Carga del Sistema y Carga del Producto&quot; y pulsar Siguiente.&lt;/li&gt;&lt;li&gt;Detalles de Conexión a la Base de Datos:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Tipo de Base de Datos: Oracle&lt;/li&gt;&lt;li&gt;Nombre del Host: Nombre o dirección IP del servidor de base de datos.&lt;/li&gt;&lt;li&gt;Puerto: Puerto TCP en donde está configurado el listener de la base de datos, por lo general el puerto 1521.&lt;/li&gt;&lt;li&gt;Nombre del Servicio: Servicio de la base de datos.&lt;/li&gt;&lt;li&gt;Usuario: Usuario con permisos de DBA o SYSDBA, por ejemplo, SYS.&lt;/li&gt;&lt;li&gt;Contraseña: Contraseña del usuario indicado en el punto anterior.&lt;/li&gt;&lt;li&gt;Rol: Si el usuario es SYS, hay que seleccionar &quot;SYSDBA&quot;, en caso contrario &quot;Normal&quot;.&lt;/li&gt;&lt;li&gt;Pulsar botón &quot;Siguiente&quot; una vez estén cubiertos todos los campos.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Comprobación de Requisitos&lt;/b&gt;: Si todo está bien pulsar &quot;Aceptar&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Seleccionar Componentes&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Seleccionar &quot;Crear Nuevo Prefijo&quot; e indicar el prefijo: F141200WIN&lt;/li&gt;&lt;li&gt;Seleccionar los siguientes componentes:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Servicios de Infraestructura Común.&lt;/li&gt;&lt;li&gt;Servicios de Seguridad de la Plataforma Oracle.&lt;/li&gt;&lt;li&gt;Servicio de Auditoría.&lt;/li&gt;&lt;li&gt;Anexo de Servicios de Auditoría.&lt;/li&gt;&lt;li&gt;Visor de Servicios de Auditoría.&lt;/li&gt;&lt;li&gt;Servicios de Weblogic&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Pulsar botón &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;Vuelve aparecer una ventana de comprobación de requisitos, si todo está bien pulsar &quot;Aceptar&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Contraseñas de Esquemas:&lt;/b&gt;&amp;nbsp;Dejar seleccionado &quot;Usar las Mismas Contraseñas para Todos los Esquemas&quot; e introducir la Contraseña deseada en los campos &quot;Contraseña&quot; y &quot;Confirmar Contraseña&quot;, una vez introducidas pulsar el botón &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Asignar Tablespaces&lt;/b&gt;: Pulsar el botón &quot;Siguiente&quot;, dejando los valores por defecto.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Nos sacará un mensaje indicando que se crearan tablespaces que no existan, pulsamos el botón &quot;Aceptar&quot;.&lt;/li&gt;&lt;li&gt;Sale una ventana de creación de tablespaces, pulsamos &quot;Aceptar&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Resumen&lt;/b&gt;: Muestra un resumen de los componentes que se van a instalar. Pulsar el botón &quot;Crear&quot;.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Aparece una ventana mostrando el progreso de la creación.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Resumen de Terminación&lt;/b&gt;: En la ventana de resumen de finalización, pulsar el botón &quot;Cerrar&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Configurar Dominio&lt;/h3&gt;Ejecutar el configurador:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;./config.cmd &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Proceso de configuración:&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Crear Dominio&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Seleccionar &quot;Crear Nuevo Dominio&quot;.&lt;/li&gt;&lt;li&gt;Ubicación de Dominio: C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP&lt;/li&gt;&lt;li&gt;Pulsar botón &quot;Siguiente&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Plantillas&lt;/b&gt;: Seleccionar &quot;Crear Dominio mediante Plantillas de Producto&quot; y seleccionar las siguientes plantillas a mayores de las ya seleccionadas, una vez hecha la selección pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Oracle Forms - 14.1.2.0.0 [forms]&lt;/li&gt;&lt;li&gt;Oracle Reports Server - 14.1.2.0.0 [ReportsServerComponent]&lt;/li&gt;&lt;li&gt;Oracle Reports Application - 14.1.2.0.0 [reports]&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0SOPhdOmF-ChavyCTFQsLalVmEG7H09DOa-6iwH8LN2RTXX3-WZ6SF0vnJS4mkHzQwkA7jqg-wRKw8xfZIVvyAUmf5cJu-ar9DS3Ii_0r47eFwyrWhY2-B1OGStePncvoXF4wMCdxT0p8j0wOzMGi2YUhWtJCYk7HWHBtbH6nxHgGA-WxLvvbfwWG078/s624/Imagen1.png&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;468&quot; data-original-width=&quot;624&quot; height=&quot;482&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0SOPhdOmF-ChavyCTFQsLalVmEG7H09DOa-6iwH8LN2RTXX3-WZ6SF0vnJS4mkHzQwkA7jqg-wRKw8xfZIVvyAUmf5cJu-ar9DS3Ii_0r47eFwyrWhY2-B1OGStePncvoXF4wMCdxT0p8j0wOzMGi2YUhWtJCYk7HWHBtbH6nxHgGA-WxLvvbfwWG078/w643-h482/Imagen1.png&quot; width=&quot;643&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Ubicación de la Aplicación&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Cuenta de administrador&lt;/b&gt;: Introducir Contraseña para el usuario &quot;weblogic&quot; y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Modo de Dominio y JDK&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Modo de Dominio: Seleccionar &quot;Desarrollo&quot;.&lt;/li&gt;&lt;li&gt;Dejar marcado “Activar puertos de recepción (puertos no SSL).&lt;/li&gt;&lt;li&gt;JDK: Seleccionar “Oracle HotSpot …”.&lt;/li&gt;&lt;li&gt;Pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3SyWJFnN3h2nIyY6pdBQPxMy1eo9R9ueYaGcZrhTP-U7E_32gIXw0WDCFaBIdVbm_i1eq5dM2mWZsbf04kVAnOMWk_-C5h1wMac282Cm0JbFcFcpQqpTqRospxfSe0k36rz3LJ5kMqwdqMZTNSx3Xat-GmXHjNHQEeJLTb4HDRzzFYsTdoakiy-T_zIs/s624/Imagen2.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;468&quot; data-original-width=&quot;624&quot; height=&quot;448&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3SyWJFnN3h2nIyY6pdBQPxMy1eo9R9ueYaGcZrhTP-U7E_32gIXw0WDCFaBIdVbm_i1eq5dM2mWZsbf04kVAnOMWk_-C5h1wMac282Cm0JbFcFcpQqpTqRospxfSe0k36rz3LJ5kMqwdqMZTNSx3Xat-GmXHjNHQEeJLTb4HDRzzFYsTdoakiy-T_zIs/w597-h448/Imagen2.png&quot; width=&quot;597&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Tipo de Configuración de Base de Datos&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Seleccionar &quot;Datos de RCU&quot;.&lt;/li&gt;&lt;li&gt;Proveedor: Oracle&lt;/li&gt;&lt;li&gt;Controlador: Oracle’s Driver (Thin) for Service connections; Versions: Any.&lt;/li&gt;&lt;li&gt;DBMS/Servicio: Nombre del servicio de la base de datos configurada durante la instalación del repositorio.&lt;/li&gt;&lt;li&gt;Nombre del Host: Nombre o dirección IP del equipo que contiene los esquemas de repositorio.&lt;/li&gt;&lt;li&gt;Puerto: Puerto TCP en el que está escuchando la base de datos de repositorio, por lo general será 1521.&lt;/li&gt;&lt;li&gt;Propietario Esqm: F141200WIN_STB&lt;/li&gt;&lt;li&gt;Contraseña Esqm: Contraseña del usuario propietario introducida durante la instalación de RCU.&lt;/li&gt;&lt;li&gt;Pulsar el botón &quot;Obtener Configuración de RCU&quot;.&lt;/li&gt;&lt;li&gt;Si todo va bien, pulsar el botón &quot;Siguiente&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Orígenes de Datos de Componentes&lt;/b&gt;: Dejar los valores por defecto y pulsar “Siguiente”.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Prueba de JDBC&lt;/b&gt;: Si la prueba es correcta pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Configuración Avanzada&lt;/b&gt;: Seleccionar los siguientes elementos y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Topología.&lt;/li&gt;&lt;li&gt;Componentes del Sistema.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLwsAWhwPbc0xmJm3Bkwt6K05xzvIdjpJSTntlcGggKcT94Q_Wtc2V2gd8VChiNqTsl0DYSsBKETqKjSDuOgOha2dUozgtxqcWRqOYRLMRe_bB7YKAUTjVqIJgBxPqWXAjsW9VIjadm0yqjlUYCo4on1UxOxBMk__WQyZX-vTJqMT5yHntSreSdU8UVsE/s624/Imagen3.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;468&quot; data-original-width=&quot;624&quot; height=&quot;414&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLwsAWhwPbc0xmJm3Bkwt6K05xzvIdjpJSTntlcGggKcT94Q_Wtc2V2gd8VChiNqTsl0DYSsBKETqKjSDuOgOha2dUozgtxqcWRqOYRLMRe_bB7YKAUTjVqIJgBxPqWXAjsW9VIjadm0yqjlUYCo4on1UxOxBMk__WQyZX-vTJqMT5yHntSreSdU8UVsE/w551-h414/Imagen3.png&quot; width=&quot;551&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; margin-left: 36pt;&quot;&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Servidores Gestionados&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Clusters&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Plantillas de Servidor&lt;/b&gt;: Dejar valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Servidores Dinámicos&lt;/b&gt;: Dejar valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Asignar Servidores a Clusters&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Clusters de Coherence&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Máquinas&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Asignar Servidores a Máquinas&lt;/b&gt;:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Seleccionar en la parte derecha &quot;AdminServerMachine&quot; y mover de la izquierda el servidor &quot;AdminServer&quot; a la derecha a &quot;AdminServerMachine&quot;.&lt;/li&gt;&lt;li&gt;Pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1WRD7zoMMJg_gsvgR4Ek9-UH-lo1pGw-LWkmlIzsthkkzhcpHIhiUOfzEUN7GpsJ6ArF5yc1xuoOhjeFJAitzgxqTmv_TYaes6ocnC5YlapWa4oJaw3fg5V0Gqg20cS1ST591aONXjp9P7NLY6cpHlDpKU3C8ZWtHg0DfbqPRdmDh5qIOh3AZxMJJNJ8/s624/Imagen4.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;469&quot; data-original-width=&quot;624&quot; height=&quot;425&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1WRD7zoMMJg_gsvgR4Ek9-UH-lo1pGw-LWkmlIzsthkkzhcpHIhiUOfzEUN7GpsJ6ArF5yc1xuoOhjeFJAitzgxqTmv_TYaes6ocnC5YlapWa4oJaw3fg5V0Gqg20cS1ST591aONXjp9P7NLY6cpHlDpKU3C8ZWtHg0DfbqPRdmDh5qIOh3AZxMJJNJ8/w565-h425/Imagen4.png&quot; width=&quot;565&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;border: none; margin-left: 36pt;&quot;&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Componentes del Sistema&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Asignar Componentes del Sistema a Máquinas&lt;/b&gt;: Dejar los valores por defecto y pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Resumen de Configuración&lt;/b&gt;: Pulsar el botón &quot;Crear&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Progreso de Configuración&lt;/b&gt;: Muestra los pasos que está realizando, una vez termine pulsar &quot;Siguiente&quot;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Fin de configuración&lt;/b&gt;: Muestra los siguientes datos:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Ubicación del dominio: C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP&lt;/li&gt;&lt;li&gt;URL del servidor de administración:&amp;nbsp;http://equipo:7001/console&lt;/li&gt;&lt;li&gt;Pulsar el botón &quot;Terminar&quot;.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Preparar arranque&lt;/h3&gt;&lt;div&gt;Durante el primer arranque se terminan de realizar los últimos pasos de la instalación. Lo primero que vamos a hacer es configurar el usuario y contraseña para que no los pida cada vez, para ello vamos a crear el archivo boot.properties y lo vamos a poner en la carpeta security de cada servicio. La contraseña la ponemos sin cifrar, en el primer arranque uno de los pasos que hace es la de cifrarla.&lt;/div&gt;&lt;br /&gt;Crear el archivo C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\servers\boot.properties con el siguiente contenido:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;username=weblogic&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;password=&amp;lt;contraseña introducida en el proceso en el Paso “Cuenta de administrador” de la configuración de Forms y Reports&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; lang=&quot;es&quot; style=&quot;font-size: 11pt; line-height: 115%; mso-ansi-language: #000A; mso-bidi-language: AR-SA; mso-fareast-font-family: Arial; mso-fareast-language: ES;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;Copiar el archivo de arranque para WLS_FORMS y WLS_REPORTS&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\servers&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;md .\WLS_FORMS\security &lt;br /&gt;md .\WLS_REPORTS\security &lt;br /&gt;copy .\boot.properties .\WLS_FORMS\security &lt;br /&gt;move .\boot.properties .\WLS_REPORTS\security&lt;/span&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;a name=&quot;_Toc187784155&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; lang=&quot;es&quot; style=&quot;font-size: 11pt; line-height: 115%; mso-ansi-language: #000A; mso-bidi-language: AR-SA; mso-fareast-font-family: Arial; mso-fareast-language: ES;&quot;&gt;Arrancar
NodeManager, AdminServer, WLS_FORMS y WLS_REPORTS&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;a name=&quot;_Toc170291808&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Ejecutar en un PowerShell con permisos de administrador &lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;u&gt;Arrancar Node Manager&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin &lt;br /&gt;Start-Process&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;.\startNodeManager.cmd&lt;/span&gt;&lt;div&gt;&lt;br /&gt;Una vez arrancado mostrará en consola algo como esto: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;lt;18 ene 2025 15:39:34 (hora estándar de Europa central)&amp;gt; &amp;lt;INFO&amp;gt; &amp;lt;Secure socket listener started on port 5556, host localhost/127.0.0.1&amp;gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;  &lt;u&gt;Arrancar WebLogic&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Start-Process .\startWebLogic.cmd &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Una vez arrancado mostrará en consola algo como esto: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;lt;18 ene 2025, 15:45:31,519 (hora estándar de Europa central)&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000365&amp;gt; &amp;lt;Server state changed to RUNNING.&amp;gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;u&gt;Preparar Reports&lt;/u&gt;&lt;div&gt;&lt;br /&gt;Antes de arrancar reports por primera vez, hay que crear la instancia. En los siguientes comandos cambiar &amp;lt;weblogic_password&amp;gt; por la contraseña del usuario “weblogic”.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin&lt;br /&gt;.\wlst.cmd&lt;br /&gt;connect(&quot;weblogic&quot;,&quot;&amp;lt;weblogic_password&amp;gt;&quot;,&quot;localhost:7001&quot;)&lt;br /&gt;createReportsToolsInstance(instanceName=&#39;reports1&#39;,machine=&#39;AdminServerMachine&#39;)&lt;br /&gt;exit() &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Después de forzar la creación de la instancia “reports1”, ya podemos arrancar WLS_FORMS y WLS_REPORTS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;u&gt;Arrancar Forms&lt;/u&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin&lt;br /&gt;Start-Process .\startManagedWebLogic.cmd WLS_FORMS &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Una vez arrancado mostrará en consola algo como esto: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;lt;18 ene 2025, 15:52:52,386 (hora estándar de Europa central)&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000365&amp;gt; &amp;lt;Server state changed to RUNNING.&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Arrancar Reports&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin&lt;br /&gt;Start-Process .\startManagedWebLogic.cmd WLS_REPORTS &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;  Una vez arrancado mostrará en consola algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;lt;18 ene 2025, 15:55:28,182 (hora estándar de Europa central)&amp;gt; &amp;lt;Notice&amp;gt; &amp;lt;WebLogicServer&amp;gt; &amp;lt;BEA-000365&amp;gt; &amp;lt;Server state changed to RUNNING.&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Prueba de funcionamiento de Forms&lt;/u&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En este punto se puede hacer una prueba de ejecución de Forms: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;curl -o frmsal.jar http://localhost:9001/forms/java/frmsal.jar&lt;br /&gt;c:\Oracle\jdk21\bin\java -jar frmsal.jar -url &quot;http://localhost:9001/forms/frmservlet?config=standaloneapp&quot; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;  Si todo va bien, se ejecutará forms y se mostrará:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTAntRZnKGz9-AnTQcG3Fn48f__6wpFlwKNRudBm6vRj0ieVVcju9VXHbrOqn3IkRvUPgY8E2GSShusblM4SoK0dHbm5sccaicn9hhMy0n3a8sGfSaemaaNMqJwXxka-XmwZibP_uBr24cMWmauertAM_cTwvMsO0eBB4KeolqGjBlHjZF-sBE2TCTbA0/s728/imagen5.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;588&quot; data-original-width=&quot;728&quot; height=&quot;454&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTAntRZnKGz9-AnTQcG3Fn48f__6wpFlwKNRudBm6vRj0ieVVcju9VXHbrOqn3IkRvUPgY8E2GSShusblM4SoK0dHbm5sccaicn9hhMy0n3a8sGfSaemaaNMqJwXxka-XmwZibP_uBr24cMWmauertAM_cTwvMsO0eBB4KeolqGjBlHjZF-sBE2TCTbA0/w564-h454/imagen5.png&quot; width=&quot;564&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span face=&quot;&amp;quot;Arial&amp;quot;,sans-serif&quot; lang=&quot;es&quot; style=&quot;font-size: 11pt; line-height: 115%; mso-ansi-language: #000A; mso-bidi-language: AR-SA; mso-fareast-font-family: Arial; mso-fareast-language: ES;&quot;&gt;Las opciones de
frmsal.jar se podrán consultar en: http://localhost:9001/forms/html/fsal.htm&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Parar Procesos&lt;/h3&gt;Se pueden cerrar las consolas que tenemos abiertas para abortar los procesos, pero se puede hacer de una forma más elegante con estos comandos: &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin&lt;br /&gt;.\stopManagedWebLogic.cmd WLS_REPORTS&lt;br /&gt;.\stopManagedWebLogic.cmd WLS_FORMS&lt;br /&gt;.\stopWebLogic.cmd&lt;br /&gt;.\stopNodeManager.cmd&lt;/span&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Arrancar Procesos &lt;/h3&gt;Una vez arrancados se pueden parar con los comandos que indico en el punto anterior &quot;Parar Procesos&quot;. Desde una consola de PowerShell ejecutar:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin&lt;br /&gt;Start-Process .\startWebLogic.cmd&lt;br /&gt;Start-Process .\startManagedWebLogic.cmd WLS_FORMS&lt;br /&gt;Start-Process .\startManagedWebLogic.cmd WLS_REPORTS&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;NOTA&lt;/b&gt;: Parar ejecutar simplemente programas en Forms no hace falta arrancar Weblogic ni WLS_REPORTS, es decir con ejecutar startManagedWeblogic.cmd WLS_FORMS es suficiente. Hará 3 intentos para conectar con el servidor de administración, pero luego arranca.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Otra alternativa es hacer el arranque usando el Node Manager y Admin Server, para ello lo primero que hay que hacer es arrancar NodeManager y luego arrancar Weblogic.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Start-Process&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;.\startNodeManager.cmd&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;.\wlst.cmd&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;nmConnect(&quot;weblogic&quot;, &quot;&amp;lt;weblogic_password&amp;gt;&quot;, &quot;localhost&quot;, 5556, &quot;APP&quot;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;nmStart(&#39;AdminServer&#39;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;nmDisconnect()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;exit()&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Una vez está arrancado el AdminServer, arrancamos Forms y Reports.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;.\wlst.cmd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;connect(&quot;weblogic&quot;,&quot;&amp;lt;weblogic_password&amp;gt;&quot;,&quot;localhost:7001&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;start(&#39;WLS_FORMS&#39;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;start(&#39;WLS_REPORTS&#39;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;disconnect()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;exit()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Para parar los servicios se puede hacer a la inversa.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;.\wlst.cmd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;connect(&quot;weblogic&quot;,&quot;&amp;lt;weblogic_password&amp;gt;&quot;,&quot;localhost:7001&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;shutdown(&#39;WLS_REPORTS&#39;, force=&#39;true&#39;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;shutdown&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;(&#39;WLS_FORMS&#39;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;, force=&#39;true&#39;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;disconnect()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;nmConnect(&quot;weblogic&quot;, &quot;&amp;lt;weblogic_password&amp;gt;&quot;, &quot;localhost&quot;, 5556, &quot;APP&quot;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;nmKill(&#39;AdminServer&#39;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;nmDisconnect()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;exit()&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/1191859302417271260/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/1191859302417271260?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1191859302417271260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1191859302417271260'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2025/01/instalacion-de-forms-141200-en-windows.html' title='Instalación de Forms 14.1.2.0.0 en Windows 11 (64 bits)'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2llwcsl9_mqOr3pnXTge4lK6b2IJ4vESm6mkIefXHqcBfaFnTozfIBQWBFYnB_fzB0pp3dRk2U2u_OKFL-Q5AnQZiRBwRPZtZYQcjz1bjuKT3T5_AyLvbGPe43IB-hhhyphenhyphen5uSTjtam0jZKx2E1x1zK5TqmC9-mJJM30y297K3vwllRrQr3abdeXCgKKI/s72-w530-h287-c/imagen5.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-1987334746371398255</id><published>2021-07-05T10:46:00.000+02:00</published><updated>2021-07-05T10:46:06.110+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="12c"/><title type='text'>Añadir componente personalizado en la zona derecha de Forms</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;ADVERTENCIA: Lo que voy a comentar en esta entrada utiliza funciones no documentadas de Forms. Funciona con la versión actual 12.2.1.4.0, pero no puedo ofrecer ninguna garantía de que en futuras versiones funcione o lo haga de esta forma.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Oracle Forms utiliza Java para ejecutarse en el cliente y proporciona herramientas para poder integrar componentes Java personalizados (Bean Area), precisamente estos componentes son los que voy a mostrar como a través de ellos alterar el comportamiento nativo de Forms.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Lo primero es conocer que el tipo de layout Java que usa Forms.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;BorderLayout:&amp;nbsp;&lt;a href=&quot;https://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html&quot; target=&quot;_blank&quot;&gt;https://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPaJcVKq1Z0XZKr1F0NJJzAxkwAsl-tQJTjs97pQtdP6k4UMtqbfLFNYna4BqyegENtjb5QgOD7HKSXGfL1yZmsYGKJebpwl6ke6iHSX3xBsbNb4AA_sqaDAiDg0nf4744CsVgmRBEd4/s1758/Captura+de+pantalla+2021-07-05+a+las+9.44.46.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1528&quot; data-original-width=&quot;1758&quot; height=&quot;348&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPaJcVKq1Z0XZKr1F0NJJzAxkwAsl-tQJTjs97pQtdP6k4UMtqbfLFNYna4BqyegENtjb5QgOD7HKSXGfL1yZmsYGKJebpwl6ke6iHSX3xBsbNb4AA_sqaDAiDg0nf4744CsVgmRBEd4/w400-h348/Captura+de+pantalla+2021-07-05+a+las+9.44.46.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Donde:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;North: Menú superior y botonera horizontal.&lt;/li&gt;&lt;li&gt;West: Botonera vertical.&lt;/li&gt;&lt;li&gt;South: Barra de estado.&lt;/li&gt;&lt;li&gt;Center: Ventana del programa Forms.&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Del BorderLayout no han usado la zona East. Veamos cómo podemos utilizarla para lo que nos interese.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Una vez inicialicemos la zona &quot;East&quot; quedará visible para todos los programas Forms que tengamos abiertos, por lo que va a ser una zona común a toda la aplicación.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Para inicializarla vamos a utilizar un Bean Area que estará oculto en un programa, para ello añadimos al lienzo un ITEM de tipo &quot;Bean Area&quot;, en &quot;Implementation Class&quot; indicaremos una clase de implementación que más adelante veremos en detalle y ponemos el item en el lienzo con tamaño 0, 0 para que no sea visible para el usuario.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc5UEFpQKWhcBfQjDq1la86-YKgENqFnnPjTFx018zcbRQ-QVSJTFnsOW3NJHmmM3QiApZJLP3AXvheZDK2Saucg9pycgdbpMMHKpUipEHV-nxt0RJ75Jcw8yi2zgAAAkw_zuKTLKXVqc/s1574/Captura+de+pantalla+2021-07-05+a+las+9.56.01.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1574&quot; data-original-width=&quot;1336&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc5UEFpQKWhcBfQjDq1la86-YKgENqFnnPjTFx018zcbRQ-QVSJTFnsOW3NJHmmM3QiApZJLP3AXvheZDK2Saucg9pycgdbpMMHKpUipEHV-nxt0RJ75Jcw8yi2zgAAAkw_zuKTLKXVqc/w340-h400/Captura+de+pantalla+2021-07-05+a+las+9.56.01.png&quot; width=&quot;340&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;Lo importante de esto es lo que se hace en la clase de implementación. Para que según se inicialice el bean area también inicialice la zona &quot;East&quot; del BorderLayout haremos lo siguiente:&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;package com.test.efm;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;import javax.swing.JLabel;&lt;br /&gt;import oracle.forms.handler.IHandler;&lt;br /&gt;import oracle.forms.ui.VBean;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;public class BeanExample extends VBean {&lt;br /&gt;&amp;nbsp; transient IHandler handler = null;&lt;br /&gt;&amp;nbsp; private java.awt.Frame frame = null;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;br /&gt;&lt;/span&gt;&amp;nbsp; public void init(IHandler handler) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; super.init(handler);&lt;br /&gt;&amp;nbsp; &amp;nbsp; this.handler = handler;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;this.frame = this.handler.getApplet().getFrame();&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; JLabel eastLabel = new JLabel(&quot;EAST&quot;, JLabel.CENTER);&lt;br /&gt;&amp;nbsp; &amp;nbsp; eastLabel.setOpaque(true);&lt;br /&gt;&amp;nbsp; &amp;nbsp; eastLabel.setBackground(Color.YELLOW);&lt;br /&gt;&amp;nbsp; &amp;nbsp; eastLabel.setPreferredSize(new Dimension(190,768));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;this.frame.add(&quot;East&quot;, eastLabel);&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; frame.validate();&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Con handler.getApplet().getFrame() hacemos referencia al frame con el BorderLayout y luego con frame.add(&quot;East&quot;, xxxx); añadimos el componente.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Resultado:&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk3uNSFPcQ8Tupt6riCrmc2RSRxcLpt2taY1p2DgF8fLPjNwxtowOw7rpj2hVt7ZxmRztNJSqadxGk2h6MonXxa8Obw_2jShzn9DnegdxJPk8kNJDUY2w1vP01ka14X-WOAwgPEDfSaIE/s1772/Captura+de+pantalla+2021-07-05+a+las+10.41.35.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1520&quot; data-original-width=&quot;1772&quot; height=&quot;343&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk3uNSFPcQ8Tupt6riCrmc2RSRxcLpt2taY1p2DgF8fLPjNwxtowOw7rpj2hVt7ZxmRztNJSqadxGk2h6MonXxa8Obw_2jShzn9DnegdxJPk8kNJDUY2w1vP01ka14X-WOAwgPEDfSaIE/w400-h343/Captura+de+pantalla+2021-07-05+a+las+10.41.35.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Video ejemplo:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://youtu.be/mmZc6NWiIAQ&quot;&gt;https://youtu.be/mmZc6NWiIAQ&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/1987334746371398255/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/1987334746371398255?isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1987334746371398255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1987334746371398255'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2021/07/anadir-componente-personalizado-en-la.html' title='Añadir componente personalizado en la zona derecha de Forms'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJPaJcVKq1Z0XZKr1F0NJJzAxkwAsl-tQJTjs97pQtdP6k4UMtqbfLFNYna4BqyegENtjb5QgOD7HKSXGfL1yZmsYGKJebpwl6ke6iHSX3xBsbNb4AA_sqaDAiDg0nf4744CsVgmRBEd4/s72-w400-h348-c/Captura+de+pantalla+2021-07-05+a+las+9.44.46.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-9084106832120642598</id><published>2021-07-02T16:24:00.003+02:00</published><updated>2021-07-02T16:38:58.929+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="12c"/><title type='text'>NAME_IN y COPY con vitaminas</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Para acceder a los valores de los campos del registro en el que se encuentra el cursor se puede hacer simplemente usando :bloque.campo.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Si se hace desde una unidad de programa de una PLL habría que usar el Bult-in NAME_IN que se usa de de la siguiente forma: NAME_IN(&#39;BLOQUE.CAMPO&#39;). Además de permitir usarse en desde una librería también nos permite hacer código genérico en tiempo de ejecución.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;De forma similar, para asignar un valor habría que usar COPY. Se usaría de la siguiente forma: COPY(&#39;VALOR A ASIGNAR&#39;, &#39;BLOQUE.CAMPO&#39;);&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Cuando se quiere acceder a valores de campos de otros registros distintos al actual es donde entra en juego la propiedad DATA_VALUE de Get_Item_Instance_Property y Set_Item_Instance_Property.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Para acceder al valor de un campo del registro anterior al actual se haría con:&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Get_Item_Instance_Property(&#39;BL.CAMPO&#39;, TO_NUMBER(:system.cursor_record) - 1, DATA_VALUE);&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Para cambiar el valor de un campo del registro anterior:&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Set_Item_Instance_Property(&#39;BL.CAMPO&#39;, TO_NUMBER(:system.cursor_record)&amp;nbsp;- 1, DATA_VALUE, &#39;VALOR A ASIGNAR&#39;);&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Por ejemplo, si queremos colorear un registro basándonos en registros anteriores, se podría hacer de la siguiente forma. POST-QUERY:&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;DECLARE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; PROCEDURE pinta_campo(p_campo VARCHAR2) IS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; BEGIN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp;Set_Item_Instance_Property(p_campo,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CURRENT_RECORD,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VISUAL_ATTRIBUTE, &#39;AMARILLO&#39;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; END;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;BEGIN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; IF :system.trigger_record = 1 OR&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; Get_Item_Instance_Property(&#39;USER_TAB_COLUMNS.TABLE_NAME&#39;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TO_NUMBER(:system.trigger_record) - 1,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DATA_VALUE) !=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;:user_tab_columns.table_name THEN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; pinta_campo(&#39;USER_TAB_COLUMNS.TABLE_NAME&#39;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; pinta_campo(&#39;USER_TAB_COLUMNS.COLUMN_NAME&#39;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; &amp;nbsp; pinta_campo(&#39;USER_TAB_COLUMNS.DATA_TYPE&#39;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;nbsp; END IF;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;END;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZDUSP8thFDGcUaxEpgmQ-jks4fAOp6zMBm0ygMeZaAgqEFF2qin0dtwLQ2E5cEKBPtbOAp1uncTz-Kll9lUgAhoM1VdYshTmsW-LxmHYSgNOcT8tuYnihKP8tISVLOedZoqRYL4xU6C0/s1688/Captura+de+pantalla+2021-07-02+a+las+16.05.22.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1336&quot; data-original-width=&quot;1688&quot; height=&quot;316&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZDUSP8thFDGcUaxEpgmQ-jks4fAOp6zMBm0ygMeZaAgqEFF2qin0dtwLQ2E5cEKBPtbOAp1uncTz-Kll9lUgAhoM1VdYshTmsW-LxmHYSgNOcT8tuYnihKP8tISVLOedZoqRYL4xU6C0/w400-h316/Captura+de+pantalla+2021-07-02+a+las+16.05.22.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;FMB de ejemplo:&amp;nbsp;&lt;a href=&quot;https://github.com/sailefm/OracleForms/blob/main/giip_data_value.fmb&quot; target=&quot;_blank&quot;&gt;giip_data_value.fmb&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/9084106832120642598/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/9084106832120642598?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/9084106832120642598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/9084106832120642598'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2021/07/namein-y-copy-con-vitaminas.html' title='NAME_IN y COPY con vitaminas'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZDUSP8thFDGcUaxEpgmQ-jks4fAOp6zMBm0ygMeZaAgqEFF2qin0dtwLQ2E5cEKBPtbOAp1uncTz-Kll9lUgAhoM1VdYshTmsW-LxmHYSgNOcT8tuYnihKP8tISVLOedZoqRYL4xU6C0/s72-w400-h316-c/Captura+de+pantalla+2021-07-02+a+las+16.05.22.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-6118724982923805293</id><published>2015-10-25T18:53:00.000+01:00</published><updated>2015-10-25T19:11:16.162+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="12c"/><category scheme="http://www.blogger.com/atom/ns#" term="forms"/><title type='text'>Disponible Oracle Forms 12c</title><content type='html'>Ya está disponible la versión 12c de Forms &amp;amp; Reports:&amp;nbsp;&lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html&quot;&gt;http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2uFag3U7jBqB4uY1nhEgdXYYLNAyUbkBjAS3yBMkvxNbA7CplDMHbsOco0-W8AKSOiLN560deRLiHUT07JJowkILF4aGY8XSQJEH4YF06x0awITw5K33WQOiG8XZUHqnzNpGsSk2yGWU/s1600/Captura+de+pantalla+2015-10-25+a+las+18.43.46.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;368&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2uFag3U7jBqB4uY1nhEgdXYYLNAyUbkBjAS3yBMkvxNbA7CplDMHbsOco0-W8AKSOiLN560deRLiHUT07JJowkILF4aGY8XSQJEH4YF06x0awITw5K33WQOiG8XZUHqnzNpGsSk2yGWU/s400/Captura+de+pantalla+2015-10-25+a+las+18.43.46.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/6118724982923805293/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/6118724982923805293?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6118724982923805293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6118724982923805293'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2015/10/disponible-oracle-forms-12c.html' title='Disponible Oracle Forms 12c'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2uFag3U7jBqB4uY1nhEgdXYYLNAyUbkBjAS3yBMkvxNbA7CplDMHbsOco0-W8AKSOiLN560deRLiHUT07JJowkILF4aGY8XSQJEH4YF06x0awITw5K33WQOiG8XZUHqnzNpGsSk2yGWU/s72-c/Captura+de+pantalla+2015-10-25+a+las+18.43.46.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-6457538603762384073</id><published>2015-05-21T22:50:00.003+02:00</published><updated>2015-05-21T22:51:53.082+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms6i"/><category scheme="http://www.blogger.com/atom/ns#" term="OLE"/><title type='text'>Extraer contenido de contenedores OLE</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Una funcionalidad muy útil en versiones de Forms 6i o anteriores, era la de almacenar archivos en contenedores OLE, para ello bastaba con tener un campo en el bloque asociado a un campo BLOB de la base de datos y ya era posible guardar en él archivos mediante la aplicaciones con soporte OLE2, por ejemplo WORD, EXCEL, PDF, ...&lt;br /&gt;
&lt;br /&gt;
El problema es que desde Forms 9i esta funcionalidad ya no existe, por lo que hay que buscar alternativas, lo normal es a través de implementar la carga / descarga de archivos usando la librería WEBUTIL.&lt;br /&gt;
&lt;br /&gt;
Aparte de tener que cambiar la implementación, el principal problema con el que me he encontrado ha sido la necesidad de migrar de un sistema a otro debido a que los archivos almacenados en un contenedor OLE tienen un envoltorio que hace imposible que se abran directamente, es necesario abrirlos a través de ese contenedor, por lo que había que hacerlo de forma manual uno a uno desde el programa.&lt;br /&gt;
&lt;br /&gt;
La solución que he encontrado a este problema es mediante la aplicación &lt;a href=&quot;http://7-zip.org/&quot; target=&quot;_blank&quot;&gt;7zip&lt;/a&gt; para Windows que es capaz de separar el envoltorio del contenido (con la de Linux no funciona).&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF7XO-uQ_Cs9Q-cgQZkjNs1kdhZ6EiWGn45_rN0ErrzhAz2kACG2Ufim2lhjoSHPCBzHSvlg2rj5d6MYOi4xn3l7UMZv0dmlHlCH-juQeefXXQM_1k7zkcK4IZSmAaca4jwFHxC5-lKLg/s1600/Captura+de+pantalla+2015-05-21+a+las+20.53.10.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;137&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF7XO-uQ_Cs9Q-cgQZkjNs1kdhZ6EiWGn45_rN0ErrzhAz2kACG2Ufim2lhjoSHPCBzHSvlg2rj5d6MYOi4xn3l7UMZv0dmlHlCH-juQeefXXQM_1k7zkcK4IZSmAaca4jwFHxC5-lKLg/s400/Captura+de+pantalla+2015-05-21+a+las+20.53.10.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
El PDF se encuentra en el archivo CONTENTS dentro de la carpeta &quot;Tenant Object&quot;, como se puede observar, en este caso el envoltorio ocupa mucho más que el propio PDF. En algunos casos, puede llamarse &quot;[1]Ole10Native&quot;, en ese caso hay que modificar el script que descomprime con 7zip.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;IMPORTANTE&lt;/b&gt;: El código que voy a poner a continuación, debes usarlo bajo tú responsabilidad y después de haber hecho una copia de seguridad de los datos que vas a procesar, no me hago responsable de ninguna pérdida de datos por la utilización de este código.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a ver como extraer los archivos de un campo BLOB a un directorio de Oracle. Vamos a crear un directorio llamado BLOB_TEMP (en el propio servidor de base de datos) y lo mapeamos a una ruta:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;CREATE DIRECTORY BLOB_TEMP as &#39;c:\temp\pdfs&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;GRANT READ, WRITE ON DIRECTORY BLOB_TEMP TO USUARIO;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Exportamos a ese directorio el contenido del campo BLOB de la tabla&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;DECLARE&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; CURSOR cur_pdfs IS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT i. archivo campo_blob, i.rowid || &#39;.pdf.7z&#39; nombre_archivo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM tabla i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE DBMS_LOB.GETLENGTH(i.archivo) &amp;gt; 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AND DBMS_LOB.INSTR(i.archivo, HEXTORAW(&#39;25504446&#39;)) &amp;gt; 0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; blob_length &amp;nbsp; &amp;nbsp; INTEGER;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; out_file &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UTL_FILE.file_type;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; v_buffer &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RAW(32767);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; chunk_size &amp;nbsp; &amp;nbsp; &amp;nbsp;PLS_INTEGER;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; blob_position &amp;nbsp; PLS_INTEGER;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; FOR reg IN cur_pdfs LOOP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; blob_position := 1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; chunk_size := 32767;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; blob_length := DBMS_LOB.getlength(reg.campo_blob);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; out_file := UTL_FILE.fopen(&#39;BLOB_TEMP&#39;, reg.nombre_archivo, &#39;wb&#39;, chunk_size);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; WHILE blob_position &amp;lt;= blob_length LOOP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IF blob_position + chunk_size - 1 &amp;gt; blob_length THEN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunk_size := blob_length - blob_position + 1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; END IF;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DBMS_LOB.READ(reg.campo_blob, chunk_size, blob_position, v_buffer);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UTL_FILE.put_raw(out_file, v_buffer, TRUE);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; blob_position := blob_position + chunk_size;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; END LOOP;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; UTL_FILE.fclose(out_file);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; END LOOP;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;END;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Una vez tenemos los archivos, extraemos el contenido con un script, por ejemplo, le llamamos extraepdf.cmd con el siguiente contenido.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;for %%f in (*.7z) do (&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&quot;C:\Program Files\7-Zip\7z.exe&quot; e &quot;%%f&quot; &quot;Tenant Object\CONTENTS&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;rename CONTENTS %%f.pdf&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;del %%f&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;)?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Luego, los volvemos a cargar, &lt;b&gt;sobreescribiendo&lt;/b&gt; el archivo en el mismo campo de la tabla.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;DECLARE&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; CURSOR cur_pdfs IS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;SELECT i.rowid, i.rowid || &#39;.pdf.7z.pdf&#39; nombre_archivo, i.archivo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM tabla i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE DBMS_LOB.GETLENGTH(i.archivo) &amp;gt; 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AND DBMS_LOB.INSTR(i.archivo, HEXTORAW(&#39;25504446&#39;)) &amp;gt; 0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; l_bfile &amp;nbsp; &amp;nbsp; &amp;nbsp; BFILE;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; v_resultado &amp;nbsp; VARCHAR2(30) := &#39;OK&#39;;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; v_archivo &amp;nbsp; &amp;nbsp; BLOB;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; FOR reg IN cur_pdfs LOOP&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; l_bfile := BFILENAME(&#39;BLOB_TEMP&#39;, reg.nombre_archivo);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; IF DBMS_LOB.fileexists(l_bfile) = 1 AND NVL(DBMS_LOB.getlength(l_bfile), 0) != 0 THEN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DBMS_LOB.createtemporary(v_archivo, TRUE);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DBMS_LOB.loadfromfile(v_archivo, l_bfile, DBMS_LOB.getlength(l_bfile));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DBMS_LOB.fileclose(l_bfile);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UPDATE tabla i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SET archivo = v_archivo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WHERE rowid = reg.rowid;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; COMMIT;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UTL_FILE.fremove(&#39;BLOB_TEMP&#39;, reg.nombre_archivo);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; END IF;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;&amp;nbsp; END LOOP;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;END;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: xx-small;&quot;&gt;/&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/6457538603762384073/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/6457538603762384073?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6457538603762384073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6457538603762384073'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2015/05/extraer-contenido-de-contenedores-ole.html' title='Extraer contenido de contenedores OLE'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF7XO-uQ_Cs9Q-cgQZkjNs1kdhZ6EiWGn45_rN0ErrzhAz2kACG2Ufim2lhjoSHPCBzHSvlg2rj5d6MYOi4xn3l7UMZv0dmlHlCH-juQeefXXQM_1k7zkcK4IZSmAaca4jwFHxC5-lKLg/s72-c/Captura+de+pantalla+2015-05-21+a+las+20.53.10.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-9184511300208483198</id><published>2015-02-08T16:01:00.000+01:00</published><updated>2015-02-08T16:01:46.288+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="builder"/><category scheme="http://www.blogger.com/atom/ns#" term="reports"/><category scheme="http://www.blogger.com/atom/ns#" term="x64"/><title type='text'>Reports Builder 11g en Windows 64 bits</title><content type='html'>Por lo general, al intentar arranca Reports Builder en un Windows de 64 bits nos dará el siguiente error: &quot;&lt;i&gt;&lt;b&gt;REP-50125: rwbuilder.conf:java.lang.NullPointerException&lt;/b&gt;&lt;/i&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJuVQvGS66vUFAuPIWIbFcDycQ-XE0e10C2ynUfWBXx_ioho8GTTRswheY6j42UTxTp_WW9xtIcxOH8TFkJUZzwNikHhXDGEQuXLJI52oLpTxSNSoz2hUyye-bWT07up6J2h1nShVvZLA/s1600/Captura+de+pantalla+2015-02-08+a+las+15.37.24.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJuVQvGS66vUFAuPIWIbFcDycQ-XE0e10C2ynUfWBXx_ioho8GTTRswheY6j42UTxTp_WW9xtIcxOH8TFkJUZzwNikHhXDGEQuXLJI52oLpTxSNSoz2hUyye-bWT07up6J2h1nShVvZLA/s1600/Captura+de+pantalla+2015-02-08+a+las+15.37.24.png&quot; height=&quot;132&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos a ver como solucionarlo suponiendo que el directorio base de Oracle es C:\Oracle (si fuese otro las rutas cambian).&lt;br /&gt;
&lt;br /&gt;
Editar el archivo: C:\Oracle\Middleware\asinst_1\config\reports\bin\reports.bat&lt;br /&gt;
&lt;br /&gt;
Borrar la línea: set TNS_ADMIN=%ORACLE_INSTANCE%\config&lt;br /&gt;
&lt;br /&gt;
Editar el archivo: C:\Oracle\Middleware\Oracle_FRHome1\bin\rwbuilder.bat&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cambiar:&lt;/b&gt; $$Instance.directory$$ &lt;b&gt;por:&lt;/b&gt; C:\Oracle\Middleware\asinst_1&lt;br /&gt;
&lt;b&gt;Cambiar:&lt;/b&gt; $$Instance.oracle_home$$ &lt;b&gt;por:&lt;/b&gt; C:\Oracle\Middleware\Oracle_FRHome1&lt;br /&gt;
&lt;br /&gt;
Para arrancar el Report Builder ejecutaremos un archivo de comandos con código similar al siguiente: ReportsBuilderF11g.cmd. (Las rutas pueden variar según donde estén las plls o instalado Oracle):&lt;br /&gt;
&lt;br /&gt;
SET CLASSPATH=C:\Oracle\Middleware\Oracle_FRHome1\forms\j2ee\frmsrv.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\ldapjclnt11.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\debugger.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\ewt3.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\share.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\utj.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\zrclient.jar;C:\Oracle\Middleware\Oracle_FRHome1\reports\jlib\rwrun.jar;C:\Oracle\Middleware\Oracle_FRHome1\forms\java\frmwebutil.jar;C:\Oracle\Middleware\Oracle_FRHome1/jlib/start_dejvm.jar;C:\Oracle\Middleware\Oracle_FRHome1\opmn\lib\optic.jar&lt;br /&gt;
SET PATH=C:\Oracle\Middleware\Oracle_FRHome1\bin;C:\Oracle\Middleware\Oracle_FRHome1\jdk\jre\bin\client;C:\Oracle\Middleware\Oracle_FRHome1\jdk\bin&lt;br /&gt;
SET REPORTS_PATH=Z:\plls&lt;br /&gt;
SET NLS_DATE_FORMAT=DD/MM/YYYY&lt;br /&gt;
SET NLS_NUMERIC_CHARACTERS=,.&lt;br /&gt;
SET UI_ICON=Z:\iconos&lt;br /&gt;
SET NLS_SORT=BINARY&lt;br /&gt;
SET TNS_ADMIN=C:\Oracle&lt;br /&gt;
SET NLS_LANG=SPANISH_SPAIN.UTF8&lt;br /&gt;
start rwbuilder.bat USERID=USUARIO/PASSWORD@CADENA_CONEXION﻿</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/9184511300208483198/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/9184511300208483198?isPopup=true' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/9184511300208483198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/9184511300208483198'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2015/02/reports-builder-11g-en-windows-64-bits.html' title='Reports Builder 11g en Windows 64 bits'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJuVQvGS66vUFAuPIWIbFcDycQ-XE0e10C2ynUfWBXx_ioho8GTTRswheY6j42UTxTp_WW9xtIcxOH8TFkJUZzwNikHhXDGEQuXLJI52oLpTxSNSoz2hUyye-bWT07up6J2h1nShVvZLA/s72-c/Captura+de+pantalla+2015-02-08+a+las+15.37.24.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-5127688440971302711</id><published>2014-03-25T21:50:00.000+01:00</published><updated>2014-03-25T21:54:02.013+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pdf"/><category scheme="http://www.blogger.com/atom/ns#" term="reports6i"/><title type='text'>Generación incorrecta de PDF en Reports 6 en Windows 7 y 8</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Al generar archivos desde Reports 6 en PDF en sistemas operativos Windows 7 y Windows 8 está metiendo mal la etiqueta &quot;CreatorDate&quot;, abre el paréntesis y sin meter la fecha no lo llega a cerrar. Esto produce que alguna versión de Adobe Reader y de otros visores de PDF no sean capaces de leer el archivo.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguBkSStgm974CeDjs1_0wYuBDKOOeBkafpwRqdf8FQ0ZtkO9kuTbGu1UrIc58P7klLYBTcKetlQNc5e3e8x7uiBgVq6zJBQxzjuIjbg5yt9XCdI2aAcByJnsVzjDqUlQh3fAOkDQkPodk/s1600/pdfMAL.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguBkSStgm974CeDjs1_0wYuBDKOOeBkafpwRqdf8FQ0ZtkO9kuTbGu1UrIc58P7klLYBTcKetlQNc5e3e8x7uiBgVq6zJBQxzjuIjbg5yt9XCdI2aAcByJnsVzjDqUlQh3fAOkDQkPodk/s1600/pdfMAL.png&quot; height=&quot;129&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ese mismo PDF generado con el mismo parche de Forms &amp;amp; Reports en un Windows 2003 lo genera correctamente:&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsCzqhSkXLRxOlkrTwb-njcXYbL5sP6RQmlGrdmfxt1x4pTMWqpt4YPwF9ycmf2z8kNr4KEfScotnQYcHp_-aqxT2SRfsXBSchyXNtpd7iV9qXg_Iw2aRtaELzvmtf__ZnY1QC4fE29ew/s1600/pdfW2003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsCzqhSkXLRxOlkrTwb-njcXYbL5sP6RQmlGrdmfxt1x4pTMWqpt4YPwF9ycmf2z8kNr4KEfScotnQYcHp_-aqxT2SRfsXBSchyXNtpd7iV9qXg_Iw2aRtaELzvmtf__ZnY1QC4fE29ew/s1600/pdfW2003.png&quot; height=&quot;126&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Para solucionarlo podemos hacer que no intente meter la línea /CreatorDate modificando la librería&amp;nbsp;RWLIB60.DLL. Para ello necesitaremos un editor Hexadecimal para poder editarla, yo utilizo &quot;HxD - Editor Hexadecimal&quot;, que se puede descargar de su página web: &lt;a href=&quot;http://www.mh-nexus.de/&quot;&gt;http://www.mh-nexus.de&lt;/a&gt;.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Abrimos la librería y buscamos (Ctrol + F) el texto CreatorDate&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZvWKo2AarxfwESNqJNpshzkNF_NEQcGAyE99m5KxxTRpU-Hq_m6IjEu9kDveh8V4UzEYHBEuUP2xqv3l8gp6oxpb5eTjruQ5ZJNh8BCG6aEwSECXNPlP_tU3PSfooXb-oX6qkcD0_nXE/s1600/hxd1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZvWKo2AarxfwESNqJNpshzkNF_NEQcGAyE99m5KxxTRpU-Hq_m6IjEu9kDveh8V4UzEYHBEuUP2xqv3l8gp6oxpb5eTjruQ5ZJNh8BCG6aEwSECXNPlP_tU3PSfooXb-oX6qkcD0_nXE/s1600/hxd1.png&quot; height=&quot;104&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Seleccionamos desde /CreatorDate hasta el punto que está antes de /Author, tal y como se muestra en la siguiente imagen:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9vBeuatmHo985BlgctA5VYaP-7Mxs33TspU7ksb0WBgtFN5W6CCYw0Fi9WGAimuW2AwFSUmihSDEcarsLBXWYyPP4Ue6vyu7NzuK4NKmtJqM5SkhjIEx2-NNL17MiZwOx5YJDTFw_6U/s1600/hxd2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX9vBeuatmHo985BlgctA5VYaP-7Mxs33TspU7ksb0WBgtFN5W6CCYw0Fi9WGAimuW2AwFSUmihSDEcarsLBXWYyPP4Ue6vyu7NzuK4NKmtJqM5SkhjIEx2-NNL17MiZwOx5YJDTFw_6U/s1600/hxd2.png&quot; height=&quot;92&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Luego hay que ir a Edición -&amp;gt; Rellenar Selección&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwhp5Z45Ue5hClo1UldRDsZqc6yjeabhFfO44w-mIBwCEF_4sa65mBS8a33EFc0mce_RkhTD2XJbR-N1jPuzROyhX_sJPio66EaDwkWDyT9L37i2DjPnbloDBH7Edngbuxfi0rd5c8GCU/s1600/hxd3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwhp5Z45Ue5hClo1UldRDsZqc6yjeabhFfO44w-mIBwCEF_4sa65mBS8a33EFc0mce_RkhTD2XJbR-N1jPuzROyhX_sJPio66EaDwkWDyT9L37i2DjPnbloDBH7Edngbuxfi0rd5c8GCU/s1600/hxd3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
En la ventana que abre, dejamos 00 en Valores hexadecimales y pulsamos &quot;Aceptar&quot;.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQitapdc_FxWwuaP5IrRpoDO88-Ls17MOqPeK9efxJCpoZqXr2ICk9DlSvbMuD987KgDCVPnI9DKiNbUSNrb8bqL8udHyECwCeJkV-oGp5YZF6f7YpeACdzdaaz9aG2rsvfRKj94ImMA4/s1600/hxd4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQitapdc_FxWwuaP5IrRpoDO88-Ls17MOqPeK9efxJCpoZqXr2ICk9DlSvbMuD987KgDCVPnI9DKiNbUSNrb8bqL8udHyECwCeJkV-oGp5YZF6f7YpeACdzdaaz9aG2rsvfRKj94ImMA4/s1600/hxd4.png&quot; height=&quot;225&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Grabamos la librería, y ahora el resultado de la generación con este cambio será el siguiente:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx-HDehGJ9tC76n2IIK0oyfGSMq08Oyyan_UYEOMULMSWLQZyHlAkBr8aSd0XmQVf8410k0UTyHDLfy5wok2XHDpel79rgeZan89FB55UJ0plsdcZF8ucUOxPPrHtH3U8xQDwnzy8JehU/s1600/pdfOK.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx-HDehGJ9tC76n2IIK0oyfGSMq08Oyyan_UYEOMULMSWLQZyHlAkBr8aSd0XmQVf8410k0UTyHDLfy5wok2XHDpel79rgeZan89FB55UJ0plsdcZF8ucUOxPPrHtH3U8xQDwnzy8JehU/s1600/pdfOK.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/5127688440971302711/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/5127688440971302711?isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/5127688440971302711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/5127688440971302711'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2014/03/generacion-incorrecta-de-pdf-en-reports.html' title='Generación incorrecta de PDF en Reports 6 en Windows 7 y 8'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguBkSStgm974CeDjs1_0wYuBDKOOeBkafpwRqdf8FQ0ZtkO9kuTbGu1UrIc58P7klLYBTcKetlQNc5e3e8x7uiBgVq6zJBQxzjuIjbg5yt9XCdI2aAcByJnsVzjDqUlQh3fAOkDQkPodk/s72-c/pdfMAL.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-6489685373389164274</id><published>2014-01-17T22:02:00.001+01:00</published><updated>2014-01-17T22:02:44.952+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms 11"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Conexión a webs con Applets de Java sin MANIFEST.MF correcto</title><content type='html'>Ya ha llegado la actualización&amp;nbsp;1.7.0_45 de Java. Esta actualización bloquea por defecto todas las aplicaciones que se despliegan desde un navegador que no tengan las últimas directivas de seguridad definidas en el archivo MANIFEST.MF&lt;br /&gt;
&lt;br /&gt;
Para salir del paso, es posible, en el equipo donde corre el navegador añadir excepciones a esa validación. Para ello (en Windows) vamos a Panel de Control -&amp;gt; Programas (Si tenemos activado &quot;Ver por: Categoría) -&amp;gt; Java&lt;br /&gt;
&lt;br /&gt;
En la pestaña &quot;Seguridad&quot; en la sección &quot;Lista de excepciones de sitios&quot; pulsamos sobre el botón &quot;Editar lista de sitios&quot; y añadimos el sitio en que confiamos de que no nos vaya a ejecutar nada peligroso en nuestro equipo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF1ML7mJ3OFHBKvx3giocusHRKpn4CvaqES4OW34f_RPRGrXUpLdKPDVP97DSkFWYAykHu36SwMkI3unUgSaZedgdYUQXNibZjymfuVDW9x6b86Uyw0EocXIbqDWyRF-fwATw_QFBCwNs/s1600/Java_1.7.0_45.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF1ML7mJ3OFHBKvx3giocusHRKpn4CvaqES4OW34f_RPRGrXUpLdKPDVP97DSkFWYAykHu36SwMkI3unUgSaZedgdYUQXNibZjymfuVDW9x6b86Uyw0EocXIbqDWyRF-fwATw_QFBCwNs/s1600/Java_1.7.0_45.png&quot; height=&quot;320&quot; width=&quot;298&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
He puesto como ejemplo &quot;https://www.bbva.es&quot;, ya que a día de hoy para validarse con el DNI electrónico usa un applet Java que no tiene el MANIFEST.MF correcto, y lo peor de todo, cuando vas a validar una operación da un error de error de firma del archivo.</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/6489685373389164274/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/6489685373389164274?isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6489685373389164274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6489685373389164274'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2014/01/conexion-webs-con-applets-de-java-sin.html' title='Conexión a webs con Applets de Java sin MANIFEST.MF correcto'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF1ML7mJ3OFHBKvx3giocusHRKpn4CvaqES4OW34f_RPRGrXUpLdKPDVP97DSkFWYAykHu36SwMkI3unUgSaZedgdYUQXNibZjymfuVDW9x6b86Uyw0EocXIbqDWyRF-fwATw_QFBCwNs/s72-c/Java_1.7.0_45.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-2061323853030196743</id><published>2013-11-15T20:27:00.002+01:00</published><updated>2013-11-15T20:27:48.418+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms 11"/><category scheme="http://www.blogger.com/atom/ns#" term="weblogic"/><title type='text'>Almacenar la contraseña de Weblogic de forma persistente</title><content type='html'>Por defecto, cada vez que se arranca Weblogic y los servidores manejados WLS_FORMS y WLS_REPORTS nos solicita la contraseña de weblogic:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHGs6tY699yZKfzRE6myR098MmL09AiGhyEZc2MagSCJLUrdmAerF2X7gb4388YwbXeVXNLOpNzotmNr8_7qHr-bWuILHBT22yeyW3w83j8hJob0tK1aEAyT-E7WdwlzAwPLgZyyPmSDI/s1600/arranque_wl.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;214&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHGs6tY699yZKfzRE6myR098MmL09AiGhyEZc2MagSCJLUrdmAerF2X7gb4388YwbXeVXNLOpNzotmNr8_7qHr-bWuILHBT22yeyW3w83j8hJob0tK1aEAyT-E7WdwlzAwPLgZyyPmSDI/s320/arranque_wl.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
La forma de guardar la contraseña en un archivo y evitar que la pida en cada arranque es muy simple: hay que crear un archivo con el nombre &quot;&lt;i&gt;boot.properties&lt;/i&gt;&quot; en las siguientes carpetas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;$DOMAIN_HOME/servers/AdminServer/security&lt;/li&gt;
&lt;li&gt;$DOMAIN_HOME/servers/WLS_FORMS/security&lt;/li&gt;
&lt;li&gt;$DOMAIN_HOME/servers/WLS_REPORTS/security&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
El archivo tiene que contener únicamente dos líneas:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
username=weblogic&lt;/div&gt;
&lt;div&gt;
password=&lt;contrase a=&quot;&quot; en=&quot;&quot; plano=&quot;&quot; texto=&quot;&quot;&gt;&lt;/contrase&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En el archivo metemos la contraseña en texto plano, pero en el primer arranque la encripta.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/2061323853030196743/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/2061323853030196743?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/2061323853030196743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/2061323853030196743'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2013/11/almacenar-la-contrasena-de-weblogic-de.html' title='Almacenar la contraseña de Weblogic de forma persistente'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHGs6tY699yZKfzRE6myR098MmL09AiGhyEZc2MagSCJLUrdmAerF2X7gb4388YwbXeVXNLOpNzotmNr8_7qHr-bWuILHBT22yeyW3w83j8hJob0tK1aEAyT-E7WdwlzAwPLgZyyPmSDI/s72-c/arranque_wl.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-6793199958265108183</id><published>2013-10-18T21:10:00.001+02:00</published><updated>2013-10-21T17:58:54.773+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms 11"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><title type='text'>Problemas para Forms 11g en próximas actualizaciones de Java</title><content type='html'>Al actualizar a la última actualización de Java 7, el parche 45 (1.7.0_45), al mostrar la advertencia de seguridad sobre los JAR firmados acompaña el siguiente texto: &quot;&lt;i&gt;Esta aplicación estará bloqueada en una futura actualización de seguridad de Java porque el archivo MANIFEST de JAR no contiene el atributo de permisos. Póngase en contacto con el publicador para obtener más información&lt;/i&gt;&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1zkNrRkm94HUQocTu3SEfFDF4Ou8IXDYWIe6taX75b1UqvEBTL0K9y9juapY_iGqQOMzZrQgiGydKNBSQM0Ru5RjFVSGcBiQkhNBymb226B-lX3oTfhhoWyZM8qKZAwrwsyXoiDwgRAI/s1600/java_45_f11_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;209&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1zkNrRkm94HUQocTu3SEfFDF4Ou8IXDYWIe6taX75b1UqvEBTL0K9y9juapY_iGqQOMzZrQgiGydKNBSQM0Ru5RjFVSGcBiQkhNBymb226B-lX3oTfhhoWyZM8qKZAwrwsyXoiDwgRAI/s320/java_45_f11_2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
¿Qué significa esto?, pues que a partir de ahora y cuando Oracle quiera, sacará una actualización de Java (no necesariamente en el próximo parche)&amp;nbsp;que dejará a nuestros Forms KO.&lt;br /&gt;
&lt;br /&gt;
Ya hace unos cuantos parches que en la consola de Java ya lo estaba advirtiendo al cargar los archivos, pero la mayoría hizo caso omiso a ello.&lt;br /&gt;
&lt;br /&gt;
Los archivos JAR dentro de la carpeta META-INF tienen que tener el archivo MANIFEST.MF con las siguientes líneas (puede haber más):&lt;br /&gt;
&lt;br /&gt;
Codebase: *&lt;br /&gt;
Permissions: all-permissions&lt;br /&gt;
&lt;br /&gt;
¿Cómo solucionarlo?, en mi caso tengo 3 tipo de JARS, los propios de Oracle, JARS propios y JARS de terceros.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Los propios de Oracle &lt;/b&gt;(frmall.jar,&amp;nbsp;frmgeneric_laf.jar,&amp;nbsp;frmmain.jar,&amp;nbsp;frmoracle_laf.jar,&amp;nbsp;frmresources.jar,&amp;nbsp;frmwebutil.jar): Para estos Oracle ha publicado un parche que incluye el MANIFEST correcto, el parche es el&amp;nbsp;16837591 que se puede bajar del Metalink. Si no tienes acceso al Metalink puedes hacer lo mismo que explico con JARS de terceros.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;JARS Propios&lt;/b&gt;. Estos los voy a dividir en 2 grupos (los de iconos y los generados con JDeveloper).&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Iconos&lt;/b&gt;: Creamos un archivo MANIFEST.TXT en cualquier ubicación de nuestro disco, por ejemplo, C:\Temp\MANIFEST.TXT con el siguiente contenido:&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
Manifest-Version: 1.0&lt;/div&gt;
&lt;div&gt;
Codebase: *&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Created-By: 1.6.0_35 (Sun Microsystems Inc.)&lt;/div&gt;
&lt;div&gt;
Permissions: all-permissions&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;
&lt;li&gt;Generar el archivo JAR con el siguiente comando (suponemos que los iconos están en C:\Temp\iconos):&amp;nbsp;jar cvfm c:\temp\archivoiconos.jar c:\MANIFEST.TXT C:\temp\iconos\*.gif&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;b&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;ul&gt;
&lt;li&gt;&lt;b style=&quot;font-weight: bold;&quot;&gt;Jars desplegados con JDeveloper&lt;/b&gt;&lt;b&gt;. &lt;/b&gt;Creamos un archivo dentro del proyecto de JDeveloper de texto plano con el siguiente contenido (NOTA: Hay que dejar un retorno de carro al final para que al hacer el despliegue meta las 2 líneas):&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;
&lt;/b&gt;&lt;/ul&gt;
&lt;b&gt;
&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
Codebase: *&lt;/div&gt;
&lt;div&gt;
Permissions: all-permissions&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;
&lt;li&gt;Al configurar el despliegue del archivo JAR, marcamos la check &quot;Include Manifest File (META-INF/MANIFEST.MF) he indicamos en &quot;Additional Manifest Files to Merge into MANIFEST.MF&quot; la ruta al archivo que hemos creado anteriormente.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi42UTFcyCnk8oB3_yQZFe8bsrSyyBJjEcbs0qKIy5D5w3wXNPoIYvZdXKVj8DDoQ-i04XqW6hP2FIYkqZSVfExYf4CUYWI_7_Y9xvUjbVsuZU4aWPzFMbBDUK0acJhxh_qEV_crNjMuY/s1600/jd12c.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;228&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi42UTFcyCnk8oB3_yQZFe8bsrSyyBJjEcbs0qKIy5D5w3wXNPoIYvZdXKVj8DDoQ-i04XqW6hP2FIYkqZSVfExYf4CUYWI_7_Y9xvUjbVsuZU4aWPzFMbBDUK0acJhxh_qEV_crNjMuY/s320/jd12c.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;JARS de Terceros&lt;/b&gt;: Lo que hice en este caso, es descomprimirlos, modificar el MANIFEST.MF, borrar la firma que estaba en la carpeta META-INF, volver a comprimirlos en formato ZIP y luego cambiar la extensión a &quot;.jar&quot;. Luego los volví a firmar con mi certificado de firma de código.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div&gt;
Una vez tenemos los JAR con el MANIFEST correcto y perfectamente firmados, los volvemos a colocar en&amp;nbsp;$ORACLE_HOME/forms/java y reiniciamos el servicio de WLS_FORMS:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
$DOMAIN_HOME/bin/stopManagedWebLogic.sh WLS_FORMS&lt;/div&gt;
&lt;div&gt;
$DOMAIN_HOME/bin/startManagedWebLogic.sh WLS_FORMS&amp;amp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/6793199958265108183/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/6793199958265108183?isPopup=true' title='14 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6793199958265108183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6793199958265108183'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2013/10/problemas-para-forms-11g-en-proximas.html' title='Problemas para Forms 11g en próximas actualizaciones de Java'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1zkNrRkm94HUQocTu3SEfFDF4Ou8IXDYWIe6taX75b1UqvEBTL0K9y9juapY_iGqQOMzZrQgiGydKNBSQM0Ru5RjFVSGcBiQkhNBymb226B-lX3oTfhhoWyZM8qKZAwrwsyXoiDwgRAI/s72-c/java_45_f11_2.png" height="72" width="72"/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-213684686894630964</id><published>2013-08-14T12:32:00.000+02:00</published><updated>2013-08-14T12:32:20.323+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms 11"/><title type='text'>Problema de arranque de Forms en Forms 11g</title><content type='html'>En algunos equipos me he encontrado el caso de que al intentar iniciar la aplicación desarrollada en Forms 11g, la pantalla del navegador se quedaba en blanco y no llegaba a cargar nunca. En estos casos lo primero que hay que hacer es borrar los &quot;Archivos Temporales de Internet&quot; de Java (Panel de Control -&amp;gt; Programas -&amp;gt; Java -&amp;gt; Botón Configuración -&amp;gt; Suprimir Archivos -&amp;gt; Marcar todas las checks y aceptar)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidej7CSDV14HokwjaGuQS1N4SEfaaV74F7zURe7Ujq20Hm6tq0EviBMsflOMsx-0NSSHC7mUVn02OCfGSeuCD5zvSYPaiqud_3psjdw1dQHFW9mFnFdPszH-hgATTq8ky6IncjoXUajkg/s1600/pant2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidej7CSDV14HokwjaGuQS1N4SEfaaV74F7zURe7Ujq20Hm6tq0EviBMsflOMsx-0NSSHC7mUVn02OCfGSeuCD5zvSYPaiqud_3psjdw1dQHFW9mFnFdPszH-hgATTq8ky6IncjoXUajkg/s640/pant2.png&quot; width=&quot;395&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
De paso que estamos ahí, comprobamos en la pestaña &quot;Seguridad&quot; que está marcada la check &quot;Activar el contenido Java en el explorador&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJXT_7VGdh9nJW03IjR9cQpSsSdbksAyaGNpkJTL1RGB_s9XZjmAvoNQrJ6im8Eo7m8A1RGGkOs2EnHjdY00az4YPwiv2I9DTQZPixUXhiM8B0sPJS8PXHnaX6E7GCdF2dXbPnlEwEva8/s1600/pant1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJXT_7VGdh9nJW03IjR9cQpSsSdbksAyaGNpkJTL1RGB_s9XZjmAvoNQrJ6im8Eo7m8A1RGGkOs2EnHjdY00az4YPwiv2I9DTQZPixUXhiM8B0sPJS8PXHnaX6E7GCdF2dXbPnlEwEva8/s320/pant1.png&quot; width=&quot;308&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Luego cerramos el navegador de Internet y lo volvemos a iniciar. Si aún así no funciona, hay que borrar la carpeta&amp;nbsp;C:\Users\xxxxx\AppData\LocalLow\Sun\Java (cambiando xxxxx por el usuario correspondiente) y reiniciar el equipo completo.&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/213684686894630964/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/213684686894630964?isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/213684686894630964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/213684686894630964'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2013/08/problema-de-arranque-de-forms-en-forms.html' title='Problema de arranque de Forms en Forms 11g'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidej7CSDV14HokwjaGuQS1N4SEfaaV74F7zURe7Ujq20Hm6tq0EviBMsflOMsx-0NSSHC7mUVn02OCfGSeuCD5zvSYPaiqud_3psjdw1dQHFW9mFnFdPszH-hgATTq8ky6IncjoXUajkg/s72-c/pant2.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-3742717140020186870</id><published>2013-07-10T08:58:00.001+02:00</published><updated>2013-07-10T08:58:48.357+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="12c"/><category scheme="http://www.blogger.com/atom/ns#" term="forms6i"/><category scheme="http://www.blogger.com/atom/ns#" term="ORA-28040"/><title type='text'>Forms 6 en Oracle 12c</title><content type='html'>Al conectar Forms 6 con un Oracle 12c nos dará el siguiente mensaje de error y no nos dejará conectar:&lt;br /&gt;
&lt;br /&gt;
ORA-28040: No coincide ningún protocolo de autenticación&lt;br /&gt;
&lt;br /&gt;
El problema es que Oracle 12c por defecto bloquea los clientes de la versión 8 de Oracle, para habilitarlo hay que añadir en el archivo sqlnet.ora de la base de datos las siguientes líneas:&lt;br /&gt;
&lt;br /&gt;
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8&lt;br /&gt;
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Una vez añadidas ya podemos conectar y usar cualquier producto de Oracle 8.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxuj6Rl5Q-AiO7Igg3XmjD0616h8WLDVboyRTCPSy5TmLD8EcFjCO1qyShenKqXHxJwM0OD0F63iZqG6Rhy4ZAt2Wxyaz2icVcMyczozGE1WOnxwUZW954wTlH9iaMADwrzwyqYJ7e1ic/s1600/PLUS8.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;122&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxuj6Rl5Q-AiO7Igg3XmjD0616h8WLDVboyRTCPSy5TmLD8EcFjCO1qyShenKqXHxJwM0OD0F63iZqG6Rhy4ZAt2Wxyaz2icVcMyczozGE1WOnxwUZW954wTlH9iaMADwrzwyqYJ7e1ic/s320/PLUS8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
No he detectado ningún tipo de problema, pero hay que aclarar que esta configuración no está certificada por Oracle.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Las pruebas las he realizado con el parche 17 de Forms (6.0.8.26.0) en su versión Cliente / Servidor.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/3742717140020186870/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/3742717140020186870?isPopup=true' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/3742717140020186870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/3742717140020186870'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2013/07/forms-6-en-oracle-12c.html' title='Forms 6 en Oracle 12c'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxuj6Rl5Q-AiO7Igg3XmjD0616h8WLDVboyRTCPSy5TmLD8EcFjCO1qyShenKqXHxJwM0OD0F63iZqG6Rhy4ZAt2Wxyaz2icVcMyczozGE1WOnxwUZW954wTlH9iaMADwrzwyqYJ7e1ic/s72-c/PLUS8.png" height="72" width="72"/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-2313057879898133965</id><published>2013-05-07T21:57:00.000+02:00</published><updated>2013-05-07T21:57:25.620+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms 11"/><category scheme="http://www.blogger.com/atom/ns#" term="jrf template"/><category scheme="http://www.blogger.com/atom/ns#" term="jrockit"/><title type='text'>Error instalando Forms 11: Aplicando Plantilla JRF de Oracle</title><content type='html'>Instalando Forms 11g Release 2 -&amp;nbsp;11.1.2.1.0 sobre un Oracle Enterprise Linux 6.4 de 64 bits y&amp;nbsp;Oracle JRockit 6 - R28.2.7 parche 45, el proceso de creación del dominio falla en el punto &quot;Aplicando Plantilla JRF de Oracle&quot; - &quot;Applying &amp;nbsp;Oracle JRF Template&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_HaNyhI5QOgreByaBu7i2nJMbYk1vLUgXO_FKUgTWf5v75Lb5ZGBDNootbTTyscP9UjY6p2ndpweDPqlPyWGmpfNixb15SHyOTOsnirnF0JKlXbFFozHvy8Tm_5LwlGei3mfkAlLmeoE/s1600/aplicando_plantilla_jrf_de_oracle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_HaNyhI5QOgreByaBu7i2nJMbYk1vLUgXO_FKUgTWf5v75Lb5ZGBDNootbTTyscP9UjY6p2ndpweDPqlPyWGmpfNixb15SHyOTOsnirnF0JKlXbFFozHvy8Tm_5LwlGei3mfkAlLmeoE/s320/aplicando_plantilla_jrf_de_oracle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9mipctFM9E_v1Ijzjebov6PVJXeFcE4yBxmQx9IWAzo9rk2TNO3xNpN_dvdN_o-x3dxUH7VOWsJNf5fd84kAI77TyIFxWs025lkPoecCkPK44uZ3JKkU3gqooN_9bV1ipaQYB3aYX3yE/s1600/aplicando_plantilla_jrf_de_oracle.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9mipctFM9E_v1Ijzjebov6PVJXeFcE4yBxmQx9IWAzo9rk2TNO3xNpN_dvdN_o-x3dxUH7VOWsJNf5fd84kAI77TyIFxWs025lkPoecCkPK44uZ3JKkU3gqooN_9bV1ipaQYB3aYX3yE/s320/aplicando_plantilla_jrf_de_oracle.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
El mismo error también se produce con Oracle Enterprise Linux 5.6.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
En los logs no ayuda mucho los mensajes mensaje de error, en concreto falla al no encontrar un archivo Phyton en /tmp.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Después de múltiples pruebas encontré que el motivo del error era la versión de JRockit, en concreto el parche 45, con el parche 37 instala perfectamente sin problemas, es decir, en vez de usar &quot;jrockit-jdk1.6.0_45-R28.2.7-4.1.0-linux-x64.bin&quot; para la instalación hay que usar &quot;jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin&quot;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Desconozco si los parches entre el 38 y el 44 funcionan bien, sólo probé el 37 ya que es el que tenía disponible.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/2313057879898133965/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/2313057879898133965?isPopup=true' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/2313057879898133965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/2313057879898133965'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2013/05/error-instalando-forms-11-aplicando.html' title='Error instalando Forms 11: Aplicando Plantilla JRF de Oracle'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_HaNyhI5QOgreByaBu7i2nJMbYk1vLUgXO_FKUgTWf5v75Lb5ZGBDNootbTTyscP9UjY6p2ndpweDPqlPyWGmpfNixb15SHyOTOsnirnF0JKlXbFFozHvy8Tm_5LwlGei3mfkAlLmeoE/s72-c/aplicando_plantilla_jrf_de_oracle.png" height="72" width="72"/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-4777905421177371621</id><published>2013-01-09T09:53:00.000+01:00</published><updated>2013-01-09T09:53:10.324+01:00</updated><title type='text'>Problema en la instalación de Forms 11 en Windows</title><content type='html'>Me he encontrado con el problema de que durante la instalación de Forms 11g Release 2 en un Windows 8 de 64 bits la instalación se quedaba colgada en el punto &quot;Reiniciando AdminServer&quot;, el problema estaba en el nombre del equipo que tenía un _ (guión bajo), para solucionarlo hay que cambiar el nombre del equipo para que no tenga guiones y reiniciar la instalación.</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/4777905421177371621/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/4777905421177371621?isPopup=true' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/4777905421177371621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/4777905421177371621'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2013/01/problema-en-la-instalacion-de-forms-11.html' title='Problema en la instalación de Forms 11 en Windows'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-2091757525942058244</id><published>2012-12-05T22:09:00.001+01:00</published><updated>2012-12-05T22:09:31.691+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cavaa 16"/><category scheme="http://www.blogger.com/atom/ns#" term="rep-0065"/><category scheme="http://www.blogger.com/atom/ns#" term="rep-0200"/><category scheme="http://www.blogger.com/atom/ns#" term="reports"/><title type='text'>REP-0065 + REP-0200</title><content type='html'>En una instalación en Forms 6 en cliente / servidor al ejecutar un informe, en a veces se producía el siguiente error:&lt;br /&gt;
&lt;br /&gt;
REP-0065: Error del Sistema de Memoria Virtual&lt;br /&gt;
REP-0200: No se puede asignar suficiente memoria. cavaa 16&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYoON1x01W0JR_mHu_PD4BfzMxaMXrXJ6-MjaOoIK4IeFl3bj01wmJzwQMTQ3WA5xOtDVnLLcW3DRMUV8Ewe37tagF1VF6e57TVf_MGufmbz6nck7ucJVBWeXIgo-06aEtShAAXsrkjzI/s1600/pantallazo_informe_rep_0200.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;115&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYoON1x01W0JR_mHu_PD4BfzMxaMXrXJ6-MjaOoIK4IeFl3bj01wmJzwQMTQ3WA5xOtDVnLLcW3DRMUV8Ewe37tagF1VF6e57TVf_MGufmbz6nck7ucJVBWeXIgo-06aEtShAAXsrkjzI/s320/pantallazo_informe_rep_0200.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
El problema residía en dos marcos repetitivos anidados y que tenían el mismo grupo de origen, con lo que según los datos que sacase el informe entraba en un bucle recursivo que hacía romper el informe por falta de memoria.</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/2091757525942058244/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/2091757525942058244?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/2091757525942058244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/2091757525942058244'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2012/12/rep-0065-rep-0200.html' title='REP-0065 + REP-0200'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYoON1x01W0JR_mHu_PD4BfzMxaMXrXJ6-MjaOoIK4IeFl3bj01wmJzwQMTQ3WA5xOtDVnLLcW3DRMUV8Ewe37tagF1VF6e57TVf_MGufmbz6nck7ucJVBWeXIgo-06aEtShAAXsrkjzI/s72-c/pantallazo_informe_rep_0200.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-6493182526598326484</id><published>2012-09-26T19:24:00.003+02:00</published><updated>2012-09-26T19:25:50.614+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms 11"/><category scheme="http://www.blogger.com/atom/ns#" term="nvidia"/><title type='text'>Instalación de Forms 11 en Windows con tarjeta gráfica NVIDIA</title><content type='html'>En la última instalación que hice sobre un Windows de 64 bits se quedaba el proceso colgado creando el dominio, después de muchas pruebas encontré que el problema era que el driver de la tarjeta gráfica&amp;nbsp;
NVIDIA&amp;nbsp;&amp;nbsp;había metido en el PATH del sistema operativo la ruta &quot;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;&quot; al quitar esa ruta y volver a instalar Forms 11 el proceso se completó correctamente.</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/6493182526598326484/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/6493182526598326484?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6493182526598326484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/6493182526598326484'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2012/09/instalacion-de-forms-11-en-windows-con.html' title='Instalación de Forms 11 en Windows con tarjeta gráfica NVIDIA'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-460038993721440457</id><published>2012-06-17T23:06:00.000+02:00</published><updated>2012-06-17T23:10:44.019+02:00</updated><title type='text'>Instalación de Forms 11 R2 en Windows 8 de 64 bits</title><content type='html'>En esta entrada voy a explicar como instalar un entorno de desarrollo y de pruebas de Forms 11 sobre un Windows 8 de 64bits, los pasos son idénticos a la instalación sobre Windows 7 de 64 bits.&lt;br /&gt;
&lt;br /&gt;
Mi intención es hacer una guía paso a paso sin entrar en demasiados detalles en cada uno de los pasos de la instalación.&lt;br /&gt;
&lt;br /&gt;
Antes de nada tenemos que tener instalado el JDK de 64 bits, para verificar que lo tenemos correctamente configurado abrimos una consola &quot;CMD&quot; y ejecutamos &quot;java -versión&quot;, nos debería de salir un mensaje similar a este:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0dILSTvkixq1XOvTRxyn9t0DC2IByCy6yK3nLEiAG3P4FZzPBImZjN7pxKeyBK2LaslRLNEParl6ggIDh9p3DnV_pD9APZH5QjAagLuOO5_lpfTi5bp1byrWsKRxYwa8VfULPNFRPz4I/s1600/pantalla1-verificar-version-de-java.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0dILSTvkixq1XOvTRxyn9t0DC2IByCy6yK3nLEiAG3P4FZzPBImZjN7pxKeyBK2LaslRLNEParl6ggIDh9p3DnV_pD9APZH5QjAagLuOO5_lpfTi5bp1byrWsKRxYwa8VfULPNFRPz4I/s400/pantalla1-verificar-version-de-java.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En primer lugar hay que instalar Weblogic 10.3, que se puede descargar del OTN de la siguiente dirección (simplemente hay que tener una cuenta de OTN, que se puede obtener sencillamente y totalmente gratuita): &lt;a href=&quot;http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html&quot; target=&quot;_blank&quot;&gt;http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html&lt;/a&gt;. La versión que se necesita para hacer la instalación en 64 bits es la genérica, es decir, el archivo, wls1036_generic.jar.&lt;br /&gt;
&lt;br /&gt;
Para arrancar la instalación, desde una consola de comandos, una vez que nos hemos situado en la carpeta en donde se encuentra el archivo wls1036_generic.jar ejecutamos: java -jar wls1036_generic.jar&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-GsyFkviUa6yRoBvFv2uTYqLeb-kaceTEu_uR8shnKkXwMxidjMQEHZ3MPpe6k2WjtbslR4rX7vQnhG86VRfbY9je1xIRexBa6i3sPB-qYKp1JHLt6ryrVbY2ugfms_XenM063cUUXdk/s1600/pantalla2-arrancar-instalacion-de-weblogic.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;101&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-GsyFkviUa6yRoBvFv2uTYqLeb-kaceTEu_uR8shnKkXwMxidjMQEHZ3MPpe6k2WjtbslR4rX7vQnhG86VRfbY9je1xIRexBa6i3sPB-qYKp1JHLt6ryrVbY2ugfms_XenM063cUUXdk/s400/pantalla2-arrancar-instalacion-de-weblogic.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Aparecerá la siguiente pantalla de bienvenida&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZs-GSOpI4jLPoQyUwlPoze6DThyphenhyphen_QOqChlMwKGHd3-b6l9mGGack_5ZVa1P4b4V2ahekc5dmOAv7sbT9WAIBd-6MJeaLJrKjJ1wk04J5BcBGiAtLWQx_2ySV9xoS4hTRfGlcofamobLQ/s1600/pantalla3-pantalla-de-bienvenida-de-weblogic.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;286&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZs-GSOpI4jLPoQyUwlPoze6DThyphenhyphen_QOqChlMwKGHd3-b6l9mGGack_5ZVa1P4b4V2ahekc5dmOAv7sbT9WAIBd-6MJeaLJrKjJ1wk04J5BcBGiAtLWQx_2ySV9xoS4hTRfGlcofamobLQ/s400/pantalla3-pantalla-de-bienvenida-de-weblogic.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Pulsamos &quot;Siguiente&quot; y aparecerá la pantalla para indicar el directorio raíz de la instalación. Propone C:\Oracle\Middledware, particularmente me parece una buena ubicación para la instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqdAilczaS7lYyuX0X2SfrT_DsI3B-xsjKcKAqgLI4tyvM_8sX1KSLNriFd9qGxY33tL2X77BDW4qtWNIakdKs89_0kmRdiiC5693zGDS7IwGCM6DczXeRyXwsdjRtGh4_jbkvdNY7J4Y/s1600/pantalla4-pantalla-de-seleccion-directorio-raiz.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqdAilczaS7lYyuX0X2SfrT_DsI3B-xsjKcKAqgLI4tyvM_8sX1KSLNriFd9qGxY33tL2X77BDW4qtWNIakdKs89_0kmRdiiC5693zGDS7IwGCM6DczXeRyXwsdjRtGh4_jbkvdNY7J4Y/s400/pantalla4-pantalla-de-seleccion-directorio-raiz.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez pulsamos &quot;Siguiente&quot;, nos aparece la pantalla para solicitar la cuenta de Oracle Support para obtener las actualizaciones de seguridad, esta pantalla va aparecer repetidamente durante el proceso de instalación. Para un equipo de desarrollo y pruebas no lo veo necesario, pero si fuese una instalación en un entorno de producción sería muy recomendable cubrirlos.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjhLWUmpWpPoZmSDmFQnNSjOW8CQAhaZpYXP3CxZHniL6gjm3lykK4qKia1zXWPxyDmvUDEYqmVstdUZdFnZcNRuHcfbq2tIiSnNjRuiWMzPReXKgh-VmPwYBZLwYuEpLxlla8GJYk68g/s1600/pantalla5-configurar-actualizaciones-de-seguridad.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjhLWUmpWpPoZmSDmFQnNSjOW8CQAhaZpYXP3CxZHniL6gjm3lykK4qKia1zXWPxyDmvUDEYqmVstdUZdFnZcNRuHcfbq2tIiSnNjRuiWMzPReXKgh-VmPwYBZLwYuEpLxlla8GJYk68g/s400/pantalla5-configurar-actualizaciones-de-seguridad.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Luego nos pregunta el tipo de instalación, para el caso concreto de la instalación para albergar Forms 11, con la instalación Típica va perfectamente.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY6-3fJrYxP8GDSN1DV2j3Fb4IKGPy8YuGtx3aXkfaxvDB5JXpkhyphenhyphenL5_3zroiPtX_cZlc6wC7k3v0T9WQK7oNCbvi1n7O2CAWg5R8ukJ7teywHieNXCWkekkbNnPFv-kQoAL88pxz6MlE/s1600/pantalla6-seleccionar-tipo-de-instalacion.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY6-3fJrYxP8GDSN1DV2j3Fb4IKGPy8YuGtx3aXkfaxvDB5JXpkhyphenhyphenL5_3zroiPtX_cZlc6wC7k3v0T9WQK7oNCbvi1n7O2CAWg5R8ukJ7teywHieNXCWkekkbNnPFv-kQoAL88pxz6MlE/s400/pantalla6-seleccionar-tipo-de-instalacion.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En la siguiente pantalla se solicita que se indique el directorio de la máquina virtual de Java que queremos usar:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgymf7gQfi7C6yCzVq88QkO2wFEjLTnbYphdWcgNIyLkqOy3YgqBywndD6UKMYYk1Oj_gXsXjz6aZBxWSuS9mFLev6Gv5fQ6dRTbA5Mj3j7d8DSfBbSn8CRQj_pDReSaVsgt-cKur6PQag/s1600/pantalla7-seleccion-de-jdk-antes.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgymf7gQfi7C6yCzVq88QkO2wFEjLTnbYphdWcgNIyLkqOy3YgqBywndD6UKMYYk1Oj_gXsXjz6aZBxWSuS9mFLev6Gv5fQ6dRTbA5Mj3j7d8DSfBbSn8CRQj_pDReSaVsgt-cKur6PQag/s400/pantalla7-seleccion-de-jdk-antes.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Es importante seleccionar el directorio donde está el JDK de 64bits, normalmente la ruta será similar a :&amp;nbsp;C:\Program Files\Java\jdk1.6.0_33&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyDpH2vYzvpfrXFsop7VX30ybsFxhyphenhyphenKzf09iS5r4i7-Z50Vr2IumK1R9VbiGcaUpssXTmxvVCJLApqkYn79y5pL2G8aT6Zqnf-_Kz_-tFwfe_TJnY9wNujhVbkxInbXUxqruol8T-Lpw0/s1600/pantalla8-seleccion-de-jdk-despues.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyDpH2vYzvpfrXFsop7VX30ybsFxhyphenhyphenKzf09iS5r4i7-Z50Vr2IumK1R9VbiGcaUpssXTmxvVCJLApqkYn79y5pL2G8aT6Zqnf-_Kz_-tFwfe_TJnY9wNujhVbkxInbXUxqruol8T-Lpw0/s400/pantalla8-seleccion-de-jdk-despues.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A continuación se nos solicita que concretemos las rutas para &quot;WebLogic Server&quot; y &quot;Oracle Coherence&quot;, lo normal es dejar las rutas que nos propone por defecto:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1SZIKnU6WlzWVEAiaSXD3yqCfsVgNi3K3dxXmIJY7H95RRyMWSmGZ-cBpNqOP2gZ3RWY844ZLYqghB-KFbKPc7S2rCQrDD2NmlgcU9ZIOWMpEDIRWcP2ysO6pIRyiW8xbivu4wnGtJiY/s1600/pantalla9-seleccionar-directorios-de-instalacion.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1SZIKnU6WlzWVEAiaSXD3yqCfsVgNi3K3dxXmIJY7H95RRyMWSmGZ-cBpNqOP2gZ3RWY844ZLYqghB-KFbKPc7S2rCQrDD2NmlgcU9ZIOWMpEDIRWcP2ysO6pIRyiW8xbivu4wnGtJiY/s400/pantalla9-seleccionar-directorios-de-instalacion.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Antes de comenzar la instalación se muestra un resumen de lo que va a ser instalado:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSNCqdCeBpkiMnTUZJvKHARMAWRtZuPcz-zF_upN_iP6cuHBzcqJ6RB3cvJwiPjYW-3rbMPGLEDsfcQzwQR8UbRQPKtOyAfWinbDDbC4CFuGXezSV0YUcCD0YkLFrdeBWvtnWmjAZ8Tsk/s1600/pantalla10-resumen-de-instalacion.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSNCqdCeBpkiMnTUZJvKHARMAWRtZuPcz-zF_upN_iP6cuHBzcqJ6RB3cvJwiPjYW-3rbMPGLEDsfcQzwQR8UbRQPKtOyAfWinbDDbC4CFuGXezSV0YUcCD0YkLFrdeBWvtnWmjAZ8Tsk/s400/pantalla10-resumen-de-instalacion.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Una vez terminada la instalación muestra una pantalla indicando que la instalación ha finalizado. En esta pantalla desactivamos la check &quot;Ejecutar Quickstart&quot; y pulsamos &quot;Listo&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd24Jgbzj5_GJ7bFR8PAsOESoqZXKIcY8P1Pw7NlCuw3gUWPCzGKxnkTWdGtCJwQeJfv2pRxb3OGFtwbqYYwpYxeUpU1TzhWm9210iTqyiKwqHP2wiOd45K_JGlqka-nsro3LluiLuLUc/s1600/pantalla11-fin-instalacion-weblogic.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd24Jgbzj5_GJ7bFR8PAsOESoqZXKIcY8P1Pw7NlCuw3gUWPCzGKxnkTWdGtCJwQeJfv2pRxb3OGFtwbqYYwpYxeUpU1TzhWm9210iTqyiKwqHP2wiOd45K_JGlqka-nsro3LluiLuLUc/s400/pantalla11-fin-instalacion-weblogic.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
El primer paso de la instalación ya está realizado, ahora sobre la instalación de Weblogic que se acaba de realizar, hay que instalar Forms 11R2. La versión de Forms11R2 también se puede obtener del OTN, en la siguiente dirección:&amp;nbsp;&lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html&quot; target=&quot;_blank&quot;&gt;http://www.oracle.com/technetwork/developer-tools/forms/downloads/index.html&lt;/a&gt;, el archivo que se necesita es el de la versión de 64 bits &quot;ofm_frmrpts_win_11.1.2.0.0_64_disk1_1of1.zip&quot;, una vez descomprimido nos generará 3 carpetas (Disk1, Disk2 y Disk3), en la carpeta Disk1 ejecutamos el archivo &quot;setup.exe&quot; y aparecerá la pantalla de bienvenida en la que pulsamos &quot;Siguiente&quot;:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEW0dRNWHbnYgre60Xwvujpfv6T3l3eML1fnv6BG5fe1_i_ZvgU4GM6TuRcgSJCyOyQYsVCFNnxn_iSG6P2I1zNMlr_V2oU1RgKURgPDUoH-mtCFeix6f5dnDt5m7O3VEUQr96mqrEO3A/s1600/pantalla12-inicio-instalacion-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEW0dRNWHbnYgre60Xwvujpfv6T3l3eML1fnv6BG5fe1_i_ZvgU4GM6TuRcgSJCyOyQYsVCFNnxn_iSG6P2I1zNMlr_V2oU1RgKURgPDUoH-mtCFeix6f5dnDt5m7O3VEUQr96mqrEO3A/s400/pantalla12-inicio-instalacion-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Nos vuelve a solicitar los datos para las actualizaciones de Software, al igual que hicimos al instalar Weblogic las omitimos y pulsamos &quot;Siguiente&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhttdIKdWsmohm4xdqVfgnHPksWmV80ktn15jxmuL9XXAT8ktyrDv4HsIyr1lEzbFBm248YAdWrEF0M8JS8ioMsRH9YTl5aVRYRvdqjX5jLXlcpK4brLwwARqLzJ3mVu2asOBvymKUQCRk/s1600/pantalla13-actualizaciones-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhttdIKdWsmohm4xdqVfgnHPksWmV80ktn15jxmuL9XXAT8ktyrDv4HsIyr1lEzbFBm248YAdWrEF0M8JS8ioMsRH9YTl5aVRYRvdqjX5jLXlcpK4brLwwARqLzJ3mVu2asOBvymKUQCRk/s400/pantalla13-actualizaciones-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A continuación nos indica si queremos únicamente instalar el software o aparte de instalar el software queremos realizar la configuración. Yo soy partidario de instalar únicamente el software y luego arrancar manualmente el proceso de configuración (en caso de producirse algún error lo tenemos más localizado, si es en la instalación del software o es un problema en la configuración).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH-_zrkY1rQOwvLC77NRQCcw7cnh5_R0GfdpxyfH4rMjyp9l2sVcDagsuYOKeBxXNKWEPj5hVbIa-EsZ7aZerdvKgtLgzRo7zfk_9pnLoDT62Abbx2SHXvFrAS3EkVWUBaHU4Ly7NHvrw/s1600/pantalla14-tipo-de-instalacion-solo-software.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH-_zrkY1rQOwvLC77NRQCcw7cnh5_R0GfdpxyfH4rMjyp9l2sVcDagsuYOKeBxXNKWEPj5hVbIa-EsZ7aZerdvKgtLgzRo7zfk_9pnLoDT62Abbx2SHXvFrAS3EkVWUBaHU4Ly7NHvrw/s400/pantalla14-tipo-de-instalacion-solo-software.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En la siguiente pantalla hace una comprobación de requisitos, al estar haciendo la instalación en Windows 8, que no es un sistema operativo certificado da un error, pero podemos seguir la instalación pulsando el botón &quot;Continuar&quot; y luego en &quot;Siguiente&quot;.&lt;br /&gt;
&lt;br /&gt;
A continuación nos pide la ubicación para la instalación de los programas de Forms, en este caso también podemos dejar los valores que propone por defecto:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4p4wwm_oVvq6fSeSFp1ZjxbbaVxLAiAz7Tkt9g8l9jJapeXgC-N3kFeUwJxTJBp0Wi4FleroXgwAZchmrP7tnXNE_4lImCTttn2IsibG-og3_S5MpXmdEITj2mQ4DEr8KPBFX_t8I2MQ/s1600/pantalla16-ubicacion-instalacion.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4p4wwm_oVvq6fSeSFp1ZjxbbaVxLAiAz7Tkt9g8l9jJapeXgC-N3kFeUwJxTJBp0Wi4FleroXgwAZchmrP7tnXNE_4lImCTttn2IsibG-og3_S5MpXmdEITj2mQ4DEr8KPBFX_t8I2MQ/s400/pantalla16-ubicacion-instalacion.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Otra vez nos solicita los datos de Oracle Support para las actualizaciones de seguridad, también las omitimos:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2hftY4mTGk5_oMoURsAT4m0ppkiQxSW2OBIDVLR7-oYfiqpA-7Ue8HcmslWnSXyN2rUgaxFF2G9QIeun7UIkA7wuGzcCgXCJ-QfrwVFCC-UNgfmAN1bZuJ1Iu_wqWUsM964l2eJ5Zr0k/s1600/pantalla17-actualizaciones-de-seguridad.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2hftY4mTGk5_oMoURsAT4m0ppkiQxSW2OBIDVLR7-oYfiqpA-7Ue8HcmslWnSXyN2rUgaxFF2G9QIeun7UIkA7wuGzcCgXCJ-QfrwVFCC-UNgfmAN1bZuJ1Iu_wqWUsM964l2eJ5Zr0k/s400/pantalla17-actualizaciones-de-seguridad.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Por último muestra una pantalla con el resumen de la instalación que se va a realizar:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU9TptB-DAdaGKhO-KwldlnVLPqhLyx74COEWg8XQFCsoF6H5Qef08tV19jCcwx9l6lltVqwD-XxMnIXGP1fhlGL8nIm9zlDX-QbBRLiYo_4Y4g5bYcqabo2j6IMCHowHVYeDB-UW-qT0/s1600/pantalla18-resumen-de-instalacion.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU9TptB-DAdaGKhO-KwldlnVLPqhLyx74COEWg8XQFCsoF6H5Qef08tV19jCcwx9l6lltVqwD-XxMnIXGP1fhlGL8nIm9zlDX-QbBRLiYo_4Y4g5bYcqabo2j6IMCHowHVYeDB-UW-qT0/s400/pantalla18-resumen-de-instalacion.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Pulsamos el botón de &quot;Instalar&quot;, la instalación comienza mostrando una pantalla con el progreso, una vez finalizado pulsamos el botón &quot;Siguiente&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIvZ3JxwnCOC8JBozX2KYzuFUA7y9lkVR2zm9KQcl9yCb26xRXZYIOww7uN6jxu6r5Yq32UltOzrqaasoxflLAY8SI8Nn4MWdqUijfbXj9SGlQSEdZLKHhrGwqkL0zvKyhwg06qHV71iU/s1600/pantalla19-instaccion-finalizada.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIvZ3JxwnCOC8JBozX2KYzuFUA7y9lkVR2zm9KQcl9yCb26xRXZYIOww7uN6jxu6r5Yq32UltOzrqaasoxflLAY8SI8Nn4MWdqUijfbXj9SGlQSEdZLKHhrGwqkL0zvKyhwg06qHV71iU/s400/pantalla19-instaccion-finalizada.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Al final nos muestra la pantalla informando de que la instalación ha terminado:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBHKBG0JpiuxH1SASofwJBOTtzeNqbCSpfYD8Z7S3uuovZ6uzJE0rhjwEr_NLCHF4k5STGgC5PlbnWzbDGUrKP6iTsfCGzybEC5U613DsA6UtxvBMoK0ByA-Mi3vthnq3lVwOacAyCvU/s1600/pantalla20-instaccion-terminada.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBHKBG0JpiuxH1SASofwJBOTtzeNqbCSpfYD8Z7S3uuovZ6uzJE0rhjwEr_NLCHF4k5STGgC5PlbnWzbDGUrKP6iTsfCGzybEC5U613DsA6UtxvBMoK0ByA-Mi3vthnq3lVwOacAyCvU/s400/pantalla20-instaccion-terminada.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Una vez instalado el software de Forms11R2 hay que proceder a realizar la configuración del dominio de Weblogic. Para ello ejecutamos el archivo &quot;config.bat&quot; que se encontrará en la ruta &quot;C:\Oracle\Middleware\Oracle_FRHome1\bin&quot;. Una vez ejecutado aparecerá la siguiente pantalla en la que pulsamos &quot;Siguiente&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjopTNpZ7RWGEP789HSBQZcf9NOsJ-OKy0TSZOkqkjajj-SpoPQQQTCRy7EPNjEmnZy3JmIFSp2icMKIIJObK2qN-YjJIBDZGX-EdWyPVK3W5emnbHcVfOYmzTcsmEan2mb1noGbr50vEk/s1600/pantalla21-comienzo-configuracion-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjopTNpZ7RWGEP789HSBQZcf9NOsJ-OKy0TSZOkqkjajj-SpoPQQQTCRy7EPNjEmnZy3JmIFSp2icMKIIJObK2qN-YjJIBDZGX-EdWyPVK3W5emnbHcVfOYmzTcsmEan2mb1noGbr50vEk/s400/pantalla21-comienzo-configuracion-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
En la siguiente pantalla se nos pregunta si la instalación la queremos hacer para despliegue de aplicación o para desarrollo. La mejor opción es indicar que es para despliegue ya que vamos a disponer de igual manera las herramientas de desarrollo, pero además podremos ejecutarlas.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizAMjsT-XadsnqI8JVnhLiCdDTILz2yumhHwBqmTmGmq0-DUrOmvbxRn6Uhpz2wJo30zFmsZOZIRPWss06jHt2OuFk37WHswBUhyDXMDQYnWYIlECX12XL_YTveaGzFoIl3ZMC4yQCL4E/s1600/pantalla22-tipo-configuracion-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizAMjsT-XadsnqI8JVnhLiCdDTILz2yumhHwBqmTmGmq0-DUrOmvbxRn6Uhpz2wJo30zFmsZOZIRPWss06jHt2OuFk37WHswBUhyDXMDQYnWYIlECX12XL_YTveaGzFoIl3ZMC4yQCL4E/s400/pantalla22-tipo-configuracion-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Por última vez nos pregunta sobre introducir los datos de Oracle Support que volvemos a omitir.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF9Uqhbfc3U84u2LOyuHQbAXSqMmErNG78qtgA_c3bWb_LZUHjT2IRVASXvpgGWqjD-eFTILgYbkaxXgrU13plfVXw18mIuFMbJs8WEygPozbUcnAq5gXOXOR9P3qcp8bMBC7UoZuPmJs/s1600/pantalla23-actualizaciones-seguridad-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF9Uqhbfc3U84u2LOyuHQbAXSqMmErNG78qtgA_c3bWb_LZUHjT2IRVASXvpgGWqjD-eFTILgYbkaxXgrU13plfVXw18mIuFMbJs8WEygPozbUcnAq5gXOXOR9P3qcp8bMBC7UoZuPmJs/s400/pantalla23-actualizaciones-seguridad-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En la siguiente pantalla nos solicita la ubicación del directorio del servidor de Weblogic y en donde queremos instalar la Instancia de Oracle, dejamos los valores que propone por defecto:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAUerrTj0s28YzdUkkLaKcOWpLDCRvVY022SLQLWNLlgM739-w3KJ_n5mEfigMPakkcac6mAvaQiqD4i9vagCHGa-N7_TIjzDWSdSJAvHQubKgrwJGo5U_uKRquijupa-1hSniUpVf7vQ/s1600/pantalla23-ubicacion-instalacion-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAUerrTj0s28YzdUkkLaKcOWpLDCRvVY022SLQLWNLlgM739-w3KJ_n5mEfigMPakkcac6mAvaQiqD4i9vagCHGa-N7_TIjzDWSdSJAvHQubKgrwJGo5U_uKRquijupa-1hSniUpVf7vQ/s400/pantalla23-ubicacion-instalacion-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A continuación crearemos un dominio en el servidor de Weblogic, en usuario dejamos &quot;weblogic&quot;, introducimos una contraseña y un nombre para el Dominio, en este caso le he llamado LIBRA, pero se le puede dar el nombre que quiera cada uno.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG3JMZY5y3nClEkCVsLwavoJm3mkbi6ADKQZxlKayiecikBA198qTgS_FRn1eS5eCAGqf2Q5feZQux23sEy3lPe8NqilFQP2rJZT01BC2IUH8MHVhAuQCSnD_9Ck3389ES5D8kcrJ6sbY/s1600/pantalla24-seleccionar-dominio-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG3JMZY5y3nClEkCVsLwavoJm3mkbi6ADKQZxlKayiecikBA198qTgS_FRn1eS5eCAGqf2Q5feZQux23sEy3lPe8NqilFQP2rJZT01BC2IUH8MHVhAuQCSnD_9Ck3389ES5D8kcrJ6sbY/s400/pantalla24-seleccionar-dominio-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Luego nos pide los componentes a configurar. Para disponer de un entorno de desarrollo activaremos todas las checks:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBp99tBWI5D1gFjT0j4HslPrcVesa9aZYdlyR5erXAMKNbxhLODsRAzOyD8cOswL_DndRI2wM3fuJ-s98gk5NPnGSOLoYyPvS6rjQj7bEg8PjQZNL7ftexIz7vzscb3jhEKR30xTfAhIo/s1600/pantalla25-configurar-entorno-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBp99tBWI5D1gFjT0j4HslPrcVesa9aZYdlyR5erXAMKNbxhLODsRAzOyD8cOswL_DndRI2wM3fuJ-s98gk5NPnGSOLoYyPvS6rjQj7bEg8PjQZNL7ftexIz7vzscb3jhEKR30xTfAhIo/s400/pantalla25-configurar-entorno-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En las siguientes dos pantallas dejamos los valores por defecto:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJo8X8_d9MYJp7txtsjgD7a-2EIySHWxaDbqkMMljLRcfDyFagJddkrAPe2NDPm4w-8NVx85srW2BTPjNThOzOOhJLJmaZdMLaoKY5oiviN5xtkjsB4J72ey8GfkqIf66G2waphG2ehS4/s1600/pantalla26-configurar-puertos-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJo8X8_d9MYJp7txtsjgD7a-2EIySHWxaDbqkMMljLRcfDyFagJddkrAPe2NDPm4w-8NVx85srW2BTPjNThOzOOhJLJmaZdMLaoKY5oiviN5xtkjsB4J72ey8GfkqIf66G2waphG2ehS4/s400/pantalla26-configurar-puertos-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivgIzhMO-cAQ3JTuopMgkUD9MGkzYG__iU7-aESnyW2XenDlAMaj1r75tR6_ui0JTa8RUv1J-XENa3cGWuqPTA1mJGgdUZD2j2OgCCIhZZJwikHKcvqgSyGU-MNz70yOeh2wPF3Bhes5Q/s1600/pantalla27-proxy-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivgIzhMO-cAQ3JTuopMgkUD9MGkzYG__iU7-aESnyW2XenDlAMaj1r75tR6_ui0JTa8RUv1J-XENa3cGWuqPTA1mJGgdUZD2j2OgCCIhZZJwikHKcvqgSyGU-MNz70yOeh2wPF3Bhes5Q/s400/pantalla27-proxy-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Al pulsar siguiente nos solicita el &quot;Almacén de identidades&quot;, desmarcamos la check &quot;Usar Almacén de Identidades de Aplicación&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQzyajyD1KUv8kxa-VtfdPhe1hEzG-VuNWl3uezxp_8C8OSQCqGY3hQhod2XORGAzlvVU3To_3CRK_lApEg65PtgcDurnrxjuc6yOWwb-3YdXuJRjv3EC7ymfCKg7pEsot2409a5HOvKo/s1600/pantalla30-almacen-identidades-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQzyajyD1KUv8kxa-VtfdPhe1hEzG-VuNWl3uezxp_8C8OSQCqGY3hQhod2XORGAzlvVU3To_3CRK_lApEg65PtgcDurnrxjuc6yOWwb-3YdXuJRjv3EC7ymfCKg7pEsot2409a5HOvKo/s400/pantalla30-almacen-identidades-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Pulsamos &quot;Siguiente&quot; y nos mostrará un resumen de la configuración que va a realizarse:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipR8P_Vry5eGEFambPlf5opr4muQQrX2646uoHEsYAqOpyrZwzkZyw2ZyHkByhZa2X1-lDxrABSyp4JxuKo2V-7gQ4KkIvGMzjKrqWLJCLPH3I3rNRdsHdywiT2_R8GQGUnRmO6HBhs5Y/s1600/pantalla30-resumen-instalacion-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipR8P_Vry5eGEFambPlf5opr4muQQrX2646uoHEsYAqOpyrZwzkZyw2ZyHkByhZa2X1-lDxrABSyp4JxuKo2V-7gQ4KkIvGMzjKrqWLJCLPH3I3rNRdsHdywiT2_R8GQGUnRmO6HBhs5Y/s400/pantalla30-resumen-instalacion-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al pulsar &quot;Siguiente&quot; comienza el proceso de configuración:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijvoFbo2tbBi0hPQVRAMlicBMsr4IoTemhHAeaJBAzBhS9HLvnL8OPir5Hi2oP9CKNBTEKqt92PM6oDyPi0j1mBnbg4Pw5sftK8lDbXO8cNnS5zF8FopiQw_bfTYOf4t_ppaXmmAOq_A0/s1600/pantalla29-fin-instalacion-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijvoFbo2tbBi0hPQVRAMlicBMsr4IoTemhHAeaJBAzBhS9HLvnL8OPir5Hi2oP9CKNBTEKqt92PM6oDyPi0j1mBnbg4Pw5sftK8lDbXO8cNnS5zF8FopiQw_bfTYOf4t_ppaXmmAOq_A0/s400/pantalla29-fin-instalacion-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
En la siguiente pantalla ya indica que la configuración ha finalizado:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrMqUSkBeZqvbQHSmu-6OEcCZ1eDJHdtzOZ5hoWfSUuhknq-zm6dg5-3EWf17DWVoaroEIqW3jb66ZhUq9Lu8zmZC8kcDDl3tYm7pArDvp9xlUEr-owBt5kEXmliy4SUykUb9PdrwdNUY/s1600/pantalla31-instalacion-terminada-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrMqUSkBeZqvbQHSmu-6OEcCZ1eDJHdtzOZ5hoWfSUuhknq-zm6dg5-3EWf17DWVoaroEIqW3jb66ZhUq9Lu8zmZC8kcDDl3tYm7pArDvp9xlUEr-owBt5kEXmliy4SUykUb9PdrwdNUY/s400/pantalla31-instalacion-terminada-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Para comprobar el funcionamiento de forms abrimos la siguiente dirección en el navegador:&amp;nbsp;http://nombreequipo&lt;nombre_del_equipo&gt;:9001/forms/frmservlet&lt;/nombre_del_equipo&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj65a7rb-OBBL63ELPGebEGdT0xfBFfbbKfEV7yz4e1osqMvw0JJ54rdrDkujWYbOdb57bZILH1UcItwJSc1qbz3zjgIjax0FdGPD1PJfOseBq-NGjVM7iGFkCGiFA-Uh8gsj3mriMSfXM/s1600/prueba_forms.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;301&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj65a7rb-OBBL63ELPGebEGdT0xfBFfbbKfEV7yz4e1osqMvw0JJ54rdrDkujWYbOdb57bZILH1UcItwJSc1qbz3zjgIjax0FdGPD1PJfOseBq-NGjVM7iGFkCGiFA-Uh8gsj3mriMSfXM/s400/prueba_forms.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Para comprobar el funcionamiento de reports abrimos la siguiente dirección en el navegador:&amp;nbsp;http://nombreequipo&lt;nombre_del_equipo&gt;:9002/reports/rwservlet&lt;/nombre_del_equipo&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB1wW_l1Xks3SDQePWl7dLK4NjR45JPOVoCzrZKoyYgE0k0hY9rtrRTXu1MIFTrcaVE0dq7hSiLFvXnzHL6HozpZFBEsQN3CUVRIkxeQ5m0zPyogp6fspir1ZAGJmPPcssQWimonuqNR0/s1600/prueba_reports.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiB1wW_l1Xks3SDQePWl7dLK4NjR45JPOVoCzrZKoyYgE0k0hY9rtrRTXu1MIFTrcaVE0dq7hSiLFvXnzHL6HozpZFBEsQN3CUVRIkxeQ5m0zPyogp6fspir1ZAGJmPPcssQWimonuqNR0/s1600/prueba_reports.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Para entrar en la consola de Weblogic accedemos mediante la dirección:&amp;nbsp;&lt;a href=&quot;http://localhost:7001/console&quot;&gt;http://localhost:7001/console&lt;/a&gt;&amp;nbsp;con el usuario weblogic y la contraseña indicada durante la instalación.&lt;br /&gt;
&lt;br /&gt;
Al terminar la instalación estas páginas funcionan correctamente ya que durante el proceso de instalación se arrancan todos los servicios, pero una vez reiniciamos el ordenador debemos de arrancar manualmente, tanto Weblogic, Forms y Reports.&lt;br /&gt;
&lt;br /&gt;
Para arrancar Weblogic ejecutamos el archivo: startWebLogic.cmd que se encontrará en la ruta&amp;nbsp;C:\Oracle\Middleware\user_projects\domains\NOMBRE_DOMINIO\bin, en el caso de la instalación realizada la ruta es:&amp;nbsp;C:\Oracle\Middleware\user_projects\domains\LIBRA\bin&lt;br /&gt;
&lt;br /&gt;
Al arrancar solicita usuario y contraseña, meteremos el usuario &quot;weblogic&quot; y la contraseña indicada durante la instalación (en futuras entradas mostraré como almacenar ese usuario y contraseña en archivos para que no sea necesario introducirla en cada arranque).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXUan0o6qKqZOS9Ysy8oXyM9Bh1j9S2Ybrt4M0dK1wwBTdJq3e0it70L5SxZxGTMqShUcVuzzNkhcl-0pgx3eRpdr36UICb8z3zRjm3coJxVARAuS4bu_bei6Wamf4KOXJ04tKfSXkCw8/s1600/pantalla32-arranque-weblogic-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;202&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXUan0o6qKqZOS9Ysy8oXyM9Bh1j9S2Ybrt4M0dK1wwBTdJq3e0it70L5SxZxGTMqShUcVuzzNkhcl-0pgx3eRpdr36UICb8z3zRjm3coJxVARAuS4bu_bei6Wamf4KOXJ04tKfSXkCw8/s400/pantalla32-arranque-weblogic-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Sabremos que ha finalizado el proceso de arranque cuando aparezca &quot;Server started in RUNNING mode&quot;.&amp;nbsp;Esta ventana es importante que la dejemos abierta, ya que si se cierra estaremos parando los servicios de WebLogic.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9WP0tb6eZ3v1daBHJitVw9JfpSqDaQvp3lmmK8KUi7UeoWTvG7q42Mo7sD4PNEIFcy7gNESWep6jrAR-rqRAlS61i7tkOySDQm5-T5OwWwSNaNis-LegtAJaAoU8NNQcF1DvuDevqpZ4/s1600/pantalla33-weblogic-arrancado-forms11r2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;202&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9WP0tb6eZ3v1daBHJitVw9JfpSqDaQvp3lmmK8KUi7UeoWTvG7q42Mo7sD4PNEIFcy7gNESWep6jrAR-rqRAlS61i7tkOySDQm5-T5OwWwSNaNis-LegtAJaAoU8NNQcF1DvuDevqpZ4/s400/pantalla33-weblogic-arrancado-forms11r2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Para arrancar Forms, desde una línea de comandos &quot;CMD&quot;, ejecutamos (cambiar LIBRA por el nombre del dominio indicado durante la instalación).&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;cd C:\Oracle\Middleware\user_projects\domains\LIBRA\bin&lt;/li&gt;
&lt;li&gt;startManagedWebLogic.cmd WLS_FORMS&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
También nos pedirá el usuario y contraseña, introducimos las mismas credenciales que durante el arranque de WebLogic.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para arrancar Reports, también, desde una línea de comandos ejecutamos (cambiar LIBRA por el nombre del dominio indicado durante la instalación).&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;cd C:\Oracle\Middleware\user_projects\domains\LIBRA\bin&lt;/li&gt;
&lt;li&gt;startManagedWebLogic.cmd WLS_REPORTS&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Al igual que al arrancar Forms y Weblogic solicita usuario y contraseña.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/460038993721440457/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/460038993721440457?isPopup=true' title='41 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/460038993721440457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/460038993721440457'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2012/06/instalacion-de-forms-11-r2-en-windows-8.html' title='Instalación de Forms 11 R2 en Windows 8 de 64 bits'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0dILSTvkixq1XOvTRxyn9t0DC2IByCy6yK3nLEiAG3P4FZzPBImZjN7pxKeyBK2LaslRLNEParl6ggIDh9p3DnV_pD9APZH5QjAagLuOO5_lpfTi5bp1byrWsKRxYwa8VfULPNFRPz4I/s72-c/pantalla1-verificar-version-de-java.png" height="72" width="72"/><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-1841432899207189256</id><published>2012-02-05T15:49:00.000+01:00</published><updated>2012-02-05T15:49:26.399+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fechas"/><category scheme="http://www.blogger.com/atom/ns#" term="FRM-50026"/><title type='text'>Agilizar la entrada de datos en campos de tipo DATE</title><content type='html'>Si tenemos un campo de tipo DATE y que tiene la máscara DD/MM/YYYY el usuario puede introducir la fecha 05022012 y automáticamente se transforma en 05/02/2012, pero en muchos casos puede ser útil permitir al usuario lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Introducir 1 ó 2 dígitos, por ejemplo, teclear 5 y asumir el mes y año del SYSDATE transformando ese 5 tecleado por el usuario en la fecha 05/02/2012.&lt;/li&gt;
&lt;li&gt;Introducir 4 dígitos, asumiendo los 2 primeros el día, los 2 dígitos siguientes el mes y el año obtenerlo del SYSDATE.&lt;/li&gt;
&lt;li&gt;Introducir 6 dígitos y asumiendo los 2 primeros el día, los 2 siguientes el mes y los 2 últimos el año en formato de 2 dígitos, es decir, se le debe de sumar 2000, de forma que si el usuario teclea 050212 se asuma la fecha 05/02/2012.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Para hacerlo lo que haremos será capturar el error de conversión de máscara de formato FRM-50026 en el disparador ON-ERROR de la siguiente forma:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;DECLARE&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_errtyp &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;VARCHAR2(3):= ERROR_TYPE;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_errnum &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;NUMBER := ERROR_CODE;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_errtxt &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;VARCHAR2(1000) := ERROR_TEXT;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_fecha &amp;nbsp; &amp;nbsp; &amp;nbsp; DATE;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_dia &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VARCHAR2(2);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_mes &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VARCHAR2(2);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_anho &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;VARCHAR2(4);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_error &amp;nbsp; &amp;nbsp; &amp;nbsp; BOOLEAN := TRUE;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_valor_campo VARCHAR2(30);&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_mascara &amp;nbsp; &amp;nbsp; VARCHAR2(30);&lt;/div&gt;&lt;div&gt;BEGIN&lt;/div&gt;&lt;div&gt;&amp;nbsp; IF v_errtyp = &#39;FRM&#39;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; AND v_errnum = 50026&lt;/div&gt;&lt;div&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; AND Get_Item_Property(:system.trigger_item, DATATYPE) = &#39;DATE&#39;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; AND UPPER(Get_Item_Property(:system.trigger_item, FORMAT_MASK)) = &#39;DD/MM/YYYY&#39; THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-- Capturamos el FRM-50026 en campos de tipo DATE y con máscara DD/MM/YYYY&lt;/div&gt;&lt;div&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;BEGIN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;v_valor_campo := NAME_IN(:system.trigger_item);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IF LENGTH(v_valor_campo) = 1 THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-- El usuario sólo teclea un dígito&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_dia := v_valor_campo;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ELSIF LENGTH(v_valor_campo) IN (2, 4, 6) THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;-- Obtenemos el día de lo que ha tecleado el usuario&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp;v_dia := SUBSTR(v_valor_campo, 1, 2);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;END IF;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IF LENGTH(v_valor_campo) IN (4, 6) THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-- Obtenemos el mes, sólo si el&amp;nbsp;usuario&amp;nbsp;ha tecleado algo de 4 ó 6 dígitos&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_mes := SUBSTR(v_valor_campo, 3, 2);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; END IF;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; IF LENGTH(v_valor_campo) = 6 THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-- Obtenemos el año, sólo si el&amp;nbsp;usuario&amp;nbsp;ha tecleado algo 6 dígitos&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;v_anho := TO_CHAR(TO_NUMBER(SUBSTR(v_valor_campo, 5, 2)) + 2000);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; END IF;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; -- Obtenemos el mes y el año de SYSDATE en caso de que haber sido tecleado por el usuario&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; v_mes := NVL(v_mes, TO_CHAR(SYSDATE, &#39;MM&#39;));&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; v_anho := NVL(v_anho, TO_CHAR(SYSDATE, &#39;YYYY&#39;));&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; v_fecha := TO_DATE(v_dia || &#39;/&#39; || v_mes || &#39;/&#39; || v_anho, &#39;DD/MM/YYYY&#39;);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; -- El comando COPY únicamente está preparado para asignar un valor VARCHAR2,&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; -- con variables de tipo DATE debemos de asegurar la máscar de formato&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; -- con la que hará conversión.&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; v_mascara := Get_Application_Property(BUILTIN_DATE_FORMAT);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Set_Application_Property(BUILTIN_DATE_FORMAT, &#39;DD/MM/YYYY&#39;);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; COPY(TO_CHAR(v_fecha, &#39;DD/MM/YYYY&#39;), :system.trigger_item);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Set_Application_Property(BUILTIN_DATE_FORMAT, v_mascara);&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; v_error := FALSE;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; EXCEPTION&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; WHEN OTHERS THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- Ante cualquier error dejamos el mensaje original de error&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NULL;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; END; &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; END IF;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp; IF v_error THEN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; -- No se ha podido transformar lo tecleado por el usuario en una fecha válida&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; MESSAGE(v_errtyp || &#39;-&#39; || TO_CHAR(v_errnum) || &#39;: &#39; || v_errtxt);&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; RAISE Form_Trigger_Failure;&lt;/div&gt;&lt;div&gt;&amp;nbsp; END IF;&lt;/div&gt;&lt;div&gt;END;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/1841432899207189256/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/1841432899207189256?isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1841432899207189256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1841432899207189256'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2012/02/agilizar-la-entrada-de-datos-en-campos.html' title='Agilizar la entrada de datos en campos de tipo DATE'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-1770893764466115351</id><published>2011-05-12T09:09:00.000+02:00</published><updated>2011-05-13T22:22:37.065+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="icono"/><category scheme="http://www.blogger.com/atom/ns#" term="webutil"/><title type='text'>Cambiar icono de Java en Forms 10g y 11g</title><content type='html'>Vía: &lt;a href=&quot;http://blog.edisa.com/2011/05/cambiar-icono-de-java-en-forms-10g-y-11g/&quot;&gt;http://blog.edisa.com/2011/05/cambiar-icono-de-java-en-forms-10g-y-11g/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Cuando se ejecuta una aplicación en Forms 10g ó 11g en una ventana  independiente del navegador, es decir, con separateframe=true, el icono  que se le asigna a la ventana en la barra de tareas es el de la taza de  café de Java.&lt;br /&gt;
&lt;br /&gt;
Este icono se puede modificar para poner uno personalizado. Ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.edisa.com/wp-content/uploads/2011/05/cambioicono.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;aligncenter size-full wp-image-306&quot; height=&quot;33&quot; src=&quot;http://blog.edisa.com/wp-content/uploads/2011/05/cambioicono.png&quot; title=&quot;cambioicono&quot; width=&quot;393&quot; /&gt;&lt;/a&gt;&lt;span id=&quot;more-305&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Para cambiar el icono hay que utilizar el procedimiento &lt;b&gt;&lt;i&gt;WebUtil_SeparateFrame.SetIcon&lt;/i&gt;&lt;/b&gt; de la librería WEBUTIL.PLL.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ejemplo: &lt;/b&gt;WebUtil_SeparateFrame.SetIcon(‘/forms/java/libra_menu.gif’);&lt;br /&gt;
&lt;br /&gt;
El icono que se indica por parámetro debe de tener formato GIF o JPG y  debe de encontrarse en la carpeta en donde están los jar de Java  ($ORACLE_HOME/forms/java). En caso de no encontrar el archivo en esa  carpeta dará el siguiente error: “&lt;i&gt;WUB-603: No se ha podido cargar la imagen del icono …..&lt;/i&gt;”&lt;br /&gt;
&lt;br /&gt;
El icono quedará guardado en la caché de Java para futuras ejecuciones:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://blog.edisa.com/wp-content/uploads/2011/05/cache.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;aligncenter size-full wp-image-307&quot; height=&quot;154&quot; src=&quot;http://blog.edisa.com/wp-content/uploads/2011/05/cache.png&quot; title=&quot;cache&quot; width=&quot;514&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/1770893764466115351/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/1770893764466115351?isPopup=true' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1770893764466115351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1770893764466115351'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2011/05/cambiar-icono-de-java-en-forms-10g-y.html' title='Cambiar icono de Java en Forms 10g y 11g'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-5191232118031932163</id><published>2011-04-14T19:39:00.000+02:00</published><updated>2011-04-14T19:39:47.948+02:00</updated><title type='text'>Maximizar Ventana MDI en Forms 11</title><content type='html'>Fuente: &lt;a href=&quot;http://blog.edisa.com/2011/04/maximizar-ventana-mdi-en-forms-11/&quot;&gt;http://blog.edisa.com/2011/04/maximizar-ventana-mdi-en-forms-11/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
En Forms 11 una de las novedades es la integración con JavaScript y  eso se puede aprovechar para forzar el maximizado completo de la ventana  MDI cuando que ejecuta en una ventana separada del navegador, es decir,  cuando se ejecuta con el parámetro &lt;em&gt;separateframe=true&lt;/em&gt;&lt;br /&gt;
&lt;span id=&quot;more-189&quot;&gt;&lt;/span&gt;Al ejecutar &lt;em&gt;SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize);&lt;/em&gt;  el maximizado no es completo, hace un ajuste según el tamaño de la  pantalla, pero no es equivalente a que si el usuario pulsa el botón de  maximizado.&lt;br /&gt;
Para que sea equivalente a que el usuario pulse el botón de maximizar hay que realizar lo siguiente:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;En el archivo formsweb.cfg añadir la siguiente línea a la sección de  la configuración (El nombre que se le asigne a la variable es  indiferente, pero tiene que ser el mismo dos sitios que están resaltados  en negrita): &lt;ul&gt;&lt;li&gt;applet_name=&lt;strong&gt;OracleApplet&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Desde Forms ejecutar: &lt;ul&gt;&lt;li&gt;web.javascript_eval_expr(‘document.&lt;strong&gt;OracleApplet&lt;/strong&gt;.getFrame().setExtendedState(6)’);&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;Ejemplo con &lt;em&gt;SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize);&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;http://blog.edisa.com/wp-content/uploads/2011/04/f11_no_maximizado.png&quot;&gt;&lt;img alt=&quot;Resultado con SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize);&quot; class=&quot;alignnone size-full wp-image-190&quot; height=&quot;99&quot; src=&quot;http://blog.edisa.com/wp-content/uploads/2011/04/f11_no_maximizado.png&quot; title=&quot;Resultado con SET_WINDOW_PROPERTY(forms_mdi_window, window_state, maximize);&quot; width=&quot;182&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo ejecutando &lt;em&gt;web.javascript_eval_expr(‘document.&lt;strong&gt;OracleApplet&lt;/strong&gt;.getFrame().setExtendedState(6)’);&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;http://blog.edisa.com/wp-content/uploads/2011/04/f11_maximizado.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignnone size-full wp-image-191&quot; height=&quot;113&quot; src=&quot;http://blog.edisa.com/wp-content/uploads/2011/04/f11_maximizado.png&quot; title=&quot;f11_maximizado&quot; width=&quot;191&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
Otro ejemplo similar se puede ver en: &lt;a href=&quot;http://blog.avanttic.com/2010/07/30/integracion-forms-11g-con-javascript-maximizar-forms_mdi_window/&quot; title=&quot;http://blog.avanttic.com/2010/07/30/integracion-forms-11g-con-javascript-maximizar-forms_mdi_window/&quot;&gt;http://blog.avanttic.com/2010/07/30/integracion-forms-11g-con-javascript-maximizar-forms_mdi_window/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/5191232118031932163/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/5191232118031932163?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/5191232118031932163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/5191232118031932163'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2011/04/maximizar-ventana-mdi-en-forms-11.html' title='Maximizar Ventana MDI en Forms 11'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-5738463684049678158</id><published>2010-04-17T20:35:00.000+02:00</published><updated>2010-04-17T20:35:25.144+02:00</updated><title type='text'>Forms6: Cerrar Report Background por código</title><content type='html'>Hace tiempo comenté aquí la forma de cerrar el Report Background Engine cada vez que se ejecuta un informe&amp;nbsp;&lt;a href=&quot;http://oracleforms.blogspot.com/2008/02/forms6-forzar-cierre-report-background.html&quot;&gt;Forms6: Forzar cierre report background&lt;/a&gt;, en ese momento comenté que no me parecía muy optimo el cierre del Report Background Engine cada vez que se lanza un informe, pero alguna vez se me&amp;nbsp;dio&amp;nbsp;la necesidad de hacerlo por dos motivos:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;El usuario tenía que ejecutar dos programas en Forms con distinta configuración de NLS_LANG, uno con SPANISH_SPAIN.UTF8 y otro con&amp;nbsp;SPANISH_SPAIN.WE8ISO8859P15, de forma que al ejecutar un informe se abría el Report Background con la configuración de NLS_LANG del programa que lo llamaba y el otro programa al tener abierto el Report Background no cogía bien la configuración del NLS_LANG, en ese caso lo mejor es forzar que se cierre el Report Background por cada informe.&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Conexiones remotas por Terminal Server con un programa publicado en Forms. Al lanzar un informe se abre el Report Background y queda abierto y al salir del programa se mantiene la conexión de Terminal Server por culpa del Report Background cuando en realidad ya no va a ser utilizado, en ese caso lo mejor sería forzar cerrar el Report Background al salir del programa, para ello podemos forzar que el Report Background se cierre ejecutando lo siguiente en el disparador KEY-EXIT del programa:&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;DECLARE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;pl_id ParamList;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;BEGIN&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;pl_id := Get_Parameter_List(&#39;CERRAR_RBE&#39;);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;IF NOT Id_Null(pl_id) THEN&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Destroy_Parameter_List( pl_id );&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;END IF;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;pl_id := Create_Parameter_List(&#39;CERRAR_RBE&#39;);&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;Add_Parameter(pl_id, &#39;PARAMFORM&#39;, TEXT_PARAMETER, &#39;NO&#39;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;Add_Parameter(pl_id, &#39;ORACLE_SHUTDOWN&#39;, TEXT_PARAMETER, &#39;Yes&#39;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;Run_Product(REPORTS, &#39;cerrar_rbe&#39;, SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;Destroy_Parameter_List( pl_id );&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;END;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;El informe &#39;cerrar_rbe&#39; no es necesario que exista, simplemente se intenta ejecutar un informe&amp;nbsp;pasándole&amp;nbsp;el parámetro para forzar el cierre del Report Background.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/5738463684049678158/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/5738463684049678158?isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/5738463684049678158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/5738463684049678158'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2010/04/forms6-cerrar-report-background-por.html' title='Forms6: Cerrar Report Background por código'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-1018127046253989571</id><published>2010-01-19T22:56:00.000+01:00</published><updated>2010-01-19T22:56:34.357+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bloqueos"/><category scheme="http://www.blogger.com/atom/ns#" term="claves foráneas"/><category scheme="http://www.blogger.com/atom/ns#" term="fk"/><category scheme="http://www.blogger.com/atom/ns#" term="lock"/><title type='text'>¿Las claves foráneas producen bloqueos en Forms?</title><content type='html'>La respuesta es que si no hacemos bien las cosas es SI. Vamos a verlo mejor con un ejemplo con las típicas tablas de formación que utiliza Oracle, &amp;nbsp;DEPT y EMP:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;CREATE TABLE dept (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;deptno &amp;nbsp;NUMBER(2) NOT NULL CONSTRAINT dept_pk PRIMARY KEY,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;dname &amp;nbsp; VARCHAR2(14),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;loc &amp;nbsp; &amp;nbsp; VARCHAR2(13));&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE emp (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;empno &amp;nbsp; &amp;nbsp;NUMBER(4) NOT NULL CONSTRAINT emp_pk PRIMARY KEY,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;ename &amp;nbsp; &amp;nbsp;VARCHAR2(10),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;job &amp;nbsp; &amp;nbsp; &amp;nbsp;VARCHAR2(9),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mgr &amp;nbsp; &amp;nbsp; &amp;nbsp;NUMBER(4),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;hiredate DATE,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;sal &amp;nbsp; &amp;nbsp; &amp;nbsp;NUMBER(7,2),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;comm &amp;nbsp; &amp;nbsp; NUMBER(7,2),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;deptno &amp;nbsp; NUMBER(2) CONSTRAINT emp_ref_dept_fk&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; REFERENCES dept(deptno));&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Insertamos un departamento:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;INSERT INTO dept (deptno,&amp;nbsp;dname, loc)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;VALUES (23, &#39;CONTABILIDAD&#39;, &#39;VIGO&#39;);&lt;br /&gt;
&lt;br /&gt;
COMMIT;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Ahora insertamos un empleado:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;INSERT INTO emp (empno,ename,job,mgr,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hiredate,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sal,comm,deptno)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;VALUES (1234, &#39;MARIOBROS&#39;, &#39;FONTA&#39;, 10,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TO_DATE(&#39;16/05/1975&#39;, &#39;DD/MM/YYYY&#39;),&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;50000, 2000, 23);&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Antes de hacer el commit, al ver los bloqueos veremos que están la tabla EMP y la DEPT bloqueadas.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;SELECT lk.sid, lk.TYPE lock_type, lk.lmode,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; (SELECT o.object_name&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FROM dba_objects o&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WHERE o.object_id = lk.id1) object_name&lt;br /&gt;
&amp;nbsp;&amp;nbsp;FROM gv$lock lk&lt;br /&gt;
&amp;nbsp;WHERE lk.TYPE IN (&#39;TM&#39;, &#39;UL&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Lo que nos devolverá será esto:&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; SID LO &amp;nbsp; &amp;nbsp; LMODE OBJECT_NAME&lt;br /&gt;
------ -- --------- ----------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 311 TM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 EMP&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 311 TM &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 DEPT&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
El bloqueo de la tabla EMP es por el registro que acabamos de insertar pero que todavía no está commitado, pero la tabla DEPT se bloquea por la clave foránea, ya que en el momento de insertar el registro en EMP existía el departamento 23 en DEPT, pero como no hemos comitado el insert en EMP tiene que bloquear el registro del departamento 23 para evitar que otra sesión borre ese registro o modifique el código del departamento.&lt;br /&gt;
&lt;br /&gt;
Hasta aquí todo normal, el problema viene cuando otra sesión quiere modificar el nombre del departamento:&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
UPDATE dept&lt;br /&gt;
&amp;nbsp;&amp;nbsp; SET dname = &#39;FINANCIERO&#39;&lt;br /&gt;
&amp;nbsp;WHERE deptno = 23;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Con esta update nos dejará modificarlo sin problema, pero si en vez de hacer un update que únicamente modifica el nombre del departamento hacemos este otro (el resultado final de los datos en la tabla serán los mismos):&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
UPDATE dept&lt;br /&gt;
&amp;nbsp;&amp;nbsp; SET deptno = 23,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; dname = &#39;FINANCIERO&#39;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; loc = &#39;VIGO&#39;&lt;br /&gt;
&amp;nbsp;WHERE deptno = 23;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
El registro quedaría con los mismos datos, pero ya tenemos el bloqueo montado ya que le estamos diciendo que actualice el campo DEPTNO, pero la modificación de ese campo afectaría a registros introducidos por otra sesión y que todavía no están comitados, por lo que se quedará bloqueado.&lt;br /&gt;
&lt;br /&gt;
Esta es la explicación del motivo, pero ¿porqué ocurre en Forms?. La respuesta la encontramos en la propiedad &quot;Actualizar Sólo Columnas Cambiadas&quot; a nivel de bloque, por defecto esa propiedad está a &quot;No&quot; con lo que para hacer un update actualizará todos los campos, incluso los que no ha modificado el usuario.&lt;br /&gt;
&lt;br /&gt;
Lo recomendable para evitar bloqueos es poner esa propiedad al valor &quot;Si&quot;.</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/1018127046253989571/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/1018127046253989571?isPopup=true' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1018127046253989571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/1018127046253989571'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2010/01/las-claves-foraneas-producen-bloqueos.html' title='¿Las claves foráneas producen bloqueos en Forms?'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-3248374929474698730</id><published>2009-11-29T13:58:00.001+01:00</published><updated>2011-04-28T22:03:09.887+02:00</updated><title type='text'>Inyección de código</title><content type='html'>Voy a mostrar un ejemplo de como mediante inyección de código podemos consultar registros de una tabla distinta a la que tiene el bloque como origen de consulta.&lt;br /&gt;
&lt;br /&gt;
Para ver el ejemplo hacemos un form asociado a la tabla DEPT (tabla típica de los ejemplos de Oracle):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;SQL&amp;gt; DESC DEPT;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;Nombre &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;¿Nulo? &amp;nbsp; Tipo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;------------------- -------- ------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;DEPTNO &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NUMBER(2)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;DNAME &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;VARCHAR2(14)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;LOC &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;VARCHAR2(13)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Pantalla con los datos de la tabla:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7eaULSEIbG0DMN97Tv1Bg9f00BEdJ0VVNMSECDFDiPhc3-4s8BjZJmR848IN6M3894IGM20supF0XsMp91f-FBiDqdp70BOk71rpnVBnSskaEwndZfRi7Ngqs6SVLp20fTIA3hGIMALg/s1600/blob_imagen1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7eaULSEIbG0DMN97Tv1Bg9f00BEdJ0VVNMSECDFDiPhc3-4s8BjZJmR848IN6M3894IGM20supF0XsMp91f-FBiDqdp70BOk71rpnVBnSskaEwndZfRi7Ngqs6SVLp20fTIA3hGIMALg/s320/blob_imagen1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Ahora vamos a ver como con ese bloque mostrar el contenido de USER_TAB_COLUMS, para ello entramos en modo de entrada consulta (pulsando F7) y en cualquiera de los campos ponemos &quot;:&quot; (dos puntos) y ejecutamos consulta, y tendremos la siguiente pantalla:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEGYkwv9S8VnLdWTwm5h1g_F2ps9_NXFxQ2aSU_PixeZ__zn7aQylX7cJVjibxrPdHD6cGH5tKXKOmbM60DFkqxblTKVcD5By3KBwPIraiPYhX6ojWxcZZXvTcCUtJczAhZz1euv9_NiM/s1600/blob_imagen2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEGYkwv9S8VnLdWTwm5h1g_F2ps9_NXFxQ2aSU_PixeZ__zn7aQylX7cJVjibxrPdHD6cGH5tKXKOmbM60DFkqxblTKVcD5By3KBwPIraiPYhX6ojWxcZZXvTcCUtJczAhZz1euv9_NiM/s320/blob_imagen2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
El objetivo de esa ventana es que el usuario pueda introducir una condición avanzada, como podría ser un AND EXISTS, un BETWEEN, ..., pero la consulta Oracle Forms la envía a la base de datos tal cual ha sido escrita por el usuario, por lo que podemos introducir lo siguiente:&lt;br /&gt;
&lt;br /&gt;
1=2) UNION ALL SELECT rownum, table_name, column_name FROM user_tab_columns --&lt;br /&gt;
&lt;br /&gt;
El 1=2 es para evitar los registros de la tabla DEPT, luego se añade una UNION ALL para sacar los registros de la tabla que queramos, y la consulta la terminamos con -- ya que Forms a la consulta que introduce el usuario la mete entre paréntesis, de esta forma comentamos el último parénteseis.&lt;br /&gt;
&lt;br /&gt;
El resultado será el siguiente:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrA5SI3Fcq7XUTRvJsUsib1Kg_Vqsi-tWFHIxTVR9b_jhGKO_kPnmuI-4U1uyMRwxY5R1DrmV5r1uG_GQZIvGeBphzhY64E441CyPxmjd9Zb3KVxD7lNphXHnX5oXrzxeBUQZbTzlM6H0/s1600/blob_imagen3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrA5SI3Fcq7XUTRvJsUsib1Kg_Vqsi-tWFHIxTVR9b_jhGKO_kPnmuI-4U1uyMRwxY5R1DrmV5r1uG_GQZIvGeBphzhY64E441CyPxmjd9Zb3KVxD7lNphXHnX5oXrzxeBUQZbTzlM6H0/s320/blob_imagen3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Este funcionamiento se puede deshabilitar, evitando que al introducir &quot;:&quot; en modo de entrada de consulta en un campo de forma que no se abra al ventana en donde introducir una condición adicional, para ello en Forms6 en cliente servidor se puede introducir la siguiente entrada en el regedit:&lt;br /&gt;
&lt;br /&gt;
FORMS60_RESTRICT_ENTER_QUERY con el valor 1&lt;br /&gt;
&lt;br /&gt;
En Forms 10g para activar o desactivarlo hay que editar el archivo al que apunta la variable envFile del archivo de configuración formsweb.cfg y modificar / añadir la variable:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FORMS_RESTRICT_ENTER_QUERY=TRUE&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;TRUE: Está desactivado (opción recomendable).&lt;/li&gt;
&lt;li&gt;FALSE: Está activado, se puede inyectar código.&lt;/li&gt;
&lt;/ul&gt;NOTA: Corregida esta entrada, estaba al revés&lt;br /&gt;
&lt;br /&gt;
Para más información se puede consultar la nota&amp;nbsp;163305.1 del metalink. También en&amp;nbsp;&lt;a href=&quot;http://www.red-database-security.com/wp/sql_injection_forms_us.pdf&quot;&gt;http://www.red-database-security.com/wp/sql_injection_forms_us.pdf&lt;/a&gt;&amp;nbsp;se puede obtener más información.</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/3248374929474698730/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/3248374929474698730?isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/3248374929474698730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/3248374929474698730'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2009/11/inyeccion-de-codigo.html' title='Inyección de código'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7eaULSEIbG0DMN97Tv1Bg9f00BEdJ0VVNMSECDFDiPhc3-4s8BjZJmR848IN6M3894IGM20supF0XsMp91f-FBiDqdp70BOk71rpnVBnSskaEwndZfRi7Ngqs6SVLp20fTIA3hGIMALg/s72-c/blob_imagen1.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-7270319327632649708</id><published>2009-11-28T20:59:00.004+01:00</published><updated>2009-11-28T21:22:09.495+01:00</updated><title type='text'>Asignar una función la tecla escape en Forms10g</title><content type='html'>Una utilidad de la tecla ESC (Escape) y muy utilizada en muchas aplicaciones es la de cerrar la ventana abierta. Esta operación se puede configurar en Forms 10g editando el archivo frmweb.res y añadiendo la siguiente línea:&lt;br /&gt;&lt;br /&gt;27   : 0 : &quot;Escape&quot;         : 32 : &quot;Salir&quot;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;27: es el identificador &quot;Java function number&quot; asignado a la tecla escape.&lt;/li&gt;&lt;li&gt;0: Indica el &quot;Java modifiers number&quot; es decir, qué combinación de teclas más la Escape se pulsarán para ejecutar el evento, el 0 quiere decir que no se utilizará en conjunto con otra tecla, si se pusiese 1 para ejecutar el evento habría que pulsar Mayúsculas+Esc, con 2 haríamos referencia a la tecla &quot;Control&quot;, con 8 a la tecla &quot;Alt&quot;. .&lt;/li&gt;&lt;li&gt;&quot;Escape&quot;: Es un texto asignado por el usuario, no afecta al funcionamiento.&lt;/li&gt;&lt;li&gt;32: es el identificador &quot;Forms function number&quot; que indentifica la operación que debe se debe de ejecutar en Forms. El 32 indica que se ejecutará KEY-EXIT.&lt;/li&gt;&lt;li&gt;&quot;Salir&quot;: Es un texto asignado por el usuario, no afecta al funcionamiento.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;El archivo fmrweb.res se encuentra en $ORACLE_HOME/forms/admin/resource/&lt;idioma&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En caso de configurar el servidor de aplicaciones en UTF8 se utiliza el archivo fmrweb_utf8.res. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Se considera que el servidor de aplicaciones está en UTF8 cuando en el archivo indicado en la entrada envFile del archivo formsweb.cfg tiene definida la siguiente variable:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;NLS_LANG=Spanish_Spain.UTF8&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/7270319327632649708/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/7270319327632649708?isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/7270319327632649708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/7270319327632649708'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2009/11/asignar-una-funcion-la-tecla-escape-en.html' title='Asignar una función la tecla escape en Forms10g'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8142776109631722890.post-7505287945144511368</id><published>2009-10-29T21:53:00.002+01:00</published><updated>2012-01-11T16:20:03.055+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="forms6i"/><category scheme="http://www.blogger.com/atom/ns#" term="xe"/><title type='text'>Configurar Oracle XE para que conecte correctamente Forms 6i</title><content type='html'>Por defecto Oracle XE se instala con el juego de caracteres AL32UTF8, con ese juego de caracteres el cliente de Oracle Forms 6i no conecta con la base de datos, para migrar ese juego de caracteres a UTF8 puro debemos de ejecutar lo siguiente:&lt;br /&gt;
&lt;br /&gt;
sqlplus /nolog&lt;br /&gt;
SQL&amp;gt; connect / as sysdba&lt;br /&gt;
Conectado.&lt;br /&gt;
SQL&amp;gt; shutdown immediate&lt;br /&gt;
SQL&amp;gt; startup restrict&lt;br /&gt;
SQL&amp;gt; alter database character set internal_use UTF8;&lt;br /&gt;
SQL&amp;gt; shutdown immediate&lt;br /&gt;
SQL&amp;gt; startup&lt;br /&gt;
&lt;br /&gt;
Hay ciertos índices que Oracle si existen no puede realizarse la conversión ya que dará el siguiente error:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ORA-00604: error occurred at recursive SQL level 1&lt;br /&gt;
ORA-54028: cannot change the HIDDEN/VISIBLE property of a virtual column&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Podemos ver los índices incompatibles mediante esta SELECT:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;SELECT owner, index_name, index_type, table_owner, table_name, status, funcidx_status&lt;/div&gt;&lt;div&gt;&amp;nbsp; FROM all_indexes&lt;/div&gt;&lt;div&gt;&amp;nbsp;WHERE index_type NOT IN (&#39;NORMAL&#39;, &#39;BITMAP&#39;, &#39;IOT - TOP&#39;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;AND table_name IN (SELECT UNIQUE (table_name)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM dba_tab_columns&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WHERE char_used = &#39;C&#39;);&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Hay que borrarlos y luego volver a crearlos una vez convertido a UTF8.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleforms.blogspot.com/feeds/7505287945144511368/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8142776109631722890/7505287945144511368?isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/7505287945144511368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8142776109631722890/posts/default/7505287945144511368'/><link rel='alternate' type='text/html' href='http://oracleforms.blogspot.com/2009/10/configurar-oracle-xe-para-que-conecte.html' title='Configurar Oracle XE para que conecte correctamente Forms 6i'/><author><name>Elías F.M.</name><uri>http://www.blogger.com/profile/17347744937231822831</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>