cancel
Showing results for 
Search instead for 
Did you mean: 

In crystal report -Displaying text continuously that are coming from different rows of same object.

0 Kudos

Hi ,

I have a requirement in crystal report and find details below.

In the report, we see data in below fashion.You can see text in the report is not continuous.

Now the requirement is end user wants to see data in a continuous manner. They don’t want to see blank spaces between.

We see data in sections because data is coming from CRM and stored in below fashion

Here in CRM data stored in chunks of 30,000 characters. If data is more than 30,000 then stored in next chunk of 30,000. But data is stored in single object TDLINE.

If you see crystal report structure, we are printing data from TDLINE.

Kindly help in resolving this issue. Looking forward for suggestions.

Regards,

Mrinal

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

Please suggest some workarounds in joining the text coming from the different chunks

Former Member
0 Kudos

I thought it was already joined in same field.

If in separate fields use a text box and place the two fields inside text box and set text field to grow.

0 Kudos

They are coming from one field "TDLINE" and stored in multiple rows. how join data coming from multiple rows from one field?

Former Member
0 Kudos

This will never be true

right({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},1)='≤≤≠≥≥'

you are comparing a single character to a string of 5 characters.

You are introducing Carriage returns and thus causing white space. Why?

If you want to remove '≤≤≠≥≥' use replace

replace({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},'≤≤≠≥≥', '')//'' = two single speech marks and replaces '≤≤≠≥≥' with nothing

you can replace with a space if that is better.

Ian

0 Kudos

Thank you for reply. Yes replace is there in code. I have mentioned above that its part of code. Let me paste full code.

Code for @TDLINE

replace

(

replace

(

if

left({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)='≤≤≠≠≥≥'

then

mid({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)

else

if

left({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)='≤≤≠≠≥≥'

then

mid({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},3)

else

if

left({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},1)='≤≤≠≥≥'

then

mid({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)

else

if

right({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)='≤≤≠≠≥≥'

then

mid({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},3)

else

if

right({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},1)='≤≤≠≥≥'

then

mid({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)

else

{zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},'≤≤≠≠≥≥',chr(13)+""+chr(13)+"")

,'≤≤≠≥≥',chr(13)+"")

Former Member
0 Kudos

None of your test conditions will be true, formula will only return default condition

{zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},'≤≤≠≠≥≥',chr(13)+""+chr(13)+"")

,'≤≤≠≥≥',chr(13)+"")

Your left() and right() commands are producing strings of 1,2 or 3 characters and then comparing with a 5 character piece of text.

Ian

0 Kudos

Ok I will make changes in code. But can you suggest workaround for joining text coming from CRM ?

Former Member
0 Kudos

You probably have Carriage return or Line Feed characters in text. ASCII characters 13 & 10 respectively

You can use Replace(TDLINE, chrw(13))

However, I am not sure if Crystal formula will handle such big sets of text. You might have to use a command and remove in SQL.

Ian

0 Kudos

Thank you so much Ian for prompt reply .Yes we do have chr(13) in code.

Please find below part of code.

We are replacing ≤≤≠≥≥ to next lines in crystal report

Formula:

else if

right({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},1)='≤≤≠≥≥'

then

mid({zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},2)

else

{zbwcrm_ltextraction.T_ET_TEXT36.TDLINE},'≤≤≠≠≥≥',chr(13)+""+chr(13)+"")

,'≤≤≠≥≥',chr(13)+"")


Can you help me referring to this code?

Regards,

Mrinal

0 Kudos

I tried with chrw(13) but no luck.

You have mentioned that " You might have to use a command and remove in SQL" ,Can you please elaborate this?

Regards,

Mrinal

Former Member
0 Kudos

Not sure it is necessary as you appear to be adding in the Carriage returns

)+""+chr(13)+"")

Ian