Files
MBS/PROYECTO/nodir/aumento.4gl
T

65 lines
1.7 KiB
Plaintext

SCHEMA smarmotech
MAIN
DEFINE usuarios,clave CHAR(50),
pnumemp smallint,
pfecha char(10),
pfecha_r char(10),
pvalor DEC(12,2),
cuenta smallint
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CONNECT TO "smarmotech" USER usuarios USING clave
DECLARE busca_empleados CURSOR FOR
SELECT a.num_emp,MAX(a.valor),CAST(b.fech_efec AS CHAR(10))
FROM tmpaumento a,adtb00003 b
WHERE a.cod_mov =1 AND a.valor <> 0 AND a.num_nomi IS NOT NULL AND
a.num_emp = b.num_emp AND b.status_t IS NULL
GROUP BY a.num_emp,b.fech_efec
DISPLAY "EN PROCESO...."
START REPORT emplea TO "EMPLEA.TXT"
DELETE FROM tmpfempleados
FOREACH busca_empleados INTO pnumEmp,pvalor,pfecha_r
LET pfecha = NULL
SELECT CAST(min(a.fecha) AS CHAR(10)) INTO pfecha
FROM tmpaumento a
WHERE a.num_emp = pnumemp AND a.valor = pvalor
OUTPUT TO REPORT emplea(pnumemp,pfecha,pfecha_r,pvalor)
END FOREACH
FINISH REPORT emplea
DISPLAY "PROCESO TERMINADO"
END MAIN
REPORT emplea(xnumemp,xfecha,xfecha1,xvalor)
DEFINE xnumemp smallint,
xfecha,xfecha1 char(10),
xvalor,xvalorant dec(12,2),
actualiza CHAR(1)
ORDER BY xnumemp,xfecha
FORMAT
BEFORE GROUP OF xfecha
LET actualiza = "N"
#LET xvalorant = xvalor
LET xvalorant = 0
SELECT MAX(a.valor) INTO xvalorant FROM notb00008 a WHERE a.num_emp=xnumemp AND a.fecha < xfecha AND
cod_mov = 1 AND num_nomi IS NOT NULL
IF xvalorant =0 OR xvalorant IS NULL THEN
LET xfecha=NULL
END IF
ON EVERY ROW
INSERT INTO tmpfempleados VALUES (xNUMEMP,xfecha,xfecha1,xvalorant,xvalor,null)
PRINT xnumemp,' ',xfecha,' ',xvalor
LET actualiza = "S"
END REPORT