GLOBALS "noprgb000.4gl" FUNCTION proceso() LET formulario = NULL #LET formulario = FGL_GETENV("FORMS") CLIPPED,"\\nodir\\" CLIPPED,"nofmrp001" OPEN WINDOW procesa AT 13,8 WITH FORM "nofmpc001" ATTRIBUTE(BORDER, FORM LINE FIRST + 1, MESSAGE LINE LAST) #LET formulario = FGL_GETENV("FORMS") CLIPPED,"\\nodir\\" LET per_nomi.num_nomi = NULL LET per_nomi.tipo_emp = NULL INPUT BY NAME per_nomi.num_nomi,per_nomi.tipo_emp AFTER FIELD tipo_emp SELECT UNIQUE a.tipo_emp FROM notb00010 a WHERE a.num_nomi = per_nomi.num_nomi AND a.tipo_emp = per_nomi.tipo_emp IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD tipo_emp END IF END INPUT IF not int_flag THEN MESSAGE "En Proceso..." UPDATE notb00010 SET status_t = NULL, us_mod = user, fech_mod = current WHERE num_nomi = per_nomi.num_nomi AND tipo_emp = per_nomi.tipo_emp END IF MESSAGE " " CLOSE WINDOW procesa END FUNCTION FUNCTION nolocalidades() DEFINE klocalidad SMALLINT,kdescripcion CHAR(30) #LET pcondicion = ui.combobox.forname("formonly.cond_pago") DECLARE busca_local CURSOR FOR SELECT a.sucid,a.sucnombre FROM sucursales a CALL plocalidad.clear() FOREACH busca_local INTO klocalidad,kdescripcion CALL plocalidad.additem(klocalidad,kdescripcion) END FOREACH END FUNCTION FUNCTION paises() DEFINE ppais SMALLINT,pdescripcion CHAR(30) DECLARE busca_pais CURSOR FOR SELECT a.cod_zona,a.descrip FROM vetb00008 a CALL kpais.clear() FOREACH busca_PAIS INTO ppais,pdescripcion CALL kpais.additem(ppais,pdescripcion) END FOREACH END FUNCTION FUNCTION ciudades(pcodPais) DEFINE pciudad SMALLINT,pdescripcion CHAR(30), pcodPais SMALLINT DECLARE busca_ciudad CURSOR FOR SELECT a.cod_provincia,a.nombre_provincia FROM vetb00020 a,vetb00009 b WHERE a.cod_provincia = b.cod_provincia AND b.cod_zona = pcodPais CALL kciudad.clear() FOREACH busca_ciudad INTO pciudad,pdescripcion CALL kciudad.additem(pciudad,pdescripcion) END FOREACH END FUNCTION { FUNCTION departamentos() DEFINE pdepartamento SMALLINT,pdescripcion CHAR(30), kdepto ui.ComboBox LET kdepto = ui.ComboBox.forName("formonly.departamento") CALL kdepto.clear() DECLARE busca_dpto CURSOR FOR SELECT a.departamento,a.nom_dpto FROM adtb00001 a WHERE a.status_t IS NULL ORDER BY a.nom_dpto FOREACH busca_dpto INTO pdepartamento,pdescripcion CALL kdepto.additem(pdepartamento,pdescripcion) END FOREACH END FUNCTION } FUNCTION puestos() DEFINE pPuestos SMALLINT,pdescripcion CHAR(30) LET kpuesto=ui.ComboBox.forName("formonly.cod_puesto") CALL kpuesto.clear() DECLARE busca_puestos CURSOR FOR SELECT a.cod_puesto,a.nom_puesto FROM adtb00004 a WHERE a.status_t IS NULL ORDER BY a.nom_puesto FOREACH busca_puestos INTO pPuestos,pdescripcion CALL kpuesto.additem(pPuestos,pdescripcion) END FOREACH END FUNCTION FUNCTION nivel_educacion() DEFINE pNivel SMALLINT,pdescripcion CHAR(30) LET knivel = ui.ComboBox.forName("formonly.nivel_emp") CALL knivel.clear() DECLARE busca_nivel CURSOR FOR SELECT a.cod_educa,a.nom_educa FROM adtb00005 a WHERE a.status_t IS NULL CALL knivel.clear() FOREACH busca_nivel INTO pnivel,pdescripcion CALL knivel.additem(pnivel,pdescripcion) END FOREACH END FUNCTION FUNCTION nacionalidad() DEFINE pcod_nac SMALLINT,pdescripcion CHAR(30) CALL knac.clear() DECLARE busca_nac CURSOR FOR SELECT a.cod_nac,a.nom_nac FROM adtb00007 a WHERE a.status_t IS null FOREACH busca_nac INTO pcod_nac,pdescripcion CALL knac.additem(pcod_nac,pdescripcion) END FOREACH END FUNCTION FUNCTION parientes() DEFINE pcod_par SMALLINT, pdesc_par char(11) CALL kpar.clear() DECLARE busca_parientes CURSOR FOR SELECT a.cod_par,a.desc_par FROM adtb00025 a FOREACH busca_parientes INTO pcod_par,pdesc_par CALL kpar.additem(pcod_par,pdesc_par) END FOREACH END FUNCTION FUNCTION busca_depto() DEFINE buscar_depto DYNAMIC ARRAY OF RECORD departamento SMALLINT, nom_dpto VARCHAR(50) END RECORD, xdepto SMALLINT, xnombre VARCHAR(50) OPEN WINDOW busqueda AT 10,10 WITH FORM "adfmwd001" ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last) CONSTRUCT criterio ON adtb00001.nom_dpto FROM adtb00001.nom_dpto LET selec1 = "SELECT departamento,nom_dpto FROM adtb00001 ", " WHERE ", " status_t is null AND ", criterio clipped, "ORDER BY 1 " PREPARE busco FROM selec1 DECLARE local CURSOR FOR busco LET idx = 1 FOREACH local INTO buscar_depto[idx].* IF status = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) EXIT FOREACH END IF LET idx = idx + 1 END FOREACH CALL set_count(idx-1) DISPLAY ARRAY buscar_depto TO s_depto.* LET idx = arr_curr() LET xdepto = buscar_depto[idx].departamento LET xnombre = buscar_depto[idx].nom_dpto CLOSE WINDOW busqueda RETURN xdepto,xnombre END FUNCTION