Files
MBS/PROYECTO/ccdir/ccprrp032.4gl
T

214 lines
7.0 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : CCPRRP032
OBJETIVO : Diferencia entre Valor Grabado y Calculado
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Agosto 3, 1994
-------------------------------------------------------------------------------
}
GLOBALS "ccprgb000.4gl"
DEFINE idx_1, idx_2, idx_3 SMALLINT
DEFINE fecha_inicial, fecha_final DATE
DEFINE salir, salir2, salir3, tipo_venta CHAR(1)
DEFINE selec5, selec6 CHAR(1500)
DEFINE datos_32 RECORD
factura INTEGER,
fecha_factura DATE,
monto_bruto DECIMAL(10,2),
monto_cal DECIMAL(10,2)
END RECORD
DEFINE datos_ft RECORD
factura SMALLINT,
valor_ft DECIMAL(12,2),
valor_cal DECIMAL(12,2)
END RECORD
FUNCTION ccprrp032()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM ccfmrp032 FROM "ccfmrp028"
DISPLAY FORM ccfmrp032
CALL pantalla()
DISPLAY "ccprrp032" AT 4,3
DISPLAY "Diferencia Entre Valor Gravado y Calculado" AT 6,18
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
INPUT BY NAME fecha_inicial,fecha_final
AFTER FIELD fecha_inicial
IF fecha_inicial is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_inicial
END IF
BEFORE FIELD fecha_final
LET fecha_final = today
AFTER FIELD fecha_final
IF fecha_final is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_final
END IF
IF fecha_final < fecha_inicial THEN
LET numero_msg = 86
CALL msg(numero_msg)
NEXT FIELD fecha_final
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
# Busca las datos_32 locales para el rango de fechas especificado
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14
ATTRIBUTE (REVERSE,BOLD)
#LET selec4 =
DECLARE busca CURSOR FOR
SELECT a.factura,a.fecha_factura,a.sub_total,SUM(b.cantidad * b.precio)
FROM vetb00002 a, vetb00003 b
WHERE a.factura = b.factura AND a.status_t IS NULL AND b.status_t IS NULL
AND a.fecha_factura BETWEEN fecha_inicial and fecha_final
GROUP BY 1,2,3 HAVING SUM(b.cantidad*b.precio) <> a.sub_total
DISPLAY " " AT 20,14
START REPORT reporte_32 TO "C:\\archivo"
DISPLAY " " AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
FOREACH busca INTO datos_32.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
IF datos_32.monto_bruto IS NULL THEN
LET datos_32.monto_bruto = 0
END IF
IF datos_32.monto_cal IS NULL THEN
LET datos_32.monto_cal = 0
END IF
IF (datos_32.monto_bruto <> datos_32.monto_cal) THEN
OUTPUT TO REPORT reporte_32(datos_32.*)
END IF
END FOREACH
FINISH REPORT reporte_32
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte_32(x)
DEFINE x RECORD
factura INTEGER,
fecha_factura DATE,
monto_bruto DECIMAL(10,2),
monto_cal DECIMAL(10,2)
END RECORD
DEFINE nombre,apellido CHAR(30)
DEFINE nombre_cia CHAR(20)
DEFINE descuento DECIMAL(10,2)
DEFINE total1,total2,valor_factura DECIMAL(10,2)
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(2)
DEFINE negrillas_off CHAR(2)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(2)
DEFINE doce CHAR(2)
DEFINE normal CHAR(3)
DEFINE normall CHAR(3)
DEFINE comprimido CHAR(3)
DEFINE hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
ORDER BY x.factura
FORMAT
PAGE HEADER
LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_off = ASCII 18
LET comp_on = ASCII 031
LET doce = ASCII 27, ASCII 77
LET normal = ASCII 029
LET normal = ASCII 27, ASCII 80
LET hora = time
LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, negrillas_on
PRINT COLUMN 1, "ccprrp032",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 73, "Pag. ",pageno USING "###"
PRINT COLUMN 17, " Sistema de Cuenta Por Cobrar ",
COLUMN 73, today USING "dd/mm/yyyy"
PRINT COLUMN 17, " Diferencia Entre Valor Gravado y Calculado",
COLUMN 76, hora
SKIP 1 LINES
PRINT COLUMN 1, "Fecha: Del ", fecha_inicial USING "dd/mm/yyyy",
" Al ", fecha_final USING "dd/mm/yyyy"
PRINT COLUMN 1, "--------------------------------------------",
"------------------------------------"
PRINT COLUMN 1, "Factura",
COLUMN 11, "Fecha",
COLUMN 23, "Valor Venta",
COLUMN 44, "valor Calculado",
COLUMN 71, "Diferencia"
PRINT COLUMN 1, "--------------------------------------------",
"------------------------------------"
PRINT COLUMN 1, negrillas_off
ON EVERY ROW
PRINT COLUMN 1, x.factura USING "######",
COLUMN 11, x.fecha_factura USING "dd/mm/yyyy",
COLUMN 22, x.monto_bruto USING "###,###,###.##",
COLUMN 44, x.monto_cal USING "###,###,###.##",
COLUMN 67, x.monto_bruto - x.monto_cal USING "###,###,###.##"
ON LAST ROW
PRINT COLUMN 1, negrillas_on
PRINT COLUMN 1, "Total General ---> ",
COLUMN 22, SUM(x.monto_bruto) USING "###,###,###.##",
COLUMN 44, SUM(x.monto_cal) USING "###,###,###.##",
COLUMN 67, SUM(x.monto_bruto-x.monto_cal)
USING "###,###,###.##"
PRINT negrillas_off
END REPORT