Files
MBS/PROYECTO/addir/adprrp032.4gl
T

152 lines
4.1 KiB
Plaintext

{
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