Código:
ALTER PROCEDURE Precompromiso @tipo bit,--- diferencia entre proyecto o accion centralizada @ac_cod int, --- accion espedicica, @ac_proy_cod varchar(20), ---proyecto o accion centralizada @centro int, @id_item varchar(40), ---partida @pre_an_o int ---año AS declare @monto_prog_anual decimal(19, 4), @monto_ced decimal(19, 4) , @monto_rec decimal(19, 4) , @monto_ajust decimal(19, 4) , @neto_prec decimal(19, 4) , @ejec_prec decimal(19, 4) , @compromiso decimal(19, 4) , @disponible decimal(19, 4) SELECT @monto_prog_anual= CASE @tipo WHEN 0 THEN (SELECT ISNULL(SUM(pacc_monto),0) as monto_prog_anual FROM SIPREFII_Proy_Acc_pres a,SIPREFII_PARTIDAS b WHERE a.ID_ITEM = @id_item AND a.acc_cod= @ac_cod AND a.proy_cod=@ac_proy_cod AND a.pre_an_o=@pre_an_o AND a.ID_ITEM=b.ID_ITEM AND b.CONSOLIDADA<>'1' AND a.pacc_mes BETWEEN 1 and 12) WHEN 1 THEN (SELECT ISNULL(SUM(pac_monto),0) as monto_prg_anual FROM SIPREFII_AC_pres a,SIPREFII_PARTIDAS b WHERE a.ID_ITEM = @id_item AND a.ace_cod= @ac_cod AND a.ac_cod=@ac_proy_cod AND a.POA=@pre_an_o AND a.ID_ITEM=b.ID_ITEM AND b.CONSOLIDADA<>'1' AND a.pac_mes BETWEEN 1 and 12) END SET @monto_ced=(SELECT ISNULL(sum(b.monto),0) as suma FROM SIPREFII_traspaso a,SIPREFII_traspaso_dt b WHERE b.id_item =@id_item AND b.acesp_cod= @ac_cod AND b.ac_proy_cod=@ac_proy_cod AND a.pres_ano=@pre_an_o AND b.id=@centro AND modi_activo=1 AND b.ced_rec_tipo='1' AND a.modi_cod=b.modi_cod) SET @monto_rec=(SELECT ISNULL(sum(b.monto),0) as suma FROM SIPREFII_traspaso a,SIPREFII_traspaso_dt b WHERE b.id_item =@id_item AND b.acesp_cod= @ac_cod AND b.ac_proy_cod=@ac_proy_cod AND a.pres_ano=@pre_an_o AND b.id=@centro AND modi_activo=1 AND b.ced_rec_tipo='0' AND a.modi_cod=b.modi_cod) SET @monto_ajust= @monto_prog_anual + (@monto_rec - @monto_ced) SET @neto_prec= (SELECT ISNULL(SUM(b.monto),0) as suma FROM SIPREFII_Precompromiso a,SIPREFII_Precompromiso_dt b WHERE b.id_item = @id_item AND a.pres_ano=@pre_an_o AND b.acesp_cod= @ac_cod AND b.ac_proy_cod=@ac_proy_cod AND b.id=@centro AND prec_activo=1 AND a.pres_ano=b.pres_ano AND a.prec_cod=b.prec_cod) SET @ejec_prec= (select isnull(sum(monto),0)as suma FROM SIPREFII_Compromiso a,SIPREFII_Compromiso_dt b WHERE a.pres_ano=b.pres_ano AND a.pres_ano=@pre_an_o AND a.comp_cod=b.comp_cod and b.comp_cod in (select DISTINCT(a.comp_cod) from SIPREFII_Compromiso a,SIPREFII_Compromiso_dt b where a.comp_cod=b.comp_cod and a.pres_ano=b.pres_ano and a.pres_ano = @pre_an_o and a.comp_activo = 1 and a.comp_cod in (select a.prec_cod from SIPREFII_Precompromiso a,SIPREFII_PreCompromiso_dt b where a.pres_ano = b.pres_ano and a.prec_cod = b.prec_cod and a.pres_ano = @pre_an_o and a.prec_activo = 1 )) and b.id_item = @id_item AND b.acesp_cod= @ac_cod AND b.ac_proy_cod=@ac_proy_cod and b.id=@centro and a.pres_ano =@pre_an_o and b.ac_proy_tipo=1) SET @compromiso= (SELECT ISNULL(SUM(b.monto),0) as suma FROM SIPREFII_Compromiso a,SIPREFII_Compromiso_dt b WHERE a.pres_ano=@pre_an_o AND b.id_item =@id_item AND b.acesp_cod= @ac_cod AND b.ac_proy_cod=@ac_proy_cod AND b.id=@centro AND a.pres_ano=b.pres_ano AND comp_activo=1 AND a.comp_cod=b.comp_cod ) SET @disponible= @monto_ajust - (@neto_prec - @ejec_prec) - @compromiso SELECT @disponible GO
Y NECESITO MOSTRAR LOS DATOS QUE ME DA DISPONIBILIDAD EN VB 6.0, PARA EL CUAL UTILIZO
Código:
Dim cmd As New Command Dim consulta As New Recordset cmd.CommandText = "{? = call precompromiso (?,?,?,?,?,?)}" Set cmd.ActiveConnection = cn cmd.Parameters.Refresh cmd(1) = 0 cmd(2) = 3 'cmb_unidad_eje.ListIndex cmd(3) = "112259" 'lbl_proy_cod cmd(4) = 40 'arr_centro_proy_id(cmb_unidad_eje.ListIndex) cmd(5) = "4.03.18.01.00" 'txt_partida cmd(6) = 2011 'an_o_actual Set consulta = cmd.Execute MsgBox (consulta(0))
help!!!
PERO NO ME ARROJA NINGUN VALOR... ALGUIEN PODRA AYUDARME