Lack of performance using portal30.wwctx_api.get_user to limitrecords in portlets

Hi,
I have a portal page using 5 reports as portlets each of them use
"where personid = portal30.wwctx_api.get_user"
to limit the amout of data retrieve for each user.
I have 250 users registred in login server whose can use this page.
The 5 portlets fall in timeout every time, except if I replace "portal30.wwctx_api.get_user" by a constant,
which is not very useful but works.
Any idea to avoid usage of this API.
Thanks in advance
Didier Dubois
mail : [email protected]
mobile : +33 (0)6 74 68 54 78

Hi,
Instead of using the api in the query, use a bind variable and then customize the report to pick up the value from the api. Here is an example
1) Create a sql report
select * from usertab
where user_id = :userid
2) Publish this report on a page
3) Now edit the page and go to the edit defaults of the report.
4) You will have a textbox against userid. Here you enter #<portalschema>.wwctx_api.get_user
Please replace the portalschema with the name of your portal schema.
Thanks,
Sharmila

Similar Messages

  • How do you use PORTAL .WWCTX_API.GET_USER

    Hi. I'm a newbie at Portal and Oracle and am having a problem extracting the userID for the logged user. I have
    a form that needs to be populated with the login ID for that session. What exactly do I need so that the field will
    auto-populate with the user's ID. Do I enter the api in the "Default Value" box of the form for that field? What do I need
    to select from the "Default Value Type" dropdown?
    Also, because I'm populating the form with data from the database (it's an update record form), I'd like to "blank" the
    comment field rather than populate it with the info from the DB record. Is that possible?
    Finally, is there any recommendations on manuals or other books to purchase that would answer these types of
    questions. I feel that this is a pretty basic task and should be in a manual somewhere.
    Thanks,
    Ron

    Hi,
    In the default value column specify <portalschema>.wwctx_api.get_user. In the default return type make it "function returns varchar".
    This should help.
    Thanks,
    Sharmila

  • WWCTX_API.GET_USER

    I created a custom folder and typed following sql in that:
    SELECT WWCTX_API.GET_USER from dual
    there was no problem in creating this folder.
    When i create a worksheet in plus and while running a query, its giving following errors
    ORA-14551: cannot perform a DML operation inside a query.
    ORA-06512: at "PORTAL.WWCTX_SSO",line 2954
    ORA-06512: at "PORTAL.WWCTX_SSO",line 3483
    ORA-06512: at "PORTAL.WWCTX_SSO",line 1735
    ORA-06512: at "PORTAL.WWCTX_SSO",line 2954
    ORA-06510: at PL/SQL: unhandeled user-defined exception
    ORA-06512: at
    Actually one of my query is based on SSO user id.
    When i use this "SELECT WWCTX_API.GET_USER from dual;" on SQL prompt. Its doesn't give any error.
    I need to use this WWCTX_API.GET_USER in my query. Any idea why its giving error in discoverer plus?
    Thanks

    Questions similar to yours have been answered earlier in the forum in these threads:
    http://forums.oracle.com/forums/message.jsp?id=456180
    http://forums.oracle.com/forums/message.jsp?id=628583
    You can search the forums by entering your search criteria in the text field in the upper right corner of the OTN Discussion Forum Page.

  • HELP!!! wwctx_api.get_user

    I created a PL/SQL Server Page just to show the login information from a login portlet.
    The code follows:
    <%@ page language="PL/SQL" %>
    <%@ plsql procedure="logininfo" %>
    <HTML>
    <HEAD><TITLE>This is a PSP Page!</TITLE></HEAD>
    <BODY>
    <%
    declare
    myname varchar2(50) := portal30.wwctx_api.get_user;
    begin
    htp.print(myname);
    end;
    %>
    </BODY>
    </HTML>
    My Login portlet on success "P_request_url" calls for the above procedure.
    My problem was no matter what user I logged on with, it always dispays "PUBLIC" as the login user. What I need is to get oracle portal user who is curently using the session. WHY? Please Help!
    Thanks!

    there is a diffence between portal.wwctx_api.get_user and portal_sso.wwctx_api.get_user. Check and make sure you are using the api from the right context. You're probably getting the sso user and not the portal user.

  • Creating users using portal30.wwsec_api_add_portal_user

    I am running 3.0.9.8.2 on 9.0.1 on Windows 2000.
    I have attempted to create a portal user using portal30.wwsec_api.add_portal_user (run as portal30). I then attempt to activate the account using portal30.wwsec_api.activate_portal_user. However, although both execute successfully, when I login as portal30, I can't see the user I have just created.
    Also, if I attempt to run the routine again, the portal30.wwsec_api.user_exists_exception is raised (which makes sense but doesn't solve the problem).
    Any ideas? Am I missing something fundamental?
    Also, is the initial password set to the username when this routine is used?
    Thanks for your help,
    Gillian

    I change the code to include "portal30.wwctx_api.get_user()" that way I know now that the user without login is "PUBLIC" so I change the permissions to include ANY_USERS/CREATE and ANY_GROUP/MANAGE but I'm still receiving the "portal30.wwsec_api.access_denied_exception" exception.
    What else can I do?
    Regards
    Alejandro Chirinos
    [email protected]

  • Wwctx_api.get_user in Dynamic Page?

    Can API calls be made from select statements within the <ORACLE></ORACLE> tags in Dynamic Pages? The following query should list courses that someone has signed up for but the query cannot be saved within the Dynamic Page:
    <ORACLE>
    select course_name
    from course
    where user_id = wwctx_api.get_user
    </ORACLE>
    Regards,
    Jay
    Jay Mason
    Director, Oracle Web Applications Development
    Effective Shareholder Solutions, Inc.

    Jay,
    Just prefix the function with "PORTAL30" (or the name of the schema where Portal is installed, if not PORTAL30).
    <ORACLE>
    select course_name
    from course
    where user_id = PORTAL30.wwctx_api.get_user
    </ORACLE>
    null

  • Using wwctx_api.get_user in dbms_rls policy

    We have not been able to succesfully use a call to wwctx_api.get_user in the function we use as a policy for row level security. The package compiles fine. The policy adds fine. When we try to select from the table where the policy is on from portal (LOV, REPORT, DYNAMIC PAGE) we get Ora-28112.
    Help?

    The error code maps to the following message:
    ORA-28112 failed to execute policy function
    Cause: The policy function has one or more error during execution.
    Action: Check the trace file and correct the errors.
    Could you try returning a static value from the security policy and do your select and see if that works.

  • Help: Portal calendar error when using wwctx_api.get_user

    Hi,
    I am trying to create a calendar based on some table data and results should be specific to portal user logged in. So I have created following query but it does not filter the data based on the user logged in. I have checked and there are no issues on data side.
    select
    a.EVENT_START_DT the_date,
    a.EVENT_NAME the_name,
    ( ) the_name_link,
    null the_date_link,
    null the_target,
    null the_intermedia
    from TBL_EVENTS a
    where a.Event_Status = 0
    and a.event_personal = 1
    and a.event_recorded_by = (select entryid FROM ods.CT_UID where upper(ATTRVALUE) = upper(wwctx_api.get_user))
    order by a.event_id desc
    Failing above I also tried other way using bind variable and then passing the page paramater (selecting system variables USER_NAME) to the bind variable
    Select a.EVENT_START_DT the_date,
    a.EVENT_NAME the_name,
    ( ) the_name_link,
    null the_date_link,
    null the_target,
    null the_intermedia
    from TBL_EVENTS a
    where a.Event_Status = 0
    and a.event_personal = 1
    and a.event_recorded_by = (select entryid FROM ods.CT_UID where upper(ATTRVALUE) = upper(:username))
    order by a.event_id desc
    However it still dont work.
    Can anyone please give me any suggestion or way to resolve this.
    Any help much appriciated.
    Thanks
    Ganesh

    Hi,
    I am storing OID user id but I am comparing as follows
    select
    a.EVENT_START_DT the_date,
    a.EVENT_NAME the_name,
    ('' ) the_name_link,
    null the_date_link,
    null the_target,
    null the_intermedia
    from TBL_EVENTS a
    where a.Event_Status = 0
    and a.event_personal = 1
    and a.event_recorded_by = (select entryid FROM ods.CT_UID where upper(ATTRVALUE) = upper(portal.wwctx_api.get_user)
    order by a.event_id desc
    but this comes with following error
    Unable to describe SQL statement. Please correct it (WWV-13010)
    Took exception (WWV-13005)
    ORA-01001: invalid cursor (WWV-11230)
    ORA-00921: unexpected end of SQL command (WWV-11230)
    Failed to parse as CCMPORTAL - select a.EVENT_START_DT the_date, a.EVENT_NAME the_name, ('http://portal.ccm.ac.uk/portal/page/portal/TMC/STAFFPORTAL/COLLEGE_SERVICES/COLLEGE_CALENDAR/Event%20Manager/Tab_Update?meventid=##A.EVENT_NAME##' ) the_name_link, null the_date_link, null the_target, null the_intermedia from TBL_EVENTS a where a.Event_Status = 0 and a.event_personal = 1 and a.event_recorded_by = (select entryid FROM ods.CT_UID where upper(ATTRVALUE) = upper(portal.wwctx_api.get_user) order by a.event_id desc
    I then tried creating bind variable as follows
    select
    a.EVENT_START_DT the_date,
    a.EVENT_NAME the_name,
    ('' ) the_name_link,
    null the_date_link,
    null the_target,
    null the_intermedia
    from TBL_EVENTS a
    where a.Event_Status = 0
    and a.event_personal = 1
    and a.event_recorded_by = (select entryid FROM ods.CT_UID where upper(ATTRVALUE) = upper(:musername)
    order by a.event_id desc
    and then passing system variable USER_NAME to musername in page parameter settings to the portlet.
    Please advise help
    Thanks
    Ganesh

  • PORTAL.WWCTX_API.get_user  how can i get the group?

    I'm using Oracle AP 10g
    I know the PORTAL.WWCTX_API.get_user will give you the user id , but anyone knows which one do i need to use to come out with the group name .
    P.S : the group name contains a list of certain employees
    also where can i get a list of all the API's that i can use
    Thank you
    Nedal Seyam

    Nedal Seyam wrote:
    I'm using Oracle AP 10g
    I know the PORTAL.WWCTX_API.get_user will give you the user id , but anyone knows which one do i need to use to come out with the group name .
    P.S : the group name contains a list of certain employees
    also where can i get a list of all the API's that i can useI dont know what is Oracle AP 10g.
    However, you are probably looking for the default group name for a given user. Please see wwsec_api.get_defaultgroup.
    look into wwsec_api.get_list_members for a list of members in a group.
    The links to APIs that Opportalist presented should lead you to the descriptions of both functions.
    hope that helps!
    AMN

  • PORTAL.WWCTX_API.get_user

    I'm using Oracle AP 10g
    I know the PORTAL.WWCTX_API.get_user will give you the user id , but anyone knows which one do i need to use to come out with the group name .
    P.S : the group name contains a list of certain employees
    also where can i get a list of all the API's that i can use
    Thank you
    Nedal Seyam
    Edited by: Nedal Seyam on May 14, 2009 8:26 AM

    Sory, but you're in the wrong forum ;-)

  • Best practice to monitor 10gR3 OSB performance using JMX API?

    Hi guys,
    I need some advice on the best practice to monitor 10gR3 OSB performance using JMX API.
    Jus to show I have done my home work, I managed to get the JMX sample code from
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/example.html#wp1109828
    working.
    The following is the list of options I am think about:
    * Set up: I have a cluster of one 1 admin server with 2 managed servers, which managed server runs an instance of OSB
    * What I try to achieve:
    - use JMX API to collect OSB stats data periodically as in sample code above then save data as a record to a
         database table
    Options/ideas:
    1. Simplest approach: Run the modified version of JMX sample on the Admin Server to save stats data to database
    regularly. I can't see problems with this one ...
    2. Use WLI to schedule the Task of collecting stats data regularly. May be overkill if option 1 above is good for production
    3. Deploy a simple web app on Admin Server, say a simple servlet that displays a simple page to start/stop and configure
    data collection interval for the timer
    What approach would you experts recommend?
    BTW, the caveats os using JMX in http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/concepts.html#wp1095673
    says
         Oracle strongly discourages using this API in a concurrent manner with more than one thread or process. This is because a reset performed in
         one thread or process is not visible to another threads or processes. This caveat also applies to resets performed from the Monitoring Dashboard of
         the Oracle Service Bus Console, as such resets are not visible to this API.
    Under what scenario would I be breaking this rule? I am a little worried about its statement
         discourages using this API in a concurrent manner with more than one thread or process
    Thanks in advance,
    Sam

    Hi Manoj,
    Thanks for getting back. I am afraid configuring aggregation interval from Dashboard doesn't solve problem as I need to collect stats data of endpoint URI or in hourly or daily basis, then output to CSV files so line graphs can be drawn for chosen applications.
    Just for those who may be interested. It's not possible to use SQL to query database tables to extract OSB stats for a specified time period, say 9am - 5pm. I raised a support case already and the response I got back is 'No'.
    That means using JMX API will be the way to go :)
    Has anyone actually done this kind of OSB stats report and care to give some pointers?
    I am thinking of using 7 or 1 days as the aggregation interval set in Dashboard of OSB admin console then collects stats data using JMX(as described in previous link) hourly using WebLogic Server JMX Timer Service as described in
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jmxinst/timer.html instead of Java's Timer class.
    Not sure if this is the best practice.
    Thanks,
    Regards,
    Sam

  • Does anyone know how well the Intel Iris Pro installed on new 15" MacBook Pros performs using Photoshop and Lightroom. I have seen some differing opinions out there, and I would rather not shell out the extra cash for the Nvidia if I don't have to. I most

    Does anyone know how well the Intel Iris Pro installed on new 15" MacBook Pros performs using Photoshop and Lightroom?  I have seen some differing opinions out there, and I would rather not shell out the extra cash for the Nvidia if I don't have to. I mostly do photo editing for business and personal use. I have not used the 3D function in Photoshop, but I would like to know that I could.

    You could download a trial and see how well it works before committing to a subscription. You get 30 days to decide.
    Photo editor | Download free Adobe Photoshop CC trial
    Photo editor app | Download free Adobe Photoshop Lightroom 5 trial
    Gene

  • How can I Improve the Performance using Global Temo Tables ??

    Hi,
    Can anyone tell me , How can i make use of Global Temporary Tables to improve the Performance.
    I have few sample scripts ,
    Say i have the View based on some Complex query like ,
    CREATE OR REPLACE VIEW Profile_values_view AS
    SELECT d.Profile_option_name, d.Profile_option_id, Profile_option_value,
    u.User_name, Level_id, Level_code
    FROM Profile_definitions d, Profile_values v, Profile_users u
    WHERE d.Profile_option_id = v.Profile_option_id
    AND ((Level_code = 'USER' AND Level_id = U.User_id) OR
    (Level_code = 'DEPARTMENT' AND Level_id = U.Department_id) OR
    (Level_code = 'SITE'))
    AND NOT EXISTS (SELECT 1 FROM PROFILE_VALUES P
    WHERE P.PROFILE_OPTION_ID = V.PROFILE_OPTION_ID
    AND ((Level_code = 'USER' AND
    level_id = u.User_id) OR
    (Level_code = 'DEPARTMENT' AND
    level_id = u.Department_id) OR
    (Level_code = 'SITE'))
    AND INSTR('USERDEPARTMENTSITE', v.Level_code) >
    INSTR('USERDEPARTMENTSITE', p.Level_code));
    Now i have created the Global temp Table as ,
    CREATE GLOBAL TEMPORARY TABLE Profile_values_temp
    Profile_option_name VARCHAR(60) NOT NULL,
    Profile_option_id NUMBER(4) NOT NULL,
    Profile_option_value VARCHAR2(20) NOT NULL,
    Level_code VARCHAR2(10) ,
    Level_id NUMBER(4) ,
    CONSTRAINT Profile_values_temp_pk
    PRIMARY KEY (Profile_option_id)
    ) ON COMMIT PRESERVE ROWS ORGANIZATION INDEX;
    Now I am Inserting the Records into Temp table as
    INSERT INTO Profile_values_temp
    (Profile_option_name, Profile_option_id, Profile_option_value,
    Level_code, Level_id)
    SELECT Profile_option_name, Profile_option_id, Profile_option_value,
    Level_code, Level_id
    FROM Profile_values_view;
    COMMIT;
    Now what my doubt is, when do i need to execute the Insert Statement.
    Say , if the View returns few millions of records , then loading such a data into Global Temporary table takes lot of time.
    Then what is the use of Global Temporary tables and how can i improve the Performance using the same.
    Raj

    Thanks for the responce ,
    There are 2 to 3 complex views in our database, and there always be more than 5000+ users will be workinf on the application and is OLTP application. Those complex views are killing the application performance.
    I what i felt was, if i create the Global Temporary tables for thow views and will be able to load the one third million of records returned by the views in to cache and can improve the application performance.
    I have created the Global Temporary tables for 2 views with the option On Commit Preserve , But after am inserting the records into the Temp table and when i Issue the commit statement, the Temp table is getting Cleared.
    I really got surpised of this behaviour as i know that with the Option On Commit Preserve , the rows should retain in the Temp Table, Instead , it's getting cleared.
    Pelase suggest , what to do ??
    Raj

  • Web-based deployments can be performed using OUI

    10.2.0.x version
    Want to learn more about how Web-based deployments can be performed using OUI, if someone has good article or notes.

    By billing I assume you mean resource related billing. I don't think RRB will work without costing. Because the basic tables which act as source for RRB are cost item tables. Still, everything is possible if you make alterations to the programs. But you will have to do a cost-benefit analysis.
    I suggest that you don't think only in lines of RRB. You can write a program which can copy the materials and detemine materials for the activity types. This program can refer to one of the RRB profiles but only for material determination and can create a debit memo request or a kind of resource related quotation.
    Hope this helps.
    Bala

  • In which case we require to write perform using/changing

    hi,
    in which case we require to write perform using/changing .
    and what is excatly we r doing  with perform using.changing.
    please somebody help me.
    thanks
    subhasis

    This is an awfully basic question.
    Simply press F1 on PERFORM.
    And responders take note:
    bapi
    Rob

Maybe you are looking for