{ =============================================================================== 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" " Realiza Busqueda 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