Asynch controls not executing in parallel

Can a control or JPD have more then one thread running thru it at a time?
The workshop docs states controls can be asynch but test seem to indicate that asynch controls do not really run in parallel. They seem to be serialized (I think). The only exception I can find so far is a design using web services as demonstrated by the sample provided with the WebLogic install. The example is Conversation.jws which demonstrated conversations and polling.
Is it possible, without using web services, to have both the parent process and the asynch custom control execute in parallel. That is, have them run in parallel threads?
My goal is to create a JPD that calls a control to build a report and as the control is building the report, the JPD performs other actions in parallel. The JPD will monitor the progress of the report control by either a callback or by polling it to see if the report has been completed in between tasks.
Can somebody tell me if this is possible?
Is it possible for the parent process and the asynch custom control to run in parallel?
Any comments would be appreciated.
Thanks…

Hi,
If the activities are all PL/SQL, then the Workflow Engine doesn't run anything in parallel - there is only one engine processing the activities. The theory is that it runs so quickly it will look like it's in parallel with no real effect.
So what you are getting is expected behaviour - it's just that because you have deferred it to the background engine, you have a greater opportunity to see how the engine works.
HTH,
Matt
Alpha review chapters from my book "Developing With Oracle Workflow" are available on my website:
http://www.workflowfaq.com
http://forum.workflowfaq.com
NEW! - WorkflowFAQ Blog at http://thoughts.workflowfaq.com

