{ PROGRAMA : ADPRRP032 SISTEMA : ADMINISTRACION DE PERSONAL OBJETIVO : LISTAR CODIGO, NOMBRE, FECHA DE NACIMIENTO Y SUELDO DE EMPLEADO AUTOR : TADEO A. FERRERAS F. } GLOBALS "adprgb000.4gl" DEFINE reg_rep32 RECORD nomina CHAR(1), num_emp SMALLINT, nom1_emp CHAR(15), apell1_emp CHAR(15), fecha DATE, sueldo DECIMAL(12,2) END RECORD FUNCTION adprrp032() OPTIONS FORM LINE 9, MESSAGE LINE 23 OPEN FORM adfmrp032 FROM "adfmrp032" DISPLAY FORM adfmrp032 CALL pantalla() DISPLAY "adprrp032" AT 4,3 ATTRIBUTE(RED) DISPLAY "Sueldos de Empleados" AT 6,30 ATTRIBUTE(BLACK) LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime, letras.*, archivo CONSTRUCT criterio ON a.num_emp,a.nomina FROM num_emp,nomina ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime, letras.*, archivo AFTER CONSTRUCT EXIT CONSTRUCT END CONSTRUCT IF int_flag THEN LET Numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT UNIQUE a.nomina,a.num_emp,a.nom1_emp,a.apell1_emp, ", " b.fech_nac,a.sueldo_ac ", "FROM adtb00003 a, adtb00012 b, adtb00017 c ", "WHERE (a.status_t IS NULL OR a.status_t = 'I') AND ", " a.num_emp = c.num_emp AND c.cod_sol = b.cod_sol AND ", " c.cod_mto = 1 AND ",criterio CLIPPED DISPLAY "Buscando Informacion ... Espere Por Favor " AT 19,14 PREPARE comando FROM selec DECLARE busca CURSOR FOR comando START REPORT reporte_32 TO archivo DISPLAY "Reporte Generandose ... Espere Por Favor " AT 19,14 FOREACH busca INTO reg_rep32.* IF int_flag THEN LET Numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF OUTPUT TO REPORT reporte_32(reg_rep32.*) END FOREACH FINISH REPORT reporte_32 RUN imprime END FUNCTION REPORT reporte_32(x) DEFINE x RECORD nomina CHAR(1), num_emp SMALLINT, nom1_emp CHAR(15), apell1_emp CHAR(15), fecha DATE, sueldo DECIMAL(12,2) END RECORD DEFINE hora CHAR(5) OUTPUT LEFT MARGIN 0 BOTTOM MARGIN 0 ORDER BY x.nomina,x.num_emp FORMAT PAGE HEADER PRINT letras.negrillas_on,letras.comp_off PRINT COLUMN 1, "adprrp032", COLUMN 17, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 73, "Pag. ", pageno USING "###" PRINT COLUMN 17, " SISTEMA DE PERSONAL", COLUMN 73, TODAY USING "dd/mm/yyyy" PRINT COLUMN 17, " SUELDOS DE EMPLEADO", COLUMN 73, TIME SKIP 1 LINE PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 50, " FECHA ", COLUMN 67, " SUELDO" PRINT COLUMN 1, "EMPLEADO", COLUMN 50, " NACIMIENTO", COLUMN 67, " ACTUAL" PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT letras.negrillas_off BEFORE GROUP OF x.nomina PRINT COLUMN 1, letras.negrillas_on IF x.nomina = "Q" THEN PRINT COLUMN 1, "QUINCENAL" ELSE PRINT COLUMN 1, "SEMANAL" END IF PRINT COLUMN 1, letras.negrillas_off ON EVERY ROW PRINT COLUMN 1, x.num_emp USING "####"," ",x.nom1_emp CLIPPED," ", x.apell1_emp CLIPPED, COLUMN 55, x.fecha USING "dd/mm/yyyy", COLUMN 70, x.sueldo USING "###,###.##" AFTER GROUP OF x.nomina PRINT letras.negrillas_on PRINT COLUMN 66, "--------------" PRINT COLUMN 2, "TOTAL REGISTROS ---> ", GROUP COUNT(*) USING "###,###", COLUMN 66, GROUP SUM(x.sueldo) USING "###,###,###.##" PRINT letras.negrillas_off ON LAST ROW PRINT letras.negrillas_on PRINT COLUMN 66, "--------------" PRINT COLUMN 2, "TOTAL REGISTROS ---> ", COUNT(*) USING "###,###", COLUMN 66, SUM(x.sueldo) USING "###,###,###.##" PRINT COLUMN 66, "==============" PRINT letras.negrillas_off END REPORT