Ayuda SAP

Valores Null en Layout

crystalreport
Etiquetas: #<Tag:0x00007f736b9f63a8>

#1

Buenos días expertos,

Tengo dudas respecto a como maneja CR los valores null, según yo cuando un campo en el reporte no tiene valor en SAP el layout me aparece todo en blanco.
El tema es que tengo un reporte en el cual se puede dar que ciertos capos tengan o no datos y aplique if isnull a los campos que tienen esta característica pero no me funciono, los if isnull si funcionan pero al parecer toma todo el documento como null.
¿Como podría ver cuales son los campos que están generando que el layout aparezca en blanco?
¿Se puede hacer que el reporte muestre los datos que encuentre y los que no simplemente los deje en blanco?

Gracias de antemano por su ayuda.


#2

eso me pasaba y era que tenia los campos vacios y otros llenos pero de diferente tabla, la solucion que tuve fue revisar mis conecciones y cambiarlas de Inner Join a Left Join, con eso me mostro la informacion.


#3

Gracias por responder @Daniel_Torrez.

Donde es que hiciste el cambio?, yo revise en Base de Datos -> Mostrar Consulta SQL y en ese query todas las tablas están unidas con LEFT JOIN.

Saludos.


#4

ahi mismo, edite mi comando de SQL y algunos tenian un Inner, lo cambie por Left y funciono sin problema, lo que mencionas me suena raro :smile: trabajas con SQL o con Hana?


#5

Estoy trabajando con HANA, mira las uniones:

FROM "RCT2" "RCT2" 
 LEFT OUTER JOIN "OJDT" "OJDT" ON "RCT2"."DocTransId"="OJDT"."TransId" 
 LEFT OUTER JOIN "JDT1" "JDT1" ON ("RCT2"."DocLine"="JDT1"."Line_ID") AND ("RCT2"."DocTransId"="JDT1"."TransId") 
 LEFT OUTER JOIN "OINV" "OINV" ON "RCT2"."DocEntry"="OINV"."DocEntry" 
 LEFT OUTER JOIN "ORIN" "ORIN" ON "RCT2"."DocTransId"="ORIN"."TransId" 
 LEFT OUTER JOIN "OPCH" "OPCH" ON "RCT2"."DocTransId"="OPCH"."TransId" 
 LEFT OUTER JOIN "ORPC" "ORPC" ON "RCT2"."DocTransId"="ORPC"."TransId" 
 LEFT OUTER JOIN "ODPO" "ODPO" ON "RCT2"."DocTransId"="ODPO"."TransId" 
 LEFT OUTER JOIN "ODPI" "ODPI" ON "RCT2"."DocEntry"="ODPI"."DocEntry" 
 LEFT OUTER JOIN "ODPS" "ODPS" ON "RCT2"."DocTransId"="ODPS"."TransAbs" 

Es de pagos recibidos y no lo hice yo, espero no tener que hacerlo de cero jeje


#6

Hola @Vik_B1 @Daniel_Torrez perdón que me entrometa.

@Vik_B1 los JOINS funcionan de igual manera en SQL que en Hana Strudio, al utilizar un OUTER si la tabla de factura no tiene un pago te regresará NULL y se ocasionará el problema que comentas, en lo personal trato de evitar usar JOINS y los sustituyo dentro del WHERE, es decir pongo

FROM OINV T0, RCT2 T1
WHERE T0.“DocEntry” = T1.“DocEntry”

O la otra es como comenta @Daniel_Torrez asegurarte de estar utilizando LEFT , RIGHT, INNER, OUTER de manera adecuada.

Saludos.


#7

Hola @pcarrasco.

Gracias por responder, voy a intentar hacerlo sin los Join como mencionas, mantendré al tanto de los resultados.

Saludos.