Stored Procedure in Crystal Reports

Hi,

I'm trying to use stored procedure in Crystal Reports.
The stored procedure is:

create or replace procedure test (param in out varchar) is
cc varchar2(30);
begin
select name  into cc from my_content where id = 'c_101' and locale='en';
param := cc;
end;

after selecting it in CR data explorer I get error: "Error opening file. There are no fields in file: "ROZANA.Proc(Test)"."

Thanks!
LVL 8
RozanaZAsked:
Who is Participating?
 
vidruCommented:
Looks like Oracle (which I don't use).  However, this document has all the information you need on how to construct your Oracle stored procedure to work with Crystal:
http://support.businessobjects.com/communityCS/TechnicalPapers/scr_oracle_stored_procedures.pdf.asp

-dave
0
 
Kurt ReinhardtSr. Business Intelligence Consultant/ArchitectCommented:
Hey vidru:)

If you're only pulling in a single value, you can just use a SQL Expression such as:

(select name from my_content where id = 'c_101' and locale='en').

If this proc is intended to return a list of values, then you'd probably be better off just using a view or pulling straight from the table.  I don't think we have the whole picture.  What are you trying to accomplish and does this proc interact with anything else?
0
 
frodomanCommented:
Have you tested your SP outside of Crystal?  If this is Oracle, then you'll get an exception if there isn't exactly one record matcing your selection criteria so that could be your problem.  

frodoman
0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
DarrenZaiCommented:
You seem to be trying to specify the return variable rather than just using the result of the query.
I don't think CR handles this.
What the error is saying is that as far as CR is concerned there is no fields returned, no result set.
You shouldn't need to declare the result variables at the beginning, so you shouldn't need to use 'select into' in this way.
You should just be able to go

select name from my_content ...

and then the result set will contain a field called 'name'

If you want the result field to be called param then you can try

select name as param from my_content

and then the result set will contain a field called 'param'

Darren
0
 
RozanaZAuthor Commented:
Hi,

Thank you for answers,
all I want to do is to check how does CR work with stored procedures,
so I need a simple stored procedure to interact with CR.

I do not understand the meaning of error message: "There are no fields in file: "ROZANA.Proc(Test)"."
What fields should I define?
0
 
DarrenZaiCommented:
You shouldn't need to specifically define any fields, they are usually the fields specified in your select statement.

eg

select name1, name2,name3 from my_details where id = 'c_101'

would return a record with 3 fields to CR and that should work fine.

Your SQL is selecting into another variable and I don't think CR is recognising the result from this stored proc.

Is there any particular reason why you need to select in this fashion?

Darren

0
 
RozanaZAuthor Commented:
Thank you all!

Vidru, link you provided solves everything! Thank you!

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.