Solved: Delete Using Automatic Row Processing

See Scott's reply below for the answer.
Hi there,
I have an application built in APEX 3.0.1 that I would like to be able to use a button to delete a single row from an underlying database table (owned by the parsing schema).
My APEX page has a 3 HTML regions on it:
1. Only a Select List and Go button for User selection (of Debit Note)
2. Ten display Items (Text Field, Disabled saves state) displaying further information about User selection
3. Conditional Delete button (region with custom image) - only displays when P73_DEBITNOTEID is NOT NULL
I'd like this button to be used to Delete the Selected Item and thought I'd be able to use a Data Manipulation Page Process - Automatic Row Processing (DML) page process to do this.
However, when I go through the wizard the Select item containing primary key column value field has no values in the search list.
My first question is why was there no values in the list?
So I manually entered the Item I required (P73_DEBITNOTEID) but when I run the page and click the button I get a PL/SQL missing expression error.
What is the best practice method to do DML actions on the underlying database tables. The tables are all owned by the parsing schema.
Your help in resolving this matter would be greatly appreciated.
Kind Regards,
Gary.

Gary,
The DML processes (and the creation wizards for them) are for use with items having source type Database Column. If your page items don't use this source type, then neither the Automated Row Fetch nor the Automatic Row Processesing (DML) process types will work.
Scott

