performance of the duties based on the table

Hello

I have the package with multiple functions inside, each function represents the specific verification, some or all of the controls are executed on a data set.

New controls are implemented, they are added to the main proceedings, that's good but editing master procedure source is the disadvantage.

What I want is to move controls run logic from graphical user interface that allows the operator disable or enable the specific check without having to edit the source.

My first idea of a table with the function names and check toggle the flag (available from the GUI) and master procedure with prepared loop only on the controls enabled.

Secondly, one was call to main table inside each check to find is it enabled or not.

Anyone have an idea better?

Hi GregV,

Audits are functions inside the package each company represents the rule, they are run on each change committed by the user. If all controls are passed the change is allowed.

Now, there is a change - there are several groups changing dynamically the users who should be cheeks just against little business rules.

We must allow privileged user (Administrator of the Group) assign users to groups and chose the active business rules for them.

I'm not a big fan of dynamic sql (first idea), so

1. I want to create tables that define active rules for groups and user group mapping

2. change each control function of the first table of query groups and to determine who is special rule should be enforced against this group.

3. create a gui for admin group to manage groups and assign users.

If it is even a good idea?

See you soon

[UPDATE]

I chose this way

Tags: Database

Similar Questions

  • Copy the table

    Hello

    I would like to ask how to copy the contents of a Table to another Table? What is the function?

    If all the cells in a table are compatible, you can get the values with:

    GetTableCellRangeVals (panelHandle, PANEL_TABLE, VAL_TABLE_ENTIRE_RANGE, array, VAL_COLUMN_MAJOR);

    Otherwise you can copy the content into smaller subsets or cell by cell. See using the command for an explanation of "compatible".

    To fill in the destination table, you can use the reverse order of SetTableCellRangeVals

    The largest area you can set (and therefore the lower the number of operations performed on the table) the faster the process.

    You can have a further improvement by hiding the table before this operation.

  • Performance in the treatment of the based on a game, several tables from target

    Welcome.

    I have question about a treatment based on a game, when mapping have several tables in the target. I noticed that OWB generate SQL code that usually build a query for each table in the target insertion. Suggest that each table has results from different stages of the treatment, so multi table insert cannot be used. Looking for generated code PL/SQL, I feel that each insert query managed independently and so each make analyses of source table and joins on its own.
    To make my question more concrete, I will introduce two simple examples of stream ETL:
    1) start-> (table scan)--> (joins)--> (inserting into the table t1)
    2) start-> (table scan)--> (joins)-> two targets: (insert into table t1)
    -> two targets: (deduplicator)--> (insertion in table t2)
    Admit, that scans and joins are very expensive comparing to insert rows. Thus, it is usually, if oracle performs scans of tables 2 and joined in example 2) and example 2) take twice longer than example 1)?
    Or fact Oracle is so smart that it can cache the result of entering the first query and use it again in the second query?

    Best regards
    Pawel

    Hi Pawel,

    Thus, it is usually, if oracle performs scans of tables 2 and joined in example 2) and example 2) take twice longer than example 1)?

    Yes, you are right

    Or fact Oracle is so smart that it can cache the result of entering the first query and use it again in the second query?

    Nor the database Oracle or OWB don't is not to intermediate capabilities query result caching.
    While the Oracle database feature "result cache queries", but it must match exactly to SQL source and it store only the final query result...

    Kind regards
    Oleg

  • Reconstruction of the table should be performed after removal of most of its data?

    Hi all
    We are on Oracle 10.2.0.4 on Solaris 10. There is a table in my DB of production that has 872944 number of lines. Most of his data is now useless, that it must keep, based on a date column in the table just last a month of rest data and delete data. Thus, after the array will be just 3000 lines.

    However, as the table was huge earlier (872 k lines before you remove), the deletion of data releases his oracle blocks and reduced the size of the table? Otherwise, this will help in the reconstruction of the line (redefined online) table so that the query that performs a full scan on this table goes faster?

    I checked using an example of a table that simply deleting data does not remove the oracle blocks - they remain in the user_tables for this table and complete the table scan cost remains the same. I think that after this deletion, I have to do a re-definition of table online, which is the right decision so we have a query that makes the full table scan?

    Thank you

    If read you about the orders, you will find that they require a DDL lock. Your users should not notice this.

  • 2 definitions of view based on the value of the table

    Hi all

    Is it possible to have 2 different definitions of each entry of 2 base tables display different, based on the value of the table?

    We have 2 tables with similar columns, one with historical and other data was only the latest / greatest according to yesterday (it is populated by ETL from mainframe). Changes made by the java application online is now going into the table containing historical data immediately, but edits made in mainframe comes to the table with the data current next day.

    There are 2 products, an is based on the last and largest of the historical table based on cre date and date of mod and other product relies on the table with the current data (not historical).

    Tried using joins for these two tables but the performance wasn't good and each product needs table data alone, and so I wanted to eliminate joins.

    We wanted to use the same name for the view from the metadata using the shared functionality based on the name of the view.

    Is there a way define a view under certain conditions?

    It is:

    If the value for a particular parameter is 0 then

    Select c1, c2, c3 of < historical table > other

    Select c1, c2, c3 of < no history table >

    Any ideas?

    You are looking for something like this?
    Re: how to pass parameters in a view

  • divide the table based on the number of lines

    Hello

    I am trying to split a table based on the number of lines and then treat.
    Say I have a TEST_XXX table that contains 50 lines, what I would do is.
    to access multiple lines of 10. How can we achieve this?

    What I thought is, once the table is created and the line are filled.
    Add a new column to the table and perform a procedure that inserts of 1 to 10 first lines
    and 2 to 10 lines and 3 to 10 next ranks... etc. Based on this, that we can treat
    the first set of lines then play next or etc...

    is there a better way to do it?

    Code to create the table:
    CREATE TABLE TEST_XXX
    (
      A_ID   VARCHAR2(10),
      B_ID   NUMBER,
      c_ID   VARCHAR2(10),
      D_ID   NUMBER
    )
    Code to add lines:

    DECLARE
    BEGIN
      FOR I IN 1..50
      LOOP
          INSERT INTO TEST_XXX VALUES('ABCDE',123,'ZYXWV',321);
      END LOOP;
      COMMIT;
    END;
    The original problem is, I have a huge table, and I write a sql query to process,
    When I treat him by selecting all the values in the table, it is very slow.
    But when I have treat small Coulon (say 100 rows), it works very well.
    That's how I got the approach described above in mind.

    You can use NTILE.

    See:
    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14200/functions101.htm#SQLRF00680
    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:47910227585839

  • Invert the table to the Add element to the front of the performance of Bay

    Hi all

    I read in a few places that reverse an array to add the element to the front of it will give the best performance since no new allocation of memory is necessary.

    I have 2 questions about this process:

    1. "reverse a table on requires pointers change.»

    Is that mean that a table in Labview is like a linked list? who has pointers that point to the next element.

    So when this inverse process occurs, the head of the linked list will be the last element of the array, and all links in the linked list will require a change.

    Step 1: table of moose with one extra space at the end

    Step 2: Matrix inverse

    Step 3: Add a new item at the end of the table opposite

    Step 4: Reverse again.

    2. the exercise of reverse Add then reverse is even worse in fact. Why is this?

    "Overhead" is the need for new buffer allocations, which indireclly affects runtime but also memory.

    Yes, often the paintings have an additional memory beyond the end of the table to avoid the resizing with each adding an item...

    Your FAQ quotes says nothing about any reversal trick. To do this, the elements of the array need reverse look up, then inserted using the space soft (if it exists!), then the need even to reverse ber alements in place. Seems like a lot of work to do over and over again. Yes, it might be slightly more efficient that have to be allocated to each prefix operation but we do not really know what the compiler does. Maybe if soft is available, it would be to move all the items up and insert the element first, make a new allowance that occasionally necessary. Who knows? I have the greatest respect for Darren, the author of the "source". Perhaps he can clarify what he writes.

    Benchmarking valid what is quite difficult.

    In all cases, you often know the final size, so it can be distributed in one shot and the items replaced with valid data that you will. It's always orders if magnutide more effective than any other solution.  If you need to grow an element of a table at a time, add at the end, never at the begginning.

  • 'For' loop with a different number of iterations. Second, the auto-indexation of the tables with different sizes is done. It can affect the performance of the Vi?

    Hello

    I have a loop 'for' which can take different number of iterations according to the number of measures that the user wants to do.

    Inside this loop, I'm auto-indexation four different 1 d arrays. This means that the size of the tables will be different in the different phases of the execution of the program (the size will equal the number of measures).

    My question is: the auto-indexation of the tables with different sizes will affect the performance of the program? I think it slows down my Vi...

    Thank you very much.

    My first thought is that the compiler to the LabVIEW actually removes the Matlab node because the outputs are not used.  Once you son upward, LabVIEW must then call Matlab and wait for it to run.  I know from experience, the call of Matlab to run the script is SLOW.  I also recommend to do the math in native LabVIEW.

  • Name of the dynamic property of object in the table based on the value of a variable

    I have two paintings of custom class objects

    var obj1:Object1
    var obj2:Object2
    
    var array1:Array = [obj1[0], obj1[1], ...]
    var array2:Array = [obj2[0], obj2[1], ...]
    

    Object1 has a property named. Name while Object2 has a property named. Title.

    Now I have a common function including cab accepts an array (array1 or array2) and the name of property the object ("Name" or "Title") as input and needs to access this name of the property of the objects in the array:

    function myFunction(arr:Array, fieldName:String)
    {
        arr[0].fieldName  = "xxx";
    }
    

    the problem I have this achievement does not because the code in the function assumes that the property of that object in the table is actually a string "fieldName" while I want to dynamically determine the names of the fields based on the value of this variable, but cannot understand the syntax to do!

    Don't know if I'm clear - hope that makes sense... ;-) Thank you

    Hey p3pp3r,

    I think I understood you. Try the following and see if you get good results:

    function myFunction(arr:Array, fieldName:String)
    {
        arr[0][fieldName]  = "xxx";
    }
    

    Let me know how it turns out. Good luck!

  • Hide columns in Table B, based on values LOV in another row of the table:

    Hello

    Jdev 12.2.1.0

    I have two tables A and B and I hide columns b based on the value of row of table A LOV. For example, I have a line in A table that has a column with the x, y, z values lov. Now, if I select the row in the table has and change the LOV to x, I had to hide some of the columns in the table (B) is there a way to get this feature? Any help would be appreciated.

    Thank you

    Assume:

    1 table a call "DepartmentId" column this column has LOV.

    B 2-table a column "ColumnInB" this column will be visible depending on the value of "DepartmentId".

    Try to do the following:

    1 - from data controls, drag "DepartmentId" attribute and drop it on the page as inputText then together make this inputText to false (you can remove it, but don't forget the corresponding binding in pageDef. not deleted).

    2. copy the value of the inputText which will be as "#{bindings." DepartmentId.inputValue}"and go to the"ColumnInB"column and visible property beyond the copied value.

    3 - the ColumnInB visible will be the condition as:

    4-set DepartmentId autoSubmit = 'true '.

    5-set table partialTriggers table B has id and id of DepartmentId LOV

  • How to upgrade a selection one line of the table based on values in another table when there is exactly one matching entry and negligence if there is more than a football game

    Hello

    I'm trying to achieve the following objectives:

    1. in table A, select rows based on the values in column 2. something like SELECT * FROM TABLE A WHERE (COLUMN2 = 'X' or Column2 IS NULL)

    2 and these values selected, I want to update Column3 from Table A if TableA.column1 = TableB.column1, but only if there is exactly one game. If there are multiple matches, column 3 of the table article updated.

    That's what I've tried so far.

    UPDATE TABLE_A

    SET

    TABLE_A.COLUMN3 = (SELECT COLUMN3 OF TABLE_B

    WHERE ((TABLE_B.COLUMN1 = TABLE_A.COLUMN1) AND ( TABLE_B.COLUMN1 IN (SELECT Column1 FROM TABLE_B GROUP BY COLUMN1 , HAVING COUNT (*) = 1)))

    WHERE EXISTS (SELECT * FROM TABLE_A)

    WHERE ((TABLE_A.COLUMN2 = 'X' OU TABLE_A.COLUMN2 = 'Y') AND (TABLE_A.COLUMN4 IS NULL OR TABLE_A.COLUMN4 = ' ')));

    More details on my DB environment:

    Version Info:

    Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production

    PL/SQL Release 11.2.0.4.0 - Production

    Toad, but, depending on whether the query updated all lines. I would really appreciate if someone could tell me how to fix my request.

    Thanks in advance.

    Exists it predicate in the block of update will be set to true if there is at least one row in table_a where column2 is X or Y and column4 is null or a space. You need to correlate exists it with the outer query query (I'm guessing on column1) to get the result I think you want.  However, who would update all rows in table_a who meets the criteria, there is a corresponding row in table_b, affecting Column3 lines form null not matched or not.  (Again), I'm guessing that's not your intention.  If you only want to update the lines in table_a which have a corresponding line in table_b and meet the other predicate, then I think you want something more like:

    Update table_a

    Set table_a.column3 = (select column3 of table_b

    where table_b.column1 = table_a.column1 and

    Table_B.Column1 in (select column1 from table_b

    Group by column1, having count (*) = 1))

    where ((table_a.column2 = 'X' ou))

    table_a.Column2 = 'Y') and

    (table_a.column4 is null or)

    table_a.column4 = ' ')) and

    table_a.Column1 in (select column1 from table_b

    Group by column1, having count (*) = 1)

    John

  • Created the form based on the table - created new line - how to retrieve line editing?

    Hello

    Sorry for such a stupid question, but being new in APEX, I don't know much about how the end user on a form.

    I have created a new form (not in a table), based on a table.

    I ran the form and created a new line.

    After the line was created, the form comes back ready to create another line (all the values in the fields).

    How can I go on the recovery of the line, I added just to make a few changes?

    Again, please forgive my ignorance.

    Mason

    Masong says:

    Sorry for such a stupid question, but being new in APEX, I don't know much about how the end user on a form.

    Or about how best to use this forum. Always include all the details of your environment and your application when you post a question so that we can provide a solution version - and context, case-specific: How to get the answers from the forum

    I have created a new form (not in a table), based on a table.

    I ran the form and created a new line.

    After the line was created, the form comes back ready to create another line (all the values in the fields).

    How can I go on the recovery of the line, I added just to make a few changes?

    Ensure that the attribute key back to point in the line process of... The ARP process is defined to return the value of PK of records inserted in the element of key primary page and delete any Reset Page clearly session state process created by the wizard page.

  • based on the table line oaf page filter lines

    Hello

    Right now, I have the search page where the results are displayed in the region of the table.

    In addition, I have situation where I need to filter the lines and display the results in the background region based when you click on the row of table area...

    How can I achieve this?

    Please let me know.

    Thank you

    MK

    Managed to get this working?

  • I create a form based on two tables that have sequences also. When I create insert only row is inserted in the fields in table first and second fields of the table are empty. Why?

    Mr President.

    I create a form based on two tables that have sequences also. When I create insert only row is inserted in the fields in table first and second fields of the table are empty. Why?

    formdoubletables.png

    the page source is

    <?xml version='1.0' encoding='UTF-8'?>
    <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
                    xmlns:f="http://java.sun.com/jsf/core">
      <af:panelFormLayout id="pfl1">
        <af:group id="Group">
          <af:inputText value="#{bindings.VoucherId.inputValue}" label="#{bindings.VoucherId.hints.label}"
                        required="#{bindings.VoucherId.hints.mandatory}" columns="#{bindings.VoucherId.hints.displayWidth}"
                        maximumLength="#{bindings.VoucherId.hints.precision}"
                        shortDesc="#{bindings.VoucherId.hints.tooltip}" id="it1">
            <f:validator binding="#{bindings.VoucherId.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.VoucherId.format}"/>
          </af:inputText>
          <af:inputDate value="#{bindings.VoucherDate.inputValue}" label="#{bindings.VoucherDate.hints.label}"
                        required="#{bindings.VoucherDate.hints.mandatory}"
                        columns="#{bindings.VoucherDate.hints.displayWidth}"
                        shortDesc="#{bindings.VoucherDate.hints.tooltip}" id="id1">
            <f:validator binding="#{bindings.VoucherDate.validator}"/>
            <af:convertDateTime pattern="#{bindings.VoucherDate.format}"/>
          </af:inputDate>
          <af:inputText value="#{bindings.Credit.inputValue}" label="#{bindings.Credit.hints.label}"
                        required="#{bindings.Credit.hints.mandatory}" columns="#{bindings.Credit.hints.displayWidth}"
                        maximumLength="#{bindings.Credit.hints.precision}" shortDesc="#{bindings.Credit.hints.tooltip}"
                        id="it2">
            <f:validator binding="#{bindings.Credit.validator}"/>
          </af:inputText>
        </af:group>
        <af:group id="g1">
          <af:inputText value="#{bindings.Lineitem.inputValue}" label="#{bindings.Lineitem.hints.label}"
                        required="#{bindings.Lineitem.hints.mandatory}" columns="#{bindings.Lineitem.hints.displayWidth}"
                        maximumLength="#{bindings.Lineitem.hints.precision}" shortDesc="#{bindings.Lineitem.hints.tooltip}"
                        id="it3">
            <f:validator binding="#{bindings.Lineitem.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.Lineitem.format}"/>
          </af:inputText>
          <af:inputText value="#{bindings.VoucherId1.inputValue}" label="#{bindings.VoucherId1.hints.label}"
                        required="#{bindings.VoucherId1.hints.mandatory}"
                        columns="#{bindings.VoucherId1.hints.displayWidth}"
                        maximumLength="#{bindings.VoucherId1.hints.precision}"
                        shortDesc="#{bindings.VoucherId1.hints.tooltip}" id="it4">
            <f:validator binding="#{bindings.VoucherId1.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.VoucherId1.format}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Debit.inputValue}" label="#{bindings.Debit.hints.label}"
                        required="#{bindings.Debit.hints.mandatory}" columns="#{bindings.Debit.hints.displayWidth}"
                        maximumLength="#{bindings.Debit.hints.precision}" shortDesc="#{bindings.Debit.hints.tooltip}"
                        id="it5">
            <f:validator binding="#{bindings.Debit.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Credit1.inputValue}" label="#{bindings.Credit1.hints.label}"
                        required="#{bindings.Credit1.hints.mandatory}" columns="#{bindings.Credit1.hints.displayWidth}"
                        maximumLength="#{bindings.Credit1.hints.precision}" shortDesc="#{bindings.Credit1.hints.tooltip}"
                        id="it6">
            <f:validator binding="#{bindings.Credit1.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Particulars.inputValue}" label="#{bindings.Particulars.hints.label}"
                        required="#{bindings.Particulars.hints.mandatory}"
                        columns="#{bindings.Particulars.hints.displayWidth}"
                        maximumLength="#{bindings.Particulars.hints.precision}"
                        shortDesc="#{bindings.Particulars.hints.tooltip}" id="it7">
            <f:validator binding="#{bindings.Particulars.validator}"/>
          </af:inputText>
          <af:inputText value="#{bindings.Amount.inputValue}" label="#{bindings.Amount.hints.label}"
                        required="#{bindings.Amount.hints.mandatory}" columns="#{bindings.Amount.hints.displayWidth}"
                        maximumLength="#{bindings.Amount.hints.precision}" shortDesc="#{bindings.Amount.hints.tooltip}"
                        id="it8">
            <f:validator binding="#{bindings.Amount.validator}"/>
            <af:convertNumber groupingUsed="false" pattern="#{bindings.Amount.format}"/>
          </af:inputText>
        </af:group>
        <f:facet name="footer">
          <af:button text="Submit" id="b1"/>
          <af:button actionListener="#{bindings.CreateInsert.execute}" text="CreateInsert"
                     disabled="#{!bindings.CreateInsert.enabled}" id="b2"/>     
          <af:button actionListener="#{bindings.Commit.execute}" text="Commit" disabled="#{!bindings.Commit.enabled}"
                     id="b3"/>
          <af:button actionListener="#{bindings.Rollback.execute}" text="Rollback" disabled="#{!bindings.Rollback.enabled}"
                     immediate="true" id="b4">
            <af:resetActionListener/>
          </af:button>
        </f:facet>
      </af:panelFormLayout>
    </ui:composition>
    
    
    
    

    Concerning

    Go to your VO Wizard, select the tab of the entity and to check if both the EO is editable or not.

    See you soon

    AJ

  • insert into the table based on the difference in line (or using less)

    Hello

    Oracle Version: 11g

    Operating system: Solaris 10.

    I was wondering if it is possible to insert data in a table based on the operator 'less' Please?

    We have a very large table in a database, we moved to a different database. The table is cleared by a line for a certain range of dates, and we wondered if it is possible to insert this line of data in the remote database using the difference of rank between the two tables.

    Here's the query that we are running:

    SELECT ID , TO_CHAR (creation_datetime, 'yyyy-mm-dd')
    from TABB10 
    where TO_CHAR (creation_datetime, 'yyyy-mm-dd')='2014-03-18' 
    minus 
    SELECT ID , TO_CHAR (creation_datetime, 'yyyy-mm-dd')
    from TABB10@TABB_LINK.APDB00 
    where TO_CHAR (creation_datetime, 'yyyy-mm-dd')='2014-03-18'
    

    TO_CHAR (CR ID

    ---------------------- ----------

    2.4111E + 17-18 / 03 / 2014

    Any ideas please?

    Thank you

    If I don't get me wrong, you can insert as below

    INSERT INTO REMOTE_TABLE@DBLINK

    SELECT ID, TO_CHAR (creation_datetime, "yyyy-mm-dd")

    of TABB10

    where TO_CHAR (creation_datetime, 'yyyy-mm-dd') ='' 2014-03-18

    less

    SELECT ID, TO_CHAR (creation_datetime, "yyyy-mm-dd")

    of TABB10@TABB_LINK. APDB00

    where TO_CHAR (creation_datetime, 'yyyy-mm-dd') ='' 2014-03-18

    Concerning

  • Title of the report based on the value of the Table column

    Hello

    We use OBIEE 10 g.

    We have a Table and a chart based on the table in a report.

    Assume that the table has two columns, ID and NAME

    can we refer dynamically the value of the column NAME in the title of the report?
    for example
    the table has

    ID | NAME
    -------------
    123 | GS

    now, we would like the title to appear as

    Report for the GS

    where GS is dynamic

    Use the narrative mode and refer to the column that you want to display using @2 and place it instead of view title.

    Thank you
    Isabelle Renon

    Published by: Rajesh Raoul - BI on May 2, 2013 05:59

Maybe you are looking for

  • Cannot connect to iTunes Store 6 March 2016

    Cannot connect to iTunes Store as of March 6, 2016. Any suggestions?

  • Replacement of the hard disk for Equium A60-155

    I need to replace the hard drive in my equium A60-155. I need to know what is compatible with this model and if the brand of the drive is important in compatibility. For example should be a drive hard toshiba or is it possible to others. Any help wou

  • Y570 TouchPad

    Hello, I have a problem with the touchpad and I'm really nervous. I brought my Lenovo Y570 about 2 months ago. My touchpad is sort of glitch, when I move sometimes it frozes and also scrolling down is glitchy too. I need help on whats happening as so

  • HP Officejet 7612: Officejet 7612 cannot print pdf

    I just installed my 7612 and it print all types of documents with the exception of the PDF. I tried the suggestion mentioned on the Web site (goto print the PDF-> advance-> 'Print as image'. Unfortunately it does not work at all. When I click on prin

  • Photosmart 7520: Special screwdriver to HP Photosmart 7520 service?

    Printer indicates constant off-message paper due to one of the gear wheels of the paper tree feeding mechanism is loose. Trying to replace/repair the part but I am unable to remove the device because of the screw in place. What type of screwdriver is