FUNCTION combo_din(vl_campo, vl_query) DEFINE vl_campo string DEFINE vl_query string DEFINE vl_lista char(500) DEFINE vl_metodo string DEFINE vl_valor string DEFINE vl_combo ui.ComboBox DEFINE vl_lista_nodb base.StringTokenizer LET vl_campo = vl_campo.trim() LET vl_query = vl_query.trim() #-- Obtiene el nodo del metodo Combo de la clase ui LET vl_combo = ui.ComboBox.forName(vl_campo) IF vl_combo IS NULL THEN RETURN END IF #-- Limpia los registros anteriores del combo CALL vl_combo.clear() #-- Procesa segun el metodo convirtiENDo a mayusculas para mejor tratamiento LET vl_metodo = vl_query.toUpperCase() IF vl_metodo MATCHES "SELECT*" THEN #--Prepara el query PREPARE q_comboList FROM vl_query DECLARE c_comboList CURSOR FOR q_comboList #-- Obtiene la lista de valores de la tabla segun el query enviado FOREACH c_comboList INTO vl_lista LET vl_valor = vl_lista CLIPPED CALL vl_combo.addItem(vl_valor, vl_valor) END FOREACH ELSE #-- Obtiene la lista de valores que no son de base de datos LET vl_lista_nodb = base.StringTokenizer.create(vl_query, "|") WHILE vl_lista_nodb.hasMoreTokens() LET vl_valor = vl_lista_nodb.nextToken() CALL vl_combo.addItem(vl_valor, vl_valor) END WHILE END IF END FUNCTION