Complex Views

I'm trying to figure out how to build a complex view. Right now I have a textfield and button that are tied to a search function. I have a SearchController class that is tied to a SearchView.xib. The textfield and search button are for specific keyword searching
I want to add a table view to this search view for canned searches by category. Should I create another controller just for this sub-part to the view or should I just implement the methods for a UITableViewController within the Search Controller?

I understand that a UITableViewController is just a dummy interface. That's not exactly what I'm getting at...
I do have my controllers separated into a SearchController and a ResultsController with different xib view files associated with each of them. What I'm struggling with is trying to add a UITableView to the search view which is owned by SearchController which is a UIViewController.
It seems like it would be a bad idea to have two controllers, one referencing the larger part of a view and a subpart of that view being controlled by a second controller, so I'm trying to add a UITableView as a member variable of the SearchController and making the SearchController a UITableViewDelegate. I just want to make sure I'm approaching this problem with the best practices. Apple has provided some great examples about Table Views themselves, and other views, but there is no example out there that has multiple types of views in one given view.

Similar Messages

  • How to update or delete records in a Complex View in Forms?

    Hi,
    I have a requirement to create a Form by using Complex View. Insertion is possible but updation and deletion is not working properly . I got FRM-40501 Error. I need How to update or delete records in a Complex View in Forms?
    Thanks & Regards,
    Hari Babu

    Depending on how complex your view is, forms is not able to determine how to appropiately lock a record, when you try to update or delete a record.
    One approach to using complex views in forms:
    1. Set the Key-mode of the block to "Non-Updateable"
    2. Mark the column which can be used to build the WHERE-condition to uniquely identify a record with "Primary Key" = "Yes"
    3. For doing INSERT, UPDATE and DELETE, create an INSTEAD-OF-trigger on the view.
    4. Create your own ON-LOCK-trigger in forms which does the locking of the records to update.

  • Updates to a complex view

    SQL Developer version 3.0.04 on XP Pro
    We are able to use the data grid to update the values of views that are inherently updatable, no problem.
    We have a complex view with an associated instead-of-update trigger. We are able to update this complex view using an UPDATE statement, no problem.
    We would like to be able to update the complex view using the data grid (just in case I am mixing up the terminology, by "data grid" I mean the interface you get when you select the view from the navigation pane and then click the "Data" tab), but the fields are read only.
    Is there a configuration option that we can use to enable this? Or, some sort of workaround? Or, are we simply not able to update complex views using the data grid?
    Thanks!
    -Tom

    i think u need to change ur application structurei don't think so. Create an INSTEAD-OF-trigger on your view and manage the splitting there. In forms, you wil have to set the property "Primary Key" for the pk-item's to "Yes" and eventually you have to create an ON-LOCK-trigger

  • Complex view in forms 6i

    i have create a complex view
    and i want to use this view in oracle form developer 6i
    when i try to insert a new record in the view i have this error message frm-40602
    in the database i have wire the instead of trigger
    so how can i use the form to insert anew record in this view

    not all columns can be updated by a view. Those columns, which are not allowed have to be set to "Query Only". try this property

  • Why we cannot perform DML operations against complex views directly.

    hi
    can any tell me why we cannot perform DML operations against complex views directly.

    Hi,
    It is not easy to perform DML operations on complex views which involve more than one table as said by vissu. The reason being you may not know which columns to be updated/inserted/deleted on the base tables of the views. If it is a simple view containing a single table it is as simple as performing actions on the table.
    For further details visit this
    http://www.orafaq.com/wiki/View
    cheers
    VT

  • Complex views can be updatable?

    I am having one complex view i need to update at run time for that view dipendent table. how can It possible

    from the free, online SQLmanual, the CREATE VIEW chapter, Notes on Creating Updatable Views
    An updatable view is one you can use to insert, update, or delete base table rows. You can create a view to be inherently updatable, or you can create an INSTEAD OF trigger on any view to make it updatable.
    To learn whether and in what ways the columns of an inherently updatable view can be modified, query the USER_UPDATABLE_COLUMNS data dictionary view. (The information displayed by this view is meaningful only for inherently updatable views.)
    If you want the view to be inherently updatable, it must not contain any of the following constructs:
    A set operator
    A DISTINCT operator
    An aggregate or analytic function
    A GROUP BY, ORDER BY, CONNECT BY, or START WITH clause
    A collection expression in a SELECT list
    A subquery in a SELECT list
    Joins (with some exceptions as described in the paragraphs that follow).
    In addition, if an inherently updatable view contains pseudocolumns or expressions, you cannot update base table rows with an UPDATE statement that refers to any of these pseudocolumns or expressions.
    If you want a join view to be updatable, all of the following conditions must be true:
    The DML statement must affect only one table underlying the join.
    For an INSERT statement, the view must not be created WITH CHECK OPTION, and all columns into which values are inserted must come from a key-preserved table. A key-preserved table in one for which every primary key or unique key value in the base table is also unique in the join view.
    For an UPDATE statement, all columns updated must be extracted from a key-preserved table. If the view was created WITH CHECK OPTION, join columns and columns taken from tables that are referenced more than once in the view must be shielded from UPDATE.
    For a DELETE statement, if the join results in more than one key-preserved table, then Oracle deletes from the first table named in the FROM clause, whether or not the view was created WITH CHECK OPTION.

  • Regarding  Complex View

    I have a complex view in which all not null columns selected in view query for the both table,
    No group function,pseudo column,distinct,group by clause,no columns defeined by expression,
    Whether we can do DML operation for this above criteia?

    From the document
    Updates of Object Views
    You can update, insert, and delete the data in an object view using the same SQL DML you use for object tables. Oracle updates the base tables of the object view if there is no ambiguity.
    A view is not updatable if its view query contains joins, set operators, aggregate functions, GROUP BY, or DISTINCT. If a view query contains pseudocolumns or expressions, the corresponding view columns are not updatable. Object views often involve joins.
    To overcome these obstacles Oracle provides INSTEAD OF triggers. They are called INSTEAD OF triggers because Oracle runs the trigger body instead of the actual DML statement.
    INSTEAD OF triggers provide a transparent way to update object views or relational views. You write the same SQL DML (INSERT, DELETE, and UPDATE) statements as for an object table. Oracle invokes the appropriate trigger instead of the SQL statement, and the actions specified in the trigger body take place.

  • How to insert new record or update existing record using a complex view?

    Currently I created this screen, there is no problems on display data, only on the update funtionality (it means insert / update / delete on the table for which the view is based on).
    I have a table and a complex view in order to display the information from the table in a tabellar form (i.e up to 70 record in same "record" in the form, one for each item)
    The view is like this
    select a.f1, a.f2, get_value(a.pk1,1) a1, get_value(a.pk1,2) a2, get_value(a.pk1,3) a3............
    from my_table a
    where a.proj_id = user
    and I want to permit the update of the field a1, a2, a3 in a multiposition canvas (tabellar).
    I created an INSTEAD-OF trigger.
    But it not work only in the form. I receive the error FRM-40654 when I try to change the existing value in the running form based on that view.
    The view is woking and updatable using sql-plus.
    If I query
    select * from ALL_UPDATABLE_COLUMNS where table_name = 'SPV_BOQ_BOM_POS_ACTIVITIES';
    in which 'SPV_BOQ_BOM_POS_ACTIVITIES' is the name of my view.
    The question is: why if the view is updatable using SQL*Plus, is not updatable using Oracle Form 10gR2 ?
    Someone could help me asap?
    Thanks

    I removed on the datablock three items that are not showed, one of this is the Sysdate of update on the table for which the view is based.
    I removed also the on-lock trigger and the update from the form is NOT working fine.
    But for now I can still mantaing the ON-LOCK trigger.
    Is not a priority to remove this trigger.
    I still have the problem when the field is null, it mean that in the table SP_BOQ_BOM_POS_ACTIVITIES the record not exist.
    I try now to explayn better.
    SPV_BOQ_BOM_POS_ACTIVITIES is the name of the view.
    SP_BOQ_BOM_POS_ACTIVITIES is the name of the table.
    This are the desc
    desc SPV_BOQ_BOM_POS_ACTIVITIES
    Describing SPV_BOQ_BOM_POS_ACTIVITIES....
    NAME Null? Type
    BOQ_HEADER_ID NOT NULL NUMBER(12,0)
    BB_ID NOT NULL NUMBER(12,0)
    BOQ_ID NOT NULL NUMBER(12,0)
    PROJ_ID NOT NULL VARCHAR2(10)
    ACT_GROUP_CODE VARCHAR2(30)
    TOTAL_QTY NUMBER
    ACT_CODE_1 VARCHAR2(4000)
    QTY_1 NUMBER
    ACT_CODE_2 VARCHAR2(4000)
    QTY_2 NUMBER
    ACT_CODE_3 VARCHAR2(4000)
    QTY_3 NUMBER
    ACT_CODE_4 VARCHAR2(4000)
    QTY_4 NUMBER
    ACT_CODE_5 VARCHAR2(4000)
    QTY_5 NUMBER
    ACT_CODE_6 VARCHAR2(4000)
    QTY_6 NUMBER
    USR_ID NOT NULL VARCHAR2(10)
    LMOD NOT NULL DATE
    INT_REV NOT NULL NUMBER(6,0)
    The field QTY_1, QTY_2.... QTY_6 are calculated with a customer stored function from the table SP_BOQ_BOM_POS_ACTIVITIES.
    Also the field ACT_CODE_1, ACT_CODE_2, .... ACT_CODE_6 are calculated with a customer stored function from the table SP_BOQ_BOM_POS_ACTIVITIES.
    desc SP_BOQ_BOM_POS_ACTIVITIES
    Describing SP_BOQ_BOM_POS_ACTIVITIES....
    NAME Null? Type
    BBPA_ID NOT NULL NUMBER(12,0)
    BOQ_HEADER_ID NOT NULL NUMBER(12,0)
    BB_ID NOT NULL NUMBER(12,0)
    BOQ_ID NOT NULL NUMBER(12,0)
    PROJ_ID NOT NULL VARCHAR2(10)
    ACT_GROUP_CODE NOT NULL VARCHAR2(30)
    ACT_CODE NOT NULL VARCHAR2(30)
    QTY NUMBER(12,0)
    FLG_MANUAL_CHANGE VARCHAR2(1)
    USR_ID NOT NULL VARCHAR2(10)
    LMOD NOT NULL DATE
    INT_REV NOT NULL NUMBER(6,0)
    If I use SQL Navigator this insert working fine
    insert into SPV_BOQ_BOM_POS_ACTIVITIES
    (BOQ_HEADER_ID, BB_ID, BOQ_ID, PROJ_ID, ACT_GROUP_CODE, ACT_CODE_1, QTY_1)
    values (5050, 5015, 30486, 'B39368', 'TEST', '0101010101010101', 1709)
    1 row(s) inserted
    Instead using the Screen, at runtime, I receive the message:
    FRM-40400 Transation Complete: 1 records applied and saved
    but nothing is saved in the table SP_BOQ_BOM_POS_ACTIVITIES, and the view SPV_BOQ_BOM_POS_ACTIVITIES contain the calculated QTY_1 for the 'key', with null value.
    Moreover If in the field QTY_1 (NUMBER) I put a character, instead a Number, just to see if the Screen attempts or not an UPDATE or AN INSERT, the message is FRM-40509: Oracle Error. UNABLE TO UPDATE RECORD. Why happen an Update and not an INSERT using the Screen?
    In effect, the trial using SQL navigator of the following statement
    insert into SPV_BOQ_BOM_POS_ACTIVITIES
    (BOQ_HEADER_ID, BB_ID, BOQ_ID, PROJ_ID, ACT_GROUP_CODE, ACT_CODE_1, QTY_1)
    values (5050, 5015, 30486, 'B39368', 'TEST', '0101010101010101', 'r');
    I got Invalid Number and it's ok as answer from the database.
    Edited by: fmariani on 30-apr-2009 1.51

  • Complex view update

    Dear All
    Pls guide me how to update a complex View
    Thanks for reading this post
    *009*

    Hi again,
    You probably need to write an [Instead-of-Trigger|http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_7004.htm#i2064426]
    Regards
    Peter

  • Creating a complex view

    I Need to create a complex (at least for me !!)view can some body throw some ideas
    I have two tables
    TABLE-1
    NAME     SYSTEM          DT
    AAA     GRADE-A          DATE
    AAA     GRADE-B          DATE
    BBB     GRADE-A          DATE
    BBB     GRADE-B          DATE
    CCC     GRADE-B          DATE
    TABLE-2
    NAME     SYSTEM          DT
    DDD     GRADE-C          DATE
    AAA     GRADE-C          DATE
    BBB     GRADE-C          DATE
    CCC     GRADE-C          DATE
    Now I need to create a view with following details.
    PV_MYVIEW
    CLASS          DT
    CLASS-A          DATE-A
    CLASS-B          DATE-B
    Where as date DATE-A should be oldest date (least) from following
    Table-1.date where name=AAA And SYSTEM=GRADE-A
    Table-1.date where name=AAA And     SYSTEM=     GRADE-B
    Table-1.date where name=BBB And     SYSTEM=     GRADE-A
    Table-1.date where name=BBB And     SYSTEM=     GRADE-B
    Table-1.date where name=CCC And     SYSTEM=     GRADE-B
    Table-2.date where name=DDD And     SYSTEM=     GRADE-C
    Table-2.date where name=AAA And     SYSTEM=     GRADE-C
    Table-2.date where name=BBB And     SYSTEM=     GRADE-C
    Table-2.date where name=CCC And     SYSTEM=     GRADE-C
    Where as DATE-B should be oldest date (least) from following
    Table-1.date where name=AAA And     SYSTEM=     GRADE-A
    Table-1.date where name=AAA And     SYSTEM=     GRADE-B
    Table-1.date where name=BBB And     SYSTEM=     GRADE-A
    Table-1.date where name=BBB And     SYSTEM=     GRADE-B
    Table-2.date where name=AAA And     SYSTEM=     GRADE-C
    Table-2.date where name=BBB And     SYSTEM=     GRADE-C
    As a solution for this, I Am thinking of first creating a intermediate view which comsist
    Class, Name and Date and then from this view creating PV_MYVIEW..
    Am i in right direction?
    THanks in advnce for your time

    creating an intermediate view is the worst thing to do!
    try this
    select
    'CLASS-A' class, min(dt) DT
    from
    select DT from TABLE1
    where (name='AAA' And SYSTEM='GRADE-A')
    or (name='AAA' And SYSTEM='GRADE-B')
    or (name='BBB' And SYSTEM='GRADE-A')
    or (name='BBB' And SYSTEM='GRADE-B')
    or (name='CCC' And SYSTEM='GRADE-B')
    union all
    select DT from TABLE2
    where (name='AAA' And SYSTEM='GRADE-C')
    or (name='BBB' And SYSTEM='GRADE-C')
    or (name='CCC' And SYSTEM='GRADE-C')
    or (name='DDD' And SYSTEM='GRADE-C')
    union all
    select
    'CLASS-B', min(dt)
    from
    select DT from TABLE1
    where (name='AAA' And SYSTEM='GRADE-A')
    or (name='AAA' And SYSTEM='GRADE-B')
    or (name='BBB' And SYSTEM='GRADE-A')
    or (name='BBB' And SYSTEM='GRADE-B')
    union all
    select DT from TABLE2
    where (name='AAA' And SYSTEM='GRADE-C')
    or (name='BBB' And SYSTEM='GRADE-C')
    You can for sure remove some duplicate clause and you should verify that the specifications are accurate
    REgards
    Laurent

  • Complex View State handling

    Hi,
    I am trying to solve the following problem in Flex3:
    I have layout with 4 quadrants ["Ch" for Child component
    class]:
    Ch1 Ch2
    Ch3 Ch4
    If I click a button in ch4 [i.e. state ch4a], it is supposed
    to expand and cover Ch2, i.e.
    Ch1
    Ch4a
    Ch3
    Class Parent1 [inside Accordion]:
    VBox
    HBox1
    <view:Ch1 width="60%" />
    <view:Ch2 width="40%" />
    /HBox1
    HBox2
    <view:Ch3 width="60%" />
    <view:Ch4/>
    /HBox2
    /VBox
    So in class Ch4 I created a view stateA which is based on
    BaseState.
    A) What makes more sense, fire event in class Ch4 on that
    button click,
    capture it in Parent1 and somehow [how?] change a layout so
    that Ch2 is not there
    but twice higher Ch4a is instead of it and no second part in
    HBox2 ?
    I would guess, ActionScript instead of MXML or is there a way
    to express that in MXML?
    Or how should that ActionScript look like ?
    B) The other [easier] possibility is to get a handle to
    Parent1 [parent container]
    from the viewstateA of Ch4 and do something like:
    <SetProperty target={this.parent} name="y" value="0">
    Is it feasible? So far that didn't work for me. Any
    suggestions?
    Few other details:
    1) it's all in Cairngorm AIR app;
    2) that button in Ch4 is on one side a toggle button between
    view states,
    on the other side processing is completely different, but I
    can handle that through calling
    2 different private functions. I am saying only in one
    state[BaseState] that event should be fired.
    3) Background: Ch1 and Ch3 have lots of dropdowns, and what
    user selected would be displayed
    in Ch4A [that top portion], so user "Signs" that info, that's
    a point of the whole screen.
    Is there easy way to pass these selections to Ch4 ?
    As of now, it's all buried deep inside some complex obscure
    VOs .
    Any help is very appreciated.
    Thank you in advance,
    Oleg.

    The robot method is quite slow, and it can only capture images that are actually on the screen in the foreground. In any case, I stumbled on this article: [Performance Improvement Techniques for JavaFX Applications|http://javafx.com/docs/articles/performance/] that mentions the 'cache' member variable of a Node/Group can be used to tell the system to convert the Node to a bitmap (internally) for performance improvement. I haven't done any testing of my own, but it's an easy addition if you have a performance sensitive app.

  • Complex View navigation

    Hi Guys
    I've got a setup as follows:
    .........................mainview
    ...................... _____|______
    ...................... |...................|
    ....................view1.............view2
    ......... ________|________
    .........|.............|.............|
    defaultViewS viewS2 viewS3
    So Say I want to change from view2 to view1 all I would have to do is:
    ActionScript Code:
    <s:Button label="Change to default view state"
                click="currentState='view1';"/>
    and it would open view1 with the default view (defaultViewS)
    So the question is: How would I specify that instead of view opening to it's default state, how would I open it to it's non-default state(ie viewS2 or viewS3)
    Thanks

    Hi
    Thanks for your help! but it's not quite what I need. I'm using quite a complex method to navigate about my app and I attempted to simplify it to make it easier to explain.
    I'll explain my basic requirement and then I'll post my project compostion so you can see what I'm talking about.
    Basically I have a tabbar which contains 6 viewstates. Those 6 viewstates and not simple views but themselves contain multiple views.
    So if you click on tab button no 2 it will open tabButtonTwoView. tabButtonTwoView 3 views inside itself, when tabButtonTwoView is opened it opens to the default view. If you navigate away from tabButtonTwoView and return to it then you will see whichever view you were last looking at(it not neccesarily the default view)
    So basically what I would like is that say you are on tabButtonOneView and you have a button there, then clicking that button would open tabButtonTwoView and then the view that has been specified, not the view that it opens by default or the view that you had open last.
    Ok so that's the basic explanation. now I'll give you a breakdown of my project since it's a little bit more complex than that. I''ve also attached the project for you to have a look at.
    you can download it here ( -- code removed -- )
    So basically I'm using a MVCS methodology here along with robotlegs.
    here's the basic way the nav works.
    my main view contains these components:
    <view:HeaderView id="header"
    width="100%"
    />
    <view:MainTabBar id="someTabBar" />
    <view:ContentView id="content"/>
    <view:FooterView id="footer"
    width="100%"
    />
    Tab Bar controls the main navigation of content using a mediator class:
    package za.co.vw.projectname.view
    import mx.collections.ArrayCollection;
    import mx.events.StateChangeEvent;
    import org.robotlegs.mvcs.Mediator;
    import spark.events.IndexChangeEvent;
    import za.co.vw.projectname.event.NavigationEvent;
    public class MainTabBarMediator extends Mediator
    public function get view():MainTabBar
    return viewComponent as MainTabBar;
    override public function onRegister():void
    eventMap.mapListener(view, IndexChangeEvent.CHANGE, onSelectedIndexChange);
    eventMap.mapListener(eventDispatcher, StateChangeEvent.CURRENT_STATE_CHANGE, onStateChange);
    view.dataProvider = new ArrayCollection([{label:'About', name:'about'}, {label:'Apply', name:'apply'}, {label:'Date', name:'date'}, {label:'Watch', name:'watch'}, {label:'GTI', name:'gti'}]);
    private function onSelectedIndexChange(event:IndexChangeEvent):void
    if(!view.selectedItem)
    return;
    var navTo:String;
    trace(view)
    trace(view.selectedItem)
    trace(view.selectedItem.label)
    switch(view.selectedItem.label)
    case "About":
    navTo = NavigationEvent.ABOUT;
    break;
    case "Apply":
    navTo = NavigationEvent.APPLY;
    break;
    case "Date":
    navTo = NavigationEvent.DATE;
    break;
    case "Watch":
    navTo = NavigationEvent.WATCH;
    break;
    case "GTI":
    navTo = NavigationEvent.GTI;
    break;
    case "Home":
    navTo = NavigationEvent.HOME;
    break;
    dispatch(new NavigationEvent(NavigationEvent.VIEW_CHANGE, navTo));
    private function onStateChange(event:StateChangeEvent):void
    var s:String = event.newState.slice(0, event.newState.indexOf("State"));
    var tabItem:Object = getTabItemByName(s);
    if(s == "home")
    trace("going home");
    view.selectedIndex = -1;
    } else if(view.dataProvider.getItemIndex(tabItem) != view.selectedIndex)
    trace("not going home, changing to "+s);
    view.selectedItem = tabItem;
    private function getTabItemByName(name:String):Object
    for each(var obj:Object in view.dataProvider)
    if(obj.name == name)
    return obj;
    return null;
    which talks to and event class called NavigationEvent:
    package za.co.vw.projectname.event
    import flash.events.Event;
    public class NavigationEvent extends Event
    public static const VIEW_CHANGE:String = "viewChange";
    public static const ABOUT:String = "about";
    public static const APPLY:String = "apply";
    public static const DATE:String = "date";
    public static const WATCH:String = "watch";
    public static const GTI:String = "gti";
    public static const HOME:String = "home";
    public var targetViewId:String;
    public function NavigationEvent(type:String, targetViewId:String="", bubbles:Boolean=false, cancelable:Boolean=false)
    super(type, bubbles, cancelable);
    this.targetViewId = targetViewId;
    most of my other components have mediators which dispatch navigation events, all of this being registered and and executed by the robotlegs frame works. The connections to the classes and their mediators are made in the ViewPrepCommand class:
    package za.co.vw.projectname.controller
    import org.robotlegs.mvcs.Command;
    import spark.components.TabBar;
    import za.co.vw.projectname.view.AboutView;
    import za.co.vw.projectname.view.AboutViewMediator;
    import za.co.vw.projectname.view.ContentView;
    import za.co.vw.projectname.view.ContentViewMediator;
    import za.co.vw.projectname.view.DateView;
    import za.co.vw.projectname.view.DateViewMediator;
    import za.co.vw.projectname.view.HeaderView;
    import za.co.vw.projectname.view.HeaderViewMediator;
    import za.co.vw.projectname.view.MainTabBar;
    import za.co.vw.projectname.view.MainTabBarMediator;
    import za.co.vw.projectname.view.MainView;
    import za.co.vw.projectname.view.MainViewMediator;
    public class ViewPrepCommand extends Command
    override public function execute():void
    mediatorMap.mapView(HeaderView, HeaderViewMediator);
    mediatorMap.mapView(ContentView, ContentViewMediator);
    mediatorMap.mapView(MainView, MainViewMediator);
    mediatorMap.mapView(DateView, DateViewMediator);
    mediatorMap.mapView(AboutView, AboutViewMediator);
    mediatorMap.mapView(MainTabBar, MainTabBarMediator);

  • Interactive report based on complex view

    firefox 24 , apex 4.0 , db11gxe ,
    hi all,
    i created an interactive report with this code :
      select c.client_id , c.client_name , c.age , c.email , c.phone ,
    p.payment_date , sum(p.amount) "summary"
    from clients c , payments p
    where c.client_id = p.client_id
    group by c.client_id , c.client_name , c.age , c.email , c.phone ,
    p.payment_date;
    but the problem was i could not delete any of the rows of the report , because there was no checkbox existed , so i created one with "apex_application.checkbox" , and i have got it now , but
    i still can not delete any rows ,
    i created a button to submit the page , and a process with this code
    FOR i in 1..APEX_APPLICATION.G_F01.count
    LOOP
       DELETE FROM cp
       WHERE client_id = APEX_APPLICATION.G_F01(i);
    END LOOP;
    and sure nothing was deleted , and i am facing this error
    ORA-01732: data manipulation operation not legal on this view

    What is the object "CP" ?
    It sounds like it is a view. If it's the same you've used for the IR, then check out "key preserved views"
    Oracle doc - http://docs.oracle.com/cd/B28359_01/server.111/b28310/views001.htm#ADMIN11784
    Tom Kyte - http://asktom.oracle.com/pls/asktom/f?p=100:11:6474092145067::::P11_QUESTION_ID:548422757486
    There could be another issue once you address the error - depending on how you've defined apex_application.checkbox2 (the other is deprecated)
    You may not be associating the correct value in g_f01

  • Ora-01401 error on a complex view

    I'm getting a ora-01401 error on a view of the following structure.
    SQL> desc vu_mat_product_msds_ingred;
    Name Null? Type
    MSDS_COMMENTS VARCHAR2(500)
    MAT_PROD_MSDS_SOURCE VARCHAR2(30)
    MISSING_INGRED_IND CHAR(1)
    FLASH_POINT_COMMENTS VARCHAR2(100)
    MSDS_ENTER_BY_ID NUMBER
    CURRENT_AS_OF_DT DATE
    MFG_REVISION_DT DATE
    GROUP_ID NUMBER
    CALC_VAPOR_PRESSURE NUMBER
    CALC_VAPOR_PRESSURE_UOM VARCHAR2(5)
    CALC_VAPOR_TEMPERATURE NUMBER
    CALC_VAPOR_TEMPERATURE_UOM CHAR(1)
    MAT_PROD_SPECIFIC_GRAVITY VARCHAR2(15)
    CALC_SPECIFIC_GRAVITY NUMBER(6,4)
    MAT_PROD_PROD_ID NOT NULL NUMBER
    MAT_PROD_MFG_ID NOT NULL NUMBER
    CLASS_ID NUMBER
    CHEM_INV_IND CHAR(1)
    SLED_EXEMPT_IND CHAR(1)
    ACTIVE_IND CHAR(1)
    WAIVER_REQD_IND CHAR(1)
    ITEM_NAME VARCHAR2(60)
    TRADE_NAME VARCHAR2(60)
    HAZARD_CD CHAR(1)
    FLASH_PT_IND CHAR(1)
    FLASH_PT NUMBER
    FLASH_PT_CMP CHAR(1)
    FLASH_PT_SCALE_CD CHAR(1)
    FLASH_PT_METHOD VARCHAR2(6)
    VOC_QTY_GL NUMBER
    VOC_QTY_PG NUMBER
    VOC_QTY_OZ NUMBER
    DISPOSAL_CD CHAR(1)
    PRODUCT_STATE_CD CHAR(1)
    TEMPERATURE_CD CHAR(1)
    CTS_CD CHAR(1)
    MAT_PROD_PPE_CD CHAR(1)
    EXEMPTION_CD CHAR(1)
    PCT_VOLAT_VOL NUMBER
    PCT_VOLAT_WGT NUMBER
    VAPOR_PRESSURE NUMBER
    VAPOR_PRESSURE_UOM VARCHAR2(5)
    VAPOR_TEMPERATURE NUMBER
    VAPOR_TEMPERATURE_UOM CHAR(1)
    VOC_COMMENTS VARCHAR2(250)
    VOLATILE_LBS_GAL NUMBER
    ARC1 VARCHAR2(2)
    ARC2 VARCHAR2(2)
    ARC3 VARCHAR2(2)
    ARC4 VARCHAR2(2)
    PURE_IND CHAR(1)
    SITE_USAGE_IND CHAR(1)
    PROPRIETARY_IND CHAR(1)
    MSDS_PREP_DT DATE
    MSDS_ENTER_DT DATE
    HMOTW_ID NUMBER
    ITEM_PRICE NUMBER(9,2)
    RESTR_PRODUCT_IND CHAR(1)
    CONTAINER_ID NOT NULL NUMBER
    MAT_PROD_CONT_PROD_ID NOT NULL NUMBER
    UPC_CD VARCHAR2(15)
    SKU_NR VARCHAR2(60)
    NSN VARCHAR2(15)
    KIT_PART_CD VARCHAR2(2)
    MFG_PART_NR VARCHAR2(60)
    CONTAINER_SIZE NUMBER(10,4)
    CONTAINER_SIZE_UOM VARCHAR2(3)
    CNTAIN_KGRAMS_QTY NUMBER
    MFGKIT_IND CHAR(1)
    SEPARATE_IND CHAR(1)
    TYP_CNTAIN_CD VARCHAR2(2)
    CNTAIN_PRES_CD CHAR(1)
    PROD_ST_CD CHAR(1)
    PRODUCT_NR NOT NULL NUMBER(7)
    PRODUCT_UI VARCHAR2(2)
    MAT_PROD_MFG_MFG_ID NOT NULL NUMBER
    CAGE NOT NULL VARCHAR2(5)
    MFG_UPC VARCHAR2(7)
    MFG_NAME NOT NULL VARCHAR2(50)
    MFG_ADDR1 VARCHAR2(100)
    MFG_ADDR2 VARCHAR2(100)
    MFG_CITY VARCHAR2(100)
    MFG_STATE_PROVINCE VARCHAR2(60)
    MFG_POSTAL_CD VARCHAR2(30)
    MFG_COUNTRY VARCHAR2(40)
    MFG_EMRG_PHONE VARCHAR2(40)
    MFG_INFO_PHONE VARCHAR2(40)
    WEB_SITE_URL VARCHAR2(500)
    PROP_SHIP_NM_ID NUMBER
    MAT_PROD_MSDS_PPE_CD CHAR(1)
    MSDS_ID NOT NULL NUMBER
    MAT_PROD_MSDS_PROD_ID NOT NULL NUMBER
    MAT_PROD_MSDS_MSDS_SOURCE VARCHAR2(30)
    PUBLICATION_CD CHAR(1)
    HEALTH_CD CHAR(1)
    CONTACT_CD CHAR(1)
    FIRE_CD CHAR(1)
    REACT_CD CHAR(1)
    PROT_EYE CHAR(1)
    PROT_SKIN CHAR(1)
    PROT_RESP CHAR(1)
    FOCAL_PT_CD VARCHAR2(2)
    SUPPLY_IM VARCHAR2(3)
    MSDS_PREPR_NAME VARCHAR2(50)
    PREP_COMPANY VARCHAR2(40)
    PREP_ADD1 VARCHAR2(100)
    PREP_ADD2 VARCHAR2(100)
    PREP_CITY VARCHAR2(100)
    PREP_STATE_PROVINCE VARCHAR2(60)
    PREP_POSTAL_CD VARCHAR2(30)
    MSDS_SHIP_NAME VARCHAR2(600)
    MSDS_PKG_GRP VARCHAR2(3)
    MSDS_UN_NA VARCHAR2(2)
    MSDS_UN_NA_NR VARCHAR2(5)
    MSDS_UN_NA_PAGE VARCHAR2(5)
    SPEC_NR VARCHAR2(20)
    SPEC_TYP_GR_CLS VARCHAR2(20)
    HAZ_STOR_COMP_CD VARCHAR2(5)
    HAZ_CATEGORY_1 VARCHAR2(10)
    HAZ_CATEGORY_2 VARCHAR2(10)
    NRC_LIC_NR VARCHAR2(15)
    NET_PROP_WGT_AMMO VARCHAR2(7)
    APPEAR_ODOR VARCHAR2(80)
    BOIL_PT VARCHAR2(11)
    MELT_PT VARCHAR2(11)
    VPR_PRESSURE VARCHAR2(30)
    VPR_DENSITY VARCHAR2(30)
    ONETOONE_ID NUMBER(1)
    VPR_TEMP VARCHAR2(30)
    MAT_PROD_MSDS_SPECIFIC_GRAVITY VARCHAR2(15)
    DECOMP_TEMP VARCHAR2(11)
    EVAP_RATE VARCHAR2(25)
    SOLUB_WATER VARCHAR2(20)
    CHEM_PH VARCHAR2(11)
    CORROSION_RATE VARCHAR2(8)
    FLASH_POINT VARCHAR2(20)
    LOW_EXPL_LTD VARCHAR2(12)
    UP_EXPL_LTD VARCHAR2(12)
    EXTINGUISH_MEDIA VARCHAR2(500)
    SP_FIRE_FGT_PROCD VARCHAR2(800)
    UN_FIRE_EXPL_HAZ VARCHAR2(500)
    STABILITY VARCHAR2(3)
    COND_AVOID_STAB VARCHAR2(120)
    MAT_AVOID VARCHAR2(500)
    HAZ_DECOMP_PROD VARCHAR2(500)
    HAZ_POLY_OCCUR VARCHAR2(3)
    COND_AVOID_POLY VARCHAR2(120)
    LD50_LC50_MIX VARCHAR2(40)
    ROUTE_ENTRY_INHALE VARCHAR2(3)
    ROUTE_ENTRY_SKIN VARCHAR2(3)
    ROUTE_ENTRY_INGEST VARCHAR2(3)
    HLTH_HAZ_ACUTE_CRON VARCHAR2(500)
    CARCIN_NTP VARCHAR2(10)
    CARCIN_IARC VARCHAR2(10)
    CARCIN_OSHA VARCHAR2(10)
    STORAGE_TYPE VARCHAR2(10)
    EXPL_CARCIN VARCHAR2(500)
    SIGN_SYMPT_OVREXPOS VARCHAR2(600)
    MED_COND_AGGR_EXPOS VARCHAR2(500)
    EMRG_1ST_AID_PROCD VARCHAR2(600)
    STEP_MAT_REL_SPILL VARCHAR2(500)
    NEUTRAL_AGENT VARCHAR2(80)
    WAST_DISP_METHOD VARCHAR2(600)
    HAND_STOR_PRECAUT VARCHAR2(600)
    OTHER_PRECAUT VARCHAR2(500)
    RESP_PROT VARCHAR2(350)
    VENTILATION VARCHAR2(120)
    PROT_GLOVE VARCHAR2(120)
    EYE_PROT VARCHAR2(120)
    OTHER_PROT_EQUIP VARCHAR2(500)
    WORK_HYG_PRACT VARCHAR2(500)
    SUPP_SAFE_HLTH_DATA VARCHAR2(500)
    SPEC_HAZ_AND_PREC VARCHAR2(650)
    CHRONIC_CD CHAR(1)
    CARCINOGEN_CD CHAR(1)
    ACUTE_CD CHAR(1)
    REPRO_TOXIN_IND CHAR(1)
    ROUTE_ENTRY_EYES VARCHAR2(3)
    INGREDIENTINFORMATION MAT_PRODUCT_INGRED_LIST
    SQL> desc mat_product_ingred_list;
    mat_product_ingred_list TABLE OF MAT_PRODUCT_INGRED_TYPE
    Name Null? Type
    INGRED_ID NUMBER
    PRODUCT_ID NUMBER
    MCM_CHEM_MSTR_ID NUMBER
    CHEM_VAPOR_ID NUMBER
    INGRED_SEQ_NR VARCHAR2(2)
    INGRED_NIOSH VARCHAR2(9)
    PERCNT VARCHAR2(7)
    CALC_PERCNT NUMBER
    OSHA_PEL VARCHAR2(20)
    ACGIH_TLV VARCHAR2(22)
    REC_LIMIT VARCHAR2(20)
    MCM_EXEMPT_IND CHAR(1)
    VOC_REACTIVITY_CD VARCHAR2(2)
    STATE_POLLUTANT_CD VARCHAR2(10)
    PERCENT_LOW NUMBER
    PERCENT_HIGH NUMBER
    PROPRIETARY_IND CHAR(1)
    MPI_CHEM_MSTR_ID NUMBER
    CHEM_CAS_NO VARCHAR2(12)
    CHEM_TYPE VARCHAR2(1)
    CHEM_NAME VARCHAR2(255)
    CHEM_FORMULA VARCHAR2(35)
    CHEM_RCRA_CD VARCHAR2(4)
    MOLECULAR_WGT NUMBER(7,3)
    MOLECULAR_WGT_SOURCE VARCHAR2(100)
    VAPOR_PRESSURE NUMBER(8,2)
    VAPOR_PRESSURE_UOM VARCHAR2(5)
    VAPOR_PRESSURE_SOURCE VARCHAR2(100)
    VAPOR_TEMP NUMBER
    VAPOR_TEMP_UOM CHAR(1)
    IRIS_IND CHAR(1)
    RPT_QTY NUMBER
    TPQ1 NUMBER
    TPQ2 NUMBER
    IC VARCHAR2(3)
    OZONE_IND CHAR(1)
    EHS_IND CHAR(1)
    EPCRA_IND CHAR(1)
    CARC_IND CHAR(1)
    MPI_EXEMPT_IND CHAR(1)
    CHEM_NIOSH VARCHAR2(9)
    STATE_CAP NUMBER
    LOCAL_CAP NUMBER
    TYPE_CD CHAR(1)
    CHEM_ACTIVE_IND CHAR(1)
    any ideas of why the ora-01401?
    Thanks in advance.

    Did you by any chance buy a Re: Function will not run (and shows with red cross in SQL Developer) from Re: Calling pipelined table functions

  • Why the full table scans in this query on a complex view?

    Does someone have an idea of why the FTSs are in here? As I mentioned before, it seems to be using the indexes where I figured it would. I just don't see why it needs to FTS ALL tables involved in the view to put the combined result sets together.
    Thanks
    Here's the plan
    PLAN_TABLE_OUTPUT 
    Plan hash value: 4040654044 
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | 
    | 0 | SELECT STATEMENT | | 3060 | 116K| 1404 (2)| 00:00:17 | 
    |* 1 | FILTER | | | | | | 
    | 2 | VIEW | V_MOD2_V3 | 305K| 11M| 1259 (2)| 00:00:16 | 
    | 3 | UNION-ALL | | | | | |
    | 4 | TABLE ACCESS FULL | MOD_TAB1 | 101K| 4880K| 420 (2)| 00:00:06 |
    | 5 | TABLE ACCESS FULL | MOD_TAB2 | 101K| 4880K| 420 (2)| 00:00:06 |
    | 6 | TABLE ACCESS FULL | MOD_TAB3 | 101K| 4880K| 420 (2)| 00:00:06 |
    |* 7 | VIEW | V_MOD2_V3 | 3 | 156 | 6 (0)| 00:00:01 | 
    | 8 | UNION-ALL | | | | | | 
    |* 9 | TABLE ACCESS BY INDEX ROWID| MOD_TAB1 | 1 | 53 | 2 (0)| 00:00:01 | 
    |* 10 | INDEX UNIQUE SCAN | MOD_TAB1_PK | 1 | | 1 (0)| 00:00:01 | 
    |* 11 | TABLE ACCESS BY INDEX ROWID| MOD_TAB2 | 1 | 53 | 2 (0)| 00:00:01 | 
    |* 12 | INDEX UNIQUE SCAN | MOD_TAB2_PK | 1 | | 1 (0)| 00:00:01 | 
    |* 13 | TABLE ACCESS BY INDEX ROWID| MOD_TAB3 | 1 | 53 | 2 (0)| 00:00:01 | 
    |* 14 | INDEX UNIQUE SCAN | MOD_TAB3_PK | 1 | | 1 (0)| 00:00:01 | 
    | 15 | SORT AGGREGATE | | 1 | 13 | | | 
    | 16 | VIEW | V_MOD2_V3 | 219K| 2792K| 139 (6)| 00:00:02 | 
    | 17 | UNION-ALL | | | | | | 
    |* 18 | INDEX FAST FULL SCAN | MOD_TAB1_ST_IDX | 101K| 398K| 51 (6)| 00:00:01 | 
    |* 19 | INDEX FAST FULL SCAN | MOD_TAB2_ST_IDX | 101K| 398K| 52 (6)| 00:00:01 | 
    |* 20 | INDEX RANGE SCAN | MOD_TAB3_ST_IDX | 16000 | 64000 | 35 (0)| 00:00:01 | 
    Message was edited by:
    Gaff

    Alas, ALL of that was in the original post I put up a few weeks ago. I meant to reply to it in the message you saw but instead I "edited" it and the original post is now gone!
    Suffice it to say that the 3 tables that make up the view are identical, have the proper columns indexed and have statistics generated. The view you see the explain plan for is a view that just does a "UNION ALL" of each of the 3 mod_tab tables.
    As I figured it would, a query on the view uses the indexes to figure out which rows of each underlying table have data for the result set based on the "where" clause , and that is where you see the index range scan, etc. What I don't understand is the part in bold. Assuming all rows in all tables that make up the view have been indentified by these index range scans, what requires the 3 full table scans at the end? The explain plan in SQL Developer (Raptor) will show why each of the other things is there, but not the full table scans.
    I am getting a few hundred result set rows out of 100,000-200,000 rows altogether so I can't imagine a full table scan on any of these underlying tables being the right way to go (and look at the cost in the plan).
    Thanks

Maybe you are looking for

  • How can I create an effect to cycle through several sets of 12 thumbnail images rather than just one

    Hello I've searched everywhere i can think of and had no luck so thought it's about time i asked for help. How do I create an effect where a group of 12 thumbnail images (all with clickable links) can scroll across by clicking a button to reveal anot

  • Edit in PhotoShop CC 2014 issue

    When in Lightroom 5 and I select "edit in Adobe Photoshop CC 2014" it doesn't create a copy in tif or psd format (or jpg format) like it did in previous versions.  A box use to pop up allowing me to set the file type, color space etc then in Lightroo

  • Portal Logoff

    Hi, I have portal 10.1.4 I am using dynamic page. I have header and footer portlets and in between I have created a dynamic page with the contents as follows <iframe name = "myframe" src="http://128.222.112.36:8882/Login-ViewController-context-root/f

  • Sound but no visual on video

    When I try to play a video on Facebook, I get the sound, but it is only a black screen.  I thought the prob was only with FB, but then I tried to look at a video on Moviefone, and I have the same problem.  I changed the website storage settings to un

  • Tabs and internet?

    i can't seem to close individual tabs anymore, the (x) has dissapeared.? also, i cant seem to quit my internet. right click and quit ?? could some one please help meeee? thanks