Files
MBS/PROYECTO/gedir/geprrp006.4gl
T

179 lines
5.1 KiB
Plaintext

{
=======================================================================
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