{ ------------------------------------------------------------------------------- PROGRAMA : NOPRRP019 OBJETIVO : LISTAR LA RELACION DE CHEQUES ELIMINADOS PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Septiembre 02, 1993 ------------------------------------------------------------------------------- } GLOBALS "cgprgb000.4gl" DEFINE fecha1,fecha2 DATE FUNCTION cgprrp019() ## DEFINICION DEL REGISTRO DE BUSQUEDA CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE DEFINE cheques_e RECORD cuenta_no LIKE cgtb00005.cuenta_no, descripcion CHAR(30), cheque_no LIKE cgtb00005.cheque_no, portador LIKE cgtb00005.portador, fecha DATE, monto LIKE cgtb00005.monto END RECORD # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM cgfmrp019 FROM "cgfmrp018" DISPLAY FORM cgfmrp019 CALL pantalla() DISPLAY "cgprrp019" AT 4,3 DISPLAY "Relacion de Cheques Nulos" AT 6,27 ## INDICA EL TIPO DE PAPEL NECESARIO PARA EL REPORTE. 1 - PAPEL 9 1/2 X 11 ## 2 - PAPEL 14 7/8 X 11 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME fecha1,fecha2 AFTER FIELD fecha1 IF fecha1 IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha1 END IF AFTER FIELD fecha2 IF fecha2 IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha2 END IF IF fecha1 > fecha2 THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fecha1 END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF CONSTRUCT criterio ON a.cuenta_no FROM cuenta_no LET selec = "SELECT UNIQUE a.cuenta_no,b.descripcion,a.cheque_no, ", " a.portador,a.fecha,a.monto ", "FROM cgtb00005 a,cgtb00001 b ", "WHERE a.cuenta_no = b.cuenta_no AND a.status_t = 'N' AND ", " a.fecha BETWEEN ? AND ? AND ",criterio CLIPPED PREPARE comando FROM selec DECLARE busca CURSOR FOR comando OPEN busca USING fecha1,fecha2 IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DISPLAY "Buscando Informacion ... Espere Por Favor" AT 19,14 ATTRIBUTE (REVERSE,BOLD) START REPORT cheq_elim TO "C:\\archivo" DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) ## SE BUSCA LA INFORMACION DE LOS CAMPOS DEL REGISTRO PARA DARLE ## SALIDA AL REPORTE FOREACH busca INTO cheques_e.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF OUTPUT TO REPORT cheq_elim(cheques_e.*) END FOREACH FINISH REPORT cheq_elim CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION ## DEFINICION DEL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE REPORT cheq_elim(x) DEFINE x RECORD cuenta_no LIKE cgtb00005.cuenta_no, descripcion CHAR(30), cheque_no LIKE cgtb00005.cheque_no, portador LIKE cgtb00005.portador, fecha DATE, monto LIKE cgtb00005.monto END RECORD ## DEFINICION DE LAS VARIABLES DE IMPRESION DEFINE dueno CHAR(30) DEFINE doble_on CHAR(3) DEFINE doble_off CHAR(3) DEFINE negrillas_on CHAR(3) DEFINE negrillas_off CHAR(3) DEFINE comp_on CHAR(3) DEFINE comp_off CHAR(3) DEFINE doce CHAR(2) DEFINE normal CHAR(2) DEFINE hora CHAR(5) DEFINE l smallint DEFINE estado CHAR(1) DEFINE inicio,final,cheque,i,tot_che INTEGER DEFINE total,valor DECIMAL(12,2) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 ORDER BY x.cuenta_no,x.cheque_no 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 031 LET comp_off = ASCII 029 LET doce = ASCII 030 LET normal = ASCII 029 LET hora = time PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "cgprrp019", COLUMN 17, "M A R M O T E C H, S. A.", COLUMN 72, "Pag. ",pageno using "###" PRINT COLUMN 17, " Sistema de Contabilidad", COLUMN 72, today using "dd/mm/yy" PRINT COLUMN 17, " Relacion de Cheques Nulos", COLUMN 75, hora PRINT COLUMN 1, "FECHA: DEL ",fecha1 using "dd/mm/yy", " AL ",fecha2 using "dd/mm/yy" PRINT COLUMN 2, "---------------------------------------------------", "------------------------------" PRINT COLUMN 2, "Cheque ", COLUMN 15, "Fecha", COLUMN 26, "Beneficiario", COLUMN 69, "Valor " PRINT COLUMN 2, "----------------------------------------------------", "-----------------------------" PRINT COLUMN 1,negrillas_off BEFORE GROUP OF x.cuenta_no PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "Banco ",x.cuenta_no," ",x.descripcion CLIPPED PRINT COLUMN 1, negrillas_off LET total = 0 LET tot_che = 0 ## AQUI SE INDICA LA IMPRESION DEL DETALLE ON EVERY ROW LET x.monto = 0 LET total = total + x.monto PRINT COLUMN 5, x.cheque_no using "&&&&&&&", COLUMN 15, x.fecha USING "dd/mm/yy", COLUMN 26, x.portador clipped, COLUMN 64, x.monto using "###,###,###.##" AFTER GROUP OF x.cuenta_no PRINT COLUMN 1, negrillas_on PRINT COLUMN 64, "--------------" PRINT COLUMN 26, "Total Cuenta ",x.cuenta_no, COLUMN 64, GROUP SUM(x.monto) using "###,###,###.##" PRINT COLUMN 1, negrillas_off SKIP TO TOP OF PAGE END REPORT