Files
MBS/PROYECTO/cpdir/cpprrp015.4gl
T

294 lines
9.6 KiB
Plaintext

{
######################################################################
Programa : CPPRRP015
Proceso : Registros Eliminados
Sistema : Cuenta Por Pagar
Autor : Tadeo A. Ferreras F.
Fecha : Mayo 31, 1994
#######################################################################
}
GLOBALS
"cpprgb000.4gl"
DEFINE selec1 CHAR(1000)
DEFINE fecha_in,fecha_fi DATE, #DATETIME YEAR TO DAY,
cod_sp INTEGER
DEFINE prt_mvto11 RECORD
factura LIKE cptb00005.factura,
cod_sp LIKE cptb00005.cod_sp,
cod_sp_sec LIKE cptb00005.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
fecha LIKE cptb00005.fecha,
valor_fac LIKE cptb00006.valor,
cuenta_no LIKE cptb00005.cuenta_no,
departamento LIKE cptb00005.departamento,
cod_aux LIKE cptb00005.cod_aux,
cod_sec LIKE cptb00005.cod_sec,
refer LIKE cptb00005.num_doc,
debito LIKE cptb00005.debito,
credito LIKE cptb00005.credito
END RECORD
FUNCTION cpprrp015()
CLEAR SCREEN
OPTIONS
FORM LINE 8
#WHENEVER ERROR CONTINUE
OPEN FORM cpfmrp015 FROM "cpfmrp015"
CALL PANTALLA()
DISPLAY "cpprrp015" AT 4,3 ATTRIBUTE(blue)
DISPLAY "Registros Eliminados" AT 6,29
DISPLAY FORM cpfmrp015
LET int_flag = FALSE
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
INPUT BY NAME fecha_in,fecha_fi,cod_sp
AFTER FIELD fecha_in
IF fecha_in IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_in
END IF
AFTER FIELD fecha_fi
IF fecha_fi IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_fi
END IF
IF fecha_fi < fecha_in THEN
LET numero_msg = 51
CALL msg(numero_msg)
NEXT FIELD fecha_in
END IF
AFTER FIELD cod_sp
IF cod_sp IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_sp
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET selec =
"SELECT a.factura,a.cod_sp,a.cod_sp_sec,b.nom_sp,a.fecha,c.valor,a.cuenta_no, ",
" a.departamento,a.cod_aux,a.cod_sec,a.num_doc,a.debito,a.credito ",
"FROM cptb00005 a,cotb00001 b,cptb00006 c ",
"WHERE a.cod_sp = b.cod_sp AND a.cod_sp_sec = b.cod_sp_sec and ",
" a.cod_sp = c.cod_sp AND a.cod_sp_sec = c.cod_sp_sec and ",
" a.factura = c.num_doc AND c.tipo_doc[1] = 'F' AND a.status_t IS NULL ",
" AND c.fech_crea BETWEEN (?) AND (?) AND c.cod_sp = ? "
DISPLAY "<< Buscando Informacion .... Espere Por Favor. >>" AT 19,14
ATTRIBUTE(REVERSE,BOLD)
PREPARE comando FROM selec
DECLARE movto CURSOR FOR comando
OPEN movto USING fecha_in,fecha_fi,cod_sp
START REPORT reg_elim TO "C:\\ARCHIVO"
DISPLAY "<< Impresion En Proceso .... Espere Por Favor. >>" AT 19,14
ATTRIBUTE(REVERSE,BOLD)
WHILE STATUS != NOTFOUND
FETCH movto INTO prt_mvto11.*
IF STATUS = NOTFOUND THEN
EXIT WHILE
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
OUTPUT TO REPORT reg_elim(prt_mvto11.*)
END WHILE
FINISH REPORT reg_elim
RUN "type C:\\archivo > %USPRINT%"
END FUNCTION
REPORT reg_elim(x)
DEFINE x RECORD
factura LIKE cptb00005.factura,
cod_sp LIKE cptb00005.cod_sp,
cod_sp_sec LIKE cptb00005.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
fecha LIKE cptb00005.fecha,
valor_fac LIKE cptb00006.valor,
cuenta_no LIKE cptb00005.cuenta_no,
departamento LIKE cptb00005.departamento,
cod_aux LIKE cptb00005.cod_aux,
cod_sec LIKE cptb00005.cod_sec,
refer LIKE cptb00005.num_doc,
debito LIKE cptb00005.debito,
credito LIKE cptb00005.credito
END RECORD
DEFINE reg_final RECORD
cuenta_no CHAR(11),
departamento INTEGER,
cod_aux INTEGER,
cod_sec INTEGER,
num_doc CHAR(10),
debito DECIMAL(12,2),
credito DECIMAL(12,2)
END RECORD,
codigo_a CHAR(7)
DEFINE fecha1,fecha2 DATE
DEFINE nom_sup CHAR(45)
DEFINE sale CHAR(1)
DEFINE valor2,valor1,total_debito,total_credito,t_debito,t_credito,
total_supl1,total_supl2,total1 DECIMAL(12,2)
DEFINE comp_on CHAR(3),
comp_off CHAR(3),
doble_on CHAR(3),
doble_off CHAR(3),
negrillas_on CHAR(6),
negrillas_off CHAR(6),
hora CHAR(5)
OUTPUT
LEFT MARGIN 0
TOP MARGIN 1
BOTTOM MARGIN 4
ORDER BY x.cod_sp_sec,x.factura,x.cuenta_no
FORMAT
PAGE HEADER
LET negrillas_on = ASCII 27, ASCII 098
LET negrillas_off = ASCII 27, ASCII 099
LET doble_on = ASCII 27, ASCII 001
LET doble_off = ASCII 27, ASCII 002
LET comp_on = ASCII 31
LET comp_off = ASCII 029
LET hora = time
LET lj = (82 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1,comp_off
PRINT COLUMN 1, "cpprrp015",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 75,"Pag.", pageno using "###"
PRINT COLUMN 1, negrillas_on,
COLUMN 30, "SISTEMA CUENTA POR PAGAR",
COLUMN 76, today using "dd/mm/yy"
PRINT COLUMN 30, "Registros Eliminados",
COLUMN 77, hora
PRINT COLUMN 28,"DEL ", fecha_in USING "dd/mm/yy",
" AL ",fecha_fi USING "dd/mm/yy"
PRINT comp_on
PRINT COLUMN 1, "----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"------------------------"
PRINT COLUMN 1, "Suplidor",
COLUMN 40, "Factura",
COLUMN 52, "Fecha",
COLUMN 62, "Valor Fact.",
COLUMN 75, "Cuenta",
COLUMN 85, "Dpto. ",
COLUMN 91, "Cta. Aux.",
COLUMN 99, "Refer.",
COLUMN 115, "Debe",
COLUMN 131, "Haber"
PRINT COLUMN 1, "----------------------------------------",
"----------------------------------------",
"----------------------------------------",
"------------------------"
PRINT negrillas_off
BEFORE GROUP OF x.cod_sp_sec
LET total_supl1 = 0
LET total_supl2 = 0
PRINT COLUMN 1, x.cod_sp USING "&&","-",
x.cod_sp_sec USING "&&&&"," ",
x.nom_sp CLIPPED;
BEFORE GROUP OF x.factura
LET total_debito = 0
LET total_credito = 0
PRINT COLUMN 40, x.factura CLIPPED,
COLUMN 52, x.fecha USING "dd/mm/yy",
COLUMN 62, x.valor_fac USING "#,###,###.##";
ON EVERY ROW
IF x.debito IS NULL THEN
LET x.debito = 0
END IF
IF x.credito IS NULL THEN
LET x.credito = 0
END IF
LET total_debito = total_debito + x.debito
LET total_credito = total_credito + x.credito
LET total_supl1 = total_supl1 + x.debito
LET total_supl2 = total_supl2 + x.credito
IF x.cod_aux IS NOT NULL THEN
LET codigo_a = x.cod_aux USING "##","-",x.cod_sec USING "####"
ELSE
LET codigo_a = null
END IF
PRINT COLUMN 75, x.cuenta_no CLIPPED,
COLUMN 85, x.departamento USING "####",
COLUMN 91, codigo_a CLIPPED,
COLUMN 99, x.refer CLIPPED,
COLUMN 111, x.debito USING "###,###,###.##",
COLUMN 126, x.credito USING "###,###,###.##"
AFTER GROUP OF x.factura
PRINT COLUMN 111, "--------------",
COLUMN 126, "--------------"
PRINT COLUMN 111, GROUP SUM(x.debito) USING "###,###,###.##",
COLUMN 126, GROUP SUM(x.credito) USING "###,###,###.##"
SKIP 1 LINE
IF total1 IS NULL THEN
LET total1 = 0
END IF
LET total1 = total1 + x.valor_fac
AFTER GROUP OF x.cod_sp_sec
PRINT COLUMN 111, "--------------",
COLUMN 126, "--------------"
PRINT COLUMN 111, GROUP SUM(x.debito) USING "###,###,###.##",
COLUMN 126, GROUP SUM(x.credito) USING "###,###,###.##"
PRINT COLUMN 111, "==============",
COLUMN 126, "=============="
SKIP 2 LINE
ON LAST ROW
PRINT COLUMN 1, "-------------------------------------",
"-------------------------------------",
"-------------------------------------",
"-----------------------"
PRINT comp_off
END REPORT