63 lines
1.5 KiB
Plaintext
63 lines
1.5 KiB
Plaintext
{
|
|
PROGRAMA: buscaempleado.4gl
|
|
OBJETIVO: FACILITAR LA BUSQUEDA DE LA MAESTRA EMPLEADOS
|
|
DESARROLLADO POR: ING. JUAN SOTO
|
|
FECHA: NOVIEMBRE 15, 2023
|
|
|
|
}
|
|
|
|
|
|
FUNCTION buscaEmp()
|
|
DEFINE empleados DYNAMIC ARRAY OF RECORD
|
|
num_emp INT,
|
|
nom1_emp,apell1_emp VARCHAR(60)
|
|
END RECORD,
|
|
criterio,selec STRING,
|
|
i,pnumemp INT,
|
|
nombre,apellido VARCHAR(120)
|
|
|
|
OPEN WINDOW relacion WITH FORM "empleados"
|
|
|
|
CONSTRUCT criterio ON b.nom1_emp,b.apell1_emp FROM nombre,apellido
|
|
|
|
IF int_flag THEN
|
|
|
|
CALL msg(2)
|
|
LET int_flag = FALSE
|
|
CLOSE WINDOW relacion
|
|
RETURN
|
|
END IF
|
|
|
|
LET selec = "SELECT UNIQUE b.num_emp,b.nom1_emp,b.apell1_emp ",
|
|
"FROM adtb00003 b,vetb00028 a ",
|
|
"WHERE b.num_emp = a.sec_vend AND a.status_t IS NULL AND ",
|
|
criterio CLIPPED," ORDER BY 1 "
|
|
|
|
PREPARE comando1 FROM selec
|
|
DECLARE vendedor CURSOR FOR comando1
|
|
|
|
LET i = 1
|
|
FOREACH vendedor INTO empleados[i].*
|
|
LET i = i + 1
|
|
END FOREACH
|
|
|
|
DISPLAY ARRAY empleados TO s_empleados.*
|
|
AFTER DISPLAY
|
|
|
|
IF int_flag THEN
|
|
|
|
CALL msg(2)
|
|
LET int_flag = FALSE
|
|
EXIT DISPLAY
|
|
END IF
|
|
LET pnumemp = empleados[arr_curr()].num_emp
|
|
LET nombre= empleados[arr_curr()].nom1_emp CLIPPED
|
|
|
|
LET apellido = empleados[arr_curr()].apell1_emp CLIPPED
|
|
|
|
|
|
EXIT DISPLAY
|
|
END DISPLAY
|
|
CLOSE WINDOW relacion
|
|
RETURN pnumemp,nombre,apellido
|
|
END FUNCTION |