Files
MBS/PROYECTO/TEST/actdevolucion.4gl
T

52 lines
2.3 KiB
Plaintext

MAIN
CONNECT TO "smarmotech" AS "MSSQL" USER 'jsoto' USING 'lmmjvsd2014'
CALL actdev()
END MAIN
FUNCTION actdev()
DEFINE data RECORD
factura,tipo_cliente,sec_cliente INT,
valor_dev DECIMAL(12,2),
cantidad DEC(12,5),
codn,codgrupo,codtipo,codsec INT,
precio,porcdesc DEC(12,2),
itbis DEC(12,2),
area INT,
fecha DATE
END RECORD,
valor DEC(12,2)
DECLARE buscar CURSOR FOR
SELECT a.aplica_a,a.tipo_cliente,a.sec_cliente,AVG((a.valor+a.monto_desc)*-1),
SUM(b.cantidad_2),b.cod_n,b.cod_grupo, b.cod_tipo,b.cod_sec,c.precio,c.cantidad_2,
a.valor_efectivo,b.area,a.fecha_orig
FROM cctb00001 a,iptb00006 b,vetb00003 c
WHERE a.fecha_orig BETWEEN '01/01/2022' AND '01/31/2022' AND a.status_t IS NULL AND
a.tipo_Doc = 'NC' AND
a.banco = b.cod_mov AND a.num_cheque = b.num_doc AND b.cod_mov IN (12,13)
AND a.tipo_cliente = b.cod_sp AND a.sec_cliente = b.cod_sp_sec AND a.bodega = b.bodega
AND b.factura = c.factura AND b.cod_n = c.cod_n AND b.cod_grupo = c.cod_grupo AND b.cod_tipo = c.cod_tipo AND
b.cod_sec = c.cod_sec AND b.area = c.area
GROUP BY a.aplica_a,a.tipo_cliente,a.sec_cliente,b.cod_n,b.cod_grupo, b.cod_tipo,b.cod_sec,c.precio,c.cantidad_2,
a.valor_efectivo,b.area,a.fecha_orig
DISPLAY "EN PROCESO.... "
FOREACH buscar INTO data.*
LET valor =(data.cantidad * data.precio) - ((data.cantidad * data.precio)*(data.porcdesc/100))
IF data.itbis > 0 THEN
LET valor = valor + (valor*.18)
END IF
UPDATE vetb00003 SET cantidad_devuelta = data.cantidad,
fecha_devolucion = data.fecha,
valor_devolucion = valor_devolucion+valor
WHERE factura = data.factura AND cod_n = data.codn AND cod_grupo = data.codgrupo AND cod_tipo = data.codtipo AND
cod_sec = data.codsec AND area = data.area
DISPLAY "ACTUALICE FACTURA ",data.factura
END FOREACH
END FUNCTION