{ ======================================================================= Programa : GEPRRP005 Sistema : Sistema de Informacion Gerencia Proceso : Clientes con Ventas Mayores a X Cantidad Autor : Tadeo A. Ferreras Fecha : Junio 21,1993 ======================================================================= } GLOBALS "geprgb000.4gl" DEFINE ger_comp2 RECORD tipo_cliente SMALLINT, sec_cliente SMALLINT, nombre CHAR(30), limite DECIMAL(12,2), neto LIKE vetb00002.neto, secuencia SMALLINT END RECORD, cod1 SMALLINT DEFINE fecha_in,fecha_fi DATE, total2,cantidad1 DECIMAL(12,2) FUNCTION geprrp005() LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM gefmrp005 FROM "gefmrp005" DISPLAY FORM gefmrp005 CALL pantalla() DISPLAY "geprrp005" AT 4,3 ATTRIBUTE(RED) DISPLAY "Clientes Con Ventas Mayores a X Cantidad" AT 6,20 ATTRIBUTE(BLACK) LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime, letras.*, archivo INPUT BY NAME fecha_in,fecha_fi,cantidad1 ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime,letras.*, archivo AFTER FIELD fecha_in IF fecha_in IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_in END IF BEFORE FIELD fecha_fi LET fecha_fi = today DISPLAY BY NAME fecha_fi AFTER FIELD fecha_fi IF fecha_fi IS NULL THEN LET fecha_fi = today END IF IF fecha_fi < fecha_in THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fecha_fi END IF DISPLAY BY NAME fecha_fi AFTER FIELD cantidad1 IF cantidad1 IS NULL OR cantidad1 < 0 THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD cantidad1 END IF END INPUT IF int_flag tHEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF SELECT SUM(a.neto) INTO total2 FROM vetb00002 a,vetb00004 b WHERE a.sec_cliente = b.sec_cliente AND a.status_t IS NULL AND b.status_t IS NULL AND a.fecha_factura BETWEEN fecha_in AND fecha_fi LET selec = "SELECT a.tipo_cliente,a.sec_cliente,b.nombre,b.limite_credito,SUM(a.sub_total) ", "FROM vetb00002 a,vetb00004 b ", "WHERE a.status_t IS NULL AND a.fecha_factura between ? AND ? AND ", " a.tipo_cliente = b.tipo_cliente and ", " a.sec_cliente = b.sec_cliente AND b.status_t IS NULL ", " and a.ventas = '1' ", "GROUP BY 1,2,3,4 ORDER BY 5 DESC,1,2 " DISPLAY "Buscando Informacion..... Espere por Favor" AT 17,14 ATTRIBUTE(BOLD) PREPARE comando FROM selec DECLARE buscar CURSOR FOR comando OPEN buscar USING fecha_in,fecha_fi START REPORT gerencia5 TO "clientes" DISPLAY "Impresion en Proceso..... Espere por Favor " AT 17,14 INITIALIZE letras.* TO NULL LET idx = 1 WHILE STATUS != NOTFOUND FETCH buscar INTO ger_comp2.* 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 LET ger_comp2.secuencia = idx { SELECT a.neto,a.fecha_factura INTO ger_comp2.neto,ger_comp2.fecha FROM vetb00002 a WHERE a.factura = ger_comp2.factura } OUTPUT TO REPORT gerencia5(ger_comp2.*) LET idx = idx + 1 END WHILE FINISH REPORT gerencia5 #RUN imprime END FUNCTION REPORT gerencia5(x) DEFINE x RECORD tipo_cliente SMALLINT, sec_cliente SMALLINT, nombre CHAR(30), limite DECIMAL(12,2), neto LIKE vetb00002.neto, secuencia SMALLINT END RECORD DEFINE descrip,descrip1 CHAR(30), hora CHAR(5) OUTPUT LEFT MARGIN 2 TOP MARGIN 1 ORDER BY x.secuencia FORMAT PAGE HEADER LET hora = time { PRINT COLUMN 1, letras.negrillas_on PRINT COLUMN 1, "geprrp005", COLUMN 17, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 73, "Pag. ", pageno USING "###" PRINT COLUMN 17, " Sistema de Informacion Gerencial", COLUMN 73, today USING "dd/mm/yyyy" PRINT COLUMN 18, "Clientes con Ventas Mayores a ", cantidad1 USING "###,###,##&.&&", COLUMN 76, hora SKIP 1 LINES PRINT COLUMN 1, "Fecha: Del ",fecha_in USING "MM/DD/yyyy", " Al ",fecha_fi USING "MM/DD/yyyy" PRINT COLUMN 1, "----------------------------------------", "----------------------------------------", "-----------------------" PRINT COLUMN 1, "Secuencia", COLUMN 11, "Cliente", COLUMN 53, "Limite Credito", COLUMN 70, "Factura", COLUMN 80, "Fecha", COLUMN 98, "Monto" PRINT COLUMN 1, "----------------------------------------", "----------------------------------------", "-----------------------" PRINT letras.negrillas_off } ON EVERY ROW PRINT COLUMN 3, x.secuencia USING "#,###", COLUMN 11, x.tipo_cliente USING "&&","-", x.sec_cliente USING "&&&&"," ", x.nombre, 2 SPACES, x.limite USING "###,###,###.##", 2 SPACES, x.neto USING "###,###,###.##" ON LAST ROW PRINT COLUMN 1, letras.negrillas_on PRINT COLUMN 30, "TOTAL VENTAS...."," ", COLUMN 74, SUM(x.neto) USING "###,###,###.##" END REPORT