Order of execution of rules in a transformation

I have a transformation in wich 2 rules are using abap-code. Both rules need an initial calculation which is the same for both rules. After the initial calculation each rules proceeds differently.
So I have rule 1:
- INITIAL ABAPCODE A
- FURTHER ABAPCODE B
And rule 2:
- INITIAL ABAPCODE A
- FURTHER ABAPCODE C
I think that I need to do calculation A only once (in rule 1) and store the result in a global variable. Then in rule 2 I should be able to re-use this initial result. However: It appears that sometimes rule 2 is exectued BEFORE rule 1. Is this a known problem?

Ok in that case better idea would be to move it to End routine
so end routine would look somethign like this
Loop at Result_package in <result_package>
routine A
Routine B
Routine C
End loop.
This will execute routine A or calculation A only once.
Regards
Sudeep

Similar Messages

  • 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

  • Conversion of Update rule to new Transformation

    Hi All,
    I'm using BI 7.0 SP9. I have a scenerio where in I need to load standard cube 0SD_C03 cube from the standard extractors like 2LIS_11_VAITM etc..
    Based on the the thread below I have done the follwoing steps.
    how to migrate old transfer rule/update rule to new transformation?
    - Activated Business content cubes, update rules, infosources etc...
    - Done all the required work in Source system.
    - Later migrated data sources.
    - Now the problem comes, Based on the above tread I have gone to the context menu and selected "Tranforamation erzeugen". It asks to create new Infosource created a new infosource and the the transformation came up. But I can see its not mapped to Source system datasource. I mean its not linked to the datasource in Source system. Its just created in BW and when i load nothing happen. I understand this is not correct process.
    But when it pops up for Infosource If I select existing Infosource I dont see the old one's just because they were migrated already.
    Now how do I link with the source system with out creating transformation manually. because there are lots of standard routines in update which cant be rewriten in new transformation manually.
    Please let me know if there is a way to directly copy them and also correct me If i'm doing some thing wrong.
    Thanks in advance,
    Reagrds,
    Prashanth Reddy

    As Alex said delete the existing datasources and try to replicate it again as 3.x datasources. The process will work fine.
    When you replicate datasources it will pop-up screen for you to replicate as 3.x datsources or as a new datasource.
    Whenever you will plan to migrate from 3.x to new one, do migrate update rule, and transfer rules first. As when you migrate datasource, it deletes existing update rules/transfer rules also. For each update rule/ transfer rule it will create transformation for you after migration.
    After migration your scema will look like:
    datasource (new)-> transformation( replacement for transfer rule)->infosource(new)->transformation (replacement for update rules)->data target.
    Anyways when you will createmodel from scratch in 2004s system,  i hope you know infosource is now more mandatory in 2004s system.

  • 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

  • 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

  • [Solved] WM similair to Awesome but without need to learn a PL.

    Hello all. I search for a WM similar to Awesome 3.4 but without needing to learn a programming language to configure it. I think Ratpoison is nice  ,but I can all that I can do with awesome-bar with it pop-up bar? Is there something like that. Thanks

  • Changing the column postion in table control

    Hi All, In table control i want to change the columns postion according to users requirement. How to do that? Thanks for advance. Regards, krishna

  • How to insert Newline in text file thr CL_ABAP_CHAR_UTILITIES

    Hi, I need to send a mail with TEXT file attachment which has many records in it. It is working fine. But the only problem is, all records are displayed in the 1st line itself. So i need to separate the records by inserting new line. constants: c_new

  • Synchronous HTTP-IDOC Scenario

    Hi, We have a scenario where our vendor sends us the cXML invoices which we are receiing using a HTTP adapter and creating a IDOC in R/3 using a IDOC adapter. But our vendor is expecting a cXML response back which contains the status code 200. To do

  • UIX EOFException

    In my Project with UIX 2.2.8, Struts, ADF I'm getting an EOFException. Stacktrace below. What could be the cause? Regards, Jan 04/11/22 14:11:50 java.io.EOFException: Unexpected end of ZLIB input stream 04/11/22 14:11:50      at java.util.zip.Inflate