I'm currently creating a report in Crystal Reports and each item has a border. The problem is that some of the fields can have a NULL value. When a field has a value of NULL the border doesn't show up, leaving an unsightly gap in the data.
The only solution I was able to come up with is that I create a formula for each column that displays the value if it's not null or displays a blank space when it's not null to trick crystal into thinking there is a value. This would be a major pain and definitely be confusing to anyone trying to modify the report. Is there a better solution to this problem that I might have missed?
Note: I'm unable to modify the SQL.
You can change the report options to give the default value to the null fields. But it may be not desirable for other cases.
If you wanna try it, right click the report and select "report options". Check the options "convert database null values to default" and/or "convert other null values to default".
You can insert a textbox on the report, then place the field inside that textbox. The borders would be placed on the textbox and would always appear regardless of the field value.
A few drawbacks to this,
Formatting cannot be done on the field any more (e.g. if you needed to display 123 as $123.00 you'd need to create a formula to perform the formatting then insert that formula into the textbox)
Export the data to Excel would not respect the data type - any numbers would come over formatted as text (though displayed exactly as you formatted them on the report) with that little green arrow in the cell
I found that method from https://archive.sap.com/discussions/message/9923668#9923668
Related
I am trying to display a list of open indents with check boxes before them each line. Based on the selection a report will be generated next with further details.
Table: xxind_mstr (xxind_nbr, xxind_shipto, xxind_askedby, xxind_date).
Is there any way that I can bring the records from xxind_mstr and place them in the FORM with check boxes ?
Note: This only works if dynamic. Never hardcode this approach.
Name each check box with the value of ROWID(xxind_mstr).
This way on the post you can read back through the each xxind_mstr getting the value of the the rowid.
Rod
I'd like some more info, just to know if I'm not talking rubbish here. You want to display the records in xxind_mstr as checkboxes, then upon selection of the report setup, fire the report respecting the checkboxes flagged? If so, then I'd use a browse pre-built with a temp-table containing the xxind_mstr records, and a "flagged" field, this being a logical view-as checkbox, and when they run the report, do a
FOR EACH ttxxind_mstr WHERE flagged = true, and you should have what you want.
I'm getting an integer value as 2345 but I want to display it as 234.5
is it possible??
To get what you are looking for in a simple fix is like what kingpin stated above. Divide the value by ten. To do this just create a new formula in crystal by going into your field explorer and right clicking on the formula fields section. Under there should be a option to create a new formula. Then in window that comes up put the field you want to manipulate in the formula and then divide that by ten. And there you go. Now use the formula field in the report instead of the original field.
Here is a example of how it could look.
{Table_Foo.value_Bar} / 10
There is a field property for it. Don't have access to crystal reports at the moment, but I know it's there:
Crystal Report Provides an easy to use default thousand separator for numeric Fields. You can use it by checking Thousand Separator from Field Properties.
If you need a customized separator, check Customized Thousand Separator in Crystal Report.
You also might want to find some tutorials on the Crystal Reports themselves if you still have trouble.
I created a label report (2 columns). The fields used are, Suffix, Contact Name, Company Name, Job Title and Department – simple contact data.
The Department field is the last one and in the report of 78 records the Department field decided not to display the entire field text twice.
I have "Can Grow" set as default on all fields, I checked the margins and label width to ensure the text is not being truncated because of the labels being too wide for the margins. I modified the data in the database by abbreviating certain words and it shows the change but it still truncates after 50 characters. Other times the Department name is 80+ characters and it displays all of the data.
This problem is happening onscreen when I preview the report and also when various users print it. The default printers have not changed.
This one has me stumped. Is this an application bug (if so is there a Service Pack for CR 11.5?) or does it have anything to do with printer drivers in need of update?
Thanks in advance for your help on this puzzle.
Update
I did specify data source
The text in the database is without any special characters or anythig else that might be out of place
No I am not using Underlaying Following sections anywhere in the document
11.5.8.998 is my version of CR (lloks like I am behind - however, when I click on verify for updates it tells me there aren't any. Do you ahve a link to the SP2 download?)
No formula in the Custom string option
Mine worked by simply going to the Database Menu option: Database-->Verify Database, and the field sizes were updated
It could happen if the length of the field in the Data Source is less than your string. To check this:
In the Field Explorer right click on the data source name and choose "Show Field Type"
The length of the field is written between ( ). If it is less than your string length, you have to re-build your data source. For example, if your data source is a view, you have to drop and create it again and then verify your data base in crystal report.
Hope it helps.
Random troubleshooting thoughts. One of these could even work :)
You didn't specify your datasource, but can you preview your data before it goes into Crystal? If the actual data is randomly truncated, then the problem isn't Crystal, it's the data.
Does this data have any special characters, i.e. accents, foreign currencies, etc? That could be a problem (I don't know if this could even create problems, never used them in Crystal)
In the Section Expert, are you using the Underlaying Following Sections option for fancy formatting? If so, your 'grown' fields may be hidden by some other field in the following section.
My Crystal Reports XI Developer Edition is 11.5.12.1838 (that's service pack 2). Is your Crystal up to date?
In the Format Field pane, there is an option to make a custom Display String. Sometimes I forget I have a formula and then don't understand why it's not doing what i want.
I have a crystal report, which takes data from an XML template. For a particular field of report, say 'Cost' the database stored procedure send data to XSD file in decimal format , but when the crystal report displays data picking from XSD, it is rounded off.
When i right click on other data fields of report, I can see 'Field:table1.columnname',. But when i click on 'Cost' field, it shows 'Text:'.
To my understanding, this is a text field which is mapped to pick data from XSD and since the type is text, it gives result in text hence truncating the decimal.
Please suggest how can I get decimals here.
P.S: This code was created by someone else, so i have no idea on what they had set at that time. I have to fix it and i have no clue about it.
(This sounds like one of those problems which is probably fixable in 20 seconds if I stood over your shoulder. Or not. Since that's not possible, let's do some background first:)
When you right-click on a field and see Text:, that means it's just a Text Object which may or may not display data from the database (if you just roll your mouse over it, it should say Text Object). When you want a report to say something generic like "Hello, my name is", this is how you'd do it. But you can also drag & drop data fields into it as well.
The other data fields that say 'Field:table1.columnname' when you right-click are indeed pulled (almost) directly from the database
Try this:
Go into your Field Explorer (If it's not open already, from the menu bar, choose View->Field Explorer). Check the Field Type of your field of interest. If it's a number field, then that's how it's being pulled from the database, which is good.
Try deleting the original field in the report and drag&dropping your field directly from the field explorer. Preview the report. Right click to Format Field. There, you'll see display options to add/remove decimals, insert currency symbols, etc.
That's enough for now. Let us know how it goes.
We are using Crystal Report 12 in one of our projects. Currently I need to create report template which should show different icons based on the some field value.
That field contains a number, storing some kind of status and I have several icons corresponding some statuses.
At the moment I can't figure out how to implement such a thing in Crystal Reports designer.
Could someone please help me?
Showing and hiding graphical objects in CR based on a formula is almost exactly like showing and hiding text labels based on certain criteria.
First, you need to add each icon to your report detail section by choosing the Insert menu, and then select Picture...
Once all your icons are inserted, you will need to edit the suppression formula by right-clicking on each icon and choosing Format Graphic. On the first tab of the Format Editor, you have a Suppress option just like you do for other report objects. Click on the formula button next to Suppress to add a suppression formula to the icon describing when it should be shown or hidden.
I was also searching for the similar solution and this helped me. These steps works.
To display a particular picture, based on a column value, right click on picture> Format Graphic> Suppress (do not check)
And write formula, for example
ColorCode= '110'
(Based on column name ColorCode if column value is '110' I am displaying the picture)