{ ------------------------------------------------------------------------------- PROGRAMA : VEPRRP004 OBJETIVO : Reporte Para Entrada de Diario Ventas PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Enero 20, 1993 ------------------------------------------------------------------------------- } GLOBALS "veprgb000.4gl" DEFINE selec_v CHAR(1000) DEFINE p_vetb04 RECORD LIKE vetb00004.* DEFINE ordenado CHAR(1) FUNCTION veprrp044() # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21, PROMPT LINE 14 OPEN FORM vefmrp044 FROM "vefmrp044" DISPLAY FORM vefmrp044 CALL pantalla() DISPLAY "veprrp044" AT 4,3 DISPLAY "Entrada de Diario Ventas" AT 6,28 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME ordenado AFTER FIELD ordenado IF ordenado IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD ordenado 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.tipo_cliente,a.sec_cliente,a.nombre FROM tipo_cliente,sec_cliente,nombre IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF # Busca los codigos de los productos terminados # Busca las ventas reales del ano actual hasta el mes indicado anteriormente IF ordenado != "A" THEN LET selec_v = "SELECT a.* FROM vetb00004 a WHERE a.status_t IS NULL AND ", criterio CLIPPED," ORDER BY a.tipo_cliente,a.tipo_cliente" ELSE LET selec_v = "SELECT a.* FROM vetb00004 a WHERE a.status_t IS NULL AND ", criterio CLIPPED," ORDER BY a.tipo_cliente,a.nombre" END IF DISPLAY " " AT 19,14 DISPLAY "<>" AT 19,14 ATTRIBUTE (REVERSE) FOREACH movi_vr INTO p_vetb04.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF OUTPUT TO REPORT reporte44(p_vetb04.*) END FOREACH FINISH REPORT reporte44 RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte44(x) DEFINE x RECORD LIKE vetb00004.* DEFINE vendedor,imp,imp1 CHAR (1) DEFINE descrip_venta CHAR(22) DEFINE descrip1 CHAR(30) DEFINE doble_on,doble_off,negrillas_on,negrillas_off,comp_on,comp_off, doce,normal CHAR(2) DEFINE hora CHAR(5) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 LET hora = time LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1,ASCII 27, ASCII 80 PRINT COLUMN 1,"veprrp044", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 73, "Pag. ", pageno using "###" PRINT COLUMN 31, "Sistema de Ventas", COLUMN 73, today using "dd/mm/yy" IF ordenado = "A" THEN PRINT COLUMN 24, "Catalogo de Clientes Alfabetico", COLUMN 76, hora ELSE PRINT COLUMN 25, "Catalogo de Clientes Numerico", COLUMN 76, hora END IF PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" PRINT COLUMN 2, "Cliente" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" BEFORE GROUP OF x.tipo_cliente SKIP 2 LINE IF x.tipo_cliente = 12 THEN PRINT "**** CLIENTES LOCALES ****" ELSE PRINT "**** CLIENTES DEL EXTWERIOR ****" END IF ON EVERY ROW PRINT COLUMN 2, x.tipo_cliente USING "&&","-", x.sec_cliente USING "&&&&"," ", x.nombre CLIPPED AFTER GROUP OF x.tipo_cliente SKIP 1 LINE PRINT COLUMN 2, "Total Registro Por Mercado ---> ", GROUP COUNT(*) USING "<<<,<<<,<<<" SKIP 1 LINE ON LAST ROW SKIP 1 LINE PRINT COLUMN 2, "Total Registro Impresos ---> ", COUNT(*) USING "<<<,<<<,<<<" END REPORT