FORMS V4.5, V6, V10 Introducción Enero de 2013 Unidad de Arquitectura y Soporte de Aplicaciones Área de Aplicaciones Especiales y Arquitectura de Software DCCT INDICE ICM. Comunicación e Imagen Corporativa INTRODUCCIÓN VERSIONES DE FORMS PORTAL DE CONOCIMIENTO FORMS V4.5 FORMS V6 Y V10 Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 2 INTRODUCCIÓN: VERSIONES DE FORMS ICM. Comunicación e Imagen Corporativa En la actualidad existen aplicaciones en distintas versiones de Forms: Forms v4.5 Forms v.6i Forms v10g La ejecución de informes se realiza a través de ReportBuilder bajo plataforma Windows (excepto Forms v4.5) Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 3 INTRODUCCIÓN: PORTAL DE CONOCIMIENTO http://intranet.madrid.org/arquitecturasw/ ICM. Comunicación e Imagen Corporativa En el apartado Tecnologías Anteriores/Oracle Developer Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 4 FORMS 4.5 ICM. Comunicación e Imagen Corporativa INTRODUCCIÓN FORMS 4.5 COMPONENTES ENTORNO DE DESARROLLO CICLO DE VIDA FORMS V6 Y V10 Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 5 FORMS V4.5 En la actualidad ya no se realizan nuevos desarrollos bajo la tecnología de Oracle Forms v4.5 ICM. Comunicación e Imagen Corporativa La mayoría de las aplicaciones existentes en esta tecnología provienen de un desarrollo inicial en Forms v3 para el cual se realizaron unos procesos de migración automáticos para su evolución a la versión Forms v4.5 El código desarrollado en esta tecnología se ejecuta en Unix (modo carácter) La evolución natural de este tipo de módulos es hacia Forms v10g o bien a J2EE dependiendo de una serie de aspectos de criticidad o de integración con otros componentes de ICM. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 6 FORMS 4.5: COMPONENTES ICM. Comunicación e Imagen Corporativa • Para la ejecución de una aplicación Forms v4.5 se necesitan una serie de forms genéricos además de los propios de la aplicación, los siguientes: APLICACIÓN.fmx forms inicial de acceso a aplicaciones, es el forms que ejecuta inicialmente el usuario final y mediante el cual se permite mostrar al usuario final el conjunto de aplicaciones al que tiene acceso en la base de datos de conexión. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 7 FORMS 4.5: COMPONENTES • MENU_XXXX.fmx ICM. Comunicación e Imagen Corporativa forms propio de la aplicación XXXX, se copia del menú genérico MENU_SIS.fmb y tan solo se adapta para incorporar el código de aplicación bajo el cual va a ejecutarse (se ampliará a continuación) Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 8 FORMS 4.5: COMPONENTES • OPCIÓN.fmx ICM. Comunicación e Imagen Corporativa forms genérico que se invoca desde cualquier programa (no menú) y nos permite bien acceder al menu principal (F4), bien acceder a un determinado programa conociendo la opción de menú para el que está catalogado. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 9 FORMS 4.5: COMPONENTES ICM. Comunicación e Imagen Corporativa En forms v4.5 no se utilizan los tipos de archivo MENU (.mmb) que ofrece el producto para la creación de estos. Se utiliza un forms (fmb) llamado MENU_XXXX.fmb que realiza las siguientes funciones: • presenta una zona superior „cabecera‟ con los datos de la aplicación a las que hemos accedido • en el resto de pantalla presenta una bloque multiregistro por el que podemos navegar (subir y bajar) con las distintas opciones de menu a las que tenemos acceso para ejecutar los forms (fmb) de la aplicación (esta información la obtiene de una consulta a las tablas GRUPO_AUTORIZACION y MENU del modelo de datos general USU). • seleccionando una determinada opción de menú accederemos al programa que tenga asociado la opción y si esta no tiene programa asociado es por que navegaremos a un submenu. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 10 FORMS 4.5: COMPONENTES ICM. Comunicación e Imagen Corporativa Para la creación de un MENU para una aplicación es necesario copiarse el menu general MENU_SIS.fmb (o bien otro MENU ya existente de otra aplicación) Una vez copiado se renombra para incorporar el nombre de la aplicación a la que dará servicio, por ejemplo para la aplicación XXXX obtendríamos el menu MENU_XXXX.fmb Ya sobre el MENU_XXXX.fmb accederíamos a asignarle el código de la aplicación, lo haremos cumplimentando la variable global GLOBAL.COD_APLICACION del siguiente modo en el trigger KEYSTARTUP: • :GLOBAL.COD_APLICACION := „XXXX‟; A partir de este momento ya podemos compilarlo y dispondremos de un MENU para nuestra aplicación Ahora tan solo tenemos que asignar las opciones de menú que contiene nuestra aplicación (tabla MENU) y autorizarlas a los distintos grupos existentes para nuestra aplicación (mediante la tabla GRUPAUTO). Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 11 FORMS 4.5: Aplicación USU ICM. Comunicación e Imagen Corporativa Mediante la ejecución de la aplicación USU se permite invocar las siguientes opciones de menu (entre otras): • crear aplicaciones • crear los grupos (perfiles) de las aplicaciones • asociar a los usuarios a un grupo (solo uno) para una aplicación • crear opciones de menu toda aplicación ha de contener una opción nombrada MENU (con código de menú 000000000000) asociar a una opción de menu el programa siguiente, es decir el forms que se ha de ejecutar cuando ejecutemos la opción Si no se asocia programa siguiente implica que accedemos a un submenu • asociar opciones de menu a los distintos grupos existentes para la aplicación Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 12 FORMS 4.5: PROGRAMAS Se ha de partir de un programa genérico (CAJA_SIS.fmb / CAJA_CALL.fmb) en función de si llamaremos al forms con NEW_FORM o con CALL_FORM. ICM. Comunicación e Imagen Corporativa Contienen los siguientes elementos: • zona superior -> cabecera • trigger genéricos (PRE-FORM, KEY-STARTUP,KEY-EXIT) • resto del canvas accesible para incorporar los bloques que contendrán la lógica del programa a desarrollar Una vez copiado el forms se renombrará siguiendo nomenclatura de la aplicación bajo la cual se ha de ejecutar: Por ejemplo: XXXX0001.fmb / XXXXALRE.fmb la Posteriormente incorporamos la lógica del programa según los requisitos solicitados. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 13 FORMS V4.5: ENTORNO DE DESARROLLO Las aplicaciones de Forms v4.5 se ejecutan en entorno Unix (modo carácter) bajo la siguiente arquitectura: ICM. Comunicación e Imagen Corporativa Digital Unix (icm1003) B.Datos Oracle 9.2.0.8 SID denivel2 Cliente Telnet Login Unix (usuario/contraseña) fichero .login setenv user setenv opasswd f45run Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 14 FORMS 4.5 ICM. Comunicación e Imagen Corporativa INTRODUCCIÓN FORMS 4.5 COMPONENTES ENTORNO DE DESARROLLO CICLO DE VIDA FORMS V6 Y V10 Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 15 FORMS 4.5: CODIFICACIÓN ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Las modificaciones y/o adaptaciones de programas desarrollados bajo Forms v4.5 se realizan en el puesto cliente. El POB de desarrollo contiene un grupo de programas relativos a Oracle donde encontraremos el acceso al entorno de desarrollo Forms proyecto 4.5. (Oracle Developer) Una vez realizadas las adaptaciones en el fichero fuente .fmb (no se utilizan .mmb) serán salvadas en el puesto cliente Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 16 FORMS 4.5: CODIFICACIÓN ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Control de versiones: El código fuente actualizado se ha de subir al repositorio correspondiente de Starteam. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 17 FORMS 4.5: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción La compilación y pruebas se realizan en el entorno Unix ya que es en este donde se despliegan los módulos que ejecutará el usuario Para realizar la transferencia del archivo modificado y su posterior compilación en el entorno Unix existe una utilidad denominada „CompUnix.exe‟ que nos permitirá realizar estos trabajos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 18 FORMS 4.5: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Diseño Codificación Paso a desarrollo Paso a Producción La utilidad „CompUnix‟ contiene un archivo de configuración „CompUnix.ini‟ donde se ha de configurar el usuario y contraseña de Oracle con el que vamos a realizar la compilación así como la base de datos de conexión. Forms Developer | Página 19 FORMS 4.5: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción La utilidad CompUnix.exe pasa los archivos a la siguiente carpeta y los compila: /usr/aplic_ICM/desa_XXXX/forms (siendo XXXX el nombre de aplic) Esta carpeta contendrá los programas de nuestra aplicación (es decir los XXXX*.fmx) Los forms de todas las aplicaciones están linkados a la carpeta general /usr/aplic_ICM1/prod/forms. Desde esta carpeta se ejecutan las aplicaciones, aquí ya se encuentran los programas y librerías genéricos: APLICACION.fmx / OPCION.fmx. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 20 FORMS 4.5: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Una vez finalizada la transferencia y con el código compilado correctamente realizaremos las pruebas estableciendo una sesión telnet con el equipo de desarrollo (icm1003). El cliente Telnet ha de tener configuradas una serie de teclas convencionales para el movimiento por este tipo de aplicaciones: • F4. Abandonar una opción de menú. Abandonar la aplicación. • F17. Limpiar campo. • F18. Bloque anterior. • Supr. Lista de valores. … Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 21 FORMS 4.5: PASO A PRODUCCION ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción PROCEDIMIENTO DE PASO A PRODUCCIÓN: Solicitud a través de aplicación GPAP Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 22 FORMS 6 Y FORMS V10 ICM. Comunicación e Imagen Corporativa INTRODUCCIÓN FORMS 4.5 FORMS V6 Y FORMS V10 COMPONENTES FORMS V6: ENTORNO DE DESARROLLO FORMS V6: CICLO DE VIDA FORMS V10: ENTORNO DE DESARROLLO FORMS V10: CICLO DE VIDA Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 23 FORMS V6 Y V10: INTRODUCCION Existe un conjunto de librerías generales (ICM_PLL.pll) donde se centraliza el control de acceso a las aplicaciones (autenticación / autorización) y la gestión de bloqueos. ICM. Comunicación e Imagen Corporativa Se dispone de un conjunto de Forms estándar (base) que se personalizan para cada aplicación (MENU_BASE.mmb, APL_BASE.fmb, FORM_BASE.fmb) Necesaria la instalación del applet Jinitiator en el Pc cliente para poder interactuar con Forms Services. Generación de informes con Report Builder Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 24 FORMS V6 Y V10: LIBRERIAS ICM. Comunicación e Imagen Corporativa ICM_OBJ: Librería de Objetos que contiene los objetos comunes que componen los distintos módulos genéricos o plantillas a partir de las cuales iniciaremos nuestros programas. GPR_FORM_BASE GPR_APL_BASE ICM_PLL: Librería de PL/SQL que contiene procedimientos de carácter general APLICAR_PERFIL GENERAR:MENU CIFRA LEER_FICH_INI Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 25 FORMS V6 Y V10: TEMPLATES ICM. Comunicación e Imagen Corporativa APL_BASE: Form de acceso a aplicaciones Nomenclatura: XXXX_APL.fmb (Ej: PRY1_APL.fmb) Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 26 ICM. Comunicación e Imagen Corporativa FORMS V6 Y V10: TEMPLATES MENU_BASE: Menú de acceso a aplicaciones Nomenclatura: XXXX_MENU.mmb (Ej: PRY1_MENU.mmb) FORM_BASE: Forms genérico con referencia a librerías generales Nomenclatura: XXXX_<letra>_<sec>.fmb (Ej: PRY1_M001.fmb) LOV_GEN: Lista de valores Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 27 FORMS V6 Y V10: TEMPLATES Plantilla para forms de mantenimiento de catálogos (Todo está en una única pantalla) ICM. Comunicación e Imagen Corporativa F60_MANT1: Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 28 FORMS V6 Y V10: TEMPLATES ICM. Comunicación e Imagen Corporativa F60_MANT2: Plantilla para forms de mantenimiento de catálogos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 29 FORMS V6 Y V10: FICHERO INI [General] BaseDatos=icm21_xxxxx ; *** Tipo de Ejecución, posibles valores: -Web -Windows TipoEjecucion=Web ; *** Variable ejemplo para cargar en cuadro de información en menú inicial Entorno=Consejería de xxxxxxxx ICM. Comunicación e Imagen Corporativa [Ayudas HTML] ; *** Ubicación de las páginas html de ayuda WebAyuda=/xxxx/Forms/ [ReportBuilder] ; *** Parámetros válidos solamente para Reports bajo TipoEjecucion=Web Report_cache=\\cifs04v3002\DESA_WEB\web_reps\ Report_mapping=/web_reps/ Cola1=REPLIGERAD01 ;Cola2=REPMEDIANAD01 ; *** Para realizar impresión directa de Pdf's desde el módulo LIS_REP.fmx Impresion_pdf=/impresionpdf/cgi-bin/ImpresionPDF.exe [GLIS] ; *** Parámetros válidos solamente para la ejecución del GLIS GlisHost=icmsvds003 GlisDir=\\cifs04v3002\DESA_WEB\web_reps\ GlisCola=NORMAL GlisMapping=/web_reps/ GlisExe=\\cifs04v3002\DESA_OAS_GENERAL\general\etc\GlisBatchListado.exe GlisExe_Cubo=\\cifs04v3002\DESA_OAS_GENERAL\general\etc\GlisBatchCubo.exe GlisExe_Sql=\\cifs04v3002\DESA_OAS_GENERAL\general\etc\GlisBatchSql.exe GlisTemp=d:\temp\ Agencia de GlisAyuda=/Glis_Ayuda/Forms/ Informática y Comunicaciones Forms Developer | Página 30 de la Comunidad de Madrid FORMS V6 Y V10: SOLUCIONES CALENDARIO ENVIO DE CORREO VISUALIZACION DE INFORMES REPORT BUILDER INFORMES DE CRYSTAL REPORTS ICM. Comunicación e Imagen Corporativa UPLOAD/DOWNLOAD DE FICHEROS ESCANEO DE DOCUMENTOS PROCESOS BATCH FUSION DE DOCUMENTOS Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 31 UPLOAD / DOWNLOAD Las aplicaciones Forms para subir ficheros desde el puesto local a la aplicación y para visualizar ficheros de la aplicación utilizan el servlet upload. ICM. Comunicación e Imagen Corporativa Desde Forms se tiene que generar un identificador de fichero único con la siguiente nomenclatura: USER_YYYYMMDD_HH24:MI:SS e invocar al servlet upload con un WEB_SHOW_DOCUMENT según la siguiente url: http://desarrollo.madrid.org/upload/servlet/Servidor? bd=<bd>&user=<user>&apli=<apli>&clave=<clave>&plantilla=<plantilla> Estos son los parámetros básicos de la llamada: <bd> - base de datos donde se va a dejar la información del fichero <user> - usuario que realiza la operación (no se utiliza para la conexión) <apli> - aplicación que hace la carga <clave> - identificador único de fichero <plantilla> - plantilla htm a utilizar (opcional, existe una plantilla por defecto) Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 32 UPLOAD FICHEROS TXT ICM. Comunicación e Imagen Corporativa El servlet upload deja los ficheros temporalmente en el siguiente modelo de datos Para subir ficheros txt incluir en la llamada al servlet upload el parámetro: opcclob=C - Carga de Fichero de texto a campo CLOB – Genera un registro por cada línea del fichero en la tabla GAT_UPLOAD_LINEA Ejemplo:http://desarrollo.madrid.org/upload/servlet/Servidor?bd=icm1003_orcl8&user=U SU1&apli=USUG&clave= USU1_20021217_101330&opcclob=c opclob=T - Carga de Fichero de texto a campo CLOB y campo BLOB – Genera un registro por cada línea del fichero de texto en la tabla GAT_UPLOAD_LINEA y un registro en la tabla GAT_UPLOAD_BLOB con el fichero completo. Ejemplo:http://desarrollo.madrid.org/upload/servlet/Servidor?bd=icm1003_orcl8&user=U SU1&apli=USUG&clave= USU1_20021217_101330&opcclob=c Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 33 UPLOAD FICHEROS BINARIOS ICM. Comunicación e Imagen Corporativa El servlet upload deja los ficheros temporalmente en el siguiente modelo de datos Para subir ficheros binarios incluir en la llamada al servlet upload los siguientes parámetros: opcblob=C - Carga de archivos a campo BLOB - Genera un registro en la tabla GAT_UPLOAD_BLOB con el fichero completo. zip=S - El fichero se almacenará comprimido zip=N - El fichero no se almacenará comprimido. (Opcional, por defecto no se comprime). Ejemplo:http://desarrollo.madrid.org/upload/servlet/Servidor?bd=icm21_denivel2&user= GAT1&apli=GAT&clave=GAT_20021217_101858&opcblob=C&zip=S Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 34 UPLOAD FICHEROS DESDE URL ICM. Comunicación e Imagen Corporativa El servlet upload puede recoger también el fichero de una url en lugar de sacar la página para seleccionar el fichero. Para subir ficheros desde una url hay que incluir en la llamada al servlet upload los siguientes parámetros: opcion=CargarDeURL nombre_fich=<nombrefichero> - Nombre del fichero a cargar url_fichero =<url>- URL del fichero a cargar. Ejemplo: http://desarrollo.madrid.org/upload/servlet/Servidor?opcion=CargarDeURL&bd=icm21_denivel2& user=ADMON&apli=USUI&clave=ADMON_20021217_101858&plantilla=&nombre_fich=ADMON _20071108_121949_73.pdf&urlfichero=http://NTICMAPL11/web_reps/ADMON_20071108_12194 9_73.pdf&zip=N Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 35 UPLOAD DE FICHEROS: PASOS ICM. Comunicación e Imagen Corporativa 1. GENERAR CLAVE EXTERNA UNICA DE FICHERO La aplicación Forms genera un identificador único de fichero con la siguiente nomenclatura: USER_YYYYMMDD_HH24:MI:SS 2. INVOCAR AL SERVLET UPLOAD La aplicación Forms invoca al servlet de upload con los parámetros correspondientes a través de un WEB_SHOW_DOCUMENT. 3. CARGA EN BBDD DE FICHEROS SUBIDOS La aplicación Forms a través de un cursor lee los registros de las tablas GAT_UPLOAD_* y almacena la información en su modelo de datos. 4. BORRADO DE REGISTROS TEMPORALES La aplicación Forms tiene que borrar los registros leidos de GAT_UPLOAD_* ya que estas tabla son temporales. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 36 VISUALIZACION DEL CONTENIDO DE UN TIPO CLOB (I) ICM. Comunicación e Imagen Corporativa 1. CARGA EN TABLAS TEMPORALES Transferir el contenido del CLOB o de los registros de mi aplicación a las tablas temporales de GAT_UPLOAD_LINEAS a través de la función GAT_FUNC_CARGA_CLOB. Parámetros de entrada de la Función: w_Cod_Aplicacion: Código de aplicación w_Cd_Cl_Externa: Clave generada por la aplicación form w_Nom_Archivo: Nombre del archivo a generar para su posterior descarga w_Tabla_Apl: Nombre de la tabla de la aplicación (XXXX_TABLA_CLOB) w_Clave_Tabla_Apl: Sentencia where para localizar el registro único que contiene el CLOB. Ej: WHERE ID_CLOB=9877 and CDTIPO=’A’ w_Campo_Clob: Nombre del campo CLOB a extraer de la anterior tabla w_Campo_NM_Linea: Nombre del campo de la tabla que contiene el número de líneas (Por defecto null) Parámetros de salida de la Función: z_Mensaje_Err: Mensaje de Error si se produce. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 37 VISUALIZACION DEL CONTENIDO DE UN TIPO CLOB (II) ICM. Comunicación e Imagen Corporativa 2. VISUALIZACION DEL DOCUMENTO Una vez cargados los registros en la tabla temporal GAT_UPLOAD_LINEAS se llama al servlet UPLOAD para visualizar el fichero incluyendo a los parámetros básicos el siguiente parámetro: opcclob=V - Descarga/Visualización de campos CLOB a fichero para su posterior visualización Ejemplo: http://desarrollo.madrid.org/upload/servlet/Servidor?bd=icm1003_orcl8&user=US U1&apli=USUG&clave=USU1_20021217_101858&opcclob=V 3. BORRADO DE REGISTROS TABLA TEMPORAL Una vez visualizado el fichero la aplicación Forms tiene que borrar el/los registros de la tabla temporal GAT_UPLOAD_LINEAS. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 38 VISUALIZACION DE UN CONTENIDO DE TIPO BLOB (I) ICM. Comunicación e Imagen Corporativa 1. CARGA EN TABLAS TEMPORALES Transferir el contenido del BLOB de mi aplicación a las tablas temporales de GAT_UPLOAD_BLOB a través de la función GAT_FUNC_CARGA_BLOB. Parámetros de entrada de la Función: w_Cod_Aplicacion: Código de aplicación w_Cd_Cl_Externa: Clave generada por la aplicación Forms w_Nom_Archivo: Nombre del archivo a generar para su posterior descarga w_Tabla_Apl: Nombre de la tabla de la aplicación (XXXX_TABLA_BLOB) w_Clave_Tabla_Apl: Sentencia where para localizar el registro único que contiene el BLOB. Ej: WHERE ID_BLOB=9877 and CDTIPO=’A’ w_Campo_Blob: Nombre del campo BLOB a extraer de la anterior tabla Parámetros de salida de la Función: z_Mensaje_Err: Mensaje de Error si se produce. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 39 VISUALIZACION DEL CONTENIDO DE UN TIPO BLOB (II) ICM. Comunicación e Imagen Corporativa 2. VISUALIZACION DEL DOCUMENTO Una vez cargados los registros en la tabla temporal GAT_UPLOAD_BLOB se llama al servlet UPLOAD para visualizar el fichero incluyendo a los parámetros básicos el siguiente parámetro: opcblob=V - Descarga/Visualización de campos BLOB a fichero para su posterior visualización zip=S - El fichero se almacenará comprimido zip=N - El fichero no se almacenará comprimido. (Opcional, por defecto no se comprime). Ejemplo: http://desarrollo.madrid.org/upload/servlet/Servidor?bd=icm1003_orcl8&user=US U1&apli=USUG&clave=USU1_20021217_101858&opcblob=V&zip=N 3. BORRADO DE REGISTROS TABLA TEMPORAL Una vez visualizado el fichero la aplicación Forms tiene que borrar el/los registros de la tabla temporal GAT_UPLOAD_BLOB. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 40 ESCANEO DE DOCUMENTOS Las aplicaciones Forms para escanear documentos desde el puesto local a la aplicación utilizan el servlet upload. ICM. Comunicación e Imagen Corporativa Desde Forms se tiene que generar un identificador de fichero único con la siguiente nomenclatura: USER_YYYYMMDD_HH24:MI:SS e invocar al servlet upload con un WEB_SHOW_DOCUMENT según la siguiente url: http://desarrollo.madrid.org/upload/servlet/Servidor?opcion=GeneraActiveX bd=<bd>&user=<user>&apl=<apl>&clave=<clave>&formato=<formato> &vis_imag=<vis_imag>&vis_intf=<vis_intf> Estos son los parámetros básicos de la llamada: <bd> - base de datos donde se va a dejar la información del fichero <user> - usuario que realiza la operación (no se utiliza para la conexión) <apl> - aplicación que hace la carga <clave> - identificador único de fichero <formato> - Posibles valores: JPG, TIF, TIFBN, PDF, PDFBN <vis_imag> - Visualizar o no lo escaneado (Valores: S, N) <vis_intf> - Visualizar o no la página del escaner (Valores: S, N) Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 41 PROCESOS BATCH ICM. Comunicación e Imagen Corporativa Para la ejecución de procesos en batch desde Forms se ha implementando en el paquete QUJB_PAQ_GENERAL unos procedimientos mediante los cuales se permite realizar una petición de trabajo e inmediatamente se puede consultar el estado de la misma. PETICION DE UN PROCESO: QUJB_PAQ_GENERAL.PETICION EJECUCION DEL PROCESO: QUJB_PAQ_GENERAL.EJECUCION CONSULTA DE ESTADO DE PETICION: QUJB_PAQ_GENERAL.ESTADO Las peticiones se ejecutarán con un servicio llamado PIPEBATCH Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 42 PROCESOS BATCH: ENVIO DE PETICION ICM. Comunicación e Imagen Corporativa Se invoca al procedimiento QUJB_PAQ_GENERAL.PETICION(Parametros) Parámetros: Host: máquina donde va a correr el trabajo Cola: cola que gestionará el trabajo Shell: nombre del ejecutable a lanzar Param: parámetros a pasar al ejecutable Usuario: usuario que encarga el trabajo Mensaje: (salida) mensaje de error en una petición errónea Devuelve: El numero de petición (WPETI) que nos ha generado En caso de ERROR devuelve -1 Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 43 PROCESOS BATCH: EJECUCION ICM. Comunicación e Imagen Corporativa Se invoca al procedimiento QUJB_PAQ_GENERAL.EJECUCION(Parametros) Parámetros: Wpeti: Nº petición que se ha obtenido en la invocación al procedimiento de petición. Host: máquina donde va a correr el trabajo Devuelve: En caso de petición correcta devuelve 0 En caso de ERROR devuelve -1 Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 44 PROCESOS BATCH: CONSULTA Se invoca al procedimiento QUJB_PAQ_GENERAL.ESTADO(Parámetros) ICM. Comunicación e Imagen Corporativa Parámetros: Wpeti: Nº petición que vamos a comprobar Devuelve uno de los siguientes literales: - “En cola” - “En ejecución” - “Terminada” - “Petición desconocida” Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 45 PROCESOS BATCH: VISUALIZACION DE LOS TRABAJOS ICM. Comunicación e Imagen Corporativa Existe un Form general para visualizar los trabajos lanzados con el PIPEBATCH para el usuario conectado. Este form se llama ICM_TRABAJOS. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 46 FUSION DE DOCUMENTOS bd= Usuario/Password@cadena_conexion operacion= Operación a realizar, puede ser Visualizar (V) o Imprimir (I) codigo= Código de Plantilla ICM. Comunicación e Imagen Corporativa copias= Nº de copias Agencia de Informática y Comunicaciones de la Comunidad de Madrid fichero= El path y nombre del fichero que se va a generar, el nombre del fichero debe llevar la extensión W2Z. dl= Directorio Temporal Forms Developer | Página 47 FORMS V6 : GESTION DE PERFILES F60_USU: Este es un módulo estándar para aplicaciones desarrolladas en Developer v10g que se puede utilizar solamente en el entorno de Desarrollo que permite realizar: ICM. Comunicación e Imagen Corporativa Gestión de Perfiles, Opciones de Menú y Acciones Gestión de Usuarios Para el resto de Entornos (PREPRODUCCIÓN, PRODUCCION, ..) El paso de la Gestión de Perfiles, Opciones de Menú y Acciones debe realizarse de a través de la aplicación GPAP La Gestión de Usuarios debe realizarse por el grupo de Gestión de Accesos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 48 FORMS V6 : WEBS DE APLICACION ICM. Comunicación e Imagen Corporativa WEB PARA ALOJAR PAGINA ESTATICA INICIAL: Se creará una web estática con FrontPage Frames WEB DE AYUDA: Se creará una web estática con FrontPage Se invocará mediante el procedimiento PROC_AYUDA Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 49 REPORT BUILDER: EJECUCION Ejecución de informes ICM. Comunicación e Imagen Corporativa EJECUTAR_REPORT (WReport in varchar2, WDes_Report in varchar2, WParam in varchar2, WCola in varchar2 ); WReport .- Nombre del objeto ReportObject WDes_Report.- breve descripción del informe WParam.- parámetros que se enviarán para la ejecución del report (a nivel de REPORT_OTHER) Por ejemplo aquellos parámetros tipo filtro enviados en tiempo de ejecución. WCola .- nombre de la cola bajo la cual se lanzará el report Las colas han de estar definidas en el fichero .ini de la aplicación como por ejem. Cola1=ReportsServer1 Cola2=ReportsServer2 por defecto (si el valor es NULL) este parámetro tomará siempre el valor de ‘Cola1' El informe queda registrado en la tabla F60_REPORTS se genera como un PDF con la siguiente nomenclatura: YYYYMMDD_HH24MISS.pdf Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 50 REPORT BUILDER: EJECUCION POR TIPO ICM. Comunicación e Imagen Corporativa Ejecución de informes por tipo de salida EJECUTAR_REPORT_TIPO(Parametros) WReport .- Nombre del objeto ReportObject WDes_Report.- breve descripción del informe WParam.- parámetros que se enviarán para la ejecución del report (a nivel de REPORT_OTHER) Por ejemplo aquellos parámetros tipo filtro enviados en tiempo de ejecución. WCola .- nombre de la cola bajo la cual se lanzará el report Las colas han de estar definidas en el fichero .ini de la aplicación WTipo: Formato del Fichero de Salida. CSV (Excel - Texto), XLS (Excel), RTF (Word) TXT (Texto), XML , HTML, PDF WDelimiter : Sólamente se tiene en cuenta con Tipo TXT , es el separador de campos si va a Nulo por defecto utiliza el tabulador WCellwrapper: Sólamente se tiene en cuenta con Tipo TXT, engloba el valor del campo con el carácter indicado Z_FICH_OUT: Es un parámetro de Salida y devuelve el Nombre del Fichero generado Wvisual_mens: Valores Válidos S - Visualiza el Mensaje de Lanzado report a Cola de Impresión (defecto) N - No visualiza el Mensaje Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 51 REPORT BUILDER: VISUALIZACION Visualización de informes: LIS_REP.FMX Permite consultar/borrar/actualizar informes ICM. Comunicación e Imagen Corporativa Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 52 ICM. Comunicación e Imagen Corporativa REPORT BUILDER: FICHERO INI [ReportBuilder] ; *** Parámetros válidos solamente para Reports bajo TipoEjecucion=Web ;*** Path en donde se ubicarán los ficheros PDF generados Report_cache=\\cifs04v3002\DESA_WEB\web_reps\ ;*** Path virtual para la localización de los ficheros PDF generados Report_mapping=/web_reps/ ;*** Colas de ejecución de Reports que se corresponderán con los Servidores de Reports existentes Cola1=REPLIGERAD01 ;Cola2=REPMEDIANAD01 ; *** Para realizar impresión directa de Pdf's desde el módulo LIS_REP.fmx Impresion_pdf=/impresionpdf/cgi-bin/ImpresionPDF.exe Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 53 ICM. Comunicación e Imagen Corporativa REPORT BUILDER Distribución de trabajos/informes Report PDF – Diseño de página Log de ejecución de Reports Colas de ejecución Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 54 FORMS V6 : MIGRACION A V10 CONV_F10G: Conversor de Forms6i -> Forms10g ICM. Comunicación e Imagen Corporativa Nos facilitará el paso de nuestros forms de versión 6i a 10g, realizá los siguientes cambios: • actualización de built-in no soportadas en la nueva versión • cambio de referencias de librerías de acceso a b.d. por acceso a fichero • cambio en las llamadas a forms (lower -> upper) como establecimiento en el estándar de nomenclatura para plataforma Linux (ejem: XXXX_FORM1.fmx) • cambio en los nombres de imágenes (lower -> upper) idem del pto. Anterior • cambio de formato de versión 6i a 10g Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 55 FORMS V6I: ENTORNO DE DESARROLLO Las aplicaciones Forms v6i se ejecutan bajo plataforma Windows 2000 ICM. Comunicación e Imagen Corporativa Win2000 (nticmdes01) B.Datos Oracle 9.2.0.8 SID denivel2 Internet Explorer (Applet Jinitiator) Forms Server Report Server Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 56 FORMS V6I: ENTORNO DE PRODUCCIÓN intranet / educama / sirius HW LB H W LB HW LB H W LB HW LB H W LB ICM. Comunicación e Imagen Corporativa Servidores ReportServer (uno por granja) Granja de servidores Intranet Granja de servidores Sirius ReportServer PipeBatch Servidores de BBDD Agencia de Informática y Comunicaciones de la Comunidad de Madrid Granja de servidores Educama Servidores de BBDD Servidores PipeBatch (uno por granja) Servidores de BBDD Forms Developer | Página 57 FORMS 6: CODIFICACIÓN ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Las modificaciones y/o adaptaciones de programas desarrollados bajo Forms v6 se realizan en el puesto cliente. El POB de desarrollo contiene un grupo de programas relativos a Oracle donde encontraremos el acceso al entorno de desarrollo Forms 6. (Oracle Developer) Agencia de Informática y Comunicaciones de la Comunidad de Madrid proyecto Forms Developer | Página 58 FORMS 6: CODIFICACIÓN ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Control de versiones: El código fuente actualizado se ha de subir al repositorio correspondiente de Starteam. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 59 FORMS 6: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción La ejecución se realiza en el entorno Windows ya que es en este donde se despliegan los módulos que ejecutará el usuario. Para realizar la transferencia del archivo modificado y compilado previamente al entorno Windows existe una utilidad denominada „CONTROL_FICHEROS.exe‟ Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 60 FORMS 6: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Diseño Codificación Paso a desarrollo Paso a Producción La utilidad „CONTROL_FICHEROS‟ contiene un archivo de configuración donde se ha de configurar el usuario y contraseña de Oracle con el que vamos a realizar la compilación así como la base de datos de conexión. Forms Developer | Página 61 FORMS 6: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Para probar la ejecución de los proyectos forms 6 en desarrollo se accede a la url http://desarrollo.madrid.org/xxxx o http://nticmdes01.icm.es/xxxx Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 62 FORMS 6: PASO A PRODUCCION ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción PROCEDIMIENTO DE PASO A PRODUCCIÓN: A través de la herramienta PPRO http://intranet.madrid.org/ppro Opción: Distribución de software Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 63 FORMS V10: ENTORNO DE DESARROLLO desarrollo.madrid.org HW LB FW1 icmcache02 icmcache01 ICM. Comunicación e Imagen Corporativa Oracle Web Cache Oracle Web Cache Apache02 Apache01 Apache Apache FW2 Servidor ReportServer/PipeBatch Nodo OC4J Nodo OC4J icmformd01 ENTORNO FORMS Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 64 FORMS V10: CODIFICACIÓN ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Las modificaciones y/o adaptaciones de programas desarrollados bajo Forms v10 se realizan en el puesto cliente. El POB de desarrollo contiene un grupo de programas relativos a Oracle donde encontraremos el acceso al entorno de desarrollo Forms 10. (Oracle Developer) Agencia de Informática y Comunicaciones de la Comunidad de Madrid proyecto Forms Developer | Página 65 FORMS V10: CODIFICACIÓN ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Control de versiones: El código fuente actualizado se ha de subir al repositorio correspondiente de Starteam. Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 66 FORMS V10: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción La compilación y pruebas se realizan en el entorno Linux ya que es en este donde se despliegan los módulos que ejecutará el usuario Para realizar la transferencia del archivo modificado y su posterior compilación en el entorno Linux existe una utilidad denominada „CompLinux.exe‟ que nos permitirá realizar estos trabajos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 67 FORMS V10: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Agencia de Informática y Comunicaciones de la Comunidad de Madrid Diseño Codificación Paso a desarrollo Paso a Producción La utilidad „COMPLINUX‟ contiene un archivo de configuración donde se ha de configurar el usuario y contraseña de Oracle con el que vamos a realizar la compilación así como la base de datos de conexión. Forms Developer | Página 68 FORMS V10: PASO A DESARROLLO ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción Para probar la ejecución de los proyectos forms 6 en desarrollo se accede a la url http://desarrollo.madrid.org/xxxx o http://nticmdes01.icm.es/xxxx Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 69 FORMS V10: PASO A PRODUCCION ICM. Comunicación e Imagen Corporativa Análisis de Requisitos Diseño Codificación Paso a desarrollo Paso a Producción PROCEDIMIENTO DE PASO A PRODUCCIÓN: A través de la herramienta PPRO http://intranet.madrid.org/ppro Opción: Distribución de software Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 70 SIGUIENTES PASOS: MIGRACIÓN DE SOPORTE A MANTIS Mantis: Herramienta de Soporte ICM. Comunicación e Imagen Corporativa Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 71 Algunos Enlaces de la presentación Portal para el Desarrollo de Aplicaciones (acceso libre): ICM. Comunicación e Imagen Corporativa http://www.madrid.org/arquitecturasw Herramienta restringido): de soporte al desarrollo de aplicaciones (acceso http://www.madrid.org/soportesw Agencia de Informática y Comunicaciones de la Comunidad de Madrid Forms Developer | Página 72