Files
MBS/PROYECTO/nodir/noprfu000B.4gl
T

140 lines
4.5 KiB
Plaintext

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