Files
MBS/PROYECTO/otrodir/verifica_cantidad.4gl
T

72 lines
2.3 KiB
Plaintext

FUNCTION verifica_cantidad(parea,pcodn,pcodgrupo,pcodtipo,pcodsec,xcantidad,kcotizacion)
DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec,parea SMALLINT,
kcotizacion INT,
pcantidad,kcantidad,xcantidad,xcantidad_cotizacion,devolucion DEC(12,2)
# SI EL CONDUCE SE FACTURO, SE PUSO EN COMENTARIO EN FECHA 03/03/2022 PARA QUE CONTROLE POR CANTIDAD
# SELECT DISTINCT a.orden FROM vetb00002 a
# WHERE a.orden = kcotizacion and a.status_t IS NULL
# IF STATUS <> NOTFOUND THEN
# RETURN true
# END IF
LET devolucion = 0
SELECT SUM(a.cantidad_2) INTO devolucion
FROM iptb00006 a
WHERE ( a.cod_n = pcodn AND
a.cod_Grupo = pcodgrupo AND
a.cod_tipo = pcodtipo AND
a.cod_Sec = pcodsec AND
a.num_oc = kcotizacion AND
a.cod_mov IN (12,13)) AND
a.status_t IS NULL
LET xcantidad_cotizacion = 0
SELECT SUM(a.cantidad) INTO xcantidad_cotizacion
FROM prtb00013 a
WHERE (a.num_oc = kcotizacion AND
a.cod_n = pcodn AND
a.cod_Grupo = pcodgrupo AND
a.cod_tipo = pcodtipo AND
a.cod_Sec = pcodsec ) AND
a.status_t IS NULL
IF xcantidad_cotizacion IS NULL THEN
LET xcantidad_cotizacion=0
END IF
LET kcantidad =0
SELECT SUM(a.cantidad) INTO kcantidad
FROM vetb00003 a,vetb00002 b
WHERE( a.factura = b.factura) AND
( a.cod_n = pcodn AND
a.cod_Grupo = pcodgrupo AND
a.cod_tipo = pcodtipo AND
a.cod_Sec = pcodsec) AND
(b.orden = kcotizacion) AND
b.status_t IS NULL
IF devolucion IS NULL THEN
LET devolucion =0
END IF
IF kcantidad IS NULL THEN
LET kcantidad =0
END IF
IF xcantidad IS NULL THEN
LET xcantidad=0
END IF
LET pcantidad = (kcantidad + xcantidad)-devolucion
DISPLAY "cantidad or ",xcantidad_cotizacion," cantidad fact ",kcantidad, " cantidad a f ", xcantidad, "devolucion ", devolucion, " pendiente ",pcantidad
IF pcantidad > 0 THEN
IF pcantidad > xcantidad_cotizacion THEN
RETURN true
ELSE
RETURN false
END IF
ELSE
RETURN false
END IF
END FUNCTION