53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
|
|
FUNCTION busca_empleado1()
|
|
DEFINE criterio,selec1 VARCHAR(1000),
|
|
buscar_emp DYNAMIC ARRAY OF RECORD
|
|
num_emp INT,
|
|
departamento SMALLINT,
|
|
nivel_emp SMALLINT,
|
|
cod_puesto SMALLINT,
|
|
nom1_emp VARCHAR(30),
|
|
nom2_emp VARCHAR(30),
|
|
apell1_emp VARCHAR(30),
|
|
apell2_emp VARCHAR(30)
|
|
END RECORD,
|
|
idx SMALLINT
|
|
OPEN WINDOW busqueda AT 7,10 WITH FORM "adfmwd004"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last)
|
|
CONSTRUCT criterio ON adtb00003.nom1_emp,adtb00003.nom2_emp,
|
|
adtb00003.apell1_emp,adtb00003.apell2_emp
|
|
FROM nom1_emp,nom2_emp,apell1_emp,apell2_emp
|
|
|
|
LET selec1 = "SELECT num_emp,departamento,nivel_emp,cod_puesto, ",
|
|
"nom1_emp,nom2_emp,apell1_emp,apell2_emp FROM adtb00003 ",
|
|
" WHERE ",
|
|
" status_t is null AND ",
|
|
criterio clipped,
|
|
"ORDER BY nom1_emp "
|
|
|
|
PREPARE busca1 FROM selec1
|
|
DECLARE local1 CURSOR FOR busca1
|
|
|
|
LET idx = 1
|
|
FOREACH local1 INTO buscar_emp[idx].*
|
|
IF status = NOTFOUND THEN
|
|
CALL fgl_winmessage("ERROR","NO EXISTEN REGISTROS","INFO")
|
|
EXIT FOREACH
|
|
END IF
|
|
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
|
|
CALL set_count(idx-1)
|
|
DISPLAY ARRAY buscar_emp TO s_empleado.*
|
|
AFTER DISPLAY
|
|
LET idx = arr_curr()
|
|
EXIT DISPLAY
|
|
END DISPLAY
|
|
|
|
CLOSE WINDOW busqueda
|
|
RETURN buscar_emp[idx].num_emp,buscar_emp[idx].nom1_emp,
|
|
buscar_emp[idx].nom2_emp,
|
|
buscar_emp[idx].apell1_emp,
|
|
buscar_emp[idx].apell2_emp
|
|
END FUNCTION |