Discoverer 4i & Database 9i

When I tried to use Discoverer4.1.37 to connect Database 9i, I got the error message ORA-00604 and ORA-00911, and found no solutions on Metalink. Does anybody know how to solve this problem? Thanks.

Hi,
Yes, if you have a database link from your 9i database to your 10g database then you will be able to view data from the 10g database. If you SQL that will work in SQLplus then it will also work in Discoverer.
Rod West

Similar Messages

  • Installing Discoverer with Database Version Oracle 10g Express Edition

    Hello,
    Is it possilbe to install Discoverer with database version Oracle 10g Express Edition? I have Oracle Fusion Middleware 11.1.1.1.0 on my Windows XP machine as well. If so, can someone please provide me a link to the Discoverer download.
    Regards,
    Kelly

    Note that the Personal Edition of the database is 'the most powerful' version, in that it contains all features and options of the Enterprise Edition (expect RAC and Enterprise Manager packs)
    As such, the Personal Edition, at a mere USD$400-500 is one of the most cost effective for-fee products that Oracle has in it's inventory. It is targeted at the developer. And it comes with the complete set of Sample Data, whereas XE has a very limited subset (since it does not support all functionality).
    Express Edition is indeed free, but it is not supported, and can not be patched. OTOH it does have a lighter footprint.
    Again, I am not sure whether Disco 11g is compatible with Express Edition. (It's on my schedule for December ...)

  • Change display text in discoverer from database view

    Hello,
    I just wondered if it possible to do the following:
    Create a discoverer report using e.g. person type field. In the database view the value required for this would be "Full-time" however when the user sees the value in the discoverer report the value is displayed as Employee type 1?
    Can you change the text of a value a user sees in discoverer form what it is pulled out of the view as?
    Please advise
    Thank you
    Sarah

    Hi Sarah
    Yes you can do this. It is done as a calculation like this:
    CASE
    WHEN Person_Type = 'Full-time' THEN 'Employee type 1'
    WHEN Person_Type = 'Part-time' THEN 'Employee type 2'
    ELSE Person_type
    END
    You would call this calculation Employee Type and display it it in the report instead of Person Type.
    Best wishes
    Michael

  • Refresh Discoverer with database changes

    Hi,
    New to Oracle.
    Is there a way to refresh any custom/complex folders created using the Discoverer Admin with the latest database table information, like if the table name was re-named or column was re-named without having to do this manually?
    Like if the table was re-named from ITEMS to A_ITEMS.
    Thanks.
    Message was edited by:
    user546014

    Hi,
    Right-Click the folder and select "Refresh"(This applies only if the column names or
    where condition is changed in the query).
    But if the table name is changed, you have to change manually in the Admin folder.
    Thanks
    --Kumar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Discoverer and Database Synonyms

    We create business areas in our development database and then move them to the production database. I have been told by the development team that Discoverer does not use Oracle Database Synonyms and that they must identify tables as schema_name.table_name. We are using Discoverer 10g. Is it true that synonyms cannot be used?
    Thanks

    I have not used synonyms in our system, but they can be accessed by creating custom folders in admin. In general, Custom folders are created to build complex query using advanced SQL which cannot be handled by discoverer end user editions. Custom folders can use tables, views, or synonyms.

  • How to include optimizer hints in Discoverer

    We have a Discoverer report which used to run fine prior to DB migration from (9.2.0.6 to 10G Rac 10.2.0.4).
    Since the database is migrated to 10g RAC same reports is running for longer time and failes with ROW_ID error,
    we ran the sql generated by the report in SQL Plus with below optimizer hint.
    Select /*+ optimizer_features_enable('9.2.0') */
    this query ran well with optimizer hint, but i am wondering how to use the optimizer hint in Discoverer Plus/Desktop.
    Select /*+ optimizer_features_enable('9.2.0') */
    C.EMPLOYEE_NUMBER||' '||A.EMPLOYEE_NAME, A.REPORTS_TO, C.SERVICE_CODE, COUNT(B.ACCOUNT_NUMBER)
    FROM PSTAGE.NEW_EMPLOYEE_MASTER A,
    PSTAGE.NEW_ALL_WORK_ORDER_MASTER B,
    PSTAGE.NEW_ALL_WORK_ORDER_DETAIL C
    WHERE ( ( B.WORK_ORDER_NUMBER = C.WORK_ORDER_NUMBER AND B.SITE_ID = C.SITE_ID )
    AND ( A.EMPLOYEE_NUMBER = C.EMPLOYEE_NUMBER AND A.SITE_ID = C.SITE_ID ) )
    AND ( B.WO_STATUS <> 'CN' )
    AND ( C.EMPLOYEE_NUMBER = ANY(SELECT S254_200018.EMPLOYEE_NUMBER
    FROM PSTAGE.NEW_EMPLOYEE_MASTER S254_199317,
    PSTAGE.NEW_ALL_WORK_ORDER_MASTER S254_199854,
    PSTAGE.NEW_ALL_WORK_O
    Thanks in advance

    Hi Sunil
    In the Administrator tool, you can add hints to the driving folder used in your query. A first glance at your report seems to indicate that B might be the driver.
    If you launch the Administrator tool, open the business area then right-click on the folder in question you can select Properties. The second to last property is called Optimizer hints. Try setting the same hint in here exactly the way you would do it inside SQL.
    I am not 100% sure whether this would take as this isn't a folder hint per se, but it is worth a try. You might also want to look at this thread: how to design Optimizer hints  to the generated SQL
    Another thing to check is to look at the code that is being generated by your Discoverer worksheets. Do you by chance see a NOREWRITE hint being added? This is a common issue with newer systems. This hint tells the database that the query cannot be rewritten which in most cases will cause poor performance. If this is happening to you I advise you to disable that hint. This is done by editing the pref.txt and adding a new preference called
    Out of the box, Discoverer Plus will sometimes add the NOREWRITE hint. This will cause Plus worksheets to operate much slower than Desktop worksheets. You can disable the NOREWRITE hint by adding a new preference called UseNoRewriteHint to pref.txt in the Database section. After you have done this you will have to run the apply preferences script.
    [Database]
    UseNoRewriteHint = 0
    Be sure to close all of your IE windows so that a new JVM is loaded.
    For example, you might turn on UseNoRewriteHint (i.e. set it to 1) if you want users to always query against the latest data (e.g. created today), even though this might be slower than querying the summary data (e.g. created yesterday). The NOREWRITE hint instructs the optimizer to disable query rewrite for the query block, which overrides the setting of the parameter QUERY_REWRITE_ENABLED.
    Default Value: 0
    Valid Values
    0 = Do not add the NOREWRITE hint. This is the one I recommend.
    1 = Do add the NOREWRITE hint.
    Another possible area is with query prediction. This is taken from an Oracle Note: Under some circumstance when you run a query against an Oracle 10g database, the queryprediction might take up the majority of time and CPU may hit 100%.
    The cause for this is an an Oracle10g (10.1) database issue but seeing as you are on 10.2 this might not be an issue any more. I throw it out there just in case you still hvae issues and want to raise this with Oracle. The last I heard is that the root cause was still under investigation in an unpublished Bug:4024370. There was a workaround to the issue:
    1. Disable Query Prediction (strongly recommended anyway):
    For Plus/Viewer:
    Edit pref.txt on the middle-tier server and set QPPEnable=0
    Run the applypreferences script (.sh or .bat)
    For Desktop:
    Edit the registry and set QPPEnable=0
    HKEY_CURRENT_USERS\Software\ORACLE\Discoverer <version>\Database
    2. If you still wish to use Query Prediction while the database issue is being investigate, then you can configure the Query Predictor to use the Explain Plan method rather than the Dynamic Views method.
    For Plus/Viewer:
    Edit pref.txt on the middle-tier server and set QPPObtainCostMethod=0
    Run the applypreferences script (.sh or .bat)
    For Desktop:
    Edit the registry and set QPPObtainCostMethod=0
    HKEY_CURRENT_USERS\Software\ORACLE\Discoverer <version>\Database
    Hope this helps
    Best wishes
    Michael

  • Oracle Discoverer Administrator not installed with FMW 11.1.1.6 on windows 7 64 bit machine

    Hi,
    Recently I install the Oracle FMW 11.1.1.6 with Oracle Forms, Reports and Discoverer , 11g database and RCU successfully on windows7 64bit machine. I can able to access the Forms, Reports, Discoverer Plus and viewer thorugh URl successfully.
    But I'm not able to see the Oracle Discoverer Adminstrator to create the EUL for creating the connection though the Oracle Discoverer Plus it's give me the error "You do not have access to any End User Layer tables".
    I have also run the Repository Creation Utility against 11g R2 database which created a DEV_DISCOVERER schema.
    I don't how to create the End User Layer tables.
    These are the two URl I found after the installation for the discoverer:
       Discoverer Viewer URL: http://localhost:8888/discoverer/viewer
       Discoverer Plus URL    : http://localhost:8888/discoverer/plus
    Thanks in Advance

    Toufic Wakim wrote:
    Did you mean to say 11.1.1.2 and not 11.1.2?
    11.1.2 works fine on Windows 7 (64 bit).
    11.1.1.2 does not support windows 7 (64 bit). 11.1.1.3.01 was released a fews weeks back that supports windows 7 (64 bit).Hi Toufic,
    Yup, i mean hyperion 11.1.2..
    Now, the smartview has been successfully installed in my system. First, i tried to uninstall the my smartview and delete all registry that point to my smartview. and then i tried to re-install the smartview version 11.1.2, and now, it's work.
    Thanks Toufic..
    Regards,
    VieN

  • Problem discovering 9.2.0 physical standby database in 10GR1 OEM

    We have a Dataguard test setup in our company which was done using 9.2.0 OEM consisting of two 9.2.0 databases(one primary and another physical standby).
    I could get the 10GR1 agent discover the primary database properly, but couldnot discover the physical standby database? The 10GR1 agent on the remote host is running fine, but just not discovers the database that is in physical standby mode and running fine.
    Any suggestions???

    Have you tried manually adding the standby?
    Note that in grid, in the monitoring configuation screen, use the sys as sysdba account, dbsnmp doesn't have enough privileges.
    Bazza

  • Using OBIEE 11g Analytics with VPD database

    We are new to the OBIEE world. Our background has been in Discoverer for the past eight years. With Discoverer, the database handled all VPD issues. We simply had users create private database connections and Discoverer Plus would pass the user's credentials to the back end where a VPD policy would attach a predicate to a user's queries.
    So I guess our question is, How do we accomplish the same thing in OBIEE 11g for Analytics? We don's see any way to get around the need for a shared connection pool, and we cannot see any way to add a database login screen, nor would we want to.
    We are seeing things called initialization blocks and variables in the help files. We are assuming we will have to create some way of capturing the user's ID and passing it to the back end.
    We can't be the first ones to face this challenge, so any help is appreciated.
    Thanks in advance,
    Ken

    in the connection pool, you can use :USER and :PASSWORD and these will send the OBIEE login to the db, assuming each OBIEE user exists as a db user this should sort you out.
    Alternatively, you implement a psuedo-VPD using OBIEE Security filters, assuming you have access to the tables that VPD is using, you can hold the predicates to be applied in variables via INIT blocks and have OBIEE apply them on an as-needed basis. Check security filters in the documentation.

  • Spatial queries using Discoverer 3i

    We are looking for a web reporting tool for an Oracle 8i Spatial database. Spatial queries are very important to us. Would it make sense and would it be possible to use Oracle Discoverer 3i? This product does not seem to talk the language of a 'spatial user'.

    Thanks Dan,
    Presumably, it would currently be possible to use Discoverer on database views with fixed spatial where-clauses. Is that right? If so, would it currently also be possible to have a parameterised spatial where-clause, allowing a user for instance to define the spatial view for his particular region. Does Discoverer somehow allow for this?
    null

  • Using Discoverer with 4i

    Hi All,
    I want to use the discoverer which comes along with the E-Business suite 11i. Can you suggest how can i configure the discoverer client.
    Thanks,
    Prashanth.

    Before install, assure you have an Oracle client installed
    Install:
    1) Download "Oracle Business Intelligence Tools 10g (10.1.2.0.2) for Microsoft Windows" from here
    2) Execute setup.exe
    3) Remember the %ORACLE_HOME% used (ussually C:\oracle\BIToolsHome_1)
    Configuration:
    1) Databases must appear in the %TNS_ADMIN%\tnsnames.ora
    If you are trying to connect through an Applications database, also:
    2) Create a directory secure under %ORACLE_HOME%\discoverer
    3) Copy there the .dbc files of each Applications environment
    4) Define a system environment variable FND_SECURE=%ORACLE_HOME%\discoverer\secure
    5) Add to the regedit, in HKEY_CURRENT_USER\Software\Oracle\Discoverer 10\Database, the following entries:
    a) EnableTriggers, type DWORD, value 1
    b) DefaultPreserveDisplayPropertyForRefresh, type DWORD, value 1
    6) Open Discoverer Administrator, go to Tools -> Options, and check "both" in the connect options
    7) Set the values of GWYUID and FNDNAM for Applications. These values are in the .dbc files, but ussually are: GWYUID=APPLSYSPUB/PUB and FNDNAM=APPS
    Helpfull?
    Alfonso

  • Problems with Discoverer queries

    I'm building a Discoverer worksheet based off a view where I have the following select statement:
    select count(2.columnA) A, count(distinct 3.columnB) B, 1.columnC, 1.columnD from
    table1 1, table2 2, table3 3
    where 1.columnE=2.columnA
    and 1.columnE=3.columnB
    group by 1.columnC, 1.columnD
    When I create this worksheet in Discoverer, everything comes out fine. However, when I build the following calculation, I get incorrect results: (A - B)/A. For some reason, Discoverer does not want to divide properly. Any ideas?
    Devin

    Hi
    I found in the manual regarding Turn off Query Prediction. / Stop Query Prediction
    "Turn off Query Prediction.
    This can be done by specifying the following registry key:
    HKEY_CURRENT_USER\Software\Oracle\Discoverer 4\Database\QPPEnable
    It should be set to a DWORD value of 0 (zero). To re-enable query prediction at some later point in time, either remove the registry key or set it to 1.
    Stop Query Prediction forcing the use of the Cost-Based Optimizer.
    This can be done by specifying the following registry key:
    HKEY_CURRENT_USER\Software\Oracle\Discoverer 4\Database\QPPCBOEnforced
    It should be set to a DWORD value of 0 (zero) which means use of the Cost-based Optimizer (CBO) is not enforced. The CBO will follow the normal rules of the database server. "
    However I cannot find the specified registry keys QPPEnable and QPPCBOEnforced
    What could be wrong?
    Thanks
    ARI

  • 11g Discoverer - Custom Login and private workbooks questions

    I would like to know if anyone has experience with the following issues.
    It appears that you could configure a custom login for Discoverer Plus/Viewer (users are authenticated via a custom application > provide a link within the custom application to launch Discoverer Plus > Discoverer Plus authenticate with the database as a generic single/service oracle username for a given EUL).
    My questions:
    1. Since we authenticate users in our application, could we just pass generic user information to allow a Discoverer Plus login via a URL (without the generic password being exposed to the user)?
    2. If a custom login works using a generic discoverer database username, how could you pass a unique user identifier so that a user could create and save their own workbooks privately?
    Essentially, we would like to authenticate the Discoverer Plus session via our own application (since the user is already authenticated within our application). And, we would like the Discoverer Plus database session to be generic so we do not require unique database accounts for every end-user. However, we also want the generic Discoverer Plus "session user" to be able to save private workbooks (possibly using sys_context('USERENV', 'CLIENT_IDENTIFIER')).
    Thanks for any insight

    Hi,
    1. Since we authenticate users in our application, could we just pass generic user information to allow a Discoverer Plus login via a URL (without the generic password being exposed to the user)?You can use an HTTP post to send a Discoverer URL that contains both the username and password, so this should allow you to connect ot a generic user.
    2. If a custom login works using a generic discoverer database username, how could you pass a unique user identifier so that a user could create and save their own workbooks privately?I don't think you can do this without using Oracle SSO. I workaround you could explore is for your Discoverer URL to run an initialisation workbook, which takes an encrypted username as a parameter and if this is OK the workbook sets the database environment using PL/SQL and DBMS_SESSION package. The user would then always see the results of the initialisation workbook when they connected which could just show a welcome message.
    Rod West

  • Error in discoverer 9i desktop

    Hi all,
    I am using discoverer 9i (9.0.2 to be specific) on windows 2000. I have created a few users and each user has his own EUL. coming to the problem, some users I have created get the error "unable to connect to database" after logging into discoverer desktop and when they are trying to create a new report. The usernames, password and conect string are correct as I am able to connect to sql with the same details.
    Also, when they try to re-open a saved workbook, they receive a message "unabel to load eul item. Do you want to continue?"
    can anybody help me with this problem.
    thanks and regards,

    Hmm
    Are you sure the user has been a) granted access to the End User tool and b) has access to the business area(s) concerned?
    Are you trying to access Desktop on the same machine as Administrator? If so, they should use the same registry settings. If not and the users only have a copy of Desktop is it possible that the registry could have become corrupt in the Discoverer area?
    Is the user a local administrator on the machine? If not then Discoverer will be unable to edit the registry and will be unable to set the default EUL. Let's assume the answer is yes - the user is a local administrator.
    When the user connects you say you see blank for the default EUL. This would explain why the user sees no business areas / items. Therefore, let's try assigning a manual default. To do this you will need the following information to hand:
    1. Username as keyed into Discoverer - Eg. MSMITH
    2. The EUL they are to connect to - E.g. EUL_US
    3. The TNS entry they select in the database box - E.g. PROD
    Here's a workflow:
    1. From the Start button, select Start | Run
    2. In the Run dialog box, type REGEDIT and click the OK button
    3. Expand the folder called HKEY_CURRENT_USER
    4. Navigate to the folder HKEY_CURRENT_USER
    | Software | Oracle | Discoverer 9 | Database
    5. Click on the folder called Database
    6. In the right hand window you should see an ab entry called AEUL_MSMITH_PROD? The words MSMITH and PROD correspond to the username and TNS connection
    7. If this entry does exist but the entry in the column called Data is incorrect or has nothing, proceed to step 10
    8. If the entry AEUL_MSMITH_PROD does not exist, right-click in the column called Data and from the pop-up select New | String Value.
    9 You will see an entry called New Value #1 - replace this with AEUL_MSMITH_PROD (replacing MSMITH with the real username and PROD with the TNS entry - both in uppercase) and press the Enter key on the keyboard.
    10. Right-click on AEUL_MSMITH_PROD and from the pop-up select Modify.
    11. In Value Data type the name of the EUL you want the user to connect to by default (in uppercase). E.g. EUL_US
    12. Click the OK button
    13. Close Regedit and launch Discoverer Desktop
    Does this help?
    Regards
    Michael

  • Attaching a Discoverer Private Connection via role

    Is it possible to define a discoverer viewer private connection that everyone attached to a specific role can view? So far we have seen that a private connection needs to be attached to a username and this can be very problematic if you have 600 users.

    I hope this can helu u!!!
    SET DEFINE OFF;
    CREATE OR REPLACE PACKAGE DISCO_PRIV_CONN IS
    /**********************************************************************=
    * DISCLAIMER: You may be use this AS-IS. There is no support involved=
    and
    * you may use at your own risk.
    * AUTHOR : Caroline Cintra
    * DATE : 27-FEB-03
    * PURPOSE : Currently there is no means provided to create Discoverer c=
    onnections
    * (public or private) in a programmatical way. The below PLS=
    QL
    * package is used to create private connections in Oracle9iAS=
    Release 2
    * 9.0.2.x.
    * Private connections are defined on a per user basis specify=
    ing the
    * user/pwd/connect string to run a Discoverer Report through =
    Viewer.
    * This can be called in a batch program to create multiple Di=
    scoverer
    * connections in bulk.
    * This package must be owned by ORASSO.
    ***********************************************************************=
    -- Error code returned when exceptions are raised in this package
    g_error_code NUMBER := -20220;
    -- Variables used to handle Discoverer private connections (fix values)=
    g_subscriber_id orasso.wwsso_psex_user_info$.subscriber_id%TYPE := 1;
    g_app_id orasso.wwsso_psex_user_info$.app_id%TYPE := '1325';
    g_app_creator orasso.wwsso_psex_user_info$.app_creator%TYPE := 'ORASSO_DS';
    /**********************************************************************=
    * PARAMETERS:
    * p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%type
    *     Oracle Single Sign On user name
    * p_db_username IN orasso.wwsso_psex_user_info$.app_username%type
    * Discoverer (DW) database username
    * p_db_password IN orasso.wwsso_psex_user_info$.app_password%type
    * Discoverer (DW) database password
    * p_eul IN orasso.wwsso_psex_user_info$.fval1%type
    * Discoverer End User Layer in the <p_db_username> sc=
    hema
    * p_conn_name IN orasso.wwsso_psex_user_info$.fval1%type
    * Name of the Discoverer private connection being cre=
    ated
    * p_conn_desc IN orasso.wwsso_psex_user_info$.fval1%type
    * Name of the Discoverer private connection being cre=
    ated
    * p_db_name IN orasso.wwsso_psex_user_info$.fval1%type
    * Discoverer (DW) database name
    * (tnsnames entry defined in the server)
    * EXAMPLE USE: ORASSO.DISCO_PRIV_CONN.CREATE_PRIVATE_CONNECTION (
    * 'JP111111' -- p_sso_username
    * , 'global_user' -- p_db_username
    * , 'global_user_pwd' -- p_db_password
    * , 'EUL9I' -- p_eul
    * , 'default_priv_conn' -- p_conn_name
    * , 'Connection created via API' -- p_conn_name
    * , 'devap' -- p_db_name
    * NOTES:
    * 1) This procedure does not perform a COMMIT of the database transac=
    tions
    * it executes. The reaon for this decision is the fact that this
    * procedure is designed to be called as part of a Single Sign On u=
    ser
    * set up. Therefore, the database operations performed here must o=
    nly
    * be commited when the user set up entire process was successful.
    * 2) If there is a problem creating the connection (e.g. this connect=
    ion
    * already exists), an application exception is raised with the err=
    or
    * code of DISCO_PRIV_CONN.g_error_code.
    ***********************************************************************=
    PROCEDURE CREATE_PRIVATE_CONNECTION(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
    , p_db_username IN orasso.wwsso_psex_user_info$.app_username%TYPE
    , p_db_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    , p_eul IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_desc IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_db_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    /**********************************************************************=
    * PARAMETERS:
    * p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%type
    * Connection identifier
    * EXAMPLE USE: DISCO_PRIV_CONN.REMOVE_PRIVATE_CONNECTION(
    * 'a170' -- p_fld_index
    * NOTES:
    * 1) This procedure does not perform a COMMIT of the database transac=
    tions
    * it executes. The reaon for this decision is the fact that this
    * procedure is designed to be called as part of more complex
    * processes. Therefore, the database operations performed here mus=
    t
    * only be commited when the complete process was successful.
    * 2) If there is a problem creating the connection (no connection was=
    * found based on the input parameters), an application exception i=
    s
    * raised with the error code of DISCO_PRIV_CONN.g_error_code.
    ***********************************************************************=
    PROCEDURE REMOVE_PRIVATE_CONNECTION(
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
    /**********************************************************************=
    * PARAMETERS:
    * p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%type
    * Connection identifier
    * p_new_password IN orasso.wwsso_psex_user_info$.app_password%type
    * Discoverer (DW) database new password
    * EXAMPLE USE: DISCO_PRIV_CONN.UPDATE_PRIVATE_CONNECTION_PWD(
    * 'a170' -- p_fld_index
    * , 'new_global_user_pwd' -- p_new_password
    * NOTES:
    * 1) This procedure does not perform a COMMIT of the database transac=
    tions
    * it executes. The reaon for this decision is the fact that this
    * procedure is designed to be called as part of more complex
    * processes. Therefore, the database operations performed here mus=
    t
    * only be commited when the complete process was successful.
    * 2) If there is a problem creating the connection (no connection was=
    * found based on the input parameters), an application exception i=
    s
    * raised with the error code of DISCO_PRIV_CONN.g_error_code.
    ***********************************************************************=
    PROCEDURE UPDATE_PRIVATE_CONNECTION_PWD(
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
         , p_new_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    /**********************************************************************=
    * PARAMETERS:
    * p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%type
    * Connection identifier
    * p_new_password IN orasso.wwsso_psex_user_info$.app_password%type
    * Discoverer (DW) database new password
    * RETURN:
    * The connection unique identifier (wwsso_psex_user_info$.fld_index)
    * EXAMPLE USE: DISCO_PRIV_CONN.SELECT_PRIVATE_CONNECTION_ID(
    * 'JP111111' -- sso_username
    * , 'my_connection' -- p_conn_name
    ***********************************************************************=
    FUNCTION SELECT_PRIVATE_CONNECTION_ID(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
         , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    ) RETURN VARCHAR2;
    END DISCO_PRIV_CONN;
    CREATE OR REPLACE PACKAGE BODY DISCO_PRIV_CONN IS
    PROCEDURE CREATE_PRIVATE_CONNECTION(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
    , p_db_username IN orasso.wwsso_psex_user_info$.app_username%TYPE
    , p_db_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    , p_eul IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_conn_desc IN orasso.wwsso_psex_user_info$.fval1%TYPE
    , p_db_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    ) IS
    BEGIN
    INSERT INTO
    orasso.wwsso_psex_user_info$ (
    subscriber_id
    , sso_username
    , app_id
    , app_creator
    , fld_index
    , app_username
    , app_password
    , user_prefs
    , fname1, fval1, fname2, fval2 , fname3, fval3, fname4, fval4
    , fname5, fval5, fname6, fval6, fname7, fval7, fname8, fval8
    , fname9, fval9
    VALUES (
    g_subscriber_id -- subscriber_id
    , p_sso_username -- sso_username
    , g_app_id -- app_id
    , g_app_creator -- app_creator
    , 'a' || orasso.wwsso_jps_seq.NEXTVAL -- fld_index
    , orasso.wwsso_api_private.ENCRYPT_STRING(p_db_username) -- app=_username
    , orasso.wwsso_api_private.ENCRYPT_STRING(p_db_password) -- app=_password
    , '' -- user_prefs
    , 'discard_password' -- fname1
    , 'false' -- fval1
    , 'eul' -- fname2
    , p_eul -- fval2
    , 'connection_name' -- fname3
    , p_conn_name -- fval3
    , 'show_details' -- fname4
    , 'true' -- fval4
    , 'database' -- fname5
    , p_db_name -- fval5
    , 'description' -- fname6
    , p_conn_desc -- fval6
    , 'default_locale' -- fname7
    , 'en-US' -- fval7
    , 'null' -- fname8
    , 'null' -- fval8
    , 'null' -- fname9
    , 'null' -- fval9
         -- If there is a problem, raise exception
    EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of PROCEDURE CREATE_PRIVATE_CONNECTION
    PROCEDURE REMOVE_PRIVATE_CONNECTION (
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
    ) IS
         l_rowid ROWID := '0';
    BEGIN
    SELECT ROWID
    INTO l_rowid
         FROM orasso.wwsso_psex_user_info$
         WHERE fld_index = p_fld_index;
    DELETE FROM orasso.wwsso_psex_user_info$
    WHERE ROWID = l_rowid;
         -- If there is a problem, raise exception
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Discoverer private connection to be deleted does not exist.'
                   , TRUE);
         WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Too many Discoverer private connections were found (delete).'
                   , TRUE);
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of PROCEDURE REMOVE_PRIVATE_CONNECTION
    PROCEDURE UPDATE_PRIVATE_CONNECTION_PWD (
    p_fld_index IN orasso.wwsso_psex_user_info$.fld_index%TYPE
         , p_new_password IN orasso.wwsso_psex_user_info$.app_password%TYPE
    ) IS
         l_rowid ROWID := '0';
    BEGIN
    SELECT ROWID
    INTO l_rowid
         FROM orasso.wwsso_psex_user_info$
         WHERE fld_index = p_fld_index;
    UPDATE orasso.wwsso_psex_user_info$
    SET app_password = orasso.wwsso_api_private.ENCRYPT_STRING(p_new_password)
    WHERE ROWID = l_rowid;
         -- If there is a problem, raise exception
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(g_error_code,'Discoverer private connec=
    tion TO be updated does NOT exist.',TRUE);
         WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(g_error_code,'Too many Discoverer priva=
    te connections were FOUND (UPDATE).',TRUE);
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of UPDATE_PRIVATE_CONNECTION_PWD
    FUNCTION SELECT_PRIVATE_CONNECTION_ID(
    p_sso_username IN orasso.wwsso_psex_user_info$.sso_username%TYPE
         , p_conn_name IN orasso.wwsso_psex_user_info$.fval1%TYPE
    ) RETURN VARCHAR2 IS
         identifier orasso.wwsso_psex_user_info$.fval1%TYPE;
    BEGIN
    SELECT fld_index
    INTO identifier
         FROM orasso.wwsso_psex_user_info$
         WHERE
         sso_username = p_sso_username
              AND app_id = g_app_id
              AND p_conn_name = DECODE(
              fname1
              , 'connection_name'
                                       , fval1
                                       , DECODE(
                                       fname2
                                       , 'connection_name'
                                       , fval2
                                       , DECODE(
                                       fname3
                                            , 'connection_name'
                                            , fval3
                                            , DECODE(
                                       fname4
                                            , 'connection_name'
                                            , fval4
                                            , DECODE(
                                       fname5
                                            , 'connection_name'
                                            , fval5
                                            , DECODE(
                                       fname6
                                            , 'connection_name'
                                            , fval6
                                                 , DECODE(
                                       fname7
                                            , 'connection_name'
                                            , fval7
                                                      , DECODE(
                                       fname8
                                            , 'connection_name'
                                            , fval8
                                                      , DECODE(
                                       fname9
                                            , 'connection_name'
                                            , fval9
                                                      , 'INVALIDVALUE'
                                                           ) --fname9
                                                      ) --fname8
                                                 ) --fname7
                                                 ) --fname7
                                                 ) --fname5
                                            ) --fname4
                                            ) --fname3
                                       ) --fname2
    ); --fname1
         RETURN identifier;
         -- If there is a problem, raise exception
    EXCEPTION
         WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Discoverer private connection not found (select).'
                   , TRUE);
         WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(
              g_error_code
                   , 'Too many Discoverer private connections were found (select).'
                   , TRUE);
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(g_error_code,SQLERRM,TRUE);
    END;-- of PROCEDURE REMOVE_PRIVATE_CONNECTION
    END DISCO_PRIV_CONN;
    SHOW ERRORS;

Maybe you are looking for