Understanding "automatic row processing"

hi,
i have problems understanding automatic row processing in apex.
at first i thought there is a relation between page process (fetch row, insert, update,...) and page items / reports.
something like: Item P1_TESTTEXTBOX (Source=Database Column => "TESTCOLUMN") referes to process "FETCH ROW FROM TESTTABLE"
but i havent found any relation.
then i thought there is a "global pool of database columns" (fetched, inserted, updated by a page processes)... when a fetch process loads data from a db-table, all columns from this table are stored in a "dictionary"...but this also didnt seems to be right.
i did some testing to understand the (row fetch) behavior but there a still some questions:
- i created 2 Processes (Data Manipulation -> Row Fetch) in "After Header" on 2 different Database tables but each with a Column "TESTCOLUMN" (for testing^^) . It didn't work properly: it seems that only one fetch process is executed .
I'm still not quite sure how automatic row processing (fetch, insert, update) is working...
are there any explanation about this issue? i havent found any information that goes into detail.

ok, some testing later i come to the conclusion that the automatic row processing works like this:
when a row (fetch) process starts, ALL binded Page Items (Source Type=Database Column) tries to load their data from the current fetch-process.
i tried to add 2 different Regions containing some Page Items (TextBox) that binds to a Database Column.
* Region1 should contain Artikle-Information (refers to DB-Table Article)
* Region2 should contain Article-Detail Informations (refers to DB-Table ArticleDetails)
i am not able to create 2 Row fetch processes in 1 page, because i got an error when the first row-fetch process starts "Column [XY] not found in table [YZ]"
obviously there is no way to "link" processes to regions, reports or page items.
or is it possible to create 2 regions (in 1 page) with automated row processing, that refers to different tables ? (region1/report1 => DBTable1, region2/report2 => DBTable2)?
(the only way i see is that i create a view that contains these 2 DBTables, so i only need one row fetch process for this page)
thanks in advance
rene...

