FUNCTION control_cotizacion(parea,pcodn,pcodgrupo,pcodtipo,pcodsec,xcantidad,kcotizacion) DEFINE pcodn,pcodgrupo,pcodtipo,pcodsec,parea SMALLINT, kcotizacion INT, pcantidad,kcantidad,xcantidad,xcantidad_cotizacion,devolucion DEC(12,5) SET CONNECTION "IFMX" 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 SET CONNECTION "MSSQL" # 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,xcantidad_cotizacion,pcantidad,kcantidad ELSE RETURN false,xcantidad_cotizacion,pcantidad ,kcantidad END IF ELSE RETURN false,xcantidad_cotizacion,pcantidad,kcantidad END IF END FUNCTION