{ ------------------------------------------------------------------------------- PROGRAMA : CGPRRP027 OBJETIVO : OTRAS RETENCIONES DE LOS CHEQUES PROGRAMADOR : Ing. Juan F. Soto FECHA REALIZACION : Febrero 21, 1996 ------------------------------------------------------------------------------- } GLOBALS "cgprgb000.4gl" DEFINE fecha1,fecha2 DATE FUNCTION cgprrp027() ## DEFINICION DEL REGISTRO DE BUSQUEDA CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE DEFINE pcheques RECORD cheque_no INTEGER, fecha DATE, portador CHAR(30), monto LIKE cgtb00005.monto, retenido DECIMAL(12,2) END RECORD, p_ref1 CHAR(9) # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM cgfmrp027 FROM "cgfmrp027" DISPLAY FORM cgfmrp027 CALL pantalla() DISPLAY "cgprrp027" AT 4,3 DISPLAY "Relacion de Pagos Para Retibuciones Complementarias" AT 6,15 ## 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 OR fecha1 > fecha2 THEN LET numero_msg = 16 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 DECLARE busca CURSOR FOR SELECT UNIQUE a.cheque_no,a.fecha,a.portador,a.monto FROM cgtb00005 a WHERE a.fecha BETWEEN fecha1 AND fecha2 AND (a.status_t IS NULL or a.status_t = "C") ORDER BY 3 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 otras_r TO PIPE "lp" 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 pcheques.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET p_ref1 = "CK.",pcheques.cheque_no using "&&&&&&" SELECT credito INTO pcheques.retenido FROM cgtb00004 WHERE ref = p_ref1 and cuenta_no = "2173" and fecha between fecha1 and fecha2 and credito > 0 IF STATUS != NOTFOUND THEN OUTPUT TO REPORT otras_r(pcheques.*) END IF LET pcheques.retenido = 0 END FOREACH FINISH REPORT otras_r CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION ## DEFINICION DEL REGISTRO DE IMPRESION CON LOS CAMPOS NECESARIOS PARA ## EL REPORTE REPORT otras_r(x) DEFINE x RECORD cheque_no INTEGER, fecha DATE, portador CHAR(30), monto LIKE cgtb00005.monto, retenido DECIMAL(12,2) 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 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, normal, COLUMN 2, "cgprrp027", COLUMN 14, negrillas_on, COLUMN 15, doble_on, COLUMN 16, comp_on, COLUMN 17, "M A R M O T E C H, S. A.", COLUMN 65, negrillas_off, COLUMN 66, doble_off, COLUMN 67, comp_off, COLUMN 77, "Pag. ",pageno using "###" PRINT COLUMN 28, "Sistema de Contabilidad", COLUMN 75, today using "dd/mm/yy" PRINT COLUMN 20, "Relacion De Pagos Para Retibuciones Complementarias", COLUMN 78, hora PRINT COLUMN 28, "Del"," ",fecha1 using "dd/mm/yy", " Al ",fecha2 using "dd/mm/yy", COLUMN 75, negrillas_off PRINT doce PRINT COLUMN 2, "---------------------------------------------------", "---------------------------------------------" PRINT COLUMN 2, "Cheque No.", COLUMN 15, "Fecha", COLUMN 26, "Nombre", COLUMN 70, "Monto CK.", COLUMN 90, "Retenido" PRINT COLUMN 90, "S/2173" PRINT COLUMN 2, "----------------------------------------------------", "--------------------------------------------" skip 1 line ## AQUI SE INDICA LA IMPRESION DEL DETALLE ON EVERY ROW 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 "###,###,###.##", COLUMN 89, x.retenido using "###,###.##" AFTER GROUP OF x.portador PRINT COLUMN 1, negrillas_on , COLUMN 66, "--------------", COLUMN 88, "---------------" PRINT COLUMN 26, x.portador clipped, COLUMN 64, GROUP SUM(x.monto) + GROUP SUM(x.retenido) using "###,###,###.##" , COLUMN 85, GROUP SUM(x.retenido) using "###,###,###.##" PRINT COLUMN 1, negrillas_off SKIP 1 LINE ON LAST ROW PRINT COLUMN 1, negrillas_on , COLUMN 66, "==============", COLUMN 88, "===============" PRINT COLUMN 26, "Total General", COLUMN 64, SUM(x.monto) + SUM(x.retenido) using "###,###,###.##" , COLUMN 85, SUM(x.retenido) using "###,###,###.##" PRINT COLUMN 1, negrillas_off END REPORT