152 lines
4.1 KiB
Plaintext
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
|