38 lines
1.5 KiB
Plaintext
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 |