Comando crystal report

BUEN DIA

estimados agradezco si me pueden ayudar es que hace poco migramos de SQL a HANNA y esto pasando los CR al nuevo lenguaje pero este no me queda bien me sale el siguiente error y envió comando SQL y comando HANNA

AGRADEZCO SU AYUDA

saludos

image

SQL

SELECT 
	OINV.DocNum, OINV.DocDate, OINV.CardName, OCRD.AddID, OINV.U_CompRet AS CompRet, 
	SUM(CASE WHEN VatPrcnt = 0 THEN LineTotal ELSE 0 END) AS Exento, 
	SUM(CASE WHEN VatPrcnt = 0 THEN 0 ELSE LineTotal END) AS Gravado,
	SUM(INV1.VatSum) AS Impuesto, 
	OINV.WTSum AS IVARetenido, 0 AS Orden, 
	OINV.CANCELED as Cancelado
FROM 
	OINV INNER JOIN INV1 ON OINV.DocEntry = INV1.DocEntry
	INNER JOIN OCRD ON OINV.CardCode = OCRD.CardCode
WHERE 
	OINV.U_TipoFactura = 'Contribuyente'
	AND DATEPART(YEAR, OINV.DocDate) = {?Anio} AND DATEPART(MONTH, OINV.DocDate) = {?Mes} AND OINV.CANCELED !='C'
GROUP BY 
	OINV.DocNum, OINV.DocDate, OINV.CardName, OCRD.AddID, OINV.WTSum, OINV.U_CompRet,OINV.CANCELED

UNION 

SELECT 
	ORIN.DocNum, ORIN.DocDate, ORIN.CardName, OCRD.AddID, ORIN.U_CompRet AS CompRet, 
	-SUM(CASE WHEN VatPrcnt = 0 THEN LineTotal ELSE 0 END) AS Exento, 
	-SUM(CASE WHEN VatPrcnt = 0 THEN 0 ELSE LineTotal END) AS Gravado,
	-SUM(RIN1.VatSum) AS Impuesto, 
	-ORIN.WTSum AS IVARetenido, 1 AS Orden,
	ORIN.CANCELED as Cancelado
FROM 
	ORIN INNER JOIN RIN1 ON ORIN.DocEntry = RIN1.DocEntry
	INNER JOIN OCRD ON ORIN.CardCode = OCRD.CardCode
WHERE 
	ORIN.U_TipoFactura = 'Contribuyente'
	AND DATEPART(YEAR, ORIN.DocDate) = {?Anio} AND DATEPART(MONTH, ORIN.DocDate) = {?Mes} AND ORIN.CANCELED !='C'
GROUP BY 
	ORIN.DocNum, ORIN.DocDate, ORIN.CardName, OCRD.AddID, ORIN.WTSum, ORIN.U_CompRet,ORIN.CANCELED

ORDER BY Orden, DocNum, DocDate

HANNA
SELECT 
T0."DocNum",  T0."DocDate",  T0."CardName",  OCRD."AddID",  T0."U_CompRet" AS CompRet, 
	SUM(CASE WHEN "VatPrcnt" = 0 THEN "LineTotal" ELSE 0 END) AS Exento, 
	SUM(CASE WHEN "VatPrcnt" = 0 THEN 0 ELSE "LineTotal" END) AS Gravado,
	SUM(T1."VatSum") AS Impuesto, 
	T0."WTSum" AS IVARetenido, 0 AS Orden, 
	T0."CANCELED" as Cancelado

FROM 
"{?Schema@}".OINV T0
INNER JOIN "{?Schema@}".INV1 T1  ON  T0."DocEntry" =  T1."DocEntry"
INNER JOIN  "{?Schema@}".OCRD T2 ON T0."CardCode" =  T2."CardCode"
WHERE 
T0."U_TipoFactura" = 'Contribuyente'
AND DATEPART(YEAR, T0."DocDate") = {?Anio} AND DATEPART(MONTH, T0."DocDate") = {?Mes} AND T0."CANCELED" !='C'

