How to determine purity level

Hi everybody!
Oracle determines purity levels of each stored procedure/function during validation/compilation. We can also set it "manually" by using pragma_restrict declarations.
For certain dynamic maintenance processes we need to know the situation...
Where is it stored? Is there a simple way to query it from some system view rather than to try executing "select my_function(my_arguments) from dual" and encount "ORA-06571: Function MY_FUNCTION does not guarantee not to update database"
I have searched for some for the answer. However have not discovered any easy way to determine (query) it.
Any suggestions are welcome, thanks in advance...
Jaan

Lately 10g. (in some places still 9 and even 8)
However I have noticed that pragma RESTRICT_REFERENCES is still supported - you can make a function what in origin was able to manipulate table data to become "readonly"... Different from earier versions Oracle is able to determine purity of code by itself and we don't have to tell it any more...
But that isn't me concern. I just want to have simple solution to retrive from Oracle information whether one or another plsql function is usable in SQL statement or not. It's obvious that Oracle "knows" it. Just want to know where it holds this information.
Trying "select my_func from dual" seems to be too expensive workaround...

Similar Messages

  • How to determine the level Of FRBs

    Hi All
    Can anybody tell me how to determine the level of profit center ( FRBs)
    in SAP. I mean for example that how will i find out the level the level of
    FRBs in the table BSIS.

    Below query will help
    select Serverproperty('productlevel'),
    Serverproperty('productversion'),
    Serverproperty('edition')
    The last column will show you edition which will confirm whether it is enterprise ,standard,evaluation or express
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • How to Determine the levels of a cube in SQL

    Hi i know to determine the no of cubes we could use
    select * from all_cubes
    and its dimensions we use
    select * from All_cube_dimensions
    how do we determine the levels of a dimension??

    I speak better French. So you can translate with google.
    L'astuce que j'utilise est la suivante :
    1 - Extraire les données, un select
    2 - Enregistrer les données dans un fichiers txt ou csv
    3 - ouvrir le fichier avec excel
    4 - créer une colonne à gauche de la colonne contenant les données et écrire INSERT INTO TABLE VALUES (
    5 - dans la colonne de droite écrire *)*
    6 - enregistrer et tu as ton script pour transférer les données dans une autre BD.
    Bonne chance.

  • How to determine Grid level type of an installation (POD)?

    Hi everybody!
    I am working on a report that should maintain the point of delivery in installations (IS-U).
    With this task, I'm having trouble to determine the grid level type of the installation, which I need to select the grid that is assigned to the adress of the installation in EADRSTRTGRID_NEW.
    The valid grid level types are maintained in table EGRIDLT but unfortunately, I could not find any connection to the installation exept for via the devision category? Any suggestions?
    Thanks a lot for your help, kind regards, Kathrin!

    Hi,
    Table EUIGRID has fields POD and GRID. I hope you have POD to select grid from this table.
    Regards,
    Sunil

  • How to determine exact level of XE

    I need to download the JDBC Driver. I can tell my version is 10.2.0 from the directory name in the product install, but when choosing a driver you need to know one more digit, for instance 10.2.0.4 or 10.2.0.3. How do I get that?

    XE is tagged as 10.2.0.1, but it isn't directly equivalent to the Standard/Enterprise editions 10.2.0.1
    I'd always go with the latest version of a driver as they should be backwardly compatible with older versions of the database.

  • How to determine J2EE patch level

    If I go to the CMD prompt running the Dispatcher, I can enter "version" and the > prompt and get the following:
    SAP J2EE Engine Version 6.20 PatchLevel 78993.20
    How does this patch level translate to patch levels 6 throuch 32 on service.sap.com/patches?
    Thanks in advance.

    Hi Gary,
    you can mark your question as self solved to show other users that this toppic has been solved.
    Regards
    Gregor

  • 11i: How to determine current CU level?

    I'm new to 11i and would like to know how to determine if we are running 11.5.10 CU2?
    I was hoping to find a SQL statement or some configuration file somewhere that would provide definitive information about the installed "consolidated update".
    Thx.
    Don

    903322 wrote:
    I'm new to 11i and would like to know how to determine if we are running 11.5.10 CU2?
    I was hoping to find a SQL statement or some configuration file somewhere that would provide definitive information about the installed "consolidated update".SQL> select release_name
    from fnd_product_groups;
    https://forums.oracle.com/forums/search.jspa?threadID=&q=RELEASE_NAME+AND+fnd_product_groups&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    From the application: Help > About
    Thanks,
    Hussein

  • How to implement row level security?

    Hi all,
    There is a database which is for 3 companies to use it and how to use row level security to make sure that they can only manipluate their own data? For example, "employee" table, for each company they just can see their own employees information. How to use dynamic view to do it?
    Many Thanks
    Amy

    Here are two options to achieve what you want.
    A. You can do this by coding, that's if you are ready to. Are you? If yes then try the steps below:
    1. create a security codes table. Say for example
    001 - company a
    002 - company b
    2. create a security table that will list all users and which company they should have access to. You can also implement this by roles.
    3. alter all tables in the application schema to add a security code column. This will be a foreign key reference to table created in 1 above.
    4. update all data in the tables according to which company they belong to.
    5. write a procedure or package that does a validity check whenever a user requests for data. This procedure/package determines which company data the user has access/rights to.
    With this, you should be able to achieve what you want if you do not want to spend on VPD and FGAC. The problem comes where there are users who would have cross access to data from both companies. In this regard, then you have to modify your security table a little bit to handle this.
    B. This option i will admit is not so clean. You can also achieve this by two different views for every table in the application schema. And on each of these views, create a private synonym for every user. For illustration purposes:
    Table name = Employee.
    Create a view employee_a on employee
    create a view employee_b on employee
    Let's say you have users x and y. X has access to employees of company a and y has access to employees of company b. You can now create private synonyms for each of these users as follows:
    create synonym employee on employee_a in x schema.
    create synonym employee on employee_b on y schema.
    This i have not tried but believe should work.
    Hope one of these options serve your purpose.

  • How to determine the IPS throughput using Cisco ASA 5500 IPS Solution?

    Hello there!
    I´ve been desinging a solution to protect de Server Farm and I intend to use the ASA 5500 series with AIP-SSM module. There´s any tool to determine the real throughput that I need? I mean, how to determine the performance (Firewall + IPS  throughput), what main points I should consinder?

    If the server farm is running production levels of traffic today you can get statistics off a variety of networking devices passing the existing traffic. Switches, routers and firewalls all count every byte of traffic they pass. There are plenty of tools that can gather this traffic into tables via SNMP too, such as MRTG.
    Do not average your traffic over too great a time peroid, you will miss busy hour peaks. At most, use 5 min averages.
    - Bob

  • How to determine Default Table Logging (log data changes )

    Does anyone know how to view exactly what tables and related data fields have change logging enabled by default? I know that some of the standard reports will produce "edit reports" show who changed what field, when ,old and new values, etc, but I don't know how to determine where the data is retrieved from.
    For example: If I look in the ABAP Dictionary at table LFA1, technical settings, it shows that log data changes is not "checked" or enabled. But if I run the standard AR Master Data Change Report, I get output showing valid field changes.
    I have seen other threads that refer to SCU3 but I can't determine the above this from report.
    Any assistance would be greatly appreciated.

    Hi Arthur,
    As far as I am aware, these are 2 different things. 
    There is table logging which is at the table level & if activated (i.e. it's listed in table DD0LV, PROTOKOLL=X and the table logging parameter is set in the system profile/s).
    The second one is programatical logging for change documents when data is maintained though a program that has been written to include a log.  I'm not sure how to identify a complete lit of these though unfortunately.
    Hope that is of some assistance.

  • How to provide page-level security..

    HI,
    I have a requirnment that a single report having multiple pages is generated such that each or some of the pages have security tags that are compared to a security identifier list of a particular user that acts as a security clearance for that user. How to do this programatically.
    Through this comparison, a subset of pages from the report is formed which makes up a "report" from the user's point of view that contains only data the user is allowed to see. This allows multiple users to view only authorized portions of a single report having page-level security determined by level breaks in the data.How to do this also programatically.
    including both the task is one requirnment. if any one know how to do this using java program or xml, please reply as soon as possible.
    thanks in advance.

    How does you post have anything to do with SQLJ/JDBC? If this is an Oracle Report then post it to the Oracle Reports forum. Otherwise, look at the JDeveloper forum.

  • How to create down level stage transparency?

    I tryed everything.....

    Hi Marcin,
    As far I know, the functionality of entering down payment in header will not allow you to post the DPR at header level, it has been given an option to enter the DPR as against at line item level available before.
    Looking from a logical point of view, if a PO has more than one line item then then how to determine against which item the DPR has been entered, there may be line items with different delivery dates say one line item requires a down payment to be made, and the other doesn't and also it may come in much before than the item against which the DPR has been made, then it will be a mess for Finance to decide whether to pay for this item or balance the invoice against DPR.
    Regards
    Chandra Shekhar

  • How to Migrate Row Level Security Configuration

    Hi Guys,
    Does anybody know how to migrate row level security configuration? I suppose PeopleSoft provided a data mover script, like securityexport.dms.
    Thank you in advance,
    Bob

    Here are two options to achieve what you want.
    A. You can do this by coding, that's if you are ready to. Are you? If yes then try the steps below:
    1. create a security codes table. Say for example
    001 - company a
    002 - company b
    2. create a security table that will list all users and which company they should have access to. You can also implement this by roles.
    3. alter all tables in the application schema to add a security code column. This will be a foreign key reference to table created in 1 above.
    4. update all data in the tables according to which company they belong to.
    5. write a procedure or package that does a validity check whenever a user requests for data. This procedure/package determines which company data the user has access/rights to.
    With this, you should be able to achieve what you want if you do not want to spend on VPD and FGAC. The problem comes where there are users who would have cross access to data from both companies. In this regard, then you have to modify your security table a little bit to handle this.
    B. This option i will admit is not so clean. You can also achieve this by two different views for every table in the application schema. And on each of these views, create a private synonym for every user. For illustration purposes:
    Table name = Employee.
    Create a view employee_a on employee
    create a view employee_b on employee
    Let's say you have users x and y. X has access to employees of company a and y has access to employees of company b. You can now create private synonyms for each of these users as follows:
    create synonym employee on employee_a in x schema.
    create synonym employee on employee_b on y schema.
    This i have not tried but believe should work.
    Hope one of these options serve your purpose.

  • EEWB :  how to determine the business object and the extension type ?

    Hi,
    I ask myself how to determine the business object and the extension type to use to add new fields in a new tab of a specific transaction ? what means each business object, does that correspond to a specific transaction ?
    I need to add a new tab in the ‘BaMI’ business activity in transaction CRMD_ORDER just after the tab 'Actions' at header level.
    Could you help me please to determine which business object and extension type I have to select during creation of the project and which business object category I have to select during creation of the extension (wizard) ?
    Thanks for your help,
    Marie

    Marie,
    In order to determine what type of transaction you are extending, you will need to look at the customizing for the transaction.
    In the IMG:
    Goto:
    Customer Relationship Management->Transactions->Basic Settings->Define Transaction Types.
    You will then choose the transaction defined that you want to extend.  If you display the details of the transaction you will find an attribute called:
    "Leading Transaction Category".  This tells you the general context in which the transaction is used.  The other item to view is the assignment of business transaction categories found in the maintenance screen.
    This information general corresponds to one of the options that the EEWB will give you on the transaction type.
    As far as extensions go, my recommendation is the following:
    - Use CUSTOMER_H Customer Header Extensions for any new fields at the header level.
    - Use CUSTOMER_I Customer Item Extensions for any new fields at the item level.
    Unless you have a specific requirement to extend a segment of the transaction, I recommend placing all new fields in these segments.  The CUSTOMER_H & CUSTOMER_I segments are considered "standard" segments, that are already built into all the necessary API structures. 
    Let me know if you have any further questions.
    Good luck,
    Stephen

  • How to do capacity levelling

    Dear Frndz,
    Pls help me how to do capacity levelling.....
    Scenario:
    I have created two production orders for the same finish date as a result the work center is overloaded.Now I want to do capacity levelling.Tell me the step by step procedure to do capacity levelling, so that the capacity problem is solved.
    Regards,
    Srini.

    HI,
    Capacity leveling after order creation
    This process covers capacity leveling of requirements from the production process, monitoring the capacity after different periods, and how the system determines the new values for the current order after changes are made to the quantities, times, and dates.
    1) T Code CM21
    2) Enter the field Plant & work Center
    3) Choose Enter.
    The current orders whose operations result in capacity loads at the selected work center are displayed. By scrolling through the different charts in the planning table, you can analyze the information provided.
    4)For a better view, choose Settings ® Scale ® Monthly period split.
    5) To automatically dispatch one or several operations of an order, click the red rectangle in the order's diagram section to select the order and choose .
    The order disappears from the order pool and reserves a time segment in the work center section.
    6) To manually dispatch one or more operations of an order, select the order in the diagram section, drag it to the work center section with the mouse, and place it in a time period that you select.
    7) To deallocate an order, select it in the work center's diagram section and choose .
    The order is again displayed in the order pool.
    8) To analyze the changes made in scheduling, select an order in the order's diagram section and choose Order.
    9) Choose Item and write down the start and finish dates of the operation you selected.
    10) Choose Enter until the Planning Table: SAPSFCG001 Finite Scheduling Forw./All Functs.Active screen appears.
    11) Drag the order to a valid section in the work center's diagram section. Make sure that you move the order to a valid and defined start and finish date.
    13) Select the order in the work center's diagram section and choose Order.
    14) Choose Item and compare the new start and finish date.
    15) Choose Enter until the overview tree appears.
    Regards,
    srivas

Maybe you are looking for