Skip to Content
0

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

Sep 20, 2017 at 05:40 AM

60

avatar image
Former Member

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

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Ian Waterman Sep 20, 2017 at 08:15 AM
0

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

Show 3 Share
10 |10000 characters needed characters left characters exceeded
Former Member

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
Former Member

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

0

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

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

Ian
0
Ian Waterman Sep 20, 2017 at 09:38 AM
0

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

Show 3 Share
10 |10000 characters needed characters left characters exceeded
Former Member

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)+"")

0

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
Former Member

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

0
avatar image
Former Member Sep 21, 2017 at 09:31 AM
0

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

Show 2 Share
10 |10000 characters needed characters left characters exceeded

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
Former Member

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

0