Files
MBS/PROYECTO/vedir/veprmt030.4gl
T

182 lines
4.9 KiB
Plaintext

GLOBALS
"veprgb000.4gl"
DEFINE archivo CHAR(9)
DEFINE p_fecha DATE
DEFINE nomb1,nomb2 CHAR(20)
DEFINE pendiente RECORD
num_doc INTEGER,
valor DECIMAL(12,2)
END RECORD
DEFINE ac_vend RECORD
vend_del SMALLINT,
nombre_del CHAR(30),
vend_al SMALLINT,
nombre_al CHAR(30)
END RECORD
FUNCTION veprmt030()
OPTIONS
ERROR LINE 24,
FORM LINE 9
OPEN FORM vefmmt030 FROM "vefmmt030"
DISPLAY FORM vefmmt030
CALL pantalla()
DISPLAY "veprmt030" AT 4,2
DISPLAY "Cambio de Vendedor" AT 6,30
INITIALIZE ac_vend.* TO NULL
INPUT BY NAME ac_vend.* ATTRIBUTE (BOLD)
AFTER FIELD vend_del
IF ac_vend.vend_del is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD vend_del
END IF
SELECT nom1_emp,apell1_emp INTO nomb1,nomb2 FROM adtb00003
WHERE num_emp = ac_vend.vend_del
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD vend_del
END IF
LET ac_vend.nombre_del = nomb1 clipped," ",nomb2 clipped
DISPLAY BY NAME ac_vend.nombre_del ATTRIBUTE (BOLD)
AFTER FIELD vend_al
IF ac_vend.vend_al is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD vend_al
END IF
SELECT nom1_emp,apell1_emp INTO nomb1,nomb2 FROM adtb00003
WHERE num_emp = ac_vend.vend_al
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD vend_al
END IF
LET ac_vend.nombre_al = nomb1 clipped," ",nomb2 clipped
DISPLAY BY NAME ac_vend.nombre_al ATTRIBUTE (BOLD)
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
CONSTRUCT BY NAME criterio ON aplica_a
LET selec =
"SELECT aplica_a,sum(valor+monto_desc) FROM cctb00001 ",
"WHERE ",criterio clipped,
" and cod_emp_sec = ? and ",
" status_t is null ",
" GROUP BY 1 ",
" HAVING sum(valor+monto_desc) != 0 "
DISPLAY "<< Buscando Facturas Pendientes... Espere Por Favor >> " AT 18,14
PREPARE comando FROM selec
DECLARE busca CURSOR FOR comando
OPEN busca USING ac_vend.vend_del
# LET archivo = "act",today using "ddmmyy"
START REPORT actual TO "archivo"
WHILE status != notfound
FETCH busca INTO pendiente.*
IF status = notfound THEN
EXIT WHILE
END IF
SELECT fecha_factura INTO p_fecha FROM vetb00002 WHERE
factura = pendiente.num_doc
DISPLAY "<< Reporte Generandose Espere Por Favor >> " AT 18,14
OUTPUT TO REPORT actual(ac_vend.*,pendiente.*,p_fecha)
DISPLAY "<< Actualizando Tablas Espere Por Favor >> " AT 18,14
UPDATE vetb00028 set sec_vend = ac_vend.vend_al,
us_crea = user,
fech_crea = current
WHERE sec_vend = ac_vend.vend_del
UPDATE cctb00001 set cod_emp_sec = ac_vend.vend_al,
us_crea = user,
fech_crea = current
WHERE num_doc = pendiente.num_doc
UPDATE vetb00002 set sec_vend = ac_vend.vend_al,
us_crea = user,
fech_crea = current
WHERE factura = pendiente.num_doc
END WHILE
FINISH REPORT actual
END FUNCTION
REPORT actual(x,z,fecha_doc)
DEFINE fecha_doc DATE
DEFINE z RECORD
num_doc INTEGER,
valor DECIMAL(12,2)
END RECORD
DEFINE x RECORD
vend_del SMALLINT,
nombre_del CHAR(30),
vend_al SMALLINT,
nombre_al CHAR(30)
END RECORD
DEFINE doce,normal CHAR(2)
OUTPUT
TOP MARGIN 2
LEFT MARGIN 0
FORMAT
PAGE HEADER
LET doce = ASCII 27, ASCII 77
LET normal = ASCII 27, ASCII 80
PRINT doce
PRINT COLUMN 1, "veprmt030";
PRINT COLUMN 15, "R A Y . O . V A C D O M I N I C A N A, S. A.",
COLUMN 74, "Pag. ",pageno using "##"
PRINT COLUMN 31, "Sistema de Ventas",
COLUMN 74, today using "dd/mm/yy"
PRINT COLUMN 24, "Cambios de Vendedores En Facturas",
COLUMN 74, time
PRINT COLUMN 1,
"-----------------------------------------------------------------------------",
"--------------------"
PRINT COLUMN 6, "ANTES",
COLUMN 48, "DESPUES"
PRINT COLUMN 1, "FACTURA",
COLUMN 10, "VENDEDOR",
COLUMN 42, "FACTURA",
COLUMN 52, "VENDEDOR",
COLUMN 80, "FECHA"
PRINT COLUMN 1,
"-----------------------------------------------------------------------------",
"--------------------"
ON EVERY ROW
PRINT COLUMN 1, z.num_doc using "&&&&&&",
COLUMN 10, x.nombre_del,
COLUMN 42, z.num_doc using "&&&&&&",
COLUMN 52, x.nombre_al clipped,
COLUMN 80, fecha_doc using "dd/mm/yy"
ON LAST ROW
PRINT COLUMN 1, "Total Registros Impresos==> ",
COUNT(*) USING "####"
PRINT normal
END REPORT