GROUP BY 
T0."DocNum",  T0."DocDate",  T0."CardName",  T2."AddID",  T0."WTSum",  T0."U_CompRet",  T0."CANCELED"
UNION ALL

SELECT 
T0."DocNum",  T0."DocDate",  T0."CardName",  OCRD."AddID",  T0."U_CompRet" AS CompRet, 
	SUM(CASE WHEN "VatPrcnt" = 0 THEN "LineTotal" ELSE 0 END) AS Exento, 
	SUM(CASE WHEN "VatPrcnt" = 0 THEN 0 ELSE "LineTotal" END) AS Gravado,
	SUM(T1."VatSum") AS Impuesto, 
	T0."WTSum" AS IVARetenido, 0 AS Orden, 
	T0."CANCELED" as Cancelado

FROM 
"{?Schema@}".ORIN T0
INNER JOIN "{?Schema@}".RIN1 T1  ON  T0."DocEntry" =  T1."DocEntry"
INNER JOIN  "{?Schema@}".OCRD T2 ON T0."CardCode" =  T2."CardCode"
WHERE 
T0."U_TipoFactura" = 'Contribuyente'
AND DATEPART(YEAR, T0."DocDate") = {?Anio} AND DATEPART(MONTH, T0."DocDate") = {?Mes} AND T0."CANCELED" !='C'

GROUP BY 
T0."DocNum",  T0."DocDate",  T0."CardName",  T2."AddID",  T0."WTSum",  T0."U_CompRet",  T0."CANCELED"

ORDER BY Orden, "DocNum", "DocDate"

Buenos dias Diego.

Dado que tu mensaje de acuerdo a las normas no se encuentraba en la seccion adecuada movi tu post a la seccion de consultas donde debe de ir.

Esperando te encuentres bien, seas bienvenido a la comunidad, para guiarte sobre seguir las normas del foro ya que tienes que presentarte para saber un poco mas de ti y los compañeros consultores puedan orientarte, en cuanto a tus preguntas estas deberas colocarlas en la seccion de consultas para que puedan ser vistas por los diferentes compañeros del foro y puedan ayudarte, te invito a realizar tu presentacion primero para saber lo siguiente:

Que version de SAP trabajan en la empresa donde estas?, cual es el modulo SAP que manejas?, cual es tu puesto dentro de la empresa?, que carrera estudiaste? y asi para saber mas el contexto de ti y asi con mas elementos poder ayudarte, te animo hacerlo, gracias.

hola alex

que pena yo ya envie esos datos y ya llevo meses en este fabuloso foro

saludos

Alex a veces se traba, está en modo robot … tenes que entenderlo. :smiley:

Lo cierto era que tu tema estaba mal categorizado, si llevas meses en el foro, ya deberías saber que las consultas de crystal son de B1, y como tal, tu tema debió ser publicado en SAP Business One :wink:

Pero ya lo moví al sector correcto

1 me gusta

Buenas tardes @diego1986 , vi 2 errores en tu query HANA…

1.- En la linea 1, indicas OCRD.“AddID” sin embargo ya tienes mas abajo definido que la OCRD tiene un alias llamado T2. En HANA si tienes que respetar los alias por lo cual en lugar de OCRD utiliza el T2

2.- Donde quieres obtener el año y el mes, para hana es mas sencillo:

  • YEAR(T0.“DocDate”)
  • MONTH (T0.“DocDate”)

Dato adicional, en HANA, yo en lo personal para cuando quieres indicar “diferente de” yo utilizo <> en lugar de !=

Creo que con esos cambios ya no deberias tener problemas…

Saludos.

1 me gusta

mil gracias por la respuesta me sirvio mucho

1 me gusta

Que tal diego

puedes siguiendo las normas colocar el flat de solucion al compañero que te ayudo en dicha solucion, gracias, un abrazo