{ ======================================================================= Programa : GEPRRP006 Sistema : Sistema de Informacion Gerencia Proceso : Clientes con Mayores Ventas Autor : Tadeo A. Ferreras Fecha : Junio 21,1993 ======================================================================= } GLOBALS "geprgb000.4gl" DEFINE ger_comp6 RECORD tipo_cliente SMALLINT, sec_cliente SMALLINT, nombre CHAR(30), cantidad DECIMAL(10,2), secuencia SMALLINT END RECORD, cod2 SMALLINT DEFINE fecha_in,fecha_fi DATE, cod_cli SMALLINT, total2,cantidad1 DECIMAL(12,2) FUNCTION geprrp006() LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM gefmrp006 FROM "gefmrp006" CALL pantalla() DISPLAY "geprrp006" AT 4,3 ATTRIBUTE(RED) DISPLAY "Clientes Con Ventas Mayores" AT 6,27 ATTRIBUTE(BLACK) DISPLAY FORM gefmrp006 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime, letras.*, archivo INPUT BY NAME fecha_in,fecha_fi 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 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 END INPUT IF int_flag tHEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT a.tipo_cliente,a.sec_cliente,b.nombre,SUM(a.neto) ", "FROM vetb00002 a,vetb00004 b ", "WHERE (a.tipo_cliente=b.tipo_cliente AND a.sec_cliente=b.sec_cliente) ", " AND (a.status_t IS NULL) AND (a.fecha_factura between ? AND ?) ", " AND a.ventas = '2' ", "GROUP BY 1,2,3 HAVING SUM(a.neto) > 0 ORDER BY 4 DESC,1,2 " DISPLAY "Buscando Informacion..... Espere por Favor" AT 17,14 ATTRIBUTE(BOLD) PREPARE comando1 FROM selec DECLARE buscar1 CURSOR FOR comando1 OPEN buscar1 USING fecha_in,fecha_fi DISPLAY "Impresion en Proceso..... Espere por Favor" AT 17,14 ATTRIBUTE(BLINK) LET idx = 1 START REPORT gerencia6 TO "gerp6" WHILE STATUS != NOTFOUND FETCH buscar1 INTO ger_comp6.* IF STATUS = NOTFOUND THEN EXIT WHILE END IF { IF idx > 1 THEN EXIT WHILE END IF } IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE FINISH REPORT gerencia6 RUN imprime END IF LET ger_comp6.secuencia = idx OUTPUT TO REPORT gerencia6(ger_comp6.*) LET idx = idx + 1 END WHILE FINISH REPORT gerencia6 # RUN imprime END FUNCTION REPORT gerencia6(x) DEFINE x RECORD tipo_cliente SMALLINT, sec_cliente SMALLINT, nombre CHAR(30), cantidad DECIMAL(10,2), secuencia SMALLINT END RECORD DEFINE descrip,descrip1 CHAR(30), hora CHAR(5) OUTPUT LEFT MARGIN 2 TOP MARGIN 1 FORMAT PAGE HEADER LET hora = time PRINT COLUMN 1, letras.negrillas_on PRINT COLUMN 1, "geprrp006", 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 80, today using "dd/mm/yyyy" PRINT COLUMN 17, " Cliente de Mayor Venta ", COLUMN 83, hora SKIP 1 LINE PRINT COLUMN 1, "Fecha: Del ",fecha_in USING "dd/mm/yyyy", " Al ", fecha_fi USING "dd/mm/yyyy" PRINT COLUMN 1, "----------------------------------------", "----------------------------------------" PRINT COLUMN 3, "Secuencia", COLUMN 15, "Cliente", COLUMN 73, "Cantidad" PRINT COLUMN 1, "----------------------------------------", "----------------------------------------" PRINT letras.negrillas_off ON EVERY ROW PRINT COLUMN 3, x.secuencia, COLUMN 15, x.tipo_cliente USING "&&","-", x.sec_cliente USING "&&&&"," ",x.nombre clipped, COLUMN 67, x.cantidad USING "###,###,###.##" ON LAST ROW PRINT COLUMN 67, "--------------" PRINT COLUMN 67, SUM(x.cantidad) USING "###,###,###.##" END REPORT