65 lines
1.7 KiB
Plaintext
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 |