Similar Messages

  • User exit U935 in Mod. Pool RGGBS000 not executing in Parallel Processing

    Hi,
    Settlement of IO (KO88) is not successful in parallel processing mode.
    While doing Settlement of IOs (KO88) in parallel processing mode, I am getting an error on account assignment object. CO account assignment in OKC9, an user exit U935 is maintained and this user exit is used in Mod.Pool RGGBS000.
    When running the settlement in normal mode, the program is running through this user exit and settlement is successful. But in prallel processing mode, looks like the settlement program is not executing / by passing the user exit and errs out with CO object assignment.
    How can we make the settlement execute through the user exit in parallel processing mode?
    Thanks

    Hi,
    If the user exit supposed to trigger thru substitution (GGB1), then check whether active status is 1 in OKC9.  Just a wild guess....
    Best Regards,
    Madhu

  • Workflow Activities not executing in Parallel

    Hi,
    I am using Oracle Workflow as a dependency management system to load a Data Warehouse.
    Workflow Activities are used to execute a custom PL/SQL wrapper that kick off Oracle Warehouse Builder (OWB) mappings that load target tables with source system data.
    This process works correctly and data is loaded into the Data Warehouse as expected.
    However, when I create a Workflow with activities in parallel they are not loaded concurrently, they load sequentially instead.
    ie.
    START
    => ACTIVITY1 =>
    => ACTIVITY2 =>
    => ACTIVITY3 =>
    AND => END
    In the example above I would expect all 3 Activities to run in parallel, then wait until all 3 are completed at the AND condition.
    All 3 Activities above are DEFERRED to the Background Engine.
    After executing the Workflow and viewing the Workflow Public View WF_ITEM_ACTIVITY_STATUSES_V, it displays all of the Activities in DEFERRED status as expected.
    Workflow then proceeds to execute each Activity one at a time, instead of all 3 at once.
    Any ideas how to execute all 3 Activities in Parallel?
    Thanks.

    Hi,
    If the activities are all PL/SQL, then the Workflow Engine doesn't run anything in parallel - there is only one engine processing the activities. The theory is that it runs so quickly it will look like it's in parallel with no real effect.
    So what you are getting is expected behaviour - it's just that because you have deferred it to the background engine, you have a greater opportunity to see how the engine works.
    HTH,
    Matt
    Alpha review chapters from my book "Developing With Oracle Workflow" are available on my website:
    http://www.workflowfaq.com
    http://forum.workflowfaq.com
    NEW! - WorkflowFAQ Blog at http://thoughts.workflowfaq.com

  • Oracle ADF refresh as deferred does not execute query on page load

    In the oracle ADF page I have two panel boxes. (Oracle ADF 11.1.1.4)
    a) Personal information panel box with PanelFormLayout (PersonalInfoViewObj) - ReadOnly View Object
    b) Address information panel box with Table (AddressInfoViewObj) - Read Only View Object
    For the iterators in a) and b) I have kept refresh condition as deferred and cacheResult=false. Also in b) for af:table, I have kept contentDelivery="immediate"
    When page loads it fires SQL query for a) and populate the data in Personal information panel box. However for b) it does not execute the SQL query and the data is not getting populated ( in AddressInformation panel with the tables. Please note data is there in the DATABASE......)
    Becasue with the refresh as deferred it was not executing the sql query for Panel b) (panel with Table and table iterator). I have tried refresh as always and refresh ifNeeded/renderModel/prepareModel however in that case it is executing the SQL query two times (twice).
    Please let me know the best way to fix this issue.

    Hi,
    I think you need a method in an application module to init your data.
    In your AM : create a method like :
    public void init(){
    getViewObject().executeQuery();
    }In your adfc-config.xml create a methodCall from this method and a "control flow case" from the methodCall to your page.
    and keep refresh as "deferred " in your pageDef.
    Clément

  • Workflow not executing - No event error no log errors

    Hello experts,
    I finally solved the exceptions i was getting in my work flow and all the thanks goes for all the forum participants in general and to  Sudhindra, and  Glauco specifically,
    Now i have another error that i am clueless about, i want to trigger the workflow when the status of a document changes, so when i change the status nothing happens, in SWEL there are no errors, It says that receiver started correctly, in ST22 there are no errors, but
    the workflow does not execute, the workflow should open a web browser, so it is not opening it. Any ideas as to why this is happening ?
    regards
    Points are awarded

    I have replied to this in the original thread... anyways here is a copy of the same...
    No the background task is executed by the user WF-BATCH and once the function module is called the user transfers the control to the SAP GUI and then the SAP GUI communicates with the OS. In this case if the task is background then how will the OS know where to call the web browser? It will not know the user to whom this request must be dispatched.
    So the bottom line is that you cannot use this functionality in a background task.
    There is one workaround that comes to my mind. What you can do to inform a user that the "Changed" event has triggered is as follows:
    1. Create a workflow which will trigger off from the Changed event of "DRAW"
    2. Create a send mail step and check the checkbox that says "Send Express" and include the URL you want to open in the Mail body and then send it to an outlook user.
    If you use the Send Express flag then the user will be intimated once the event has occured if and only if he uses the SAP GUI. If the user does not use the SAP GUI then you can remove the check but just send the mail to the outlook so that the user receives the email in outlook once the event has triggered!
    Apart from this nothing comes to my mind!
    All the best!
    Sudhi

  • Proc stops executing in Parallel?

    I have an Oracle procedure with parallel degree default specified. It works in parallel when called from SQLPlus, but not when called through ODP.Net.
    Any ideas. The client is Oracle 10.2 and the ODP is 10.1.0.200.

    Hi,
    Thanks - there was a discrepancy between the Oracle Client version and the ODP.NET version (i.e. 10.2 vs. 10.1) and they should match. Since you are using the 10.1 version of ODP.NET you would then be using the 10.1 version of the Oracle Client. Not that it is necessarily critical for this particular issue, but you never know...
    When you execute the pl/sql via SQL*Plus do you just do something like:
    begin
      my_pkg.my_proc;
    end;
    /That is essentially what ODP.NET will generate when you set the CommandType to StoredProcedure.
    I did this simple test and it executes in parallel for me... is this similar to what you are doing?
    In the database:
    create table test (
      object_id   number,
      owner       varchar2(30),
      object_name varchar2(30),
      object_type varchar2(19)
    insert into test
    select
      object_id,
      owner,
      object_name,
      object_type
    from
      all_objects
    order by
      object_id;
    commit;
    create or replace procedure build_index as
    begin
      execute immediate
      'create index test_idx on test(object_id) parallel';
    end;
    /C# code:
    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    namespace Miscellaneous
      class Program
        static void Main(string[] args)
          string constr = "user id=markwill;" +
                          "password=oracle;" +
                          "data source=orademo;" +
                          "enlist=false;" +
                          "pooling=false";
          OracleConnection con = new OracleConnection(constr);
          con.Open();
          OracleCommand cmd = con.CreateCommand();
          cmd.CommandText = "build_index";
          cmd.CommandType = CommandType.StoredProcedure;
          cmd.ExecuteNonQuery();
          cmd.Dispose();
          con.Dispose();
    }- Mark

  • FormCalc script is not executed

    Hi everybody,
    I've developped a Pdf forms with FormCalc Script.
    This script does works in the preview designer of SFP transaction but when i try to run the pdf forms through a specific program, the script is not executed.
    Do you have any idea ?
    The pdf is a ZCI layout.
    My SAP platform is ECC 6.0

    Brice,
    What is the type of form you are developing ? Interactive or Print.
    My guess you be creating a Print form where dynamic scripting does not work.
    Alternatively put following line of code in the script to see if the control is transferred to your event or not.
    $host.messageBox("Inside event")
    Chintan

  • Script is not executed - Standard-TimeOut

    Hello, I have a problem with a script, that is debugged without mistakes, but is not executed anyway. The Script consists of the movie with a keyframe  that creates a new Instance for an Object that again creates a series of new Instances for another Object (array) that controls an associated Movieclip.
    The Error: A Script was executed longer than the Standard-Time-Out of 15 Seconds.
    If necessary, I will add the script.
    Thank you

    The Script shall create an endless flow of fonts that fall from top to bottem (a "matrix in serif")
    The Main Movie
    import testklassen.*;
    stop();
    var FontFlow1:FontFlow = new FontFlow();
    The "testklassen"-package:
    The First Object "Font" controls the Motion of the "FontMovieClip".
    package testklassen {
        import flash.display.*;
        import flash.display.MovieClip;
        import flash.utils.*;
        import flash.events.*;
        import flash.events.Event;
        import fl.transitions.*;
        public class Font {
                public var Counter:int;
                public var X_Position:int;
                public var Y_Position:int;
                public var Speed:int;
                public var myFrameRate:Number;
                public function Font (pCounter, pX_Position, pY_Position, pSpeed)  {
                    this.Counter = pCounter;
                    this.X_Position = pX_Position;
                    this.Y_Position = pY_Position;
                    this.Speed = pSpeed;
                    this.myFrameRate = 1000/32;
                    //Loop moves the FontMovieClip from the top to the bottom...
                    //The Motion consists only of Y-component.
                    root.FontMovieClips[Counter].play();
                    var timer:Timer = new Timer(myFrameRate, 100);
                    timer.addEventListener(TimerEvent.TIMER, goOn);
                        function goOn()  {
                        this.Y_Position += this.Speed
                        root.FontMovieClips[Counter].Y = this.Y_Position;

  • Change of settlement control (not binding) from 2 to 3

    Dear expert
    we want to change in plant xxxx settlement control (not binding) from 2 to 3. How can be do that. transaction has already been made in the plant.

    Hi Amit,
    As far as I understand you are making reference to the Price determination control field MLAST.
    The change of price determination control using TA CKMM should be done shortly before     
    running the MM period shift (Transaction MMPV) at month end. This procedure will ensure,
    that status 'newly created'  remains in the prior period unchanged. Please check the note 703604
    which provides a detailed explanation about how to execute transaction CKMM to change
    price determination from '2' to '3'.
    In addition, please read the note 384553 carefully as it explains what happens if     
    CKMM is executed.                                                        
    I hope helps.
    Regards,
    MLM

  • Could not execute 'IMPORT FROM '/dropbox/S0008356087/NASDAQ.ctl''

    Hi All,
    when i am trying to execute the following SQL command in Hana 7 server i am getting the following error message.
    Error message:
    Could not execute 'IMPORT FROM '/dropbox/S0008356087/NASDAQ.ctl''
    SAP DBTech JDBC: [2]: general error: Cannot open Control file, /dropbox/S0008356087/NASDAQ.ctl
    I have checked all the syntax and all are fine.
    my doubt is first i have assigned to hana 5 server.after that due to some outage they have migrated me to hana 7 server.
    due to this do am i getting or i don't have access to that directory.
    Here is folder that i have created the hana dev center.
    Folder name : S0008356087
    and last is for all the hana servers is  FTP folder is same or it will change from server to server

    Hi Jagan,
    Please try again now - your suspicion was absolutely right: you didn't have access to the folder from the new server. Should be fixed now...
    --Juergen

  • IB (Incoming Bank Statements), itu00B4 s not executed

    I´m developing plugin IB (Incoming Bank Statements), and have the following problem, payment takes control from the DLL, because once raised the motor, action cannot be done on her, does not allow to modify the name to him, to erase it, to on writing it, when executing it the motor says that the flame, but does not execute any method (or code), I have made several versions of the DLLs, one to me with exit towards the screen, to know if it managed to enter some method, other than this same exit writes to me towards txt in the hard disk, and by I complete one with the pure IBP_Plugin class, without declaring to him the methods, and the result continues being the same one, Could help me? Because it passes this situation to me?
    Thanks beforehand
    Rubén Sánchez Chávez

    thans

  • Update Row into Run Table Task is not executing in correct sequence in DAC

    Update Row into Run Table Task is not executing in correct sequence in DAC.
    The task phase for this task is "Post Lost" . The depth in the execution plan is 19 but this task is running some times in Depth 12, some times in 14 and some time in Depth 16. Would like to know is this sequence of execution is correct order or not? In the out of the Box this task is executed at the end of the entire load. No Errors were reported in DAC log.
    Please let me know if any documents that would highlight this issue
    rm

    Update into Run table is a task thats required to update a table called W_ETL_RUN_S. The whole intention of this table is to keep the poor mans run history on the warehouse itself. The actual run history is stored in the DAC runtime tables, however the DAC repository could be on some other database/schema other than warehouse. Its mostly a legacy table, thats being carried around. If one were to pay close attention to this task, it has phase dependencies defined that dictate when this task should run.
    Apologies in advance for a lengthy post.... But sure might help understanding how DAC behaves! And is going to be essential for you to find issues at hand.
    The dependency generation in DAC follows the following rules of thumb!
    - Considers the Source table target table definitions of the tasks. With this information the tasks that write to a table take precedence over the tasks that reads from a table.
    - Considers the phase information. With this information, it will be able to resolve some of the conflicts. Should multiple tasks write to the same table, the phase is used to appropriately stagger them.
    - Considers the truncate table option. Should there be multiple tasks that write to the same table with the same phase information, the task that truncates the table takes precedence.
    - When more than one task that needs to write to the table that have similar properties, DAC would stagger them. However if one feels that either they can all go in parallel, or a common truncate is desired prior to any of the tasks execution, one could use a task group.
    - Task group is also handy when you suspect the application logic dictates cyclical reads and writes. For example, Task 1 reads from A and writes to B. Task 2 reads from B and writes back to A. If these two tasks were to have different phases, DAC would be able to figure that out and order them accordingly. If not, for example those tasks need to be of the same phase for some reason, one could create a task group as well.
    Now that I described the behavior of how the dependency generation works, there may be some tasks that have no relevance to other tasks either as source tables or target tables. The update into run history is a classic example. The purpose of this task is to update the run information in the W_ETL_RUN_S with status 'Completed' with an end time stamp. Because this needs to run at the end, it has phase dependency defined on it. With this information DAC will be able to stagger the position of execution either before (Block) or after (Wait) all the tasks belonging to a particular phase is completed.
    Now a description about depth. While Depth gives an indication to the order of execution, its only an indication of how the tasks may be executed. Its a reflection of how the dependencies have been discovered. Let me explain with an example. The tasks that have no dependency will have a depth of 0. The tasks that depend on one or more or all of depth 0 get a depth of 1. The tasks that depend on one or more or all of depth 1 get a depth of 2. It also means implicitly a task of depth 2 will indirectly depend on a task of depth 0 through other tasks in depth 1. In essence the dependencies translate to an execution graph, and is different from the batch structures one usually thinks of when it comes to ETL execution.
    Because DAC does runtime optimization in the order in which tasks are executed, it may pick a task thats of order 1 over something else with an order of 0. The factors considered for picking the next best task to run depend on
    - The number of dependent tasks. For example, a task which has 10 dependents gets more priorty than the one whose dependents is 1.
    - If all else equal, it considers the number of source tables. For example a task having 10 source tables gets more priority than the one that has only two source tables.
    - If all else equal, it considers the average time taken by each of the tasks. The longer running ones will get more preference than the quick running ones
    - and many other factors!
    And of course the dependencies are honored through the execution. Unless all the predecessors of a task are in completed state a task does not get picked for execution.
    Another way to think of this depth concept : If one were to execute one task at a time, probably this is the order in which the tasks will be executed.
    The depth can change depending on the number of tasks identified for the execution plan.
    The immediate predecessors and successor can be a very valuable information to look at and should be used to validate the design. All predecessors and successors provide information to corroborate it even further. This can be accessed through clicking on any task and choosing the detail button. You will see all these information over there. As an alternate method, you could also use the 'All/immediate Predecessors' and 'All/immediate Successor' tabs that provide a flat view of the dependencies. Note that these tabs may have to retrieve a large amount of data, and hence will open in a query mode.
    SUMMARY: Irrespective of the depth, validate
    - if this task has 'Phase dependencies' that span all the ETL phases and has a 'Wait' option.
    - click on the particular task and verify if the task does not have any successors. And the predecessors include all the tasks from all the phases its supposed to wait for!
    Once you have inspected the above two you should be good to go, no matter what the depth says!
    Hope this helps!

  • Event R401 not executing

    Dear Experts,
    During billing i am posting some debits and credits at the same time to customer account. I want them to be cleared when i invoice them. i read posts of other people who have similar problems but after debugging i realised that system is not executing event r401 at all for some reasons.
    i have made the config where we need to define clearing type and clearing category and check the acct maint indicator. table te514 and te529 also configured
    Also please tell if there is any way of knowing which clearing variant is being executed at acct maint(if any)
    Any help would be highly appreciated
    Thanks!

    Dear Experts,
    I have been debugging ISU_INV_ACC_MAINTENANCE but I still havenu2019t achieved what I wanted to do so I tried a few different scenarios. Please let me know if it is supposed to work the way I want it to. Please assume that the necessary configs have been done
    Scenario 1
    -     I billed a consumer using periodic billing. The schema was such that two debit items were posted of say Rs 100 and a credit item was posted for say Rs 100. So in effect the receivables are 100.
    -     I ran invoicing
    -     Using fpl9 when I see consumer balance it shows three line items. Two for the debit receivable and one for the credit. 
    -     Desired result was that during invoicing, the system would run something like automatic clearing and would clear one of the debit with the credit(as per clearing rules). However this did NOT happen
    Scenario 2
    -     I posted a downpayment request for some consumer of Rs 100(Downpayment has clearing restriction 8)
    -     Customer paid Rs 100.
    -     I billed the consumer using periodic billing. The schema was such that two debit items were posted of say Rs 100 and a credit item was posted for say Rs 100. So in effect the receivables are 0 because we already have received a downpayment of 100.
    -     Desired result was that the credit posted during billing would clear with one of the debits of the bill and the downpayment would clear against the other debit posted during billing(as per clearing rules). However, no clearing took place and all documents are intact
    These are the comfigs I have made
    i)     Acct maint has been set to active against the clearing type in u2018additional controls for invu2019
    ii)     Table TE514 maintained with mains and subs and clearing categ and clearing type
    iii)     Clearing variant assigned to R41 and R4 in FI-CA
    iv)     Invoicing document shows clearing type R41 in ea40
    Please suggest if this isnu2019t the way the system is supposed to behave
    Would really appreciate. Feel free to ask if any confusions

  • Exit IMRC0001  not executing

    Hi Experts,
    I m trying to implement the exit IMRC0001 for creating notification through ik11.
    but when ever i am trying to debug the exit is not executing .
    i had just put a break point in ZXMRCU01.
    but the control is not stopping there..

    Hi bibhuti khamari,
    After creating  include ZXMRCU01, Have you activated the exit?
    If you have done so and your break-point is not getting triggered then try the following exits :
    IMRC0002 MeasPoint: Menu exit for customer-specific function
    IMRC0003 MeasDoc: Menu exit for customer-specific function
    IMRC0004 Measure.doc.:Exit according to stndrd checks for new mes.doc
    IMRC0005 Measure point: Exit in AUTHORITY_CHECK_IMPT
    Thanks & Regards,
    Faheem.

  • Trigger query not executed and havenot any exception

    Hello all,
    I am using oracle 10g lite database, and i m firing a create trigger query, but it is not executed on console, when i try at console at this trigger query after that no one query will fire,
    Plzzzzzzzzzzzzzzzzzzz help me
    my used table is
    1. create table t1 ( c1 int, c2 int);
    2. create table t2 (c1 int, c2 int);
    3. Create trigger System.check after insert on system.t1 For each Row begin Insert Into system.t2 ( c1,c2 ) Values (1,1) ;end ;
    Thankx in advance
    Pankaj

    Triggers are supported on the client side in newer versions:
    11.2.1 Creating Java Stored Procedures
    To create a stored procedure, perform the following:
    1.
    Create the class that you want to store in Oracle Database Lite. You can use any Java IDE to write the procedure, or you can simply reuse an existing procedure that meets your needs.
    When creating the class, consider the following restrictions on calling Java stored procedures from SQL DML statements:
    When called from an INSERT, UPDATE, or DELETE statement, the method cannot query or modify any database tables modified by that statement.
    When called from a SELECT, INSERT, UPDATE, or DELETE statement, the method cannot execute SQL transaction control statements, such as COMMIT or ROLLBACK.
    Note:
    Any SQL statement in a stored procedure that violates a restriction produces an error at run time.
    2.
    Provide your class with a unique name for its deployment environment, since only one Java Virtual Machine is loaded for each Oracle Database Lite application. If the application executes methods from multiple databases, then the Java classes from these databases are loaded into the same Java Virtual Machine. We recommend that you prefix the Java class name with the database name to ensure that the Java class names are unique across multiple databases.
    3.
    If you are executing any DML statements in your Java stored procedure, then—in order for these statements to exist within the same transaction—you must pass an argument of type java.sql.Connection as the first argument in the method. You must have the Connection object in order to prepare and execute any statements. Oracle Database Lite supplies the appropriate argument value of the Oracle Lite database Connection object for you; the application executing the method does not need to provide a value for this parameter.

Maybe you are looking for

  • Reading a XML file

    Hello, i need to read a XML from an iView (JSP page) which lays somewhere on a/the server. (http://xyz.abc.com/test.xml). Is there any API available to do this? JDOM maybe? regards, Markus

  • BB MESSENGER- BBM MESSAGES ARE RED CLOCKING AND NEVER SEND

    for a while my phone has been very slow and messages slow att sending but did eventually send/deliver. well one morning when i woke up i discovered my bbm (blackberry messenger) was not working my display picture, status, name wouldnt change and my m

  • Certain Songs Stop--Nothing Else Running--Can I Re-Download?

    New to Ipod/iTunes. Most songs on my new touch downloaded via the iTunes wifi store. Have about 6 songs so far that stop playing at exact the same point each time (varies by song). The touch moves to next song in playlist unless I catch it in time an

  • Help my  ipad wont turn on

    my ipad screen wont turn on but it is charged but it just goes to a blue screen wen i press the middle butto

  • Unable to install Adobe flash player silently while IE is running.

    How to install Adobeflash player Active x while IE is running. I have tried with .exe and .MSI also error is showing same even it's not happening manually also.Have any Idea?