Kripto gracias por tu rta pero excede un poco mis conocimientos.
Cómo llevaría a cabo dicha conversión?
En fórmula? y luego el campo lo tengo que aplicar al rpt?
posterior a eso podría realizar el JOIN?
el problema lo tengo en que es el QUERY que arma CR, el rpt no está planteado con comando, vista, store procedure, etc…
se levantaron las tablas en el rpt y se procedió a hacer los JOIN
La query en HANA que está correcta no hace falta que convierta a número el dato de cadena.
SELECT "OCRD"."CardCode",
"ODLN"."Address2",
"ODLN"."CardName",
"ODLN"."Address",
"ODLN"."DocEntry",
"OCRD"."LicTradNum",
"DLN1"."Dscription",
"DLN1"."ItemCode",
"DLN1"."Quantity",
"ODLN"."DocDate",
"DLN1"."VendorNum",
"DLN1"."SWW",
"DLN1"."UomCode",
"ODLN"."NumAtCard",
"OCRD"."U_B1SYS_VATCtg",
"OSHP"."TrnspName",
"OSHP"."WebSite",
"OBTN"."DistNumber",
"OBTN"."ExpDate",
"OCRD"."Free_Text"
FROM
{oj ((("ODLN" "ODLN" INNER JOIN "DLN1" "DLN1" ON "ODLN"."DocEntry"="DLN1"."DocEntry")
INNER JOIN "OCRD" "OCRD" ON "ODLN"."CardCode"="OCRD"."CardCode")
LEFT OUTER JOIN "OSHP" "OSHP" ON "ODLN"."TrnspCode"="OSHP"."TrnspCode")
Inner join OITL ON ("DLN1"."LineNum" = "OITL"."DocLine") AND ("DLN1"."DocEntry" = "OITL"."DocEntry") and "OITL"."DocType" = "DLN1"."ObjType"
INNER JOIN ITL1 ON "OITL"."LogEntry" = "ITL1"."LogEntry"
INNER JOIN OBTN ON "ITL1"."ItemCode" = "OBTN"."ItemCode" AND "ITL1"."SysNumber" = "OBTN"."SysNumber"}
WHERE "ODLN"."DocEntry"= 3032 and "OITL"."DefinedQty" <> 0
ORDER BY "ODLN"."DocEntry", "DLN1"."ItemCode"
Claro en HANA me trae correcto todo pero en CR me sucede ésto al querer hacer el JOIN entre DLN1.ObjType con OITL.DocType
estuve viendo que alguna solución posible es hacer un subreporte, generar una fórmula convirtiendo de string a number el valor de DLN1 y luego hacer el JOIN, pero no logré hacer que funcione o se me está escapando algo que no logro ver
OITL.DocLine) AND (DLN1.DocEntry = OITL.DocEntry) and CAST(OITL.DocType AS nvarchar) = DLN1.ObjType
INNER JOIN ITL1 ON OITL.LogEntry = ITL1.LogEntry
INNER JOIN OBTN ON ITL1.ItemCode = OBTN.ItemCode AND ITL1.SysNumber = OBTN.SysNumber}
WHERE ODLN.DocEntry= 3032 and OITL.DefinedQty <> 0
ORDER BY ODLN.DocEntry, DLN1.ItemCode
Si son mínimos los datos que vas a recuperar de esa tabla, evalúa la opción de crear un campo de SQL, en él podrás meter código para recuperar valores, es como una subconsulta.
Cuando tu origen de datos no es un Comando, los campos de expresiones de SQL son de gran ayuda para recuperar datos sin hacer un Join directo a la tabla.
Gera me estás matando con eso jajajaj
Que me digas esa respuesta y que me escribas en Arameo es casi lo mismo, perdón pero excede a mis conocimientos.
No sabría qué hacer en los campos de expresiones de sql =(
me profesionalicé durante 21 años trabajando como encargado de BackOffice en exportación de commodities y hace un año que arranqué en el mundo SAP B1 y todo lo que aprendí a hoy fue autodidacta, programación básica de SQL, crystal report,HANA, etc…
investigo horas y horas por día, cuándo no llego a una solución recurro a éste foro para consultar.
antes de escribir acá probé todo lo que etendí de las posibles soluciones que encontré en la web, pero ninguna resultó.
hay veces que coloco un pregunta aquí y me soluciona la vida, pero nunca vengo de vago a preguntar primero acá
gracias como siempre por tu ayuda Gera
Abrazo
Si lo haces por comando, y se ejecuta en Hana Studio sin problema se ejecuta en Crystal. Si agregas las tablas y tienes el problema con los vínculos por el tipo de dato entonces puedes usar formulas de selección. Creo que así sale:
muchisimas gracias!!! me solucionó el problema la explicación cómo a un niño!
debía ponerlo en el RECORD SELECTION y no en un campo, en un subinforme, etc… cómo venía viendo en varios lados.
abrazo gradne a todos