Similar Messages

  • Inserts using Automatic Row Processing (DML)  should not clear cache

    Hi,
    I am using APEX 4.0.1.00.03.
    I created a form on a table for inserts and updates.
    After I do an insert, the Automatic Row Processing (DML) clears cache for all items on the page.
    But the user wants to see the data he inserted without having to query. How can I achieve this?
    Thanks
    Chandra

    There isn't any "reset page" process on my page.
    --Chandra.                                                                                                                                                                                               

  • Strange error when using Automatic Row Processing

    Hi All,
    I have a page with 2 regions
    - first is a form for data entry (4 fields - 2 hidden, 1 LOV, 1 text)
    --> 3 buttons - Cancel, Create, Create & Create Another
    --> Create branches to next page, Create Another branches back to same page
    - second is report of items entered into the form (conditional display)
    This all seems to be working, except that when I click either of the buttons, I get this:
    Action Processed. -- The success message - so data is inserted
    Unexpected error, unable to find item name at application or page level.
    Error ERR-1002 Unable to find item ID for item " P31_PIECE_CNT)" in application "122".
    And the 'OK' link. When I use the link to go back to the page, the data shows up in the report. So I know that the process is working up until it does the insert, but not sure why I get the error.
    Corey
    Database Version Information
    Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
    PL/SQL Release 9.2.0.7.0 - Production
    CORE 9.2.0.7.0 Production
    Product Build: 2.0.0.00.49

    All that is saying is that no such page/app item called P31_PIECE_CNT exists in the application and some after-submit component on that page is trying to refer to that item name.

  • Using Automatic Row Processing on an empty table

    I started with a blank form based on a table. I used the wizrd and now have a good looking form with all the fields. However, I get ORA-01403: no data found - Error Unable to fetch row. when the form runs against an empty table.
    How would I avoid that?
    Thx,
    Pete

    Pete - If you run the page by passing a PK value (into a form item) and that value does not locate a row, you'll get that error. Make sure the item's type is Database Column and that its Source Used attribute is "Always, ...".
    Scott

  • Automatic Row Processing and Casade Delete

    I have Automatic Row Processing for delete on a table, however I have FK's dependent on this table. How do I do a cascade delete using Automatic Row Processing DML for a delete ?
    Any way besides writing a trigger ?

    My fault, my constraint was not written properly to indicate on delete cascade.

  • Automatic Row Processing using Apex?

    Hi All,
    I am in build forms in apex during that scenerio i am creating the Process as "Automatic Row Processing (DML) but it is not working.. Or in other words assume that in form i have 5 text items and a button.. Now when i give empno and clik on button.. the deatils should be fecthed for that empno deatils using "Automatic Row Processing".
    I have tried in google but i am not able to get the any proper way to resolve it..Can anybody help me out to resolve it..or if any links which may help me to find out the solution..
    Thanks,
    Anoo..

    Yes..I have done.. but the problem is some times it is fetching and at all. So i thought to have a clear idea for fetching the data through Automatic fetch process..
    -Anoo..

  • Are 'read only' items causing my automatic row processing to fail?

    I have a form that uses automatic row processing to update my table.
    I recently had to add a check to lock down the fields using the read only condition where a record has been 'approved'. So, I turned off all of the fields and hid the update button.
    Now they want me to check to see if the user is a manager, and if so, allow them to see the update button, and make a single field on the form modifiable.
    I have the user identified as a manager, and can make the field accept the change (a yes/no combo box). Yet when they click the update button, the form just sits there. A branch is supposed to fire on hitting that button, taking them back to the previous report, but it doesn't happen. The source of the combo box in question uses a column on the table, and works fine when the form has all of the fields showing for modification.
    I had some validations that I finally set to never fire, thinking that they were failing and just not giving the error messages. I know a bad sql or pl/sql atatement in a validation will cause the form to just keep sitting there doing nothing, and thought it might help.
    Several of the various fields are combo boxes, several are text boxes.
    I'm stumped.
    Shall I keep the regular update button hidden whether it is a manager or not (because it has been 'approved'), and enable a new button that fires off a process to update the one field that the manager may want to change? Does making a field 'read only' always have a detrimental effect on the auto processes I've been counting on? Is that if fact what is happening now?
    Thanks in advance for any advice or comments on this.
    Clayton

    Hi, Scott.
    My version is 3.0.0.00.20
    I have received info to set up the application, though I have not activated it as yet. I'm reluctant to try to load up the various tables to make it work. It could be done.
    My workaround is to that the user (a manager) fires off to another form to show an individual record, and ask if he/she really wants to make this change. On submit, they will be taken back to the original locked down form, and I will update the single field in that process of returning them. This will actually be a plus, in that I expect to show them all of the 'duplicate' entries for that item, and show them that by 'activating' this particular item, they will 'deactivate' the one duplicate that is currently active. Or, if they are deactivating the sole item that is active, that there will in fact be no active items in the system. Convoluted as heck, but they swear this is how they've been doing business with their briefcases and file cabinets of Excel files. I'm surprise they even float at this point (these are ships we're talking about).
    This all may be due to the form originally having a next/previous/count process once arrived at my clicking on the edit button of the report of items. All of that has been hidden away, and though the fields exist of the form, they are not used. They only see the current item that they clicked on from the report.
    I read up a little on session state, as well as posts with the debug error I was getting. I'm still not on board with the whole issue of 'state'. Items stay as they are until they're changed, no? I suppose that sounds simplistic.
    One of the things that caught my eye was several combo box lists that on read only mode, showed [] square brackets. Which, in some cases is okay.
    What I'll try to do is set up a public application - for future use if nothing else. I'm going to be working on this for awhile. I have more than a bit of work to do to cleanse the data as well as get rid of the single sign on requirement (I'll assume that I should have to do this) in order to share the app.
    I know you're expecting me to have this up and running for you to look at, but I'm under the gun. And they actually like my workaround.
    I'll keep everybody informed, one way or another.
    Clayton

  • Automatic Row Processing?

    Hi,
    I have a requirement to create forms that insert into multiple tables and returns items from multiple tables. What are my options? Can I still use automatic row processing and fetching?
    Thanks in advance.

    create multiple regiions embedded with different table

  • Automatic Row Processing (DML) using synonym name instead of table

    I want my APEX form to select info using the table name but perform all the DML (add, change, delete) using the synonym name. I created the form using the wizard and went into the "Process Row of xxx" process that was created. I tried changing the table name to synonym name under the 'Source: Automatic Row Processing (DML)' section, but it still uses the table name. Is this possible or do I need to manually create processes using the synonym names

    Hi,
    when I change the Table Name property in the "Automatic Row Processing (DML)" process to a non existing table it raises an error when I run the page and try to save something. So it's actually using the value.
    Does the synonym point to the same table or a different table? What is the intention behind selecting from the table but updating through the synonym?
    Patrick
    My APEX Blog: http://www.inside-oracle-apex.com/
    The APEX Builder Plugin: http://builderplugin.oracleapex.info/
    The ApexLib Framework: http://apexlib.sourceforge.net/

  • Without Automatic Row Processing (DML)

    Hi All
    I try to make one page to show use DML statements without standard Automatic Row Process.
    What I have:
    One page with:
    region: Report - select empno, ename, sal, deptno from emp;
    region: Form with items: p6_empn, p6_ename, p6_sal, p6_deptno
    addictionaly in that moment I have:
    process CreateProcess:
    begin
    insert into emp (empno, ename, sal, deptno)
    values (emp_seq.nextval, :P6_ENAME, :P6_SAL, :P6_DEPTNO);
    commit;
    end;
    and button CREATE.
    Create Process is fired when I push CREATE button and Insert statement works corecctly. Branch is on the same page. (I use request).
    Now I would like to show update and delete statements.
    In Report I have in column EMPNO standard button Edit (each row)
    (<img src="#IMAGE_PREFIX#edit.gif" alt="Edit">)
    I have process SelectProcess:
    begin
    select ename,sal,deptno
    into :p6_ename, :p6_sal, :p6_deptno
    from emp
    where empno = :p6_empno;
    end;
    It is fired In Load _ Before Header
    When I push Edit in one row I would like to see details of employee in Form, but I see nothing. In session state all is correct - I see :p6.... with name, sal and ...
    I dont know how to connect this process with buton and branch.
    could you help me?

    Hi,
    I have done a quick test for this - [http://htmldb.oracle.com/pls/otn/f?p=25946:1]
    On the Edit page, I have a process called P2_LOAD_DATA that runs "On Load - Before Header", is conditional on P2_EMPNO being NOT NULL and using the following code:
    BEGIN
    SELECT EMPNO, ENAME, JOB
    INTO :P2_EMPNO, :P2_ENAME, :P2_JOB
    FROM EMP
    WHERE EMPNO = :P2_EMPNO;
    END;I have a button with a Button Name setting of "UPDATE" (user sees this as Apply Changes)
    I then have a process that runs "On Submit - After Computations and Validations" and is conditional on REQUEST = UPDATE. The code is:
    BEGIN
    UPDATE EMP
    SET ENAME = :P2_ENAME,
    JOB = :P2_JOB
    WHERE EMPNO = :P2_EMPNO;
    END;The source settings on P2_EMPNO, P2_ENAME and P2_JOB are as I described in my previous post.
    One thing to check - do you have a "reset page" process? If so, remove it.
    Andy

  • Adding a new field to an Automatic Row Processing form

    Hi,
    I have a form that I built through the form Wizard which has an automatic row processing function. It is working very well, except that any new fields I add to the form are not being updated in the database when the row is processed. I have set up the field exactly the same as other fields which are working and were originaly created by the wizard. I have deleted and recreated the row processing Page Process, but nothing seems to make it work. Have I missed anything? I don't want to recreate my page from scratch each time I want to add a new field.
    Thanks,
    Steve

    if you're positive that your new fields/columns update correctly when you use Text Field items and not when you use Select List ones, i'd check to see what your select lists are returning. a good way to see exactly what your form got from your select list items is to check the session state for your select list items right after you submit your page (clicking the "Session" link in your developer toolbar in your runtime environment is a good way to get to this info). also, even though you said your added Text Fields work and your Select Lists don't, i'd still check the "Source Type" and "Source value or expression" fields of your select list items to make sure they're set correctly. for form items to work with your table in htmldb auto-dml processing, you need to set the "Source Type" to "Database Column" and the "Source value or expression" to the case-sensitive name of your db column.
    hope this helps,
    raj

  • Automatic Row Processing (DML) - Return Key Into Item

    Hello,
    This question is on Apex 4.2:
    I'm Displaying the [UNIKEY] column value after the record is inserted into the table using :
    page process > process row table_name > Source: Automatic Row Processing (DML) > Return Key Into Item > "Item Name"
    This works fine while inserting records, my question is why this does not respond on update / delete ?
    ϯ LT

    LT
    Check your branches.
    What might be happening is that on insert and update an other branch is followed.
    Where the branch of the insert either isn't clearing the cache of the page or is setting the item with it's own value.
    The branch on the update on the other hand is clearing the cache of the page and not setting the item.
    With a delete there is a clear cache process generate by the wizard. Check if this process is only running on the delete and not on the update.
    From memory the process is called something with reset.
    If the above doesn't help try to replicate the problem on apex.oracle.com and give access with a guest developer account so we can have a look.
    Nicolette

  • Automatic Row Processing BUG?

    Unfortunately it turns out that one can not create report with form through the wizard if the target table has a primary key that should be updatable. Is that true?
    I have a table with only 2 columns 1-code of some type, 2-description. Column 1 is primary key.
    I get the following error when I try to change tha value of column 1:
    ORA-20001: Error in DML: p_rowid=ass, p_alt_rowid=CURRENCYCODE, p_rowid2=, p_alt_rowid2=. ORA-01403: no data found
    I searched through the forum but noone explained why this happens. And the only thing that I think is the reason for this is that Automatic Row Processing does not remember the previous value of the primary key column so its embedded SET statement only has the new value.
    Is this a bug?
    I don't want to create different processes to update, delete, create. This however involves using temp hidden field to hold the original value of my first column.
    Would You fix this to be done automatically in HTMLDB when using the wizard with Automatic Row Processing?
    My version is: 1.6.0.00.87
    Thanks

    Well, actually the wizard succeded but it did not do what I needed: my table is with one column (primary key) and another column (varchar). The wizard asked me for my primary key column and I pointed it, but after it secceeded and I ran the form, the field was hidden. But I wanted it to be avalable for entering/editing so I changed it to a text box type. Does that help?
    And another thing what happens if I use the wizzard on a table with to columns which define a composite primary key. when i point them on the relevant page, the next page of the wizzard asks me to choose columns, but there aren't any more because it appears to hide my primary key fields. In this case i really can not use the usard for helping me with automatic processing. This and the previous case I believe are if not bugs then at least "lacks" of the wizzard.

  • Automatic Row Processing (DML) Update problem

    Hi All,
    I am using Oracle 10.2.0.3 on Windows Server 2003 with "Application Express 3.1.0.00.32".
    I have two schemas in the database, A and B
    B has all the tables which holds the production data
    A has all the synonymns for all of B's objects and plus insert, delete, update, execute rights on B's objects.
    I have a view MyView which basically reads from a table from B's schema
    and an APEX form based on this view... so far so good.
    Problem is when I generate a form using form wizard and try to update a record in the table in B's schema, I get the following error: I cannot use B as the OWNER in APEX, because for other reasons, I need to use A.
    Automatic Row Processing (DML)
    ORA-20505: Error in DML: p_rowid=CA-4837-AHU-002, p_alt_rowid=OBJ_CODE, p_rowid2=, p_alt_rowid2=. ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "97813992F558009979B5B86C925AD4AC" application checksum = "FA8AB5EC759780B0048E2C11584CD5E6"
    Does anybody know why I get this error message? Is it possible to update the table using the view? I know for sure that my browser is not caching the data and someone else is not editing the same record.
    Thanks in advance,
    Sinan

    Hi,
    Problem is when I generate a form using form wizard and try to update a record in the table in B's schema, I get the following error: *I cannot use B as the OWNER in APEX*, because for other reasons, I need to use A.As highlighted, you need to grant insert, delete, update, execute rights on B schema's objects to APEX schema. Also, you may need to use "Instead of" trigger for view.
    Regards,
    Mangal

  • Processing Static (via automatic row processing) & Dynmaic fields

    Hi,
    I have a page that has 2 sections. Section S is statically driven which I'd like to process via a Automatic Row Process DML. Section D is for dynamic fields which I process via a PL/SQL script.
    I need to process Section D (dynamic) first.
    Now they're 2 things that I'm noticing when I try this. Can someone please confirm.
    - After my process of Section D it seems to make a commit. I know this since I have a error in Section S, and the values from Section D are committed to the DB. I need to make sure a commit only occurs after all page processes have completed error free.
    - My Automatic Row Process DML for Section S doesn't seem to work at all. It can't seem to read the values at all. I know this since I have several columns which are "NOT NULL" and the appropriate error messages are being raised. The Automatic Row Fetch for Section S does work properly.
    For the time being the work around is writing a process for the entire page which includes both Section S and Section D. The thing is I thought that HTMLDB would be able to help me out a lot with Section S since it had static fields etc.

    Martin - I would try to debug these two processes separately. If the Auto DML process isn't firing, perhaps the button used to submit the page isn't setting the request to one of the standard values recognized by the Auto DML package ('INSERT','CREATE','CREATE_AGAIN','CREATEAGAIN' for inserts and 'SAVE','APPLY CHANGES','UPDATE','UPDATE ROW','CHANGE','APPLY' or like 'APPLY%CHANGES%' for update).
    A commit happens whenever session state is changed, so if your process saves an item value, that would do it. If you think that is not the cause of the commit, let me know the details of the process and I'll take a closer look. There is no way to prevent the commit when session state is updated.
    Scott

Maybe you are looking for