Discoverer 4i:i have to create a report based on the two columns
Hi,
I have to create a report(workbook) that will have 2 parameters from date & to date.i have to apply a validation that from date should be lesser then to date.Do reply
Thanks,
The methods described by user564110 will work, but may not give the results you want. The user will enter the dates, the query will run, and if the to_date is lesser than the from_date, the result will be an empty worksheet with a "no rows returned" type of message. There is no way that I can think of that validate the parameters and warn the user prior to runing the worksheet.
One alternative condition you could try:
col_date between least(:from_date, :to_date) and greatest(:from_date, :to_date)It won't warn the users, but will still allow the worksheet to return data.
Similar Messages
-
How to create a report based on the selection of a node of a tree
Hello,
I am new to Oracle Apex and I was trying to build a tree and also an interactive report based on the empno column of the emp table.
I have created a tree based on emp table. Now I want to display records of the employee selected in the tree.
Here is the tree query:
select case when connect_by_isleaf = 1 then 0
when level = 1 then 1
else -1
end as status,
level,
"ENAME" as title,
null as icon,
"EMPNO" as value,
null as tooltip,
null as link
from "#OWNER#"."EMP"
start with "MGR" is null
connect by prior "EMPNO" = "MGR"
order siblings by "ENAME"
Can anyone tell me step by step how to go from here?
I tried to follow the thread Re: tree question but could not understand much from it.The approach for reloading the page and displaying the report is quite simple.
<li>You start by creating a new page item which would be used to store the selected node ID , eg. P100_SELECTED_NODE (you can make it atext item and change it hidden once everything works as expected)
<li>Modify the tree query and change the link column in the tree definition SQL query to a link to the same
for example if your page is 100 , you would make the tree node link to the same page but set the P100SELECTED_NODE with selected node's id_
This done here
{message:id=4410987}
In this case it would be
'f?p=&APP_ID.:100:'||:APP_SESSION||'::::P100_SELECTED_NODE:'||EMPNO as link Now when you click on a tree node link , it would come back to the same page, but set the P100_SELECTED_NODE with the empno of the clicked node.
<li> All that is left to do, is changing your Report so that it refers to the new item inorder to filter the records for this employee i.e empno
SELECT ...
WHERE empno= :P100_SELECTED_NODE -
How to create a report based on the portal30.wwsbr_all_items?
Hi,
I created items in a folder in a content area. I would like to create a portal report and display the items of the folder of the content area.
I logged in the database as portala30 and issued the following statement:
SELECT ID,NAME FROM WWSBR_ALL_ITEMS WHERE CAID = 331
AND FOLDER_ID = 49959;
(I found out the caid for content area and folder_id for folders
from the portal30.wwsbr_all_content_areas, and portal30.wwsbr_all_folders.)
I have a row returned from my query in sqlplus (which is correct).
Then I go into portal as portal30-> application(based on portal30 schema) -> create a report,
use the same sql statement that I used above, and I got the following error message at run time:
Error: ORA-01445: cannot select ROWID from a join view without a key-preserved table (WWV-11230)
Failed to parse as PORTAL30_PUBLIC - SELECT ID,NAME FROM PORTAL30.WWSBR_ALL_ITEMS order by rowid (WWV-08300)
Note: I did run the sbrapi.sql to grant access to the content area api to portal30_public.
What else I am missing?
Thanks;
Kelly.Hi,
I created items in a folder in a content area. I would like to create a portal report and display the items of the folder of the content area.
I logged in the database as portala30 and issued the following statement:
SELECT ID,NAME FROM WWSBR_ALL_ITEMS WHERE CAID = 331
AND FOLDER_ID = 49959;Hy i've done the same thing on my Portal and it works.
The things i've seen is that you must remove the ';' character because you don't need it with the report component.
Error: ORA-01445: cannot select ROWID from a join view without a key-preserved table (WWV-11230)
Failed to parse as PORTAL30_PUBLIC - SELECT ID,NAME FROM PORTAL30.WWSBR_ALL_ITEMS order by rowid (WWV-08300)The second thing is that i've got the same error on other report and the solution is to simply add and order by at the end of the statement like this :
SELECT ID,NAME
FROM WWSBR_ALL_ITEMS
WHERE CAID = 331
AND FOLDER_ID = 49959
ORDER BY 2
I've done this when i've got this error and it solve the problem.
Best regards
Arnaud Bontemps
mail : [email protected]
web : http://www.labo-oracle.com -
How to create a report based on selected item from Select list?
Hi,
I have created a tables_LOV based on:
select table_name d, table_name r from user_tab_cols
where column_name like '%_type%'
Then I created a page item ListOfTables, Display as select list and pointing to tables_LOV.
I run the page, and i can select the table i want from the drop down list.
How to create a report based on the selected item? (ex: select * from selected_table)
many thanks in advance
SalahHi Salah,
Allright, have a look at this page: http://apex.oracle.com/pls/apex/f?p=vincentdeelen:collection_report
I think that simulates what you're trying to accomplish. I've set up the simplest method I could think of.
The report is based on an apex collection. If you are not familiar with that, you should study the documentation: APEX_COLLECTION
To recreate my example you should:
1) create an (interactive) report on your collection
SELECT *
FROM APEX_collections
WHERE collection_name = 'MY_COLLECTION'
2) create a page_item select list for the tables you want to display (in my case this is called "P38_TABLES" )
3) create a dynamic action that triggers on change of your select list page_item. The dynamic action must be a PL/SQL procedure perfoming the following code:
declare
l_query varchar2(4000);
begin
l_query := 'select * from '||:P38_TABLES;
if apex_collection.collection_exists
( p_collection_name => 'MY_COLLECTION' )
then
apex_collection.delete_collection
( p_collection_name => 'MY_COLLECTION' );
end if;
apex_collection.create_collection_from_query
( p_collection_name => 'MY_COLLECTION'
, p_query => l_query
end;
Make sure you add your page_item to the "Page Items to Submit" section.
4) Add an extra true action that does a refresh of the report region.
Here are two pictures describing the da:
http://www.vincentdeelen.com/images/otn/OTN_COLLECTION_REPORT_DA1.png
http://www.vincentdeelen.com/images/otn/OTN_COLLECTION_REPORT_DA2.png
Good luck and regards,
Vincent
http://vincentdeelen.blogspot.com -
Create a report based on sample data!
Hello all,
I would like to get some helps for creating a report based on the following table data in the database:
Class | Name | Student
=======================================
1 | Algebra | 60
1 | Extra Algebra | 20
2 | Calculus | 80
2 | Extra Calculus | 10
3 | Geometry | 90
What I expect to have the layout of report should be look like as below:
School Register Report
ClassGroup | Name | Ontime register | Late register
=========================================================
1 | Algebra | 60 | 20
2 | Calculus | 80 | 10
3 | Geometry | 90 |
Please tell it is possible to do it in Crystal Report? Please help with solution. Thanks in advance.Assumimg second type always starts with Extra then, create formula
@Name
If like 'Extra*' then mid(, 7,20) else
Group on this formula
@LateReg
If like 'Extra*' then else 0
@OnTimeReg
If not( like 'Extra*') then else 0
Add Maximum smmaries of these formula to @Name Group footer, suppress details and group header
Ian -
How to create a report based on a DataSet programatically
I'm working on a CR 2008 Add-in.
Usage of this add-in is: Let the user choose from a list of predefined datasets, and create a totally empty report with this dataset attached to is. So the user can create a report based on this dataset.
I have a dataset in memory, and want to create a new report in cr2008.
The new report is a blank report (with no connection information).
If I set the ReportDocument.SetDataSource(Dataset dataSet) property, I get the error:
The report has no tables.
So I must programmatically define the table definition in my blank report.
I found the following article: https://boc.sdn.sap.com/node/869, and came up with something like this:
internal class NewReportWorker : Worker
public NewReportWorker(string reportFileName)
: base(reportFileName)
public override void Process()
DatabaseController databaseController = ClientDoc.DatabaseController;
Table table = new Table();
string tabelName = "Table140";
table.Name = tabelName;
table.Alias = tabelName;
table.QualifiedName = tabelName;
table.Description = tabelName;
var fields = new Fields();
var dbField = new DBField();
var fieldName = "ID";
dbField.Description = fieldName;
dbField.HeadingText = fieldName;
dbField.Name = fieldName;
dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
fields.Add(dbField);
dbField = new DBField();
fieldName = "IDLEGITIMATIEBEWIJS";
dbField.Description = fieldName;
dbField.HeadingText = fieldName;
dbField.Name = fieldName;
dbField.Type = CrFieldValueTypeEnum.crFieldValueTypeInt64sField;
fields.Add(dbField);
// More code for more tables to add.
table.DataFields = fields;
//CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo info =
// new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
//info.Attributes.Add("Databse DLL", "xxx.dll");
//table.ConnectionInfo = info;
// Here an error occurs.
databaseController.AddTable(table, null);
ReportDoc.SetDataSource( [MyFilledDataSet] );
//object path = @"d:\logfiles\";
//ClientDoc.SaveAs("test.rpt", ref path, 0);
The object ClientDoc referes to a ISCDReportClientDocument in a base class:
internal abstract class Worker
private ReportDocument _ReportDoc;
private ISCDReportClientDocument _ClientDoc;
private string _ReportFileName;
public Worker(string reportFileName)
_ReportFileName = reportFileName;
_ReportDoc = new ReportDocument();
// Load the report from file path passed by the designer.
_ReportDoc.Load(reportFileName);
// Create a RAS Document through In-Proc RAS through the RPTDoc.
_ClientDoc = _ReportDoc.ReportClientDocument;
public string ReportFileName
get
return _ReportFileName;
public ReportDocument ReportDoc
get
return _ReportDoc;
public ISCDReportClientDocument ClientDoc
get
return _ClientDoc;
But I get an "Unspecified error" on the line databaseController.AddTable(table, null);
What am i doing wrong? Or is there another way to create a new report based on a DataSet in C# code?Hi,
Have a look at the snippet code below written for version 9 that you might accommodate to CR 2008, it demonstrates how to create a report based on a DataSet programmatically.
//=========================================================================
+ * the following two string values can be modified to reflect your system+
+ ************************************************************************************************/+
+ string mdb_path = "C:
program files
crystal decisions
crystal reports 9
samples
en
databases
xtreme.mdb"; // path to xtreme.mdb file+
+ string xsd_path = "C:
Crystal
rasnet
ras9_csharp_win_datasetreport
customer.xsd"; // path to customer schema file+
+ // Dataset+
+ OleDbConnection m_connection; // ado.net connection+
+ OleDbDataAdapter m_adapter; // ado.net adapter+
+ System.Data.DataSet m_dataset; // ado.net dataset+
+ // CR variables+
+ ReportClientDocument m_crReportDocument; // report client document+
+ Field m_crFieldCustomer;+
+ Field m_crFieldCountry;+
+ void CreateData()+
+ {+
+ // Create OLEDB connection+
+ m_connection = new OleDbConnection();+
+ m_connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdb_path;+
+ // Create Data Adapter+
+ m_adapter = new OleDbDataAdapter("select * from Customer where Country='Canada'", m_connection);+
+ // create dataset and fill+
+ m_dataset = new System.Data.DataSet();+
+ m_adapter.Fill(m_dataset, "Customer");+
+ // create a schema file+
+ m_dataset.WriteXmlSchema(xsd_path);+
+ }+
+ // Adds a DataSource using dataset. Since this does not require intermediate schema file, this method+
+ // will work in a distributed environment where you have IIS box on server A and RAS Server on server B.+
+ void AddDataSourceUsingDataSet(+
+ ReportClientDocument rcDoc, // report client document+
+ System.Data.DataSet data) // dataset+
+ {+
+ // add a datasource+
+ DataSetConverter.AddDataSource(rcDoc, data);+
+ }+
+ // Adds a DataSource using a physical schema file. This method require you to have schema file in RAS Server+
+ // box (NOT ON SDK BOX). In distributed environment where you have IIS on server A and RAS on server B,+
+ // and you execute CreateData above, schema file is created in IIS box, and this method will fail, because+
+ // RAS server cannot see that schema file on its local machine. In such environment, you must use method+
+ // above.+
+ void AddDataSourceUsingSchemaFile(+
+ ReportClientDocument rcDoc, // report client document+
+ string schema_file_name, // xml schema file location+
+ string table_name, // table to be added+
+ System.Data.DataSet data) // dataset+
+ {+
+ PropertyBag crLogonInfo; // logon info+
+ PropertyBag crAttributes; // logon attributes+
+ ConnectionInfo crConnectionInfo; // connection info+
+ CrystalDecisions.ReportAppServer.DataDefModel.Table crTable;+
+ // database table+
+ // create logon property+
+ crLogonInfo = new PropertyBag();+
+ crLogonInfo["XML File Path"] = schema_file_name;+
+ // create logon attributes+
+ crAttributes = new PropertyBag();+
+ crAttributes["Database DLL"] = "crdb_adoplus.dll";+
+ crAttributes["QE_DatabaseType"] = "ADO.NET (XML)";+
+ crAttributes["QE_ServerDescription"] = "NewDataSet";+
+ crAttributes["QE_SQLDB"] = true;+
+ crAttributes["QE_LogonProperties"] = crLogonInfo;+
+ // create connection info+
+ crConnectionInfo = new ConnectionInfo();+
+ crConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;+
+ crConnectionInfo.Attributes = crAttributes;+
+ // create a table+
+ crTable = new CrystalDecisions.ReportAppServer.DataDefModel.Table();+
+ crTable.ConnectionInfo = crConnectionInfo;+
+ crTable.Name = table_name;+
+ crTable.Alias = table_name;+
+ // add a table+
+ rcDoc.DatabaseController.AddTable(crTable, null);+
+ // pass dataset+
+ rcDoc.DatabaseController.SetDataSource(DataSetConverter.Convert(data), table_name, table_name);+
+ }+
+ void CreateReport()+
+ {+
+ int iField;+
+ // create ado.net dataset+
+ CreateData();+
+ // create report client document+
+ m_crReportDocument = new ReportClientDocument();+
+ m_crReportDocument.ReportAppServer = "127.0.0.1";+
+ // new report document+
+ m_crReportDocument.New();+
+ // add a datasource using a schema file+
+ // note that if you have distributed environment, you should use AddDataSourceUsingDataSet method instead.+
+ // for more information, refer to comments on these methods.+
+ AddDataSourceUsingSchemaFile(m_crReportDocument, xsd_path, "Customer", m_dataset);+
+ +
+ // get Customer Name and Country fields+
+ iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Customer Name", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
+ m_crFieldCustomer = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
+ iField = m_crReportDocument.Database.Tables[0].DataFields.Find("Country", CrFieldDisplayNameTypeEnum.crFieldDisplayNameName, CeLocale.ceLocaleUserDefault);+
+ m_crFieldCountry = (Field)m_crReportDocument.Database.Tables[0].DataFields[iField];+
+ // add Customer Name and Country fields+
+ m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCustomer);+
+ m_crReportDocument.DataDefController.ResultFieldController.Add(-1, m_crFieldCountry);+
+ // view report+
+ crystalReportViewer1.ReportSource = m_crReportDocument;+
+ }+
+ public Form1()+
+ {+
+ //+
+ // Required for Windows Form Designer support+
+ //+
+ InitializeComponent();+
+ // Create Report+
+ CreateReport();+
+ //+
+ // TODO: Add any constructor code after InitializeComponent call+
+ //+
+ }+//========================================================================= -
How to create a report region which the first colomn is row selector column
I want to create a report region and its first column is a row selector column. I have used select sentence to select some columns. But I do not know how set the first column to row selector column. I mean I want to do as follow. When a radio which is first column is chosen, it will return it's value of the column in the chosen row. Please help me! Thanks
Hi unnamed,
Suppose you have an id that identifies your record.
Go to Report definiton, tab report attirbutes.
Select the id of your record.
Create a link to the page you want to go to.
Hope this helps.
If not, I suggest you to create a from with report, and analyze the way the wizard has generated it.
Leo -
How to have rownum in a report based on a view
How to use rownum in a report or tabular form?
I wanted to number the rows in a report. The most obvious way would be just stick
rownum in there. There is a view in a database1. It is merely select a,b,c from various
things joined together and order by pkey1.
Apex is in database2 so I have to create a view there across the link
like:
create or replace view SOME_VIEW as
select * from OTHER_VIEW@SOMELINK
alter view SOME_VIEW add constraint PK_SOME_VIEW
PRIMARY KEY (pkey1)
DISABLE NOVALIDATE;
The problem is if I try to include rownum in the query in the report I always get:
failed to parse SQL query:
ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc.
There's no rowid, it knows that the primary key is Pkey1 so what is the problem?
I know it's rownum that it hates. Maybe I can just number these things some other
way. However it'd be good to figure out what it is griping about.
Anyone know?
Edited by: lake on Mar 12, 2011 9:36 AMthanks!
Actually I made a mistake in testing. And it does work to do this:
in database1:
create or replace view VIEW1 as
select
rownum "SEQ", etc.
in database2:
create view VIEW2 as select * from VIEW1@mylink
How I screwed up testing that I don't know. I was calling the column NUM before....
this is good because you can create a report about the next so many of something, such as how many of
the next batch of mailings have address problems? For that you need to know in what order it will be done and
when to quit.
But I'm sure I will use the report rownum thing also. thanks very much. -
Creating a Report based on different schema objects
Hi,
I have a situation in creating Reports for my database performance.
Let me explain my requirment.
There are 2 schemas in my database called X, Y
X owns all the performance related data. But Y has read access on X objects.
Now in APEX I have a developer DEV1 is mapped to database schema Y through WS1.
I cannot map DEV1 to database schema X for security reasons.
When I am trying to create a report as DEV1, it is allowing me to create based on the objects owned by schema Y.
However it is not allowing me to create a report based on objects owned by X though Y has SELECT privileges on X's objects.
Can any one help in this?
Regards
BalajiThis is the query which I am using to build a report
SELECT
rollup_timestamp "Date",
max(decode(target_guid,'199F0B201A3D71A63040BADFAA4F9E90',average,0)) host1,
max(decode(target_guid,'3FB1329F59339C07E11304B69DC4E594',average,0)) host2
FROM "sysman.MGMT$METRIC_DAILY"
WHERE
(target_guid='199F0B201A3D71A63040BADFAA4F9E90'
or
target_guid='3FB1329F59339C07E11304B69DC4E594')
AND
metric_name='Load'
AND
metric_column='memUsedPct'
AND
rollup_timestamp >= to_date('01-10-2009','dd-mm-yyyy') and rollup_timestamp <= sysdate
GROUP BY rollup_timestamp
ORDER BY "Date"
And for your previous question I couldn't even create a page.
Regards
Balaji
Edited by: user7290747 on 6/01/2010 16:17 -
Can I create a report based on Non-Oracle template?
Hi:
I have a Microsoft Word document that contains the entire layout of a report I need to create with Oracle Report 6i. I know that I can create a report based on a template, but as I understand it, I am limited to using Oracle Reports templates. Does Reports support using foreign templates? Thanks for any word in this manner.
Thomas Morgan
:)oracle reports does not support using ms word documents as templates. there is a product in the oracle applications stack, XML publisher, that allows you to inject data into a word template.
thanks,
ph. -
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 -
I have just created a new playlist, at the same time I have updated the ITunes software and that of my ITouch. My problem is that today I have been trying to edit the playlist and the edit playlist is greyed out please help.
I have been in preferences and checked manually edit etc and still no joy. I must be missing something.
SusanFrom Here http://support.apple.com/kb/HE37
I have multiple Apple IDs. Is there a way for me to merge them into a single Apple ID?
Apple IDs cannot be merged. You should use your preferred Apple ID from now on, but you can still access your purchased items such as music, movies, or software using your other Apple IDs. -
How do I receipt for goods received? I have already created my PO. Learning the three way match process. Navigations would be good.
Thank You!Please visit following link.
Procure to Pay (p2p) R12 - erpSchools -
How to Create Interactive report lists for the gross sales, credit returns, and gross weight for the customer for the current year and comparing the same with that of the previous year for the same period.....
plz tell me steps to accomplish this....plz ...give me the detail description..plz......many many thnx in advance...Hi raja,
Display a checkbox , customer number on the basic list and also set a GUI STATUS on the basic list.....
Select the customer by checking the checkbox and click on the button you create in the GUI status....
Write the desired code to be displayed in
AT USER-COMMAND even checking the sy-ucomm....
so this would make you to into interactive list...
Hope this would help you.
Regards
Narin Nandivada -
How to show the columns dynamically in OBIEE report based on the selection?
Hi,
I have a requirement where the columns should be dynamically shown in report based on what we select in propmt page.
I'm creating a report in OBIEE where i want to give an option to the end user to select the columns whichever he wants to see in the report.
For example I have the following columns in the report already:
Customer Name,
Customer Number,
Bank Account,
Address
I want to give an option to the user to select 'Customer Mail ID' dynamically and see the column to be displyed in the report along with the existing columns.
Through 'Column Selector' user can select a single column at a time, but if he want to select more than one column, how can we do this ?
Please help me out in resolving this issue.
Thanks,
Chaithanya.Hi Chaithanya,
there's not a straight solution for this. You can create different analysis containing different number of columns and then directing the user to this analysis using Action Links or you can also use View Selector to switch from one view (analysis) to the other. But it's not going to be very flexible nor dynamic.
J.
Maybe you are looking for
-
How can I verify that my Apple Express is "absolutely" extending my Apple Extreme?
Greetings, I purchased an Apple Express to extend my Apple Extreme due to intermittent Wi-Fi signal in part of my home. I connected it and it automatically configured the Express to extend my Apple Extreme. My question is how exactly can I verify abs
-
My iphone 5 won't charge and it's in perfect condition, I dont drop it and it's not cracked. I tried multiple chargers, none of them are damaged and my outlets work with other things so the problem is my phone. What's wrong with it and what should I
-
Use AO and AI in the same program
Hello, I like write a program to use AO and AI in the same program. In this program write a timer a voltage to a AO port and after then it should read a voltage. I know how I write voltage to a AO port and read a voltage on a AI port, but not in a th
-
Dear all, When a purchase order is rejected (ME29N), the on-order stock is not updated automatically - until the purchase order item positions are deleted in this purchase order. So a plant controller who rejects a PO (and would not be authorized to
-
ColdFusion installation problem
Hi! I cannot install ColdFusion on our webserver. We use ColdFusion MX 7 and Microsoft Windows 2003 Server Web Edition. I get this error: "JNDI port 2920 for server coldfusion is not active". 1) there is no service packs installed on Windows 2003 Ser