GLOBALS "noprgb000.4gl" FUNCTION busca_empleado() OPEN WINDOW busqueda1 AT 7,10 WITH FORM "adfmwd004" ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last) CONSTRUCT criterio ON petb00003.nom1_emp,petb00003.nom2_emp, petb00003.apell1_emp,petb00003.apell2_emp FROM nom1_emp,apell1_emp LET selec1 = "SELECT num_emp,departamento,nivel_emp,cod_puesto, ", "nom1_emp,apell1_emp FROM petb00003 ", " WHERE ", " status_t is null AND ", criterio clipped, "ORDER BY 1,2,3,4" PREPARE busca1 FROM selec1 DECLARE local1 CURSOR FOR busca1 LET idx = 1 FOREACH local1 INTO buscar_emp[idx].* IF status = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) EXIT FOREACH END IF LET despl_emp[idx].num_emp = buscar_emp[idx].num_emp LET despl_emp[idx].departamento = buscar_emp[idx].departamento LET despl_emp[idx].nivel_emp = buscar_emp[idx].nivel_emp LET despl_emp[idx].cod_puesto = buscar_emp[idx].cod_puesto LET despl_emp[idx].nom1_emp = buscar_emp[idx].nom1_emp clipped LET despl_emp[idx].nom2_emp = buscar_emp[idx].nom2_emp clipped LET despl_emp[idx].apell1_emp = buscar_emp[idx].apell1_emp clipped LET despl_emp[idx].apell2_emp = buscar_emp[idx].apell2_emp clipped LET idx = idx + 1 END FOREACH CALL set_count(idx-1) DISPLAY ARRAY despl_emp TO s_empleado.* LET curr = arr_curr() LET nombre = despl_emp[curr].nom1_emp clipped," ",despl_emp[curr].nom2_emp clipped," ", despl_emp[curr].apell1_emp clipped," ",despl_emp[curr].apell2_emp clipped CLOSE WINDOW busqueda1 END FUNCTION FUNCTION busca_movimientos() OPEN WINDOW busqueda AT 5,5 WITH FORM "nofmwd001" ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last) CONSTRUCT criterio ON notb00002.descrip_mov FROM notb00002.descrip_mov LET selec3 = "SELECT cod_mov,descrip_mov,cantidad_cia,cantidad_emp ", "FROM notb00002 ", " WHERE ", " status_t is null AND ", criterio clipped, "ORDER BY 1 " PREPARE busca3 FROM selec3 DECLARE local CURSOR FOR busca3 LET idx = 1 FOREACH local INTO buscar_movi[idx].* IF status = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) EXIT FOREACH END IF LET despl_movi[idx].cod_mov = buscar_movi[idx].cod_mov LET despl_movi[idx].descrip_mov = buscar_movi[idx].descrip_mov clipped LET despl_movi[idx].cantidad_cia = buscar_movi[idx].cantidad_cia LET despl_movi[idx].cantidad_emp = buscar_movi[idx].cantidad_emp LET idx = idx + 1 END FOREACH CALL set_count(idx-1) DISPLAY ARRAY despl_movi TO s_movimiento.* LET curr = arr_curr() LET arr_fijo[curr1].cod_mov = despl_movi[curr].cod_mov LET mov_nomi.descrip_mov = despl_movi[curr].descrip_mov LET mov_nomi.cantidad_cia = despl_movi[curr].cantidad_cia LET mov_nomi.cantidad_emp = despl_movi[curr].cantidad_emp CLOSE WINDOW busqueda END FUNCTION 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 localidades() 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