Files
MBS/PROYECTOS/ipdir - 21102021/ordenespendiente.4gl
T

38 lines
1.5 KiB
Plaintext

FUNCTION ordenpendiente(pnumoc,codn,codgrupo,codtipo,codsec)
DEFINE pnumoc,codn,codgrupo,codtipo,codsec INT,
cantidadOrden,cantidadDespachada,pendiente DEC(12,5),
selec STRING
# CHEQUEA SI LA ORDEN ESTA EN CRMinDATA
LET selec = 'SELECT a.num_oc FROM CRMinData.dbo.ordenes_master a WHERE a.num_oc = ? '
PREPARE buscar FROM selec
EXECUTE buscar USING pnumoc
IF STATUS = NOTFOUND THEN
RETURN 0
END IF
# BUSCA CANTIDAD ORDEN
LET cantidadOrden = 0
SELECT ISNULL(SUM(a.cantidad),0) INTO cantidadOrden FROM prtb00013 a
WHERE (a.num_oc = pnumoc) AND
(a.cod_n = codn AND
a.cod_grupo = codgrupo AND
a.cod_tipo = codtipo AND
a.cod_sec = codsec)
#BUSCA CANTIDAD DESPACHADA
LET cantidadDespachada =0
SELECT ISNULL(SUM(a.cantidad_2*-1),0) INTO cantidadDespachada
FROM iptb00006 a,iptb00005 d
WHERE (a.num_oc = pnumoc) AND
(a.cod_n = codn AND
a.cod_grupo=codgrupo AND
a.cod_tipo=codtipo AND
a.cod_sec=codsec) AND
(a.cod_mov = d.cod_mov) AND
(d.control_despacho = 'SI' OR d.control_devolucion = 'SI') AND
a.status_t IS NULL
LET pendiente = cantidadOrden - cantidadDespachada
RETURN pendiente
END FUNCTION