Order of execution DML sentences

Hi,
I have put this text on a post in the JDeveloper forum, but maybe it is convenient to put it here, because I don't know if JHeadStart classes, can help in some way to solve the problem.
We are interested in the same subject. We came from a Oracle Forms environment, where the default and logical behavior is delete/update/insert.
In the ADF Model (using JHeadStart, at least), it seems that the execution order is a bit random (it is not the order I choose in the screen, for example), or maybe we have not understood, which is the order it applies.
So, the questions are:
1) There is an established order? Which is it?
2) As klee have been asking, there is any way to change the default order?
As ADF BC is promoted as an easy way to do Java applications for Form Developers, it seems strange that the execution order in forms hasn't been respected.
Carles Biosca
BBR Ingeniería de Servicios

Carles,
The DML sentences order is determined by the sequence in which ADF BC receives the changes, which is the following in case of multi-row changes:
1. updates
2. inserts
3. deletes
We have to stick to this sequence for the following reasons:
- The multi-row update is perforemed as part of the standard JSF lifecycle phase "Model Update"
- multi-row insert is JHeadstart-specific and performed after the Model Update phase
- multi-row delete is JHeadstart specific and performed after multi-row insert. The reason we do the deletes last is to handle the case where the transaction fails: to be able to redisplay the rows that the user attempted to delete, we must do a middle-tier "rollback to savepoint", and this save point is set after the multi-row insert, otherwise we cannot redisplay the new rows entered by the user.
Steven Davelaar,
JHeadstart Team.

