Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: cobein en Mayo 24, 2013, 09:48:48 am
-
Buenas, espero que alguien me pueda ayudar. Tengo un problema con algunos reportes de Crystal.
Tengo un reporte creado en Crystal 9 que utiliza un stored procedure de mssql para cargar los datos, el reporte funciona correctamente en Crystal pero a la hora de cargarlo desde el Visual me encuentro con el error de la imagen. Aclaro que en el mismo proyecto hay mas reportes que funcionan correctamente, osea que no e sun problema de conexion ni nada por el estilo.
(http://img266.imageshack.us/img266/6228/imagen4g.png) (http://imageshack.us/photo/my-images/266/imagen4g.png/)
Gracias
-
yo lo que haria es probar sacando codigo que pueda hacer saltar el error, por ejemplo mostrar el reporte sin cargarle nada, de esa forma te das cuenta si es algo del reporte o del codigo.
-
Seba, mira, cree un reporte nuevo, llamo al mismo sp y solo agregue unos campos y me da el mismo error evidentemente es algo del sp.. lo raro es que desde el Crystal funciona sin problemas.
Edito: definitivamente el error se da al traer datos.. algo pasa con el sp
-
Si no es mucha molestia, puedes colocar el codigo de sp?
-
Por lo que pude ver el problema viene de el paramtro @fecha_proceso pero no lo solucione aun.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--
-- CREATE Procedures
--
ALTER PROC [dbo].[sp_l_comis_acreditadas](@cod_suc_i NUMERIC(4),
@cod_agente_i INT,
@fecha_proceso VARCHAR(10),
@inivel NUMERIC(2))
AS
SET NOCOUNT ON
-- VARIABLES
DECLARE @fecha_corte VARCHAR(8),
@fecha_corte_old VARCHAR(8),
@fecha_inicio_mes VARCHAR(8),
@aaaa_saldo NUMERIC(4),
@mm_saldo NUMERIC(2),
@aaaamm VARCHAR(6),
@aaaamm_saldo NUMERIC(6),
@aaaa_proc NUMERIC(4),
@mm_proc NUMERIC(2)
--set @fecha_proceso = '31/05/2013'
--set dateformat DMY
-- DEFAULT Sucursal, Agente ( NULL = ALL SELECCION )
IF @cod_suc_i = -999
SELECT @cod_suc_i = NULL
IF @cod_agente_i = 0
SELECT @cod_agente_i = NULL
-- FECHA DE CORTE
SELECT @fecha_corte = Substring( @fecha_proceso, 7, 4 )
+ Substring( @fecha_proceso, 4, 2 )
+ Substring( @fecha_proceso, 1, 2 )
--MG20050411 PROC ACT
SELECT @aaaa_proc = CONVERT(NUMERIC(4), Substring(@fecha_proceso, 7, 4))
SELECT @mm_proc = CONVERT(NUMERIC(2), Substring(@fecha_proceso, 4, 2))
-- FECHA DE CORTE ANTERIOR
SELECT @fecha_corte_old = (SELECT CONVERT(VARCHAR(8), Max(fec_ult_saldo), 112)
FROM magente_saldo -- MG20050616 Ultimo saldo incluido primer arranque esta en magente_saldo
WHERE CONVERT(VARCHAR(8), fec_ult_saldo, 112) <= @fecha_corte)
-- IF @fecha_corte_old IS NULL
-- SELECT @fecha_corte_old = '20050331' -- min (fec_ult_saldo) from magente_saldo
-- AAAA MM ( DE LA ULTIMA LIQUIDACION )
SELECT @aaaa_saldo = CONVERT(NUMERIC(4), Substring(@fecha_corte_old, 1, 4))
SELECT @mm_saldo = CONVERT(NUMERIC(2), Substring(@fecha_corte_old, 5, 2))
Lo corte al SP porque es muy largo y no lo puedo pegar aca.
-
Bien, ya encontre el problema, aca usamos un componente para visualizar los reportes, el tema es que este componente esta llamando al sp sin parametros por algun motivo y eso causaba el problema. Todo esto ayudado por el SP mal programado que falla al no tener paramtros default o IF.
Gracias a todos por las respuestas!.