Similar Messages

  • 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

  • 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

  • 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

  • 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

  • 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 insert fail

    Hi all,
    Application Express 3.2.1.00.11
    Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
    I am running into a problem where my automatic row processing will update and delete records but will not insert. I get the following error.
    ORA-44003: invalid SQL nameI disabled all triggers and added the appropriate fields to my form and manually entered correct data and am still having the issue. I can run a trace but only the dba has access to retrieve the file and he is gone. Any suggestions on where to start? i checked debug mode and it is definitely hanging on the ARP.
    Cheers,
    Tyson Jouglet

    All,
    Finally fixed it!!! So if you experience this problem, double check all of your item sources. I was upgrading a date column to a timezone column and subsecuently made it three different items. Long story less long, I left the original date item on the form and deleted the source column name but i forgot to change the item source from database column to something else. This will not effect how apex deletes or updates a record but it will not allow you to insert a new record. I know this is a user error, but maybe this could be added as a validation?
    Cheers,
    Tyson Jouglet

  • Automatic Row Processing - Preset a value with value from other page

    Hi everybody,
    I have created a form on a table with report. I added a dropdown field to a sidebar region on the first page the groups and selects only a couple of these entries. (Think: only people for the department selected in the drop down field). Now when I click on the normal create button the id field for the department should be filled automatically with the value from the page before, where something was already selected in the drop down field. The id field is a hidden field on the actual create page. Maybe it is not working because the field is linked to the database column to make the automatic row processing work or something. I tried computions on both pages and setting the values. Nothing seems to do the trick.
    Any help would be greatly appreciated.
    Thanks,
    Henrik

    Hi,
    these are the values I currently see:
    108 14 P14_SELECTEDSS Display as Text (escape special characters, does not save state) No
    108 14 P14_CHARACTERISTIC_ID Hidden and Protected Reset to Null No
    108 14 P14_SHAREDSERVICE_ID Text Field 30 Inserted No
    108 14 P14_CAPTION Text Field No
    108 14 P14_CATEGORY_ID Select List No
    108 14 P14_WEIGHING Text Field No
    108 14 P14_DESCRIPTION Textarea No
    I also have to say that I deleted the computations I created earlier again cause they did not work and I had the same values for these variables. I am trying to (pre)set P14_SHAREDSEVICE_ID to P13_SELSS when I click the create button on page 13.
    Thanks again,
    Henrik

  • Automatic Row Processing (DML) process is not updating the record

    Hi all,
    I have an application which was working fine last week and tested and backuped to new application. This Monday, one of the form in that application is not updating the data all of a sudden. I debug that by having page 0 variable and assign the value from the column variable to page 0 variable. Whatever value I changed to the column variable was getting updated to page 0 variable. But it is not updated in the database. So, I changed the success message of the "Automatic Row Processing (DML) process" and I can see the success message on the page, but the column value does not get updated. But when I go back and checked my backup application, that page is working fine. For now, I copy that from the backup application, but I would like to know why this is happening?
    Thanks
    SHY

    Hi Scott,
    Thank you very much for your response. Because of the database complexity, I can't create/import the application on the apex.oracle.com. I am just wondering why this is happening. One of my coworker said same thing happened to her in one of her project and it gets resolved once she restart the server. I am not able to restart the server to check and see if this resolved as the application is on the client server. Do we need to clean up any log file? Thanks.
    SHY

  • 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 (Update not running)

    I have an Automatic Row Processing routine that returns the success message, but it never performs the updates.
    I Put a special message in the Process Success and Failure Messages and the Success message comes up everytime with no database updates happening.
    I changed the table name to a table that DOESN'T exists just to see if the failure message appears and I still get the Process Success Message.
    Any ideas why the DML say's it's success when it's not doing anything?
    Edited by: spuchc on Jun 2, 2010 11:48 AM
    Edited by: spuchc on Jun 4, 2010 7:48 AM

    That doesn't appear to be the issue.
    When I update the data for the of views on the page they work fine and have specific button names.
    Also I've tried used PL/SQL Expression instead of button controls to fire the DML and it does fire.
    Since it's not generating the update statement (when I look in V$SQL), why would APEX even given me back a "Success" message?
    Also when I change the view name in the DML process to a bogus name, it still tells me "Success".
    I'm going to look at calling my backend API's directly without the Apex DML because I've tried everything I know and it's just this one view that won't updated.

  • Automatic row processing query should not update key columns

    We have an APEX application to maintain a table A, which is referenced by a huge table B (several millions rows). If a row is updated (by automatic row processing), the following update statement is executed.
    update "MM_DWH"."A" set "ID" = :DML_BV0001,"NAME" = ... where "ID" = :p_rowid
    Due to the foreign key constraint of table B, we have situations where this update statement is blocked (Enq: TM - contention) for a long time if we have inserts into table B at the same time - I guess.
    My questions are:
    Why is column ID updated, this does not make sense?
    Is there a way to prevent that behavious or do I have to code the update statements manually instead of using the automatic row processing feature?
    Thanks and regards, Maren

    m_eschermann wrote:
    We have an APEX application to maintain a table A, which is referenced by a huge table B (several millions rows). If a row is updated (by automatic row processing), the following update statement is executed.
    update "MM_DWH"."A" set "ID" = :DML_BV0001,"NAME" = ... where "ID" = :p_rowid
    Due to the foreign key constraint of table B, we have situations where this update statement is blocked (Enq: TM - contention) for a long time if we have inserts into table B at the same time - I guess.
    My questions are:
    Why is column ID updated, this does not make sense?
    Is there a way to prevent that behavious or do I have to code the update statements manually instead of using the automatic row processing feature?Make sure that you have all the required Primary Key and Foriegn Key indices for the two tables - if missing, it's possible that each update of A is requiring a full table scan of B.
    What is column "ID" - the PK for A or the FK to B?

  • Automatic row processing updating my primary key

    Hi all!
    In Apex 3.2, I've got an Interactive report with a DML form on a table. My table has a primary key which use a sequence (trigger based). When I created my forms, I specified that I wanted to use an existing trigger as the source type of the primary key.
    When I try to create a record, it work. If I try to create a new record and save, my trigger give me an error message because the automatic row processing is trying to update the primary key too. (My trigger on the update specify that the primary key should not be updated).
    So my question is : How can I make the automatic row processing update everything but the primary key ? (I noticed that I could have asked APEX to use my SEQUENCE directly instead of the trigger (in the creation Wizard). But I dont know how to change this now that my form is created.)
    Is there a source type that I can change in my primary key item ?
    Note : My primary key item (id_emp) is protected and hidden. If I display it as "Display only", the update works... But I dont need to see id_emp on my form.

    OK,
    From your first post, it sounds as though the process is trying to perform an INSERT rather than an UPDATE. It is, therefore, trying to create a new record using a primary key that already exists on the table.
    If that is the case, then we need to go through the points along that route:
    1 - when you load a record into the page, the primary key page item should be given a value. So, firstly, check the link is populating the correct page item. And then, when the page has loaded, click the Session button on the Developer's toolbar at the bottom of the screen and check that the value is there
    2 - when the page loads, one, and only one, page item should have the primary key value. This should be P3_NO_EMPLOYE*. Check other page items to make sure that their source is not NO_EMPLOYE. Again, check with using the Session button to see if the value appears anywhere else on the page
    3 - when the page loads, the "SAVE" button should become visible. Check that this is conditional on P3_NO_EMPLOYE being NOT NULL
    4 - there should be one, and only one, button that triggers the SAVE action. Check that there are no other buttons that either (A) are called SAVE or (B) trigger the INSERT SQL database action
    5 - when the SAVE button is clicked, the "Process Row of..." process should be triggered and, because the button is SAVE and, therefore, sends "SAVE" as the REQUEST value, the process identifies this request as an Update database action. Check that you have Update ticked on the process and that you only have one process that can perform the update
    6 - it is possible to change the value of the Request after a button has been clicked, so check that you have no computations or processes that run before the "Process Row of..." process
    Andy

  • Automatic row processing in a validation

    Hi,
    I have a form on a table (page11) with one process for automatic row processing and I have the buttons Submit and Create.
    I have another button f.e. BUTTON_NEW. I have a validation (function returning error text) with "BUTTON_NEW" as When-Button-pressed-Condition. In the validation I did an Insert into another table.
    I changed values of items on Page11 and don't press Submit. And then I press "BUTTON_NEW". The validation on BUTTON_NEW works fine. But the changed values are lost. Is there a possibility for an automatic "Submit" or "Create" when BUTTON_NEW is pressed?
    Thanks, Daniela

    Hi,
    these are the values I currently see:
    108 14 P14_SELECTEDSS Display as Text (escape special characters, does not save state) No
    108 14 P14_CHARACTERISTIC_ID Hidden and Protected Reset to Null No
    108 14 P14_SHAREDSERVICE_ID Text Field 30 Inserted No
    108 14 P14_CAPTION Text Field No
    108 14 P14_CATEGORY_ID Select List No
    108 14 P14_WEIGHING Text Field No
    108 14 P14_DESCRIPTION Textarea No
    I also have to say that I deleted the computations I created earlier again cause they did not work and I had the same values for these variables. I am trying to (pre)set P14_SHAREDSEVICE_ID to P13_SELSS when I click the create button on page 13.
    Thanks again,
    Henrik

Maybe you are looking for

  • HP Deskjet Ink Advantage 3545 Printer Black Print for Copy/Scan/Print not working

    Whenever tried to Copy or Print with Black and White Print option nothing is getting Printed. Because of this issue my Color Cartridge is getting wasted. Please suggest ASAP resolution for it as I brought this print just few month back I was not expe

  • Interal Acticivties - Exchange Rate Type

    Hi experts, When I check the Cost report of an internal activity form CJ20N (Ctrl+F11) I do not understand which currency rate is picking when I ask to show the cost in the Controlling area currency. When I check the same report for cost activities t

  • Business objects enterprise 3.1 software

    Can anyone send me link to download business objects enterprise 3.1  and steps to install that... Thanks RAJ

  • Estimation methodology required for WLI

    Hi, How can one estimate time/effort for WLI developement? I am looking at numbers specifically for 1. custom built adapter development 2. apllication views 3. BPM usage. 4. Data related. It would certainly be helpful, If one knows and reveals the ef

  • Installation of SAP Web A S Java 6.40 SP3u0092 at u0091Logon Information' pane

    I am trying to install the following evaluation software’s in bold letters from http://sdn.sap.com on my computer. The installation notes comes with the package SAP Web Application Server when I download it. I am following the installation notes as g