primer commit subida
This commit is contained in:
@@ -0,0 +1,435 @@
|
||||
{
|
||||
===========================================================================
|
||||
PROGRAMA : PRPRRP002
|
||||
SISTEMA : PRODUCCION
|
||||
OBJETIVO : VALIDACION REGISTRO HORAS PERSONAL NO PRODUCTIVO.
|
||||
AUTOR : Tadeo. A. Ferreras F.
|
||||
FECHA : SEPT. 15, 1994
|
||||
===========================================================================
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"prprgb000.4gl"
|
||||
DEFINE t_hn_dir,t_hn_ind,t_he_dir,t_he_ind DECIMAL(10,2)
|
||||
DEFINE tt_hn_dir,tt_hn_ind,tt_he_dir,tt_he_ind DECIMAL(10,2)
|
||||
DEFINE repor_2 RECORD
|
||||
num_emp SMALLINT,
|
||||
departamento SMALLINT,
|
||||
nom1_emp CHAR(10),
|
||||
nom2_emp CHAR(14),
|
||||
apell1_emp CHAR(14),
|
||||
apell2_emp CHAR(14),
|
||||
nom_puesto CHAR(28),
|
||||
cod_puesto SMALLINT
|
||||
END RECORD
|
||||
|
||||
FUNCTION prprrp002()
|
||||
DEFINE opcion CHAR(1)
|
||||
|
||||
OPTIONS
|
||||
PROMPT LINE 23,
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23
|
||||
|
||||
OPEN FORM prfmrp002 FROM "prfmrp001"
|
||||
DISPLAY FORM prfmrp002
|
||||
|
||||
LET tipo_papel = 2
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME prtb02.num_semana
|
||||
|
||||
AFTER FIELD num_semana
|
||||
IF prtb02.num_semana IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
SELECT UNIQUE a.semana_del,a.semana_al INTO prtb02.semana_del,prtb02.semana_al
|
||||
FROM prtb00002 a
|
||||
WHERE a.num_semana = prtb02.num_semana AND
|
||||
a.status_t IS NULL
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD num_semana
|
||||
END IF
|
||||
|
||||
DISPLAY BY NAME prtb02.semana_del,prtb02.semana_al
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
PROMPT "Es el rango de fecha deseado [S/N]...? " FOR CHAR opcion
|
||||
LET opcion = UPSHIFT(opcion)
|
||||
|
||||
IF opcion = "S" THEN
|
||||
START REPORT reporte_2 TO "C:\\archivo"
|
||||
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT UNIQUE a.num_emp,a.departamento,b.nom1_emp,b.nom2_emp,b.apell1_emp,
|
||||
b.apell2_emp,c.nom_puesto,b.cod_puesto
|
||||
FROM prtb00003 a,adtb00003 b,adtb00004 c
|
||||
WHERE (a.num_semana = prtb02.num_semana and
|
||||
a.departamento between 6000 and 6500 and
|
||||
a.num_emp = b.num_emp and
|
||||
b.nivel_emp != 2 and
|
||||
a.status_t is null) and
|
||||
b.cod_puesto = c.cod_puesto
|
||||
|
||||
DISPLAY "Buscando Informacion... Espere Por Favor" AT 17,14
|
||||
|
||||
|
||||
DISPLAY "Reporte Generandose ... Espere Por Favor" AT 17,14
|
||||
|
||||
FOREACH busca INTO repor_2.*
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_2(repor_2.*)
|
||||
END FOREACH
|
||||
|
||||
DECLARE busca1 CURSOR FOR
|
||||
SELECT UNIQUE a.num_emp,'6199',b.nom1_emp,b.nom2_emp,b.apell1_emp,
|
||||
b.apell2_emp,c.nom_puesto,b.cod_puesto
|
||||
FROM prtb00003 a,adtb00003 b,adtb00004 c
|
||||
WHERE (a.num_semana = prtb02.num_semana and
|
||||
a.departamento between 6000 and 6500 and
|
||||
a.num_emp = b.num_emp and
|
||||
b.nivel_emp = 2 and
|
||||
a.status_t is null) and
|
||||
b.cod_puesto = c.cod_puesto
|
||||
|
||||
FOREACH busca1 INTO repor_2.*
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_2(repor_2.*)
|
||||
END FOREACH
|
||||
FINISH REPORT reporte_2
|
||||
END IF
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
REPORT reporte_2(x)
|
||||
DEFINE x RECORD
|
||||
num_emp SMALLINT,
|
||||
departamento SMALLINT,
|
||||
nom1_emp CHAR(10),
|
||||
nom2_emp CHAR(14),
|
||||
apell1_emp CHAR(14),
|
||||
apell2_emp CHAR(14),
|
||||
nom_puesto CHAR(28),
|
||||
cod_puesto SMALLINT
|
||||
END RECORD,
|
||||
id SMALLINT
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY x.departamento,x.cod_puesto
|
||||
|
||||
format
|
||||
page header
|
||||
let comp_on = ascii 15
|
||||
let comp_off = ascii 18
|
||||
let doce = ascii 27, ascii 77
|
||||
let doble_on = ascii 14
|
||||
let doble_off = ascii 20
|
||||
let hora = time
|
||||
|
||||
PRINT comp_on
|
||||
PRINT COLUMN 1, "prprrp002",
|
||||
COLUMN 49, " R A Y .O. V A C D O M I N I C A N A, S. A.",
|
||||
COLUMN 141, "Pag. ",pageno USING "###"
|
||||
PRINT COLUMN 49, " SISTEMA DE PRODUCCION ",
|
||||
COLUMN 141, today using "dd/mm/yy"
|
||||
PRINT COLUMN 49, "VALIDACION HORAS DIARIAS ADM Y PERSONAL NO DE PRODUCCION",
|
||||
COLUMN 144, hora
|
||||
PRINT COLUMN 1, "NUMERO SEMANA: ",prtb02.num_semana USING "&&&&"," ",
|
||||
": DEL ",prtb02.semana_del USING "dd/mm/yy",
|
||||
" AL ",prtb02.semana_al USING "dd/mm/yy"
|
||||
|
||||
PRINT "====================================================================",
|
||||
"====================================================================",
|
||||
"============"
|
||||
PRINT COLUMN 64,
|
||||
"| H O R A S I N D I R E C T A S ",
|
||||
" |"
|
||||
|
||||
PRINT COLUMN 64, "| NORMALES |",
|
||||
COLUMN 120, " EXTRAS |"
|
||||
|
||||
PRINT COLUMN 64,"|",
|
||||
COLUMN 67, "S",
|
||||
5 spaces, "D",
|
||||
5 spaces, "L",
|
||||
5 spaces, "M",
|
||||
5 spaces, "M",
|
||||
5 spaces, "J",
|
||||
5 spaces, "V |",
|
||||
|
||||
2 spaces, "S",
|
||||
5 spaces, "D",
|
||||
5 spaces, "L",
|
||||
5 spaces, "M",
|
||||
5 spaces, "M",
|
||||
5 spaces, "J",
|
||||
5 spaces, "V |"
|
||||
|
||||
PRINT "====================================================================",
|
||||
"====================================================================",
|
||||
"============"
|
||||
|
||||
BEFORE GROUP OF x.departamento
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.nom_dpto INTO nom_dpto FROM adtb00001 a
|
||||
WHERE a.departamento = x.departamento AND a.status_t IS NULL
|
||||
END IF
|
||||
IF x.departamento = 6199 THEN
|
||||
LET nom_dpto = "SUPERVISORES"
|
||||
END IF
|
||||
|
||||
LET t_hn_ind = 0
|
||||
LET t_he_ind = 0
|
||||
LET idx = 0
|
||||
|
||||
BEFORE GROUP OF x.cod_puesto
|
||||
IF x.departamento >= 6000 and
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
LET idx = idx + 1
|
||||
|
||||
IF idx = 1 THEN
|
||||
PRINT doble_on,nom_dpto clipped,doble_off
|
||||
SKIP 1 LINE
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
LET idx = idx + 1
|
||||
|
||||
IF idx = 1 THEN
|
||||
PRINT doble_on,nom_dpto clipped,doble_off
|
||||
SKIP 1 LINE
|
||||
END IF
|
||||
END IF
|
||||
|
||||
ON EVERY ROW
|
||||
IF x.departamento >= 6000 AND
|
||||
x.departamento < 6199 THEN
|
||||
PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
|
||||
PRINT COLUMN 1,x.num_emp using "&&&"," ",x.nom1_emp clipped,
|
||||
" ",x.apell1_emp CLIPPED,
|
||||
COLUMN 35, x.nom_puesto CLIPPED,
|
||||
COLUMN 64, "|";
|
||||
|
||||
LET t_hn_ind = 0
|
||||
LET t_he_ind = 0
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
LET l = 65
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.hn_ind = 0
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
IF prtb03.hn_ind IS NULL THEN
|
||||
LET prtb03.hn_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.hn_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_hn_ind = t_hn_ind + prtb03.hn_ind
|
||||
LET tt_hn_ind = tt_hn_ind + prtb03.hn_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.he_ind = 0
|
||||
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF prtb03.he_ind IS NULL THEN
|
||||
LET prtb03.he_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.he_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_he_ind = t_he_ind + prtb03.he_ind
|
||||
LET tt_he_ind = tt_he_ind + prtb03.he_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
PRINT COLUMN l," "
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"------------"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
PRINT COLUMN 64, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|",
|
||||
5 spaces, "|"
|
||||
|
||||
PRINT COLUMN 1,x.num_emp using "&&&&"," ",x.nom1_emp clipped,", ",x.apell1_emp,
|
||||
COLUMN 35, x.nom_puesto CLIPPED,
|
||||
COLUMN 64, "|";
|
||||
|
||||
LET t_hn_ind = 0
|
||||
LET t_he_ind = 0
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
LET l = 65
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.hn_ind = 0
|
||||
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.hn_ind INTO prtb03.hn_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF prtb03.hn_ind IS NULL THEN
|
||||
LET prtb03.hn_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.hn_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_hn_ind = t_hn_ind + prtb03.hn_ind
|
||||
LET tt_hn_ind = tt_hn_ind + prtb03.hn_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
|
||||
LET prtb03.fecha = prtb02.semana_del
|
||||
FOR j = 1 TO 7
|
||||
LET prtb03.he_ind = 0
|
||||
IF x.departamento != 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.departamento = x.departamento AND a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
|
||||
IF x.departamento = 6199 THEN
|
||||
SELECT a.he_ind INTO prtb03.he_ind FROM prtb00003 a
|
||||
WHERE a.num_emp = x.num_emp AND
|
||||
a.fecha = prtb03.fecha AND a.status_t IS NULL
|
||||
END IF
|
||||
IF prtb03.he_ind IS NULL THEN
|
||||
LET prtb03.he_ind = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN l, prtb03.he_ind USING "##.##","|";
|
||||
LET l = l + 6
|
||||
LET t_he_ind = t_he_ind + prtb03.he_ind
|
||||
LET tt_he_ind = tt_he_ind + prtb03.he_ind
|
||||
LET prtb03.fecha = prtb03.fecha + 1
|
||||
END FOR
|
||||
PRINT COLUMN l," "
|
||||
PRINT "--------------------------------------------------------------------",
|
||||
"--------------------------------------------------------------------",
|
||||
"------------"
|
||||
END IF
|
||||
|
||||
AFTER GROUP OF x.departamento
|
||||
IF x.departamento >= 6000 AND
|
||||
x.departamento <= 6199 THEN
|
||||
|
||||
IF x.cod_puesto = 3 OR x.cod_puesto = 27 OR x.cod_puesto = 13 OR
|
||||
x.cod_puesto = 14 THEN
|
||||
|
||||
PRINT "-----------------------------------------------------------------",
|
||||
"-----------------------------------------------------------------",
|
||||
"------------------"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
IF x.departamento >= 6199 THEN
|
||||
|
||||
PRINT "-----------------------------------------------------------------",
|
||||
"-----------------------------------------------------------------",
|
||||
"------------------"
|
||||
END IF
|
||||
|
||||
ON LAST ROW
|
||||
SKIP 1 LINE
|
||||
PRINT "Total Registros Impresos===> ",COUNT(*) USING "####"
|
||||
print comp_off
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user