[Forms] RE: Consulta sobre Listas Desplegables Dependientes en Bloque de Datos
Les comento como lo estoy haciendo ahora, así pueden entender un poco más cuál
es mi problema:
La lista de los países la cargo con el siguiente Procedure que invoco en el
Trigger when-new-form-instance:
PROCEDURE COMBO_PAIS (nom_combo VARCHAR2) IS
TYPE t_registro IS RECORD (codpais TPAISES.cdpais%TYPE,
nompais TPAISES.dspais%TYPE);
registro t_registro;
TYPE cursor_registros IS REF CURSOR;
PV_REGISTRO_O cursor_registros;
nRow NUMBER :=0;
BEGIN
CLEAR_LIST(nom_combo);
PKG_LISTADOS.PAISES ( PV_REGISTRO_O );
LOOP
FETCH PV_REGISTRO_O INTO registro;
EXIT WHEN PV_REGISTRO_O%NOTFOUND;
nRow := nRow +1;
Add_List_Element(nom_combo, nRow, registro.nompais, registro.codpais);
END LOOP;
Exception
When Others then
Message('Ocurrio el siguiente error ' || SQLERRM);
END;
Después en el trigger de la lista Países When-List-Changed llamo al procedure
correspondiente para el combo Estado, enviando como parámetro el código del País
seleccionado, así:
PROCEDURE COMBO_ESTADOS (nom_combo VARCHAR2, pi_cdpais TPAISES.cdpais%TYPE) IS
TYPE t_registro IS RECORD (cdestad TESTADOS.cdedo%TYPE,
nomestad TESTADOS.dsedo%TYPE);
registro t_registro;
TYPE cursor_registros IS REF CURSOR;
PV_REGISTRO_O cursor_registros;
Hola, tengo un problema con un bloque de datos que tiene algunas listas desplegables dependientes, es decir, los valores que se carguen en una lista de, por...
No sé qué versión de Forms estás utilizando. Creo que en Forms 6i o inferior no se puede hacer. Si me estoy equivocando que alguien pase un ejemplo, pues...
que version estas usando..??, pero el bloque es un Bloque asociado a tabla o libre.. a lo mejor dependiendo de la version que uses puede ser que te falte un...
bueno te recomiendo que uses los record group y luego puebla la lista, yo mas me acomodo con los LOVS ya que es mas facil y rapido y sin mucho codigo encima...
Hola Juan, muchas gracias por tus recomendaciones. Si había visto como trabajan los LOV's pero el problema que tengo es que los SPs están en base de datos....
Perdona pero ahora ya sí que me perdí. ¿Por qué no puedes crear los Record Groups como te recomendó Juan?, estáticamente: RG_PAIS Select nombre_pais,...
Si, tenés razón con lo que me estás diciendo, pero la verdad es que les pasé un ejemplo, pero no todas mis listas tienen cantidades fijas de datos... :)...
Es que no es cuestión de cantidad de datos, me cuesta encontrar un caso en que no se pueda resolver con un Record Group/LOV en tiempo de diseño, y eso que...
No, yo nunca dije que no lo podía resolver con LOV's, puede ser que tengas razón, que esté confundiendo el concepto, pero nunca dije que no se podía hacer...
En el RecordGroup del LOV puedes indicarle directamente que el Estado pertenece al País seleccionado, por ejemplo: Select estado from ESTADOS where pais =...
Les comento como lo estoy haciendo ahora, así pueden entender un poco más cuál es mi problema: La lista de los países la cargo con el siguiente Procedure...
Prueba hacer lo mismo en el trigger WHEN-NEW-RECORD-INSTANCE, para que se actualice cada vez que cambias de registro, de tal forma que aunque cambies el País...
Hola Randall, muchas gracias por tu sugerencia, probé como me indicaste...hice la invocación del Procedure de países desde el trigger When-New-Form-Instance...