Question about creating a report with variable columns
Post Author: Archmage
CA Forum: General
Hi,
Is there a way to create a Crystal report based on the following situation?
Run a stored procedure with two date parameters:
If you run from 9/1/07 to 9/30/07, then the data result would be as follows: (example only) and the report format would follow
Cust Sept 07
AB100 2000
If run from 8/01/07 to 9/30/07
Cust Aug 07 Sept 07
AB100 1000 2000
if run from 7/01/07 to 9/30/07
Cust July 07 Aug 07 Sept 07
AB100 1000 1000 2000
So Basically, based on the parameters chosen, it could be a report with one, two, three, or even 40 columns, each column representing the month.
Thanks for any ideas
Post Author: Archmage
CA Forum: General
Does this require that the stored procedure has already created the different columns by month first? Or can the raw data be a three column source
like
CUSTNO DATE AMT
AA100 8/1/07 1000
AA100 9/1/07 2000
AA100 10/1/07 2500
And checking the format with multiple columns will create the Crystal report like:
CustNo Aug 07 Sept 07 Oct 07
AA100 1000 2000 2500
Similar Messages
-
How to create a report with dynamic columns
Hi all,
I am using Apex 4.0 with Oracle 10g
I am creating a report and I need to display columns dynamically based on the item values.
example:
I have a table employee with columns name, designation, sal
In the report page i have a select list with designations and when I select a designation from the select list,
I need to display the names of the employees horizontally,
like each name as a new column in the report with that particular designation. and same has to continue when I select different designations.
Can some one help me how we can do that.
I appreciate your answer
Thanks,
RikEssentially you want to write a pl/sql function which returns a varchar2 string. The contents of the string must be a valid sql statement.
Once you have done this, you need to add a report region as type sql report and you will have the option of writing it as a query or as a function returning query. Choose function returning query and enter in the function call.
Note your function must be valid, and must be executable by your apex parsing schema.
example:
create or replace
function test_report( p1_tablename in varchar2)
return varchar2
is
v_query varchar2(4000);
begin
v_query :=
'SELECT * from '||p_tablename;
return v_query;
end test_report;Edited by: Keith Jamieson on Aug 15, 2011 4:50 PM -
Hi, I will be creating animations in After Effects mostly using Illustrator vector files and will be exporting to SWF or XFL for using the animations on the web.
One of the priorities is light data as possible to provide viewers with slower connections with better experience. However the animation should also impress and I need to find a balance between performance and possible imagery. The animations may have sound and voice narrative.
I need help with understanding which type of non-vector data is heavier than others. Non-vector image data or sound and voice? And from non-vector image data is some of it lighter or heavier than other - for example motion blur vs smooth gradient vs many colors?
I would greatly appreciate any suggestions, tips, pointers, etc.,Hi, I will be creating animations in After Effects mostly using Illustrator vector files and will be exporting to SWF or XFL for using the animations on the web.
One of the priorities is light data as possible to provide viewers with slower connections with better experience. However the animation should also impress and I need to find a balance between performance and possible imagery. The animations may have sound and voice narrative.
I need help with understanding which type of non-vector data is heavier than others. Non-vector image data or sound and voice? And from non-vector image data is some of it lighter or heavier than other - for example motion blur vs smooth gradient vs many colors?
Let's do a little "Myth Busters" on that one, shall we?
Vector data is per se not "lighter" than pixel data. You could have complex paths for which storing the information of the individual nodes takes up more space than a pixel image of the object.
Dynamic rasterization of vector data costs CPU performance and may in effect make things more slow than just playing a series of pixel images. That would apply to anything from path strokes to gradients.
All your pretty AI vectors don't mean anything if they are constructed in such a way that either AE or Flash need to rasterize them on import. Anything from converting Bezier paths to paths consisting of dense linear segments to converting fills, patterns, gradient meshes and so on to pixel data
Pixels are pixels. It does not matter whether they are gradients, mothionblur or just non-antialiased shapes. Flash doesn't care and neither image format that may be used in Flash stores any more or less info. They only differ in their methods, but in the end it's for you to decide whether you use JPEG, PNG8 or PNG24. They all have their pros and cons.
It makes a difference, if data is embedded in an SWF or if it is externally linked just as it makes a difference whether you enforce audio sync or not, playing every frame or not.
So for all intends and purposes, it's still up to you to make up your own mind and find the best solution. And Rick has a point - if you're really that concerned about efficiency, then do it in Flash or Flash Catalyst and consider the options there that may help like GPU accelerated layer styles for drop shadows etc., dynamic text or your vector data remaining vector in teh first place.
Mylenium -
Creating dynamic reports with overflowing columns
I'm working on designing a reporting module that will create reports in PDF format that can be viewed or printed. The reports will have overflowing columns and rows. The user will be able to specify the columns and will also be able to justify placing of logos in the header.
I am reviewing several tools like Dynamic PDF Generator for Java, and was wondering if there other tools that can help. The tools can either be free or paid.Hi John,
It's a lot of processing but using the formula on the position of the column may work for you... Right click on the field and select Size and Position and then click on the X2 button and then write a formula based on some logic that determines if and where the column is displayed.
If the second column is always there then just hide the 3rd column... but if the 3rd column needs to be moved to the second columns position then you have to determine if the value is true or false and if the second column does exist etc....
Sorry I don't have any samples but I'm sure someone out there does.... Or can provide details if you need them.
Thank you
Don -
BO xi 3.1 u2013 schedule a template for multiple reports with different column
Hi,
I need to migrate the existing reports from SQL Server Reporting Services to BO, and the column order in the report is very important to the clients since clients have existing code to ingest these reports into their database. Now I want to schedule a single template with different parameters for all reports in BO, or create a single template with lot of parameters for all reports. My question is how I might use one template to create multiple reports with different column orders in the reports?
For example, client A has the following column order in their report: firstName, LastName, DateBirth, SSN. Client B has the following column order in their report: SSN, DateBirth, LastName, FirstName. Can I use one template to create these multiple reports?
Thanks!Hi,
The only approach I can think of is to create a template report which uses variables
For each column you would need to variable
v_columnAName and v_columnAValue
v_columnAName would have a if statement in it
=if([client]="clientA" or [client]="clientC";NameOf([firstName]);if([client]="clientB";NameOf([SSN]);NameOf([lastName]));
v_columnA would have a if statement in it
=if([client]="clientA" or [client]="clientC";[firstName];if([client]="clientB";[SSN],[lastName]));
This would only work when you had a small set of clients.
This might be more managable if it was done in the universe
Regards
Alan -
Help creating a report with Financial Reporting Studio.
Hi,
Im new at Financial Reporting Studio so my question might be something very easy, for beginners.
Im trying to create a report with two columns where in each column there is the year dimension. In the first column there is the current POV for year, but in the second column I would like to set the prevoius year of the POV automatically, without using a prompt. Is there any function or way to do it?
Tanks foy yuour help!
EduUse the relative function.
The first column will be set to use the User POV.
For the second column... see the tab named "Functions". Select the function "RelativeMember". For the Member row - select User POV. For the offset enter -1... that will automatically select the prior year. -
Design a single template for multiple reports with different column order
Hi,
I need to migrate the existing reports from SQL Server Reporting Services to Crystal Report 2008, and the column order in the report is very important to the clients since clients have existing code to ingest these reports into their database. Now I want to create a single template with lot of parameters for all reports. My question is how I might use one template to create multiple reports with different column orders in the reports?
For example, client A has the following column order in their report: firstName, LastName, DateBirth, SSN. Client B has the following column order in their report: SSN, DateBirth, LastName, FirstName. Can I use one template to create these multiple reports?
Thanks in advance.-As I mentioned you can find Template Field object in Insert menu of crystal report Designer 2008.
As soon as you select Template Field object you will be able to see a box beside ur mouse cursor. Drag and drop this box at required place. Now when you place this object in report you will get some thing like this "<TemplateField1>" listed under Formula Fields tree. Double click "<TemplateField1>" formula to add your conditions.
-I have not tested it for large amount of Customers. However as the number of customer increases the number of conditions will get increased.
For the customer that want the same ordering of columns you can put those customers under one condition.
for Example...
if(?Client in ['clientA','clientA']) then
<TableName>.<Field>......
-What do you mean be 40 columns? Do you mean 40 fields or you want to show 40 columns in report? Please elaborate.
Regards,
Amrita
Edited by: Amrita Singh on May 21, 2009 7:54 AM -
I want to create a report with more than 64 column's.
I want to create a report with more than 64 column's. I have generated Query the XML.When I tried to create a template for the report.I have Inserted the colum's Wizard and finish it throughing error message. "you cannot create atable with more that 63 coloum's "
Hi ,
Can u Check the below thread
More than 63 columns in rtf template -
How to create a report with dynamic no of columns
Hi All,
we have a report with 6 columns.
and its been access by 10-20 people.
the user dont want to have a fix report with 6 columns rather they want to have a flexibility to select the columns from the report they want to see.
i.e. user one one time wasnt to see only one columns
another time he want to see only column 2 and 4 of the report.
its like there can be a multiple select option from where he can select the columns in the existing report and then see the same report with only that much column.
Please tell me how to implement it.Abhip i thin you didnt get the problem.
there is s exeiting report with 6 column
Currently when i logging to OBIEE and see that report
i will be getting report with 6 column
but now i want a flexibility of selecting only 2 or 3 or 1 or 4 or 5 as i wish columns from this report and see the result only for that
so is there by any chance i can have a check box for each column which i can check in dashborad to select that column
and show the result were as by default it will show the report with 6 column.
Thanks -
Re: BUG? APEX 4.0: ORA-20503 error editing report with 400+ columns
Hello Everyone.
I've run into something quite strange and am hoping you can help me.
I am using Apex 4.0.1 and Oracle version 10.2.0.5. I've created a "classical" report in which the underlying SQL is a very simple:
select * from pvtabThe Oracle table pvtab consists of 419 columns, all of which are varchar2(88) and number type. That's it.
When I run the report, al of the columns show up as expected.
However, when I go into the "Report Attributes" tab and click on one of the fields (any of them, it doesn't matter which one), I immediately get the following error:
ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "598CAA7B68746A66F4B99E1512C36DED" application checksum = "0"If if replace the "*" with a few actual column names, then I am able to access any of these columns without problem.
If I put back the "*", I then encounter this error again.
I have never seen this error with other SQL SELECT statements in which I use the "*" qualifier to retrieve all columns from the table.
And so, I am wondering if the error is caused because of the large number of columns (419) in my table.
I've seen this same error mentioned in connection with forms but never with a report.
So, is there some limit to the number of columns one can have in a "classic" or interactive report?
Any idea why I would be getting this error?
Here is the DDL for my table pvtab:
CREATE TABLE "PVTAB"
( "MICRO" VARCHAR2(4),
"PRIM" VARCHAR2(4),
"UNIT" NUMBER,
"SEC_REF_1" NUMBER,
"SECN_1" VARCHAR2(88),
"SEC_REF_2" NUMBER,
"SECN_2" VARCHAR2(88),
"SEC_REF_3" NUMBER,
"SECN_3" VARCHAR2(88),
"SEC_REF_4" NUMBER,
"SECN_4" VARCHAR2(88),
"SEC_REF_5" NUMBER,
"SECN_5" VARCHAR2(88),
"SEC_REF_6" NUMBER,
"SECN_6" VARCHAR2(88),
"SEC_REF_7" NUMBER,
"SECN_7" VARCHAR2(88),
"SEC_REF_8" NUMBER,
"SECN_8" VARCHAR2(88),
"SEC_REF_9" NUMBER,
"SECN_9" VARCHAR2(88),
"SEC_REF_10" NUMBER,
"SECN_10" VARCHAR2(88),
"SEC_REF_11" NUMBER,
"SECN_11" VARCHAR2(88),
"SEC_REF_12" NUMBER,
"SECN_12" VARCHAR2(88),
"SEC_REF_13" NUMBER,
"SECN_13" VARCHAR2(88),
"SEC_REF_14" NUMBER,
"SECN_14" VARCHAR2(88),
"SEC_REF_15" NUMBER,
"SECN_15" VARCHAR2(88),
"SEC_REF_16" NUMBER,
"SECN_16" VARCHAR2(88),
"SEC_REF_17" NUMBER,
"SECN_17" VARCHAR2(88),
"SEC_REF_18" NUMBER,
"SECN_18" VARCHAR2(88),
"SEC_REF_19" NUMBER,
"SECN_19" VARCHAR2(88),
"SEC_REF_20" NUMBER,
"SECN_20" VARCHAR2(88),
"SEC_REF_21" NUMBER,
"SECN_21" VARCHAR2(88),
"SEC_REF_22" NUMBER,
"SECN_22" VARCHAR2(88),
"SEC_REF_23" NUMBER,
"SECN_23" VARCHAR2(88),
"SEC_REF_24" NUMBER,
"SECN_24" VARCHAR2(88),
"SEC_REF_25" NUMBER,
"SECN_25" VARCHAR2(88),
"SEC_REF_26" NUMBER,
"SECN_26" VARCHAR2(88),
"SEC_REF_27" NUMBER,
"SECN_27" VARCHAR2(88),
"SEC_REF_28" NUMBER,
"SECN_28" VARCHAR2(88),
"SEC_REF_29" NUMBER,
"SECN_29" VARCHAR2(88),
"SEC_REF_30" NUMBER,
"SECN_30" VARCHAR2(88),
"SEC_REF_31" NUMBER,
"SECN_31" VARCHAR2(88),
"SEC_REF_32" NUMBER,
"SECN_32" VARCHAR2(88),
"SEC_REF_33" NUMBER,
"SECN_33" VARCHAR2(88),
"SEC_REF_34" NUMBER,
"SECN_34" VARCHAR2(88),
"SEC_REF_35" NUMBER,
"SECN_35" VARCHAR2(88),
"SEC_REF_36" NUMBER,
"SECN_36" VARCHAR2(88),
"SEC_REF_37" NUMBER,
"SECN_37" VARCHAR2(88),
"SEC_REF_38" NUMBER,
"SECN_38" VARCHAR2(88),
"SEC_REF_39" NUMBER,
"SECN_39" VARCHAR2(88),
"SEC_REF_40" NUMBER,
"SECN_40" VARCHAR2(88),
"SEC_REF_41" NUMBER,
"SECN_41" VARCHAR2(88),
"SEC_REF_42" NUMBER,
"SECN_42" VARCHAR2(88),
"SEC_REF_43" NUMBER,
"SECN_43" VARCHAR2(88),
"SEC_REF_44" NUMBER,
"SECN_44" VARCHAR2(88),
"SEC_REF_45" NUMBER,
"SECN_45" VARCHAR2(88),
"SEC_REF_46" NUMBER,
"SECN_46" VARCHAR2(88),
"SEC_REF_47" NUMBER,
"SECN_47" VARCHAR2(88),
"SEC_REF_48" NUMBER,
"SECN_48" VARCHAR2(88),
"SEC_REF_49" NUMBER,
"SECN_49" VARCHAR2(88),
"SEC_REF_50" NUMBER,
"SECN_50" VARCHAR2(88),
"SEC_REF_51" NUMBER,
"SECN_51" VARCHAR2(88),
"SEC_REF_52" NUMBER,
"SECN_52" VARCHAR2(88),
"SEC_REF_53" NUMBER,
"SECN_53" VARCHAR2(88),
"SEC_REF_54" NUMBER,
"SECN_54" VARCHAR2(88),
"SEC_REF_55" NUMBER,
"SECN_55" VARCHAR2(88),
"SEC_REF_56" NUMBER,
"SECN_56" VARCHAR2(88),
"SEC_REF_57" NUMBER,
"SECN_57" VARCHAR2(88),
"SEC_REF_58" NUMBER,
"SECN_58" VARCHAR2(88),
"SEC_REF_59" NUMBER,
"SECN_59" VARCHAR2(88),
"SEC_REF_60" NUMBER,
"SECN_60" VARCHAR2(88),
"SEC_REF_61" NUMBER,
"SECN_61" VARCHAR2(88),
"SEC_REF_62" NUMBER,
"SECN_62" VARCHAR2(88),
"SEC_REF_63" NUMBER,
"SECN_63" VARCHAR2(88),
"SEC_REF_64" NUMBER,
"SECN_64" VARCHAR2(88),
"SEC_REF_65" NUMBER,
"SECN_65" VARCHAR2(88),
"SEC_REF_66" NUMBER,
"SECN_66" VARCHAR2(88),
"SEC_REF_67" NUMBER,
"SECN_67" VARCHAR2(88),
"SEC_REF_68" NUMBER,
"SECN_68" VARCHAR2(88),
"SEC_REF_69" NUMBER,
"SECN_69" VARCHAR2(88),
"SEC_REF_70" NUMBER,
"SECN_70" VARCHAR2(88),
"SEC_REF_71" NUMBER,
"SECN_71" VARCHAR2(88),
"SEC_REF_72" NUMBER,
"SECN_72" VARCHAR2(88),
"SEC_REF_73" NUMBER,
"SECN_73" VARCHAR2(88),
"SEC_REF_74" NUMBER,
"SECN_74" VARCHAR2(88),
"SEC_REF_75" NUMBER,
"SECN_75" VARCHAR2(88),
"SEC_REF_76" NUMBER,
"SECN_76" VARCHAR2(88),
"SEC_REF_77" NUMBER,
"SECN_77" VARCHAR2(88),
"SEC_REF_78" NUMBER,
"SECN_78" VARCHAR2(88),
"SEC_REF_79" NUMBER,
"SECN_79" VARCHAR2(88),
"SEC_REF_80" NUMBER,
"SECN_80" VARCHAR2(88),
"SEC_REF_81" NUMBER,
"SECN_81" VARCHAR2(88),
"SEC_REF_82" NUMBER,
"SECN_82" VARCHAR2(88),
"SEC_REF_83" NUMBER,
"SECN_83" VARCHAR2(88),
"SEC_REF_84" NUMBER,
"SECN_84" VARCHAR2(88),
"SEC_REF_85" NUMBER,
"SECN_85" VARCHAR2(88),
"SEC_REF_86" NUMBER,
"SECN_86" VARCHAR2(88),
"SEC_REF_87" NUMBER,
"SECN_87" VARCHAR2(88),
"SEC_REF_88" NUMBER,
"SECN_88" VARCHAR2(88),
"SEC_REF_89" NUMBER,
"SECN_89" VARCHAR2(88),
"SEC_REF_90" NUMBER,
"SECN_90" VARCHAR2(88),
"SEC_REF_91" NUMBER,
"SECN_91" VARCHAR2(88),
"SEC_REF_92" NUMBER,
"SECN_92" VARCHAR2(88),
"SEC_REF_93" NUMBER,
"SECN_93" VARCHAR2(88),
"SEC_REF_94" NUMBER,
"SECN_94" VARCHAR2(88),
"SEC_REF_95" NUMBER,
"SECN_95" VARCHAR2(88),
"SEC_REF_96" NUMBER,
"SECN_96" VARCHAR2(88),
"SEC_REF_97" NUMBER,
"SECN_97" VARCHAR2(88),
"SEC_REF_98" NUMBER,
"SECN_98" VARCHAR2(88),
"SEC_REF_99" NUMBER,
"SECN_99" VARCHAR2(88),
"SEC_REF_100" NUMBER,
"SECN_100" VARCHAR2(88),
"SEC_REF_101" NUMBER,
"SECN_101" VARCHAR2(88),
"SEC_REF_102" NUMBER,
"SECN_102" VARCHAR2(88),
"SEC_REF_103" NUMBER,
"SECN_103" VARCHAR2(88),
"SEC_REF_104" NUMBER,
"SECN_104" VARCHAR2(88),
"SEC_REF_105" NUMBER,
"SECN_105" VARCHAR2(88),
"SEC_REF_106" NUMBER,
"SECN_106" VARCHAR2(88),
"SEC_REF_107" NUMBER,
"SECN_107" VARCHAR2(88),
"SEC_REF_108" NUMBER,
"SECN_108" VARCHAR2(88),
"SEC_REF_109" NUMBER,
"SECN_109" VARCHAR2(88),
"SEC_REF_110" NUMBER,
"SECN_110" VARCHAR2(88),
"SEC_REF_111" NUMBER,
"SECN_111" VARCHAR2(88),
"SEC_REF_112" NUMBER,
"SECN_112" VARCHAR2(88),
"SEC_REF_113" NUMBER,
"SECN_113" VARCHAR2(88),
"SEC_REF_114" NUMBER,
"SECN_114" VARCHAR2(88),
"SEC_REF_115" NUMBER,
"SECN_115" VARCHAR2(88),
"SEC_REF_116" NUMBER,
"SECN_116" VARCHAR2(88),
"SEC_REF_117" NUMBER,
"SECN_117" VARCHAR2(88),
"SEC_REF_118" NUMBER,
"SECN_118" VARCHAR2(88),
"SEC_REF_119" NUMBER,
"SECN_119" VARCHAR2(88),
"SEC_REF_120" NUMBER,
"SECN_120" VARCHAR2(88),
"SEC_REF_121" NUMBER,
"SECN_121" VARCHAR2(88),
"SEC_REF_122" NUMBER,
"SECN_122" VARCHAR2(88),
"SEC_REF_123" NUMBER,
"SECN_123" VARCHAR2(88),
"SEC_REF_124" NUMBER,
"SECN_124" VARCHAR2(88),
"SEC_REF_125" NUMBER,
"SECN_125" VARCHAR2(88),
"SEC_REF_126" NUMBER,
"SECN_126" VARCHAR2(88),
"SEC_REF_127" NUMBER,
"SECN_127" VARCHAR2(88),
"SEC_REF_128" NUMBER,
"SECN_128" VARCHAR2(88),
"SEC_REF_129" NUMBER,
"SECN_129" VARCHAR2(88),
"SEC_REF_130" NUMBER,
"SECN_130" VARCHAR2(88),
"SEC_REF_131" NUMBER,
"SECN_131" VARCHAR2(88),
"SEC_REF_132" NUMBER,
"SECN_132" VARCHAR2(88),
"SEC_REF_133" NUMBER,
"SECN_133" VARCHAR2(88),
"SEC_REF_134" NUMBER,
"SECN_134" VARCHAR2(88),
"SEC_REF_135" NUMBER,
"SECN_135" VARCHAR2(88),
"SEC_REF_136" NUMBER,
"SECN_136" VARCHAR2(88),
"SEC_REF_137" NUMBER,
"SECN_137" VARCHAR2(88),
"SEC_REF_138" NUMBER,
"SECN_138" VARCHAR2(88),
"SEC_REF_139" NUMBER,
"SECN_139" VARCHAR2(88),
"SEC_REF_140" NUMBER,
"SECN_140" VARCHAR2(88),
"SEC_REF_141" NUMBER,
"SECN_141" VARCHAR2(88),
"SEC_REF_142" NUMBER,
"SECN_142" VARCHAR2(88),
"SEC_REF_143" NUMBER,
"SECN_143" VARCHAR2(88),
"SEC_REF_144" NUMBER,
"SECN_144" VARCHAR2(88),
"SEC_REF_145" NUMBER,
"SECN_145" VARCHAR2(88),
"SEC_REF_146" NUMBER,
"SECN_146" VARCHAR2(88),
"SEC_REF_147" NUMBER,
"SECN_147" VARCHAR2(88),
"SEC_REF_148" NUMBER,
"SECN_148" VARCHAR2(88),
"SEC_REF_149" NUMBER,
"SECN_149" VARCHAR2(88),
"SEC_REF_150" NUMBER,
"SECN_150" VARCHAR2(88),
"SEC_REF_151" NUMBER,
"SECN_151" VARCHAR2(88),
"SEC_REF_152" NUMBER,
"SECN_152" VARCHAR2(88),
"SEC_REF_153" NUMBER,
"SECN_153" VARCHAR2(88),
"SEC_REF_154" NUMBER,
"SECN_154" VARCHAR2(88),
"SEC_REF_155" NUMBER,
"SECN_155" VARCHAR2(88),
"SEC_REF_156" NUMBER,
"SECN_156" VARCHAR2(88),
"SEC_REF_157" NUMBER,
"SECN_157" VARCHAR2(88),
"SEC_REF_158" NUMBER,
"SECN_158" VARCHAR2(88),
"SEC_REF_159" NUMBER,
"SECN_159" VARCHAR2(88),
"SEC_REF_160" NUMBER,
"SECN_160" VARCHAR2(88),
"SEC_REF_161" NUMBER,
"SECN_161" VARCHAR2(88),
"SEC_REF_162" NUMBER,
"SECN_162" VARCHAR2(88),
"SEC_REF_163" NUMBER,
"SECN_163" VARCHAR2(88),
"SEC_REF_164" NUMBER,
"SECN_164" VARCHAR2(88),
"SEC_REF_165" NUMBER,
"SECN_165" VARCHAR2(88),
"SEC_REF_166" NUMBER,
"SECN_166" VARCHAR2(88),
"SEC_REF_167" NUMBER,
"SECN_167" VARCHAR2(88),
"SEC_REF_168" NUMBER,
"SECN_168" VARCHAR2(88),
"SEC_REF_169" NUMBER,
"SECN_169" VARCHAR2(88),
"SEC_REF_170" NUMBER,
"SECN_170" VARCHAR2(88),
"SEC_REF_171" NUMBER,
"SECN_171" VARCHAR2(88),
"SEC_REF_172" NUMBER,
"SECN_172" VARCHAR2(88),
"SEC_REF_173" NUMBER,
"SECN_173" VARCHAR2(88),
"SEC_REF_174" NUMBER,
"SECN_174" VARCHAR2(88),
"SEC_REF_175" NUMBER,
"SECN_175" VARCHAR2(88),
"SEC_REF_176" NUMBER,
"SECN_176" VARCHAR2(88),
"SEC_REF_177" NUMBER,
"SECN_177" VARCHAR2(88),
"SEC_REF_178" NUMBER,
"SECN_178" VARCHAR2(88),
"SEC_REF_179" NUMBER,
"SECN_179" VARCHAR2(88),
"SEC_REF_180" NUMBER,
"SECN_180" VARCHAR2(88),
"SEC_REF_181" NUMBER,
"SECN_181" VARCHAR2(88),
"SEC_REF_182" NUMBER,
"SECN_182" VARCHAR2(88),
"SEC_REF_183" NUMBER,
"SECN_183" VARCHAR2(88),
"SEC_REF_184" NUMBER,
"SECN_184" VARCHAR2(88),
"SEC_REF_185" NUMBER,
"SECN_185" VARCHAR2(88),
"SEC_REF_186" NUMBER,
"SECN_186" VARCHAR2(88),
"SEC_REF_187" NUMBER,
"SECN_187" VARCHAR2(88),
"SEC_REF_188" NUMBER,
"SECN_188" VARCHAR2(88),
"SEC_REF_189" NUMBER,
"SECN_189" VARCHAR2(88),
"SEC_REF_190" NUMBER,
"SECN_190" VARCHAR2(88),
"SEC_REF_191" NUMBER,
"SECN_191" VARCHAR2(88),
"SEC_REF_192" NUMBER,
"SECN_192" VARCHAR2(88),
"SEC_REF_193" NUMBER,
"SECN_193" VARCHAR2(88),
"SEC_REF_194" NUMBER,
"SECN_194" VARCHAR2(88),
"SEC_REF_195" NUMBER,
"SECN_195" VARCHAR2(88),
"SEC_REF_196" NUMBER,
"SECN_196" VARCHAR2(88),
"SEC_REF_197" NUMBER,
"SECN_197" VARCHAR2(88),
"SEC_REF_198" NUMBER,
"SECN_198" VARCHAR2(88),
"SEC_REF_199" NUMBER,
"SECN_199" VARCHAR2(88),
"SEC_REF_200" NUMBER,
"SECN_200" VARCHAR2(88),
"SEC_REF_201" NUMBER,
"SECN_201" VARCHAR2(88),
"SEC_REF_202" NUMBER,
"SECN_202" VARCHAR2(88),
"SEC_REF_203" NUMBER,
"SECN_203" VARCHAR2(88),
"SEC_REF_204" NUMBER,
"SECN_204" VARCHAR2(88),
"SEC_REF_205" NUMBER,
"SECN_205" VARCHAR2(88),
"SEC_REF_206" NUMBER,
"SECN_206" VARCHAR2(88),
"SEC_REF_207" NUMBER,
"SECN_207" VARCHAR2(88),
"SEC_REF_208" NUMBER,
"SECN_208" VARCHAR2(88)
);Thank you for any help/advice.
Elie
Edited by: EEG on Jun 12, 2011 2:09 PMSo, is there some limit to the number of columns one can have in a "classic" or interactive report?Yes. See Oracle® Application Express Application Builder User's Guide Release 4.0, Appendix B: Oracle Application Express Limits.
Any idea why I would be getting this error?No, but I've replicated it in APEX 4.0.2.00.07 on 11.2.0.1.0 EE using a table of 420 <tt>varchar2(88)</tt> columns:
>
ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "50C9BDC0AA1AEF0EB272E9158B2117B4" application checksum = "0"
>
Happens whether using <tt>select *</tt> or including all column names in the query. (I know you don't want to type all the column names, but I'd never use <tt>select *</tt> in a production application: always use a proper column list. You can get one without typing by drag-and-drop of a table in most IDEs, or a query from <tt>user_tab_columns</tt>.)
I hit the problem at 274 columns. Such an arbitrary number leads me to think that the problem is not one of the number of columns per se, but is due to some other limit (possibly a 32K VARCHAR2/RAW buffer somewhere).
Workaround:
Updates to the report column attributes are actually being saved, and you can navigate them using the Page Definition tree view as described in Appendix B.
Getting More Help:
This is probably a bug. If you have a support agreement with Oracle raise an SR with Oracle Support.
Also:
<li>Search the forum using the "ORA-20503" code and other possible terms to see if there's anything relevant. I had a quick look but the only thread in this context recommended an upgrade on an Oracle 9 DB version that's not compatible with APEX 4.0.
<li>To get the attention of the Oracle APEX team or anyone else who may know more about this problem than we do, edit your original post and change the Subject to be more specific about the actual nature of the problem: <em>BUG? APEX 4.0: ORA-20503 error editing report with 400+ columns</em>, and include your database version/edition and the definition of the <tt>PVTAB</tt> table.
Finally:
Somebody's bound to ask, so we might as well get started:
<li>Why so many columns?
<li>What requirement is this trying to fulfil? -
Need to create a report with drop down option
Hi,
I have created a report with a simple query. Its a real time report.
select host_name, target_name, instance_name from MGMT$DB_DBNINSTANCEINFO
where target_type = 'oracle_database';
It gives me a tabular report. It works fine. But it is a huge report about 1000 rows. We can see a particular number of rows per page. Thats fine.
I need something else. I will select a particular target name from a drop down and the report will give me the result for the respective target only. Is that possible ? How to do that ?
Thanks in AdvanceHello,
When you create your report, in the "general" tab, under Targets click on the first radio button named "A target will be selected by the report viewer when viewing the report" and under that choose target type="Database Instance".
Then in your report query, use the predefined variable ??EMIP_BIND_TARGET_GUID?? to identify the target the report user will select at execution time; for instance:
select host_name, target_name, instance_name from MGMT$DB_DBNINSTANCEINFO
where target_type = 'oracle_database' and target_guid=??EMIP_BIND_TARGET_GUID?? ;
regards,
Noel -
Pivot table with variables columns
I need a helo to pivot table with variable columns,
I have a pivot table :
SELECT a.*
FROM (SELECT codigo_aluno,nome_aluno , id_curso,dia FROM c_frequencia where dia like '201308%') PIVOT (sum(null) FOR dia IN ('20130805' ,'20130812','20130819','20130826')) a
but I need to run the select with values for dia , getting from a other table :
SELECT a.*
FROM (SELECT codigo_aluno,nome_aluno , id_curso,dia FROM c_frequencia where dia like '201308%') PIVOT (sum(null) FOR dia IN (
select dia from v_dia_mes )) a
thank youThe correct answer should be "Use the Pivoted Report Region Plugin".
But, as far as I know, nobody has created/posted that type of APEX plugin.
You may have to use a Basic Report (not an IR) so that you can use "Function returning SELECT" for your Source.
You would need two functions:
One that dynamically generates the Column Names
One that dynamically generates the SELECT statement
These should be in a PL/SQL Package so that the later can call the former to ensure that the column data matches the column names.
i.e. -- no 'SELECT *'
MK -
How to create a report with survey data
Hi All,
I need to create a report with survey data in below format. Can anyone help me how to display the summary in this format.
SwapnaHi Swapna,
According to your description, you want to create a report with survey data and display the summary.
Reporting Services is used for rendering the report with data retrieved from datasource. In Reporting Services, we can retrieve data from the datasource then design a report, after the report processed, data is fixed on the report. So it’s not supported
to have the end users selection and do summary. For your requirement, it’s can’t be achieved currently.
If you have any question, please feel free to ask.
Best regards,
Qiuyun Yu
Qiuyun Yu
TechNet Community Support -
How to create a report with data using the Crystal Reports for Java SDK
Hi,
How do I create a report with data that can be displayed via the Crystal Report for Java SDK and the Viewers API?
I am writing my own report designer, and would like to use the Crystal Runtime Engine to display my report in DHTML, PDF, and Excel formats. I can create my own report through the following code snippet:
ReportClientDocument boReportClientDocument = new ReportClientDocument();
boReportClientDocument.newDocument();
However, I cannot find a way to add data elements to the report without specifying an RPT file. Is this possible? I seems like it is since the Eclipse Plug In allows you to specify your database parameters when creating an RPT file.
is there a way to do this through these packages?
com.crystaldecisions.sdk.occa.report.data
com.crystaldecisions.sdk.occa.report.definition
Am I forced to create a RPT file for the different table and column structures I have?
Thank you in advance for any insights.
Ted JenneyHi Rameez,
After working through the example code some more, and doing some more research, I remain unable to populate a report with my own data and view the report in a browser. I realize this is a long post, but there are multiple errors I am receiving, and these are the seemingly essential ones that I am hitting.
Modeling the Sample code from Create_Report_From_Scratch.zip to add a database table, using the following code:
<%@ page import="com.crystaldecisions.sdk.occa.report.application.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.document.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.definition.*"%>
<%@ page import="com.crystaldecisions.sdk.occa.report.lib.*" %>
<%@ page import = "com.crystaldecisions.report.web.viewer.*"%>
<%
try {
ReportClientDocument rcd = new ReportClientDocument();
rcd.newDocument();
// Setup the DB connection
String database_dll = "Sqlsrv32.dll";
String db = "qa_start_2012";
String dsn = "SQL Server";
String userName = "sa";
String pwd = "sa";
// Create the DB connection
ConnectionInfo oConnectionInfo = new ConnectionInfo();
PropertyBag oPropertyBag1 = oConnectionInfo.getAttributes();
// Set new table logon properties
PropertyBag oPropertyBag2 = new PropertyBag();
oPropertyBag2.put("DSN", dsn);
oPropertyBag2.put("Data Source", db);
// Set the connection info objects members
// 1. Pass the Logon Properties to the main PropertyBag
// 2. Set the Server Description to the new **System DSN**
oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, oPropertyBag2);
oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_SERVERDESCRIPTION, dsn);
oPropertyBag1.put("Database DLL", database_dll);
oConnectionInfo.setAttributes(oPropertyBag1);
oConnectionInfo.setUserName(userName);
oConnectionInfo.setPassword(pwd);
// The Kind of connectionInfos is CRQE (Crystal Reports Query Engine).
oConnectionInfo.setKind(ConnectionInfoKind.CRQE);
// Add a Database table
String tableName = "Building";
Table oTable = new Table();
oTable.setName(tableName);
oTable.setConnectionInfo(oConnectionInfo);
rcd.getDatabaseController().addTable(oTable, null);
catch(ReportSDKException RsdkEx) {
out.println(RsdkEx);
catch (Exception ex) {
out.println(ex);
%>
Throws the exception
com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: java.lang.NullPointerException---- Error code:-2147467259 Error code name:failed
There was other sample code on SDN which suggested the following - adding the table after calling table.setDataFields() as in:
String tableName = "Building";
String fieldname = "Building_Name";
Table oTable = new Table();
oTable.setName(tableName);
oTable.setAlias(tableName);
oTable.setQualifiedName(tableName);
oTable.setDescription(tableName) ;
Fields fields = new Fields();
DBField field = new DBField();
field.setDescription(fieldname);
field.setHeadingText(fieldname);
field.setName(fieldname);
field.setType(FieldValueType.stringField);
field.setLength(40);
fields.add(field);
oTable.setDataFields(fields);
oTable.setConnectionInfo(oConnectionInfo);
rcd.getDatabaseController().addTable(oTable, null);
This code succeeds, but it is not clear how to add that database field to a section. If I attempt to call the following:
FieldObject oFieldObject = new FieldObject();
oFieldObject.setDataSourceName(field.getFormulaForm());
oFieldObject.setFieldValueType(field.getType());
// Now add it to the section
oFieldObject.setLeft(3120);
oFieldObject.setTop(120);
oFieldObject.setWidth(1911);
oFieldObject.setHeight(226);
rcd.getReportDefController().getReportObjectController().add(oFieldObject, rcd.getReportDefController().getReportDefinition().getDetailArea().getSections().getSection(0), -1);
Then I get an error (which is not unexpected)
com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The field was not found.---- Error code:-2147213283 Error code name:invalidFieldObject
How do I add one of the table.SetDataFields() to my report to be displayed?
Are there any other pointers or suggestions you may have?
Thank you -
How to create a report with different page sizes
Hi,
I would like to create a report with different page sizes, it's possible to do it with diadem?
When I change the layout parameters, changes afect to all sheets...
Is there a way to change page size individually for each sheet?
Thanks in advance.
MarcHi Marc,
You can use the DocStart and DocEnd commands along with the PicPrint command to spool multiple print commands to the same output PDF file using the direct printer approach. This should enable you to programmatically specify the page size differently for each sheet that you add to the print job.
' Print PDF Page by Page.VBS
OPTION EXPLICIT
Dim i, Path, OldPrintName
Path = AutoActPath & "2D Stacked"
Call DataDelAll
Call DataFileLoad(Path & ".TDM")
PDFFileName = Path & " Page by Page.pdf"
IF FileExist(PDFFileName) THEN Call FileDelete(PDFFileName)
OldPrintName = PrintName
PrintName = "winspool,DIAdem PDF Export,LPT1:" ' Set to PDF printer
PDFResolution = "72 DPI" ' "2400 DPI" , "default"
PDFOptimization = TRUE
PDFFontsEmbedded = FALSE
PDFJPGCompressed = "high"
PrintOrient = "landscape" ' orient paper
Call PrintMaxScale("GRAPH") ' auto-max, see alternative margin setting variables below
PrintLeftMarg = 0.181
PrintTopMarg = 0.181
PrintWidth = 10.67
'PrintHeigth = 7 (read-only)
Call WndShow("REPORT")
Call DocStart ' Begin multi-page document/print job
FOR i = 1 TO 4
Call PicLoad(Path & ".TDR")
Call GraphSheetNGet(1)
Call GraphSheetRename(GraphSheetName, "Page " & i)
Call PicUpdate
Call PicPrint("WinPrint") ' Add a page to be printed
NEXT ' i
Call DocEnd ' End multi-page document/print job
PrintName = OldPrintName
Call ExtProgram(PDFFileName)
Brad Turpin
DIAdem Product Support Engineer
National Instruments
Maybe you are looking for
-
Reading XML object from Request object
Hi, We are using Flash in our web application in which we are sending an XML object using HTTP post method to a JSP where we need to parse the XML object and get the values. Can anyone tell how we can do it?
-
I need help... I no longer have all of the buttons on my IPod touch screen. My grandson got a hold of it and boom.. The time and date is wrong also, and I have no access to fix this problem. There is no settings button. Any help would be apprecia
-
Repair permissions in Disk Utility won't stop
OK, I've never done permissions repair on our MacBook Pro 15" (2 GB 1067 MHz DDR3, 2.4 GHz Intel Core 2 Duo). (My apologies to the fastidious cleaners among this group.) I've done multiple upgrades over the past 4 or so years that we've owned it, i
-
Solaris Management Console Server Problems
When I try to run Solaris Management Console, I get an error saying that the server is not running on port 898. I have followed the instructions on hte FAQ. I see no instances of smcboot running in the processes. When I run /etc/init.d/init.wbem star
-
I cannot run anymore itunes on my laptop - error 7 (windows error 998)
I cannot run anymore itunes on my laptop - error 7 (windows error 998)