Prompts in Universe based on Stored Procedure
Hello All,
I have a universe based on stored procedure. There are two prompts "Date from" and "Dateto" which I set up as "prompt me a for a new value" in the universe.
When I run the webi report it prompts me to enter the date range. I enter and run the report, but when I refresh the report the dates that were selected before shows up in the prompt window(last values selected). How do I make it in a way that when I refresh the report the values are blank i.e it doesnt have the last values selected?
I have saved the report as refresh on open but how do I avoid the prompt values?
Thanks,
Nisha
Hi Nisha,
Can you please share the code where you have mentioned the prompts?
You may try to use @prompt function in stored procedure. Below post can help you:
http://scn.sap.com/thread/1698709
@Prompt('Enter prompt text','A/N/D',<lov>,mono,free,non-persistent)
Use non-persistent parameter value as it is like unchecking "Keep last selected values" in prompt properties.
Hope it will help.
Regards,
Yuvraj
Similar Messages
-
Creating universe from MySql stored procedure?
Hi,
I am new to BusinessObjects. I need to create universes based on the schema in our MySql database. However, when I tried to create one from a stored procedure, I fount that I wasn't allowed to do that or the option to insert a stored procedure was grayed out.
Is it true that universe creation from MySql stored procedures not supported, or is it just something I didn't do right? Is there any workaround?
Thanks in advance!jason Lee,
You cannot combine universes with table structures with that of the stored procedures.Thats the reason in the existing universe the option is greyed out to insert stored procedures. You need to create a new universe thru design wizard and check the option to "create a universe through the stored procedure" in the first page.
Let me know your results
Thanks,
Karthik -
Help: FORMS based on stored procedures
I am working on a FORM based on stored procedures. This particular FORM performs a query and generates say,
customer_name, item1_sale, item2_sale and sum of the item1_sale and item2_sale.
I'd like to know if there are ways that the query procedure returns to reference cursors that one with multiple records and one with the sums? The FORM will then be able to show rows of sales and the bottom row with show the sale totals.
Thank you in advance.
JimmyFrancois,
I just tried another way of getting the totals. I manually created a data block and add two items tot_1 and tot_2. I the item properties: I set calculation:
calculation Mode: Summary
Summary Function: Sum
Sumary Block: BLOCK_A
Summary Item: item1_sale etc.,
I got a compile error:
FRM-30377: Summary item must reside in single-record block or in same block as summarized item.
Where do I catch this error?
Thanks.
Jimmy -
Report based on stored procedure
I want to create a report based on stored procedure(not ref cursor!!!!!)
For example - Invoice report with data with complicated rules:
1.line - product_name and price
2.line - annual fee name and price
3.line - some special fee name and price
4..............
5..............
[b][b][b]Is it possible or not?
We can solve the problem using functions, i.e. select line_1_1(param),line_1_data2(param6) from dual union all and select line_2_1(param1,param2),line_2_2(sysdate) from dual and so on, but I am looking for better solution.
We also can use stored procedure to populate data into temporary table, run report and clear the data in the table after that, but database is read-only for users and we don't want to change the security roles.
Thanks in advance.
Iassen HoubenovSee:
"Using a Collection Instead of a Temporary Table in Complex Reports"
http://www.revealnet.com/pipelines/plsql/tips03.htm#NOVEMBER
Regards,
Zlatko Sirotic -
Would like to create a file upload facility in a form based on stored procedure
Hello,
I would like to create a 'File Upload' in a 'form based on stored procedure'. The version of portal that I am running is 3.0.7.6.2. In this version, only 'form based on table' has the ability to upload files. Or is it that I am missing something?
Please let me know if this is possible in higher versions of portal.
Thank you for your help.
JayasreeI have kin od fdone this by using the additem fucntion, if you look at the HTML of the add file page, you can see the parameter that are required for the form.
-
Block based on Stored Procedures & Locking_Mode
Hello,
I'm creating a block in Forms 6.0.8 based on Stored Procedures. I'm using the example given in Metalink doc 52778.1. Updates to data work fine if locking_mode = 'Immediate'. If I set locking_mode to 'Delayed' and run the form, when I try to update and commit something, then the IF condition in lock-procedure (grp_lock) always returns TRUE and I run into the exception trapped there. It appears that Forms is passing NEW values in p_grp_data if locking_mode is Delayed and this is causing the problem. Is there any thing I could do in the form or procedure (preferably in the procedure) to solve this problem ? I'm trying to write procedures that will work with both Immediate and Delayed locking_modes
thanks in advance..
-- Table and package source:
-- GRP
create sequence grp_s
create table grp
id number constraint grp_pk primary key,
name varchar2(10) not null constraint grp_uk unique,
description varchar2(30) not null,
active varchar2(1) default 'Y'
create or replace trigger grp_bri before insert on grp for each row
begin
select grp_s.nextval
into :new.id
from dual ;
end ;
CREATE OR REPLACE PACKAGE grp_pkg AS
TYPE grpidrec IS RECORD( id grp.id%TYPE ) ;
TYPE grprec IS RECORD ( id grp.id%type, name grp.name%type, description grp.description%type, active grp.active%type ) ;
TYPE grp_cursor IS REF CURSOR RETURN grp%rowtype ;
TYPE grp_tab IS TABLE OF grp%rowtype INDEX BY BINARY_INTEGER ;
TYPE grp_id_tab IS TABLE OF grpidrec INDEX BY BINARY_INTEGER ;
PROCEDURE grp_refcur( p_grp_data IN OUT grp_cursor,
p_group_name IN grp.name%type ) ; -- use if a ref cursor is required
PROCEDURE grp_query( p_grp_data IN OUT grp_tab, p_group_name IN grp.name%TYPE ) ;
PROCEDURE grp_insert( p_grp_data IN grp_tab ) ;
PROCEDURE grp_update( p_grp_data IN grp_tab ) ;
PROCEDURE grp_delete( p_grp_data IN grp_id_tab ) ;
PROCEDURE grp_lock( p_grp_data IN grp_tab ) ;
END grp_pkg ;
sho err
create or replace package body grp_pkg as
-- ================================================================================
PROCEDURE grp_refcur( p_grp_data IN OUT grp_cursor, p_group_name IN grp.name%type ) AS
begin
open p_grp_data FOR select id, name, description, active
from grp
where name = nvl( p_group_name, name ) ;
end ;
-- ================================================================================
PROCEDURE grp_query( p_grp_data IN OUT grp_tab, p_group_name IN grp.name%TYPE ) AS
i number ;
CURSOR grp_select IS
SELECT id, name, description, active
FROM grp
WHERE name = nvl( p_group_name, name ) ;
begin
OPEN grp_select ;
i := 1 ;
LOOP
FETCH grp_select INTO p_grp_data(i).id, p_grp_data(i).name, p_grp_data(i).description, p_grp_data(i).active ;
EXIT WHEN grp_select%NOTFOUND ;
i := i + 1 ;
END LOOP ;
end ;
-- ================================================================================
PROCEDURE grp_insert( p_grp_data IN grp_tab ) AS
i NUMBER ;
begin
FOR i in p_grp_data.FIRST .. p_grp_data.LAST
LOOP
INSERT INTO grp( name, description, active )
VALUES ( p_grp_data(i).name, p_grp_data(i).description, p_grp_data(i).active ) ;
END LOOP ;
end ;
-- ================================================================================
PROCEDURE grp_update( p_grp_data in grp_tab ) AS
i binary_integer ;
rec_modified exception ;
BEGIN
FOR i in p_grp_data.first .. p_grp_data.last LOOP
UPDATE grp
SET name = p_grp_data(i).name,
description = p_grp_data(i).description,
active = p_grp_data(i).active
WHERE id = p_grp_data(i).id ;
if sql%rowcount = 0 then
raise rec_modified ;
else
-- success
null ;
end if ;
END LOOP ;
exception
when rec_modified then
raise_application_error(-20006, 'Record already modified' ) ;
when others then
raise_application_error(-20007, 'Other error : ' || sqlerrm ) ;
END ;
-- ================================================================================
PROCEDURE grp_delete( p_grp_data IN grp_id_tab ) AS
i BINARY_INTEGER ;
begin
FOR i IN p_grp_data.FIRST .. p_grp_data.LAST LOOP
DELETE FROM grp
WHERE name = p_grp_data(i).id ;
END LOOP ;
end grp_delete ;
-- ================================================================================
PROCEDURE grp_lock( p_grp_data IN grp_tab ) AS
i BINARY_INTEGER ;
grec grprec ;
err varchar2(255) ;
errcd number ;
rec_modified exception ;
begin
FOR i in p_grp_data.FIRST .. p_grp_data.LAST LOOP
begin
SELECT id, name, description, active
INTO grec
FROM grp
WHERE id = p_grp_data(i).id
FOR UPDATE OF description NOWAIT ;
-- this part returns true
-- if locking_mode = 'Delayed'
-- Forms is passing NEW values in p_grp_data if mode is Delayed
-- and OLD values if mode is Immediate
if ( grec.name != p_grp_data(i).name
OR grec.description != p_grp_data(i).description
OR grec.active != p_grp_data(i).active ) THEN
raise rec_modified ;
end if ;
exception
when no_data_found then
raise_application_error( -20007, 'Record deleted by another user' ) ;
when rec_modified then
raise_application_error(-20006, 'Record modified by another user' ) ;
when others then
raise_application_error(-20009, 'Others' ) ;
end ;
END LOOP ;
end ;
-- ================================================================================
end grp_pkg ;
show error package body grp_pkgYes, I was hoping to use these procedures to map the collection type returned to the database to the block data. I guess I was wrong. Except for the initial query and reading some other information from the database, I don't have to use these procedures as I do not write anything to it.
Thank you for your help, I will go on from there.
So, it means that I will have to iterate through my collection inside Forms and manipulate my data row by row. Or, is there a way to pass an Oracle collection type between the database and the Forms client and have it displayed without having to iterate through the rows and mapping each field?
adsm -
Help: FRM-40505 for a FORM based on stored procedures
Hi,
I am working on a FORM based on stored procedures. When it performs a query, it actually returns record, but still comes with the message FRM-40505: ORACLE error: unable to perform query. Any recommendations on the possible coding area to check?
Thank you in advance.
JimmyJimmy,
To base a block on a stored procedure is not a simple task because it depends on the .....
.... stored procedure !
If you do not provide much information (like the famous stored procedure), we could not do anything for you.
As much information you provide, as much chance we have to understand the problem.
Francois -
RAISING EXCEPTION AND SHOWING TO USERS IN FORM BASED ON STORED PROCEDURE
I have a form based on stored procedure.
I want to handle exceptions in the stored procedure and show it to users.
Here is what i want to do.
I have a sku# field in the form and i want to validate it(against the database
table) in the procedure before inserting into the database.
I want to give a message to users when the validation fails.
How is this possible with the forms based on stored procedure?
Can i use javascript to do the same?
Thanks in AdvanceI have a form based on stored procedure.
I want to handle exceptions in the stored procedure and show it to users.
Here is what i want to do.
I have a sku# field in the form and i want to validate it(against the database
table) in the procedure before inserting into the database.
I want to give a message to users when the validation fails.
How is this possible with the forms based on stored procedure?
Can i use javascript to do the same?
Thanks in Advance -
Trying to develop a form having a block based
on stored procedure. My form works fine if
the stored procedure having REF CURSOR as one
of the argument but if I am using dynamic SQL
in my procedure I can not use Strong REF CURSOR, so I had to use Pl/Sql Table as one of the parameter in the proceudre.
In that case when I run my form and Execute the query it just comes out of the form without displaying anything and also it doesn't throw any error.
Don't know what I am doing wrong.
Pl. Help...
nullI drilled down the proble further and identified that i can
recreatr the problem in any 7.3.4 database ....
But in 8.0.5 it's working fine .....
Is developer 6.0 is going to support Oracle 7.3.4
it'll be highly appreciated if any one from Oracle development
team can give me a response
Thanks in advance...
Lebon Mathew (guest) wrote:
: Problem : If a block value is refered in
: a LOv - record group query
: the form cannot adjust the out put .. and
: is not generating.....
: Record group query which works :
: select security_role, sec_role_desc, database_role
: from security_role
: where wnd_appln = 'XXXXXXXXX'
: order by security_role, database_role
: Record group query which is not working :
: select security_role, sec_role_desc, database_role
: from security_role
: where wnd_appln = :APP_ROLES_BK.wnd_appln
: order by security_role, database_role
: Error Generated :
: FRM-30064: Unable to parse statement icrgg/icrggc: hicrg.
: Record Group SECURITY_ROLE_LOV
: Form: EMPLOYEE
: FRM-30085: Unable to adjust form for output.
: Table structure :
: CREATE TABLE security_role
: security_role VARCHAR2(15) NOT NULL,
: sec_role_desc VARCHAR2(20) NOT NULL,
: open_nsr VARCHAR2(1),
: open_pkt VARCHAR2(1),
: chg_wk_grp VARCHAR2(10),
: asgn_anlst VARCHAR2(10),
: updt_oth_wkgp_pkt VARCHAR2(1),
: admin_tasks VARCHAR2(1),
: create_po VARCHAR2(1),
: billing_changes VARCHAR2(1),
: invoice_changes VARCHAR2(1),
: change_owner VARCHAR2(1),
: wnd_appln VARCHAR2(15),
: database_role VARCHAR2(20)
: PCTFREE 10
: PCTUSED 40
: INITRANS 1
: MAXTRANS 255
: TABLESPACE wa0dat0t01
: STORAGE (
: INITIAL 32768
: NEXT 8192
: PCTINCREASE 0
: MINEXTENTS 1
: MAXEXTENTS 121
: w@w Lebon Mathew
: WellsFargo - Telecom Applications
: (415)-477 6445
null -
Forms9i, data block based on stored procedures, refresh on update ?
Hi,
I am using
Forms [32 Bit] Version 9.0.2.9.0 (Production)
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
Oracle Toolkit Version 9.0.4.0.23 (Production)
PL/SQL Version 9.0.1.3.1 (Production)
Oracle Procedure Builder V9.0.2.0.7 Build #1022 - Production
PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)
Oracle Query Builder 9.0.2.0.0 - Production
Oracle Virtual Graphics System Version 9.0.1.5.0 (Production)
Oracle Tools GUI Utilities Version 9.0.4.0.9 (Production)
Oracle Multimedia Version 9.0.4.0.9 (Production)
Oracle Tools Integration Version 9.0.2.0.0 (Production)
Oracle Tools Common Area Version 9.0.1.0.0
Oracle CORE 9.0.1.2.0 ProductionI have a module based on stored procedures. I have defined query, lock and update procedure. All of them are working as they should, I mean that when looking at the input and output from these procedures I don't see anything blatantly wrong.
Now, when I update a table field in the form and call the update stored procedure, this procedure takes the updated values in considerations, updates some more fields, and remove some records.
It is working as it should, except for two details :
1- I don't see the values updated by the procedure in the Form;
2- even though some records were removed from the table by the procedure, I still see all my records.
Is there a way to display the returned table?
And, is there any documentation about data block based on stored procedures, what are the required signatures and limitations of those stored procedures, what a lock procedure is supposed to do (mine does 'null;' ...), how to map a collection type defined in Oracle to a Form data block ? Any link will be appreciated, I have found half a dozen page vaguely detailing this on Google, but nothing that can compare to a usual Oracle manual. Maybe I have missed something.
Thank you for your help.
adsmYes, I was hoping to use these procedures to map the collection type returned to the database to the block data. I guess I was wrong. Except for the initial query and reading some other information from the database, I don't have to use these procedures as I do not write anything to it.
Thank you for your help, I will go on from there.
So, it means that I will have to iterate through my collection inside Forms and manipulate my data row by row. Or, is there a way to pass an Oracle collection type between the database and the Forms client and have it displayed without having to iterate through the rows and mapping each field?
adsm -
Data block based on stored procedure with input arguments
Hi,
I am able to create a data block based on stored procedure.
but I want that procedure to take input arguments as well and I am facing the issue while setting the value for that input arguments from another block item.
Please somebody help, How to set the value for input argument from another control block- item?.(Note :Data block is based on the stored procedure)
Thanks in Advance,
Anandan MuthukannanI did exactly the same way you mentioned.
But while building the form, The call to the procedure in 'QUERY-PROCEDURE' trigger has been modified like this way
procedure_name(qp_data,':BLOCK.ITEM');
so in procedure i am getting the value as ':BLOCK.ITEM' not the expected value. -
How to edit a report based on Stored procedure in Deski
hi all,
We have a report based on a stored procedure in Deski format.I can see the sp name it is using under View Data >definition but cannot figure out which database or server it is pointing to .
Also ,please let me know how to edit/change the sp it is pointing to.
ThanksHi
When you click on View Data, at bottom click on Edit button
It will prompt a connection details tab wherein you can view and modify the connections
Nik -
Not prompting for the parameters of stored procedures while running
Hi All,
I have a stored proc which takes in 3 parameters and execute a copy of a record in a table based on the 3 parameters which I pass in.
When I use the proc in crystal reports (Crystal Reports 2008), it is not prompting for the parameter values if we execute the report directly. It's prompting the values only when I do 'Veriyf Database' from the menu. Why is it not prompting for values when executing directly. Am I missing anything here?
Also, I have a C# .net project which uses the report and take in input parameters. Even there, previously, I used to call the VerifyDatabase () first and then the SetParameterValues () which was working fine for regular expressions. But for this report (which uses stored procedure), it is not giving the desired output (copying data), even though the report doesn't fail to run. But when I changed the order of the call to have SetParameterValues () before the call to VerifyDatabase (), it works fine (copies the data for the given input parameters).
Please let me know what is missing here? Is the order of the call to VerifyDatabase () and SetParameterValues () matters? If so, why is it working for regular expressions and not for stored procs?
Please clarify.
Thanks,
Siva.I recommend posting this to the Crystal Reports Design forum. As I read it:
When I use the proc in crystal reports (Crystal Reports 2008), it is not prompting for the parameter values if we execute
the report directly. It's prompting the values only when I do 'Verify Database' from the menu. Why is it not prompting
for values when executing directly. Am I missing anything here?
The issue is in the CR designer 1st. So it needs to be resolved there before moving on to the CR SDK in .NET.
Link to CR design forum:
SAP Crystal Reports, version for Visual Studio
Ludek -
Block based on stored procedure
I need to create a matrix-like form. I think one option is to base the block on a stored procedure. The idea is to create a PL/SQL Table based on a PL/SQL record of (x)number of colums. My problem is to access each column without using the (.)notation as i use loops to populate these columns. Also once i've manage to create the table, how can i use it to populate the block?? Do i have to use REF Cursors?? I know that REF cursors point to the result set of a query. Can i use them to point to a PL/SQL table as well and if so HOW??
I've already had a look at the demo but it uses a REF Cursor with a query to populate the block...not a PL/SQL table
Please help...i'm going bananas with this!!!!!
Nicola MereuThe Stored Prodedures that can be used to populate a block can either return a refcursor as you've noted - or a PL/SQL table of records.
It sounds like that is the type you need to use.
Note 66887.1 on metalink is a good place to start -
Blocks based on stored procedure in Forms6
I've successfully based a form on stored procedures. It's a master/detail form, so each block has its own procedure to query.
It works fine until a procedure return no rows in pl/sql table parameter. When this happens, the PLSQL_TABLE.POPULATE_BLOCK built-in, used automatically by forms to populate the block, fails.
How can I deal with queries that returns no rows?
Marco Nicolazzo
NIVA Informatica snc<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by marco.n ():
I've successfully based a form on stored procedures. It's a master/detail form, so each block has its own procedure to query.
It works fine until a procedure return no rows in pl/sql table parameter. When this happens, the PLSQL_TABLE.POPULATE_BLOCK built-in, used automatically by forms to populate the block, fails.
How can I deal with queries that returns no rows?
Marco Nicolazzo
NIVA Informatica snc<HR></BLOCKQUOTE>
I've found a workaround.
I raise an application error in the package on server-side where there's no
data to query with RAISE_APPLICATION_ERROR(-20XXX,'ERROR DESCRIPTION').
Then I use ON-ERROR trigger on the block to ignore the error.
And so it's worked.
Different solutions are welcome!
Marco Nicolazzo
NIVA Informatica snc
null
Maybe you are looking for
-
Essbase 9 Certification : Need Information
I am planning to take the Essbase System 9 Certification - Developer. Kindly send me the links for: - Registering - Study Material Note: searched a lot but could not find much. Regards, Parag
-
How to find a user definded function in XI mappings
Hi, I am sure that I wrote a special function some time ago and I have used this function in a mapping. But I cant remember in which mapping. I remember the name of the function. Is there a possibility to see all my user defined functions. Or can I s
-
Anyconnect authentication via Radius (IAS) using AD groups
Hi all, I'm trying to figure out how to setup our ASA to use AD group membership to assign users a profile using Radius. The goal is to setup different access into the network. For instance, one group would be allowed full access to the network, in
-
Hello, we are getting the following error when we are trying to validate. We are on v4.0.30319 .Net framework on IE8.07. Working on 11.1.2.1 FDM version. The XML page cannot be displayed Cannot view XML input using XSL style sheet. Please correct the
-
I don't understand how to bind a node
Hi guys I don't understand how to bind a node I want to bind a mandatory parameter for my model (ex: Bapi_Delete_Travel_Expense_Input) if the parameter is a node ,not a attribute,how to bind it I don't understand yet. Please give me some suggest Tha