6.1. Objetivo
Permitir que se pueda abrir en formularios HTML asociados a procesos en el Fluig a través de un enlace o botón en el formulario, pantallas Flex, Metadatos o Progress en Datasul. La apertura de estas pantallas se realizará a través de una dirección URL en una función de Javascript en el formulario.
6.2. Guía de Programación
En un formulario HTML en Fluig, con un enlace o botón para abrir una pantalla en el Datasul, utilizar una llamada HTTP para llevar a cabo la apertura de una nueva ventana del explorador que contiene el formulario para abrir.
En formularios Flex o Metadatos se utiliza la técnica del “External User Authentication”. En programas Progress se utiliza el “ABL External Call”. A continuación, veremos ejemplos de URLs que permiten la apertura de cada uno de los tipos.
URL para el acceso directo a un Portlet Flex:
URL de acceso a formulario Metadatos:
URL de acceso a programas Progress:
URL base para Flex y Metadatos: http://server:port/josso/signon/externalUserAuthentication.do?
URL base para Progress: http:// servidor: puerto /abl-externo-llamada/ejecutar?
Parámetros Flex y Metadatos:
josso_cmd: Comando a ejecutar por JOSSO, en caso de external-login.
userid: Nombre de usuario.
password: Contraseña del usuario. Debe transmitirse mediante encode Base64.
type: Tipo del programa a abrir, frwk o md; el md es para el tipo metadatos y el frwk es para el framework. Es necesario informar para que el josso sepa si utilizará el parámetro MODULE o el parámetro PROGRAM.
program: En el programa al que se accederá, colocar la ruta completa del programa metadatos como por ejemplo: ems5. emsuni. CRUDUnidOrgan.
module: Módulo al que se accederá, sólo en el caso de programas flex.
viewtype: Tipo de ventana que se abrirá, pudiendo ser:
view
portlet
window
Parámetros para Progress:
program: Nombre del programa Progress.
Module: nombre del módulo.
userid: Nombre de usuario.
password: Contraseña del usuario. Debe transmitirse mediante encode Base64.
Del lado del Fluig, para que un formulario realice una llamada a una pantalla en el Datasul, podemos basarnos en el siguiente ejemplo:
Suponiendo que en un formulario de Fluig tenemos un botón para llamar a un programa Progress de la siguiente manera:
< valor = "Programa" onClick = "callProgress ()" type = "button" >
Con el clic del botón se llamará la función callProgress() que podrá tener el siguiente código:
function callProgress () {
var url = "http://cassino:8180/abl-externo-call /" +
“execute?program=cd0704.w&module=cdp&” +
“user=super&password=c3N6a0AxMjM=";
window.open(url);
}
- La función similar para llamar a un formulario metadatos:
function callMetadados () {
var url = “http://:port/josso/signon/" +
"externalUserAuthentication.do?josso_cmd=external-login&" +
"type=md&program=ems5.emsuni.CRUDUnidOrgan&viewtype=view&" +
"userid=super&password=c3N6a0AxMjM=";
window.open(url, “Unidade Organizacional”, 800, "width=800,height=600");
}
En el caso del formulario Metadatos, este puede personalizarse opcionalmente para devolver la información al formulario Fluig, utilizando el comando (CALL-BACK-ventana-abridor). Para consultar: Llamadas a Zooms del Datasul a través de Formularos en el Fluig: Función ABLScript para Formularios FreeForm4.