cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con Query Manager

Former Member
0 Kudos

Veran, estoy ejecutando un procedimiento a traves de

DECLARE @INICIO DATETIME

DECLARE @FIN DATETIME

set @INICIO=(SELECT top 1 T0.TaxDate FROM dbo.OINV T0 WHERE T0.TaxDate = '[%0]')

set @FIN=(SELECT top 1 T0.TaxDate FROM dbo.OINV T0 WHERE T0.TaxDate = '[%1]')

EXEC SBOAsisteLibros_Compras_Digital @INICIO, @FIN

Este procedimiento pretende halar ciertos documentos en un rango de fechas, el problema que tengo es que, en el mes de julio me aparecen datos, y en el mes de agosto ya no, luego me vueven a aparecer datos en septiembre

Me podrian decir que estare haciendo mal?

o como puedo solucionarlo

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hola...

Otra cosa, es necesario que se indique si al ingresar los datos de fecha en las variables de entrada, esto se hace manualmente o se está seleccionando fechas propuestas por Sistema.

Te comento de un caso que en alguna oportunidad ví....

Había un informe, que consideraba variables de entrada fecha...lo que se hacía era entonces ingresar el rango de fechas mensual, es decir, del 01/mm/yy al 31/mm/yy

Este ingreso de fechas era manual, es decir, nadie se preocupaba de validar que

Sucedía que en un mes en particular no había información, debido a que el día 01 no habían transacciones por ser un día "feriado", por ende, lo que trato de decirte es que en estos casos, el hecho de ingresar una fecha que no es reconocida como variable de entrada válida, hace que no aparezcan resultados.

Espero te sea de ayuda

Saludos Cordiales,

Former Member
0 Kudos

Paul,

Por eso hay que ingresar bien lso filtros >= o <= en las fechas.

atte,

Manuel Lazcano

Former Member
0 Kudos

He probado ingresar el rango de fechas de manera manual, y seleccionando los sugeridos por el sistema (boton valores existentes), y sigue sin mostrarme datos para el mes de agosto.

Si los datos tienen la misma estructura en todos los meses, porque para este mes en particular no me los puede mostrar, es decir, porque para julio si funciona y para agosto no?

Former Member
0 Kudos

Gracias...tengo claro ese tema, puede que hagas alusión a esto por otro post en el cual no consideré este tema...

Yo hablaba de algo distinto, que es el ingreso de un dato manual, y este dato no existe como variable de entrada.

Saludos,

Former Member
0 Kudos

Saludos a todos

Veran, encontre un dato curioso para el query que les he venido comentando

Resulta que, no existen datos para los dias 1 y 2 de agosto, unicamente aparecen datos del 3 - 31 de agosto

Entonces, aqui el dato curioso; si al reporte le coloco rango de 01/08/2009 - 31/08/2009 no me muestra datos el query

pero, si coloco el rango de 03/08/2009 - 31/08/2009 si me aparecen los datos tal cual me los muestra el query manager

Probe con un between y luego con >= y <= y de todos modos no me respeta los rangos, pero, ya es un avance!

Former Member
0 Kudos

Hola...

Exactamente a eso me referia...

Gracias,

Former Member
0 Kudos

respondi esto en el POST que cerraste, para que lo consideres

Tambien puedes corroborar las consultas realizadas con SQL Server Profiler (Performance Tools), puede que un parametro este mal formateado.

La otra posibilidad es que alguna columna que estes concatenando te retorne NULL y que devuelva toda la fila concatenada en NULL.

Saludos, Jorge

Former Member
0 Kudos

Hola

Si indicaras el procedimiento, a lo mejor se podria analizar y dar alguna luz sobre lo que origina el supuesto error

Saludos,

Former Member
0 Kudos

Gracias por tu ayuda. Este es el procedimiento

SELECT Libro + '|' + TipoDocto + '|' + ISNULL(Serie,'0') + '|' + REPLACE(NoDocto,'-','') + '|' +

CONVERT(NVARCHAR, FechaDocto,103) + '|' + NIT + '|' +

REPLACE(Nombre,',','') + '|' + TipoCompra + '|' + '|' +

NoRegistro + '|' + NoCedula + '|||' + CONVERT(NVARCHAR,ca,126) + '|' +