Similar Messages

  • Order of execution in mapping

    Hi,
    Can we change the order of execution (insert/update in to target tables).
    My situation is.....
    we have an account table and few other account related table in a mapping. now we have added a dealer table which has a foreign key in account table.
    since i added the dealer table off lately, the code generated by owb does the DML in account and then takes dealer. but this generates an error ORA2291 integrity constraint violated - PARENT KEY NOT FOUND ERROR.
    is it possible to change the order of execution by executing dealer followed by account. If not, what will be the work around. (I dont want to have a separate mapping).
    Thanks in advance...
    Regards
    Prakash

    The target order is not guaranteed inside the mapping, but will be in the next release. The trick for now is that most of the time the generated SQL will have the order of targets as they were added onto the mapping canvas.
    Nikolai Rochnik

  • Order of execution for various Nodes in HANA Views

    Hello Folks,
    I have created some analytic and calculation views. I would like to know order of execution of various nodes inside them such as Logical Join, Data Foundation, Semantics for Analytic views.

    And to find out how to use planviz:
    Show me the timelines, baby! by Lars himself
    Ravi

  • WHERE clause order ox execution question

    I dont understand order of execution of a WHERE clause, using a complex database
    I want to write a SELECT statement with the following condition
    ... WHERE ( branch = 'main' ) AND ( type = 1 ) OR ( charge -1 AND charge = 2 )
    My question is
    <1> Can yoyu use parenthesis inside of a WHERE clause
    <2> How would you write such a clause as above if you can not use parenthesis
    Thanks

    Just to echo what everyone else is saying, of course parentheses are syntactically valid and can make a difference to the logic. In you example though,
    WHERE ( branch = 'main' ) AND ( type = 1 ) OR ( charge {noformat}<{noformat}> -1 AND charge <= 2 )is the same thing as
    WHERE ( branch = 'main' AND type = 1 ) OR ( charge {noformat}<{noformat}> -1 AND charge <= 2 )and even
    WHERE branch = 'main' AND type = 1 OR charge {noformat}<{noformat}> -1 AND charge <= 2because AND takes precedence over OR. You can think of it as a "stronger" operator.
    However I would not use the last version because it's ambiguous to anyone reading it, and code like that can easily hide bugs. I would also not use the first version because all those redundant brackets are just confusing, making it almost as hard to read (and therefore prone to bugs) as the last version.
    btw I've changed your example because I know this forum can swallow *{noformat}<{noformat}>* (I've used {noformat} tags to preserve it).
    I'm not sure if any of this affects order of execution (and if it does, your Oracle version will make a difference).

  • The order of execution (of PL/SQL function calls) changes...why??

    select e.EMPID empid,
    e.name name,
    aatest.SETVALUES(2) z,
    aatest.TEST1() b,
    aatest.TEST2() x,
    aatest.TEST3() y
    from emp e
    where e.empid = 101
    order by e.name;
    when I execute this select statement...the order of function calls is as follows:
    setvalues 1st (call no:1)
    test1 (call no:2)
    test2 (call no:3)
    test3 (call no:4)
    Now...I introduce a join between the two tacles as mentioned in the query
    select e.EMPID empid,
    e.name name,
    e2.deptno deptid,
    aatest.SETVALUES(2) z,
    aatest.TEST1() b,
    aatest.TEST2() x,
    aatest.TEST3() y
    from emp e, emp2 e2
    where e.empid = e2.empid
    order by e.name;
    The order of execution of function calls changes to
    (I observed this using DBMS_OUTPUT.PUT_LINE)
    test3 (call no:1)
    setvalues 1st (call no:2)
    test1 (call no:3)
    test2 (call no:4) (the first and last calls swap!)
    i.e: it calls the last function in the select statement at the beginning
    instead of calling it at the last. Is it the normal behaviour? or whats going on
    here?
    Can somebody explain me, please....
    Details:
    the following four functions are defined in a package called 'aatest' and compiled.
    aatest.SETVALUES(2)
    aatest.TEST1()
    aatest.TEST2()
    aatest.TEST3()
    the Tables EMP and EMP2 are two tables defined in the same schema.

    Your "thinking" is wrong here. You can not use the column order to model your program flow. As SQL is set/tupel based, there is no given sequence of the execution order. Otoh you want to have a specific order in wich your functions must be executed otherwise the result will be wrong (or undefined). Thus here you need a procedural approach. This can be done by using PL/SQL for example.
    You would code your functions in that way, that they are working correctly independent from the place where they are called ie if function1 needs the setvalues function, this function must be called inside the function1 then.
    Are you sure you need all these functions in this procedural approach inside the sql-statement? This is mostly not needed and can be accomplished by using pure SQL. If not, may be your design is broken.

  • How to maintain order of execution of the Queries in Data Model

    Hi,
    I have 5 queries in the Data Model
    Query_1 will fetch some values based on the selection criteria and inserts values in a table(say Table_1) using a formula column
    The other queries will fetch data from DB using the records in Table_1
    The problem now i am facing is Query_2|Query_3|Query_4|Query_5 is being executed before Query_1
    How can we maintain the order of execution
    Any help will be appreciated
    thanks
    siva

    No there is no join between Q_1 and other queries
    all the queries are individually hanging in the data model
    moreover we cannot have a Master-Detail kinda relasionship in this case
    please give me some suggestions

  • How can we ask an order of execution ?

    I want to command un order of execution of two operations in my VI. At the beginning, my program worked well but when I added a for loop, the program doesn't work enought like I want it work...
    Thanks in advance
    hasna

    I've just succeeded in solving my probem but I have another, I want to open a query of my database thanks to labview but I want to open it and it must stay open but noaw, it open and disapear immeditly...
    Have you an idea for my problem ???
    Attachments:
    lecture_de_la_table.vi ‏24 KB

  • Customer exit variables: order of execution

    Hi,
    I am using multiple customer exit variables. What determines the order the coding in ZXRSRU01 for these variables is executed ?
    When I debug, the program always starts with the coding for one particular variable first, but can I depend on it that it stays this way ?
    Regards,
    Guido

    Hi Wodn,
    Suppose I have 2 variables, both are called in I_STEP = 2. You write:
    'the order of execution is based on the order of the variable which is being called'
    Can you elaborate ? What exactely determines this ? Is it the order of the variables being used in the query (KF1 first, the KF2) ? I cannot find logic here.
    Thanks for your reply.
    Guido

  • Outlook Quick Step order of execution is broken

    I have implemented Getting Things Done using Outlook at work and it's been working wonderfully for me. I'm currently on Office 2010.
    I have Quick Steps configured that do the following:
    1. Categorize the message
    2. Create Task with message as attachment
    3. Delete the message
    The result of this was a new task that was already categorized exactly as I want it.
    However, all of a sudden, the Quick Step has decided to start executing these three commands in a different order. First it creates the Task (without a category) and then deletes/categorizes the message. The deleted message is categorized appropriately.
    No matter whether I use the shortcut keys or click the Quick Step button, this incorrect order of execution is occurring. I have restarted Outlook and even deleted/re-created new rules, but the same issue is occurring.
    This is driving me crazy. It is clearly some type of bug deep in the code. If anyone can track this down or has any pointers, that would be great!

    Hi,
    For this issue, I recommend you ask in the Office forum which is staffed by more experts specializing in this kind of problems, you might get a better help there. Thanks for your understanding.
    http://social.technet.microsoft.com/Forums/office/en-us/home?forum=outlook
    Best regards,
    Belinda
    Belinda Ma
    TechNet Community Support

  • What is the order of execution of global transfer routine where multiple routines are involved?

    Hi,
    Suppose we have start routine, transformation routines and end routine defined between datasource and data target, and also we have a global transfer routine created on an infoobject.
    What is the order of execution of routines in this scenerio?
    Also if conversion routine like ALPHA is defined for an Infoobject, when does this come into flow.?
    Please enlighten me.
    Thanks,
    Akshara

    Hello Akshara ,
    The sequence of routines are as
    1. Start Routine
    2. Master Data Look Up or
    3. Field Level Routine
    4. End Rountine
    Apart from this , there is Expert routine, which is used in special cases, when there are not the sufficient functions to perform a transformation. It can be used as a interim solution , and it performs all the  functions of Start routine, end routine , field routine.
    Note : if you have created  transformation, and then created Expert routine, then system will delete all the existing transformations.
    Further to this, you can explore more, by debug the transformation as suggested by Vijay Kumar.
    Hope this helps !
    Regards
    YN

  • How to enforce order of execution of parallel tasks?

    How do I set the order of execution of parallel tasks in a container?
    The execution isn't truly random. It appears to be set to a random constant at package creation.
    Demo
    I set up a dummy package.
    Max concurrent executions = 1
    sequence container with four script tasks that do a thread.sleep
    The tasks always execute in the order 4, 2, 1, 3. Closing/opening the solution makes no difference to the order of parallel execution.
    Is there a way i can change the execution order? Do I need to change the guid/id of the object (tried this but it invalidates the xml) or is there an order somewhere else in the XML?
    I've found a hack/workaround but it's a bit ugly so I'm wondering if there's a way to do it without adding dummy tasks.
    Basically if i create a dummy start task and then drag off "on success" constraints to each of the four threads, the threads will execute in parallel in the order in which i created the constraints
    Why do i want to do this? I have a number of parallel tasks in a sequence container where three will take a long time and the rest won't take as long.
    I'll minimise the time required for the execution of container by using parallel tasks AND controlling the queue order (longest first). It won't matter whether I have 1 logical cpu or as many logical cpus as i have tasks.
    Thanks
    Jakub @ Adelaide, Australia

    I think the problem you are trying to say is 
    a) You have multiple tasks( i assume 10) now out of these 3 execute slowly.
    b) You done have any constraints for task execution, so what you want to achieve is that the 7 task should continue without waiting for the other 3 in your case the 3 are starting up earlier and other 7 are not able to start as a result.
    AS arthur pointed out these are 2 diff things constraints and parallel execution, and there would always be some task which would be started at some point of time.
    But if you know in advance some tasks are going to take time, i would suggest keep 2 diff sequence containers in 1 keep the 7 tasks which runs fast in another one keep the other 3 which tend to run slow
    Abhinav http://bishtabhinav.wordpress.com/

  • SQL Statement order of execution within batch

    Hi all, 
    Can someone please explain the purpose of the GO command in SSMS. MSDN states it is used to signal the end of a batch of statements. I am trying understand the reasons you need this e.g. variable scope?, statement order of execution?
    In particular, I'm concerned with the order of exuction...for example, with the following two statements:
    use AdventureWorks2012;
    select * from [Sales].[SalesOrderHeader];
    Is there any risk that SQL server will attempt to execute the second statement before completing the first?
    Thanks inadvance.

    Sorry Shriven - I somehow initially missed this part of your answer....ignore my original reply. Thanks.
    --It will always execute in order
    SELECT GETDATE() AS CURRENT_DATETIME INTO #TEMP3  
    WAITFOR DELAY '00:00:10';-- 10 Seconds Delay
    SELECT GETDATE()
    WAITFOR DELAY '00:00:15';-- 15 Seconds Delay
    SELECT * FROM #TEMP3 

  • Tracking the order of execution of sql scripts in SQL*Plus

    In our production environment we sometimes have to run some .sql scripts in a particular order. Since the order of execution is important , i have created another .sql file caller caller.sql(shown at the bottom) which will call all the scripts in the right order.
    i thought of putting a exec DBMS_LOCK.SLEEP (5); after the end of every execution of the script so that i can see the
    'Ending script1'message .
    The spooling within the caller script(execute_stack.log) has become meaningless because each script has a spool <filename.log> and spool off within it. These spool logs (for every script) is important for tracking purposes as each script belongs to a different development team and i have to send them the spooled log file after the execution.
    I don't want to see the entire scripts running by in my screen. Since these scripts have their own spooling, i can later check the logs if the scripts where executed properly.
    So i need two things.
    1.I just need to see the following and nothing else in the screen.
    Ending script1
    Ending script2
    Ending script3
    .2. I need to log the order of execution. ie. the execute_stack.log should look like the above.Since there is a spool off within each script, this wouldn't be possible.Right?
    Ending script1
    Ending script2
    Ending script3
    .The caller.sql script which calls all the scripts in the right order
    alter session set nls_date_format = 'DD-MON-YYYY hh24:MI:SS';
    set serveroutput on
    set echo on;
    set feedback on;
    spool execute_stack.log
    @script1.sql
    exec dbms_output.put_line ('Ending script1');
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec DBMS_LOCK.SLEEP (5);
    @script2.sql
    exec dbms_output.put_line ('Ending script2');
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec DBMS_LOCK.SLEEP (5);
    @script3.sql
    exec dbms_output.put_line ('Ending script3');
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec DBMS_LOCK.SLEEP (5);
    @script4.sql
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec dbms_output.put_line ('Ending script3');
    commit;
    spool off;Is this a professional way of tracking the execution of .sql scripts?

    Pete_Sg1 wrote:
    Is this a professional way of tracking the execution of .sql scripts?No. There is very little professional about using .sql scripts on a production system - when stored procedures are safer, more robust, easier managed and controlled and secure.. and where a log table can be used to properly log the runtimes (and other stats) of each processing step.
    Let's just take a look at the number of moving parts you need to schedule and run a .sql script. A cron job needs to be configured with the proper environment setting. It needs to run a shell script. That shell script needs to load SQL*Plus. SQL*Plus needs to connect to the database (starting a dedicated server process most likely). SQL*Plus then needs to read a .sql file, parse these commands and either execute these locally (SQL*Plus commands) or remotely (PL/SQL and SQL commands).
    How can this be considered professional when the very same can be achieved with a
    - stored procedure
    - using DBMS_JOB to schedule the procedure for execution
    There are so many things that can go wrong with the first method. And so few things that could go wrong with the last one. No contest as to which method is not only better, but also professional.
    PS. See that you use Windows to run these scripts. It is even worse as it introduces another hardware and software layer making the scenario even more insecure & unsafe with more moving parts that can go wrong or simply fail.

  • Order of execution of named method user properties and server script

    Dear All,
    If for a Custom method on an applet, we have scripts in WebApplet_preinvokemethod and WebApplet_invokemethod and also for the same Custom method we have applet Named Method user properties and BC Named Method user properties, what will be the order of execution of these scripts and Named Method user properties??

    The Private Event Submission sample portlet shows how to achieve this. It is part of the PDK download.
    Peter

  • Order of execution of VPD policies

    Hi,
    I have a table on which I have defined two policies (one for column masking and one for row filtering).
    From whatever testing I have done, it seems the policy functions get executed in the order in which the policies were created.
    Does oracle guarantee any order of execution of policies defined on the same table?
    Thanks!
    Edited by: kedruwsky on Sep 26, 2008 7:43 AM

    Sounds more like a question for the Database General forum (General Database Discussions
    I'm guessing that there's no guarantee on the order of execution, just like having multiple triggers on tables.

Maybe you are looking for

  • Can I remove or delete the albums that appear automatically in my Album lis

    On later versions of the iOS, Apple has decided to "heplfully" create four fixed automatic Albums. These are All Photos, Panoramas, Last Import and Recently Delelted. I use my Albums as a place to show group and show related images that I have select

  • Any way to turn off errors when updating pages from the template?

    I'm using Dreamweaver MX. My site is huge. It's an intranet spanning dozens of departments. Some of those departments have subsites that don't fall under the intranet's control, although they are embedded within our site's folder structure. When I ma

  • Upgrading Powerbook G4 from USB 1 to USB 2

    Can someone tell me is it possible to upgrade a Powerbook G4 15" which is fitted with two USB1 ports to USB2, please? I would probably take it to an Apple Store rather than attempt it myself. Thank you.

  • Security on Essbase with Financial Reporting

    I am current working on some improvement of my financial reports on essbase, all running at 9.3.1. I have some users that I have to setup the meta security on the essbase entity dimension. For example, a user is only able to see the entity East and a

  • How to assign theme for a particular user

    Hi All, I am new to portal development. I have make one theme Kuldeep_theme. I have already assign the rules and pages. But still its not working for the user given. Kindly give the instruction to apply the theme to a user. Thanks in advance Regards,