ayuda con parametros
necesito pasar unos parametros de un formulario a otro, como puedo hacerlo?. lo que realmente busco es pasar el valor de una variable a otro formulario y esta arrastarla a otro formularios.
gracias por todo
gracias por todo
Puedes hacerlo de varias formas. Una es utilizado variables globales (nada elegante pero sencillo). Otra es creando una lista de parametros en el formulario llamante y haciendo luego un CALL_FORM al otro formulario, que debe tener los parametros definidos ya.
Salu2
Salu2
Te lo dejo en el foro para que sirva para todos.
Este código lo pondriamos en un trigger de pulsación de un botón.
-----------------------------------------------------------------
DECLARE
pl_id PARAMLIST;
pl_name VARCHAR2(20) := 'LISTA_PARAM_CM';
FORM_ID FORMMODULE;
P_PATH VARCHAR2(100);
BEGIN
pl_id := Get_Parameter_List(pl_name);
IF Id_Null(pl_id) THEN
pl_id := Create_Parameter_List(pl_name);
IF Id_Null(pl_id) THEN
Mostrar_Error('Error de ejecución al crear la lista de paramétros. '||pl_name,NULL);
RAISE Form_Trigger_Failure;
END IF;
Add_Parameter(pl_id,'PARAMETRO1',TEXT_PARAMETER,:BLOQUE.CAMPO1);
Add_Parameter(pl_id,'PARAMETRO2',TEXT_PARAMETER,:BLOQUE.CAMPO2);
ELSE
SET_PARAMETER_ATTR(pl_id,'PARAMETRO1',TEXT_PARAMETER,:BLOQUE.CAMPO1);
SET_PARAMETER_ATTR(pl_id,'PARAMETRO2',TEXT_PARAMETER,:BLOQUE.CAMPO2);
END IF;
P_PATH := 'FORMULARIO2';
CALL_FORM(P_PATH,no_hide,no_replace,no_query_only,pl_id);
END;
------------------------------------------------------------
Este código lo pondriamos en un trigger de pulsación de un botón.
-----------------------------------------------------------------
DECLARE
pl_id PARAMLIST;
pl_name VARCHAR2(20) := 'LISTA_PARAM_CM';
FORM_ID FORMMODULE;
P_PATH VARCHAR2(100);
BEGIN
pl_id := Get_Parameter_List(pl_name);
IF Id_Null(pl_id) THEN
pl_id := Create_Parameter_List(pl_name);
IF Id_Null(pl_id) THEN
Mostrar_Error('Error de ejecución al crear la lista de paramétros. '||pl_name,NULL);
RAISE Form_Trigger_Failure;
END IF;
Add_Parameter(pl_id,'PARAMETRO1',TEXT_PARAMETER,:BLOQUE.CAMPO1);
Add_Parameter(pl_id,'PARAMETRO2',TEXT_PARAMETER,:BLOQUE.CAMPO2);
ELSE
SET_PARAMETER_ATTR(pl_id,'PARAMETRO1',TEXT_PARAMETER,:BLOQUE.CAMPO1);
SET_PARAMETER_ATTR(pl_id,'PARAMETRO2',TEXT_PARAMETER,:BLOQUE.CAMPO2);
END IF;
P_PATH := 'FORMULARIO2';
CALL_FORM(P_PATH,no_hide,no_replace,no_query_only,pl_id);
END;
------------------------------------------------------------