CONVERT(NVARCHAR,sa,126) + '|' + CONVERT(NVARCHAR,cna,126) + '|' + CONVERT(NVARCHAR,sna,126) + '|' +

CONVERT(NVARCHAR,c1,126) + '|' + CONVERT(NVARCHAR,c4,126) + '|' + CONVERT(NVARCHAR,impuesto,126) AS Fila

FROM (

select 'C' Libro, TipoDocto, CASE WHEN Serie = '' THEN '0'

WHEN Serie IS NULL THEN '0'

ELSE Serie

END Serie, NoDocto, FechaDocto,

case when TipoDoctoMaestro <> 'E' then ISNULL(NIT,'0') else '0' end NIT, REPLACE(Nombre,'´','') AS Nombre,

case when TipoDocto = 'DA' then 'I' else 'L' end TipoCompra, '' S1,

case when TipoDoctoMaestro <> 'E' then '0'

else CASE WHEN (substring(NIT2, 0, charindex(' ',NIT2))) = '' THEN '0'

else substring(NIT2, 0, charindex(' ',NIT2)) end

end NoRegistro,

case when TipoDoctoMaestro <> 'E' then '0' else substring(NIT2, charindex(' ',NIT2) + 1, len(NIT2)) end NoCedula,

'' S2, '' S3,

isnull(sum(CA),0.00) CA, isnull(sum(SA),0.00) SA, isnull(sum(CNA),0.00) CNA, isnull(sum(SNA),0.00) SNA, 0.00 C1, 0.00 C4,

isnull(sum(Impuesto),0.00) Impuesto

from (select FechaDocto, case when (TipoDocto = 'FC' and TipoDoctoMaestro = 'E') then 'FE'

when TipoDocto = 'PI' then 'DA' else TipoDocto end TipoDocto,

TipoDoctoMaestro, Serie, NoDocto,

CASE WHEN LEFT(CardCode,1) = 'P' THEN '0'

WHEN LEFT(CardCode,1) = 'C' THEN '0'

ELSE replace(NIT,'-','') END NIT, NIT NIT2, Nombre, Referencia,

case when TipoDoctoDetalle <> 'S' then case when TipoImpuesto = '0' then case when EsIVACreditoFiscal = 'Y' then (ImpuestoLocal/0.12) end else NetoLocal end end CA,

case when TipoDoctoDetalle = 'S' then case when TipoImpuesto = '0' then case when EsIVACreditoFiscal = 'Y' then (ImpuestoLocal/0.12) end else NetoLocal end end SA,

case when (TipoImpuesto in ('0') and TipoDoctoDetalle <> 'S') then NetoLocal end CNA,

case when (TipoImpuesto in ('0') and TipoDoctoDetalle = 'S') then NetoLocal end SNA, ImpuestoLocal Impuesto

from SBOVCompras

where FechaConta between @INICIO and @FIN

and TipoDoctoDetalle not in ('N','NB')) DT

group by TipoDocto, Serie, NoDocto, FechaDocto, NIT, NIT2, Nombre, TipoDoctoMaestro) X

order by FechaDocto, TipoDocto, Serie, NoDocto

Lo que hago aqui, es halar datos de una vista, los codifico para que no me muestre datos nulos, porque en la parte superior, convierto a una linea, toda la informacion, separando los cada dato por "|"

Muy agradecido por cualquier ayuda!

Former Member
0 Kudos

Hola,

Primedo Reemplaza @INICIO y @FIN por fechas y ejecutas la consulta desde el sql manager, si no obtienes resutlados deberias revisar la vista, "_SBOV_Compras ".

atte,

Manuel Lazcan

Former Member
0 Kudos

Muchas gracias por la atencion. Si, ejecute ya el procedimiento, poniendole fechas fijas y si me devuelve datos en el management studio, lo que no entiendo, es porque no me muestra datos en el query manager de SAP

Former Member
0 Kudos

El formato de fecha que devuelve la primera query no es igual al que entrega SAP.

Te sugiero insertes la query al procedimento almacenado y uses una tabla temporal:

Ej:

Select docdate into #libro

from oinv

where docdate >=@inicio and docdate <=@fin

Select docdate

from #libro

group by docdate

Atte,

Manuel Lazcano