FUNCTION pendiente_ordenes(ptipo,psec) DEFINE pnum_doc,ptipo,psec INT, pcodn,pcodgrupo,pcodtipo,pcodsec SMALLINT, pcantidad,pcantidad_desp,obalance DEC(12,4), pprecio,valor_balance DEC(12,2) LET valor_balance = 0 LET obalance = 0 DECLARE busca CURSOR FOR SELECT a.num_oc,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad,AVG(c.precio) FROM prtb00013 a,prtb00012 b,vetb00051 c WHERE b.tipo_cliente = ptipo AND b.sec_cliente = psec AND a.num_oc = b.num_oc AND a.cod_n = c.cod_n AND a.cod_grupo = c.cod_grupo AND a.cod_tipo = c.cod_tipo AND a.cod_Sec = c.cod_sec AND b.cotizacion_no = c.cotizacion_no AND b.cerrada = 'N' AND b.status_t IS NULL GROUP BY a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,a.cantidad,a.num_oc FOREACH busca INTO pnum_doc,pcodn,pcodgrupo,pcodtipo,pcodsec,pcantidad,pprecio LET pcantidad_desp=0 SELECT SUM(a.cantidad_2) INTO pcantidad_desp 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 = pnum_doc AND a.cod_mov IN (30,31,55,56,12,13) AND a.status_t IS NULL IF pcantidad_desp IS NULL THEN LET pcantidad_desp = 0 END IF LET obalance = pcantidad - pcantidad_desp LET valor_balance = (obalance * pprecio) + valor_balance END FOREACH RETURN valor_balance END FUNCTION