on 09-20-2017 6:40 AM
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
Please suggest some workarounds in joining the text coming from the different chunks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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)+"")
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.