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

93 lines
2.3 KiB
Plaintext

{
===============================================================================
PROGRAMA : NOPRCS003
SISTEMA : Sistema de Nomina
OBJETIVO : Consulta de los datos concerniente a los cheques emitidos
a empleados via nomina.
PROGRAMADOR : Tadeo A. Ferreras F.
FECHA : Agosto 23, 1993
===============================================================================
}
GLOBALS "noprgb000.4gl"
DEFINE cheque ARRAY[200] OF RECORD
cheque_no INTEGER,
num_emp SMALLINT,
nombre CHAR(30),
apellido CHAR(30),
valor DECIMAL(12,2)
END RECORD
DEFINE numero_nom INTEGER
FUNCTION noprcs003()
CLEAR SCREEN
OPTIONS
FORM LINE 9,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM nofmcs003 FROM "nofmcs003"
DISPLAY FORM nofmcs003
CALL pantalla()
DISPLAY "noprcs003" AT 4,3
DISPLAY "Cheques Emitidos" AT 6,35
MENU "OPCIONES"
COMMAND "Consultar"
"<Esc> Realiza Busqueda <CTRL-C> Cancela Operacion"
let int_flag = false
CALL consulta3()
COMMAND "Salir" "Retorna Menu Anterior"
EXIT MENU
END MENU
END FUNCTION
FUNCTION consulta3()
CLEAR FORM
## Aqui se prepara para la captura del criterio de seleccion
# WHENEVER ERROR CONTINUE
INPUT BY NAME numero_nom
AFTER FIELD numero_nom
IF numero_nom IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD numero_nom
END IF
SELECT UNIQUE a.num_nomi FROM notb00009 a WHERE a.num_nomi = numero_nom
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD numero_nom
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
CLEAR FORM
RETURN
END IF
DECLARE busca CURSOR FOR
SELECT UNIQUE a.cheque_no,a.num_emp,b.nom1_emp,b.apell1_emp,a.monto
FROM notb00009 a,adtb00003 b
WHERE a.num_emp = b.num_emp AND
a.status_t IS NULL AND
a.num_nomi = numero_nom
ORDER BY 1
LET idx =1
FOREACH busca INTO cheque[idx].*
LET idx = idx + 1
END FOREACH
CALL SET_COUNT(idx - 1)
DISPLAY ARRAY cheque TO cheque1.*
END FUNCTION