Skip to main content
Solved

FND_Stream_TAB must be declared Error


Forum|alt.badge.img+6

Hello,

 

We are popping up a message via PL/SQL off of an event in a custom menu. Every account except for IFSAPP is getting this error when the RMB is executed. We are using ADFS for the users to log in and I am not sure if it’s because it is having an issue with getting user information now? Below is the PL/SQL block. Any help would be appreciated. 

 

DECLARE
stream_  fnd_stream_tab%ROWTYPE;
object_id_  number;
cursor get_ IS
select Max(to_number(mch_code)) as mch_code
from equipment_functional
where LENGTH(TRIM(TRANSLATE(mch_code, ' +-.0123456789',' '))) is null;
BEGIN
   open get_;
   fetch get_ into object_id_;
   close get_;
   object_id_ := object_id_ + 1;
   stream_.from_user := '';
   stream_.to_user :=Fnd_Session_Api.Get_Fnd_User;
   stream_.header := 'Next Available Object Id';
   stream_.message := 'The next available object id is ' || object_id_;
   stream_.stream_type := 'GENERAL';
   stream_.lu_name := 'FunctionalObject';
   stream_.url := '';
   Fnd_Stream_Api.New_Stream_Item(stream_);
END;

Error: 

Ifs.Fnd.FndSystemException: Unexpected error while calling server method AccessPlsql/Invoke ---> Ifs.Fnd.FndServerFaultException: ORA-06550: line 3, column 10:

PLS-00201: identifier 'FND_STREAM_TAB' must be declared

 

Failed executing statement (ORA-06550: line 3, column 10:

PLS-00201: identifier 'FND_STREAM_TAB' must be declared

Thanks, 

Eli Williams

Best answer by sutekh137

Eli,

We have found that trying to use a _TAB reference (the direct, underlying table) almost always causes issues for users who are not App Owner. This applies to Quick Reports, custom events, etc. My guess is that Fnd_Stream_Tab is not visible to any other user no matter what permissions you allow.

So, can you declare the "stream_" variable explicitly, or as the ROWTYPE of a defined cursor, one generated from the Fnd_Stream view instead of the Fnd_Stream_Tab table? Folks with the correct permissions should be able to access Fnd_Stream, but only App Owner can see Fnd_Stream_Tab.

I am no Oracle expert, but instead of:

stream_  fnd_stream_tab%ROWTYPE;

try this:

CURSOR stream_struct IS SELECT * FROM Fnd_Stream;

stream_ stream_struct%ROWTYPE;

That grabs the row structure form the Fnd_Stream view instead of going after the underlying table. I am not sure field names, etc. for the view are all the same as the underlying table, so you may need to tweak the rest of the code.

Hope that helps!

 

Joe Kaufman

View original
Did this topic help you find an answer to your question?
This topic has been closed for comments

Forum|alt.badge.img+12

Eli,

We have found that trying to use a _TAB reference (the direct, underlying table) almost always causes issues for users who are not App Owner. This applies to Quick Reports, custom events, etc. My guess is that Fnd_Stream_Tab is not visible to any other user no matter what permissions you allow.

So, can you declare the "stream_" variable explicitly, or as the ROWTYPE of a defined cursor, one generated from the Fnd_Stream view instead of the Fnd_Stream_Tab table? Folks with the correct permissions should be able to access Fnd_Stream, but only App Owner can see Fnd_Stream_Tab.

I am no Oracle expert, but instead of:

stream_  fnd_stream_tab%ROWTYPE;

try this:

CURSOR stream_struct IS SELECT * FROM Fnd_Stream;

stream_ stream_struct%ROWTYPE;

That grabs the row structure form the Fnd_Stream view instead of going after the underlying table. I am not sure field names, etc. for the view are all the same as the underlying table, so you may need to tweak the rest of the code.

Hope that helps!

 

Joe Kaufman


Forum|alt.badge.img+6

Hi Joe, 

 

That helps a lot knowing that. I will rewrite the code so we can circumvent that. 

Thank you,

Eli Williams


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings