{ ============================================================================== PROGRAMA : CGPRRP025 SISTEMA : Sistema de Contabilidad General Objetivo : Cheques Entregados en un Rango de Fechas PROGRAMADOR : Tadeo A. Ferreras FECHA : Dic. 05, 1995 ============================================================================== } GLOBALS "cgprgb000.4gl" DEFINE datos_25 RECORD banco CHAR(8), cheque_no INTEGER, fecha DATE, portador CHAR(60), monto DECIMAL(12,2), recibido_por CHAR(60), cedula CHAR(20), fecha_ent DATE, hora_ent CHAR(5) END RECORD DEFINE fecha_inicial,fecha_final DATE FUNCTION cgprrp025() LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM cgfmrp025 FROM "cgfmrp025" DISPLAY FORM cgfmrp025 DISPLAY "cgprrp025" AT 4,3 DISPLAY "Cheques Entragados en Rango de Fechas" AT 6,21 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 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_inicial > fecha_final THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fecha_inicial 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 UNIQUE a.banco,a.cheque_no,b.fecha,b.portador,b.monto, ", "a.recibido_por,a.cedula,a.fecha_ent,a.hora_ent , ", "c.* ", "FROM cgtb00032 a,cgtb00005 b , outer cgtb00033 c ", "WHERE (a.cheque_no=b.cheque_no) AND ", "a.banco = c.banco and a.banco = b.cuenta_no and ", "a.fecha_ent BETWEEN ? AND ? AND ", "(a.status_t IS NULL) ORDER BY 1,2 " DISPLAY "<<>>" AT 19,14 ATTRIBUTE(blue) PREPARE comando FROM selec DECLARE busco CURSOR FOR comando OPEN busco USING fecha_inicial,fecha_final START REPORT reporte_25 TO "C:\\archivo" DISPLAY "<<>>" AT 19,14 ATTRIBUTE(blue) WHILE status != NOTFOUND FETCH busco INTO datos_25.*,entrega1.* 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 reporte_25(datos_25.*,entrega1.*) END WHILE FINISH REPORT reporte_25 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_25(x,j) DEFINE x RECORD banco CHAR(8), cheque_no INTEGER, fecha DATE, portador CHAR(60), monto DECIMAL(12,2), recibido_por CHAR(60), cedula CHAR(20), fecha_ent DATE, hora_ent CHAR(5) END RECORD DEFINE j RECORD LIKE cgtb00033.* ## DEFINICION DE LAS VARIABLES DE IMPRESION DEFINE descripcion CHAR(30) DEFINE doble_on CHAR(3) DEFINE doble_off CHAR(3) DEFINE negrillas_on CHAR(6) DEFINE negrillas_off CHAR(6) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(3) DEFINE doce CHAR(3) DEFINE normal CHAR(3) DEFINE hora CHAR(5) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 FORMAT PAGE HEADER LET doble_on = ASCII 001 LET doble_off = ASCII 002 LET negrillas_on = ASCII 027, ASCII 098 LET negrillas_off = ASCII 027, ASCII 099 LET comp_on = ASCII 31 LET comp_off = ASCII 029 LET doce = ASCII 030 LET normal = ASCII 029 LET hora = time ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 1, negrillas_on,comp_on PRINT COLUMN 1, "cgprrp025", COLUMN 77, "M A R M O T E C H, S. A.", COLUMN 193, "Pag. ",pageno using "###" PRINT COLUMN 77, " Sistema de Contabilidad General", COLUMN 193, today using "dd/mm/yy" PRINT COLUMN 77, " Validacion Cheques Emitidos", COLUMN 196, hora SKIP 1 LINE PRINT COLUMN 1, "FECHA: Del ", fecha_inicial USING "dd/mm/yy", " Al ", fecha_final USING "dd/mm/yy" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------" PRINT COLUMN 181, "Fecha", COLUMN 193, "Hora" PRINT COLUMN 1, "Cheque No.", COLUMN 12, "Fecha ", COLUMN 22, "Beneficiario", COLUMN 84, "Monto", COLUMN 98, "Recibido Por", COLUMN 160, "Cedula", COLUMN 182, "Entrega", COLUMN 194, "Entrega" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------" PRINT negrillas_off ## AQUI SE INDICA LA IMPRESION DEL DETALLE BEFORE GROUP OF x.banco SELECT a.descripcion INTO descripcion FROM cgtb00001 a WHERE a.cuenta_no = x.banco AND a.status_t IS NULL PRINT negrillas_on PRINT COLUMN 1, x.banco CLIPPED," ",descripcion,negrillas_off ON EVERY ROW PRINT COLUMN 1, x.cheque_no USING "######", COLUMN 12, x.fecha USING "dd/mm/yy", COLUMN 22, x.portador CLIPPED, COLUMN 84, x.monto USING "##,###,###.##", COLUMN 98, x.recibido_por CLIPPED, COLUMN 160, x.cedula CLIPPED, COLUMN 182, x.fecha_ent USING "dd/mm/yy", COLUMN 195, x.hora_ent CLIPPED IF j.cheque_no is not null THEN PRINT COLUMN 1, j.cheque_no USING "######", COLUMN 12, j.fecha USING "dd/mm/yy", COLUMN 22, j.portador CLIPPED, COLUMN 84, j.monto USING "##,###,###.##", COLUMN 98, j.recibido_por CLIPPED, COLUMN 160, j.cedula CLIPPED, COLUMN 182, j.fecha_ent USING "dd/mm/yy", COLUMN 195, j.hora_ent CLIPPED END IF ON LAST ROW PRINT negrillas_on PRINT "Total Cheques Entregados ", COUNT(*) USING "<<,<<<" PRINT negrillas_on,comp_off END REPORT