Global automatic tab

Hello!
Is there a way of defining automatic tab for ALL fields in a form?
To define automatic tabs on the fields, individualy, I'm using this FormCalc field:
var fullCount = <field_length>
var currentString = xfa.event.newText
if(Len(currentString) >= fullCount) then
    xfa.host.setFocus("next_field_name")
endif
Now, is there a way of defining automatic tabs for all fields based on the order defined in the Tab Order panel?
Thank you for any ideas!
Marcos

Hi Niall,
Thank you very much for the info. But actually I was looking for a script to place in one place and define all fields with automatic tab.
I agree 100% with you that it would be much better to use tab order, but the client does not accept this and wants a magic solution.
I suspected it was not possible, but... you know, I need to be sure before telling the client it cannot be done.
Thanks anyway.  
Marcos

Similar Messages

  • Create Process via Global Automatic activity

    Hi!
    I´m trying to automatize some process, that can auto-execute one time at a day. For this, i'm thinking of use the global automatic activity, and I 've scheduled to execute (for testing) every minute. But this never happends
    If the global has no bp.Method inside, obviusly, nothing happends. Hence, when i wrote this code:
    logMessage "Se ha iniciado el proceso de consulta de calendario a las:" +'now'
         using severity = INFO
    ProcessInstance.create(processId : "/ConsultarCalendarioCompras", arguments : null, argumentsSetName : "")
    how could i solve this?
    Thanks

    Hi,
    Are you seeing your log INFO statement in the log file every minute? Assuming you are, I think all you're missing is a valid value for the third parameter. Try changing your logic to this:
    ProcessInstance.create(processId : "/ConsultarCalendarioCompras",
         arguments : null, argumentsSetName : "BeginIn")
    . . .Once you get this working, take a look at this thread for information on how to pass in argument variables into the work item instance using the second parameter: Re: How to create Instace of another process from running process.
    Hope this helps,
    Dan

  • Automatic tab when reaching the end of a field with limited character number

    Hello!
    Is there a way of activating an automatic tab behaviour when the user reaches the end of a field with limited character number?
    I'd like the cursor to jump to the next field in tab order automatically.
    Possible?
    Thank you for any hints!
    Marcos

    Hi,
    What if you tried something like the following example? This works using formCalc on the change event for the field the user is currently typing into:
        var fullCount = 3
        var currentString = xfa.event.newText
        if(Len(currentString) >= fullCount)then
            xfa.host.setFocus("TextField2")
        endif
    Or, if you prefer javaScript:
        var fullCount = 3;
        var currentString = xfa.event.newText;
        if(currentString.length >= fullCount){
            xfa.host.setFocus("TextField2");
    These work very smoothly.
    Hope this helps!
    Stephen

  • Automatic tabbing at end of field in my dynpro

    HI,
    I want automatic tabbing at end of field for my dynpro field hours_start minutes_start hours_end minutes_end that are only of 2 char in dynpro.
    E.g. i write 15102030 i want that automatically the dynpro field is
    hours_start = 15
    minutes_start = 10
    hours_end = 20
    minutes_end = 30
    How can i move the cursor automatically when one of the field is completely filled?
    I don't want set with ALT+F12 -> Option why I don't want change other programs.
    Gustavo

    Hi,
    for example it can place the cursor in the next field after pressing ENTER, but so it's better to press TAB directly
    You're right Max. However, in that case I would go with the ENTER. We can e.g. check in the PBO the length of each field in sequence, with STRLEN, and then set the cursor on the first incomplete field... This way the user only has to press enter to cycle through those fields and will stay on the same field until completely filled.
    Well, kind of useless stuff I agree
    Kr,
    Manu.

  • Trigger a Begin event running Global Automatic activity

    Hi
    I have a situation explained as follows:
    The BPM Process flow would be triggered when a message comes into a JMS Queue.
    I have configured the JMS Messaging Service as an external resource and used a Global Automatic Activity as an Automatic JMS Listener to listen on that queue.
    Once the message is received on the queue, I want my actual process flow to be instantiated and activities following the begin activity to be executed.
    In the Studio Reference document, it is mentioned that
    You can trigger a Begin event running Global Automatic activity.
    Can someone tell me the steps to trigger the Begin Event from Global Automatic Activity and create the process instance.
    Thanks

    You have to call this method
    ProcessInstance.create(arguments : args, argumentsSetName : "BeginIn")
    Args is Any[String] where you put you input arguments that you have in your begin activity and BeginIn is the set of arguments you have in the begin activity.
    HTH

  • Transfer value from global automatic activity in Aqualogic BPM Suite

    Hi, I am new to Aqualogic BMP suite and stuck with the following problem :
    In aqualogic bpm suite, if we are setting some values to some variables in a global automatic activity in a process how to get those values back in some other activities (say an Interactive activity) in the same process or how to assign the values to some instance variables in the Begin activity ??
    We have a scenario where we are creating some process instances from the Global Automatic activity using the following :
    args["name"] = abc
    create ProcessInstance using parameters = args
    Now how to get the value "abc" and assign this value to an instance variable in the Begin activity(/access the value "abc" in an interactive activity)within the same process.
    Thanks,
    Suman.

    Hi,
    Let's say you have an Argument Set defined in your Begin activity called BeginIn. The arguments in this Argument Set can be "a", "b" and "c" of type String, Int and boolean accordingly.
    If you want to use the ProcessInstance.create method, then you would need to have a PBL script like this one:
    args[] = [ "a" : "SomeStringLiteral", "b" : 1234, "c" : true ];
    ProcessInstance.create(processId : "/MyProcess", arguments : args, argumentsSetName : "BeginIn");
    HTH,
    eduardoc.

  • Global Automatic Activity - Process to Process

    Hi,
    How can we invoke another process from one process using a Global automatic activity..Is PAPI the only way? How can we use PAPI code inside of a Global Automatic Activity to call another process?v Any examples?
    Edited by: user647659 on Oct 27, 2008 11:02 PM
    Edited by: user647659 on Oct 28, 2008 11:49 AM

    I am not sure what you saying..Did u mean Global Creation ? But that would have a user to invoke the process..I want to invoke it automatically...I got a part of the answer...But it takes all instances..and creates multiple instances..I want to isolate the instances previously been transferred..What I am doing is ..Using a Global Automatic to invoke the other process.Writing a PAPI code to call the other process from this process...and Polling By Interval every 1m..
    Here is a code:-
    ProcessService ps;
    ps.connectTo(url : Fuego.Server.directoryURL, user : (String)BusinessParameter.getValue(name : "USER_NAME"), password : (String)BusinessParameter.getValue(name : "PASSWORD"));
    logMessage("Process Service connected--->" );
    businessProcess = ps.getProcess(process : "StartProcess");
    InstanceFilter instanceFilter;
    instanceFilter.create(processService : ps);
    SearchScope searchScope = new SearchScope(ParticipantScope.ALL,StatusScope.INPROCESS_AND_COMPLETED);
    instanceFilter.searchScope = searchScope;
    result2 = businessProcess.getInstancesByFilter(filter : instanceFilter);
    logMessage("Length ==>" +length(result2));
    length = length(result2);
    logMessage("Length Transferred==>" +length);
    test["name"] = "testing";
    if(length > 0)
         for(int i=0; i < length; i++)
              ProcessInstance.create(arguments : test, argumentsSetName : "BeginIn");
    else
         logMessage("length is-->" + length);
    length = 0;
    Any suggestions on how to isolate the previous obtained instances would be appreciated..
    Thanks,

  • Process creation using Global Automatic Activity - OBPM 10g

    Hi,  I would like create the process instance for my application on every 2nd business day of a month. I also have a calendar defined for checking business day.  But I am unable to figure out to how use that calendar to determine second business day of any month. Global Automatic type is set to Automatic schedule and monthy option was selected. But I believe this would trigger the process on every second day of the month, without considering the fact whether its  business day or not. There is Runs on Holidays checkbox, but not sure what it really does. If it checks for holidays then which calendar does it refers to. Hence, please let me know how can i specify a calendar or any alternate solution to trigger process creation. Thanks, Namit
    n

    I am not sure what you saying..Did u mean Global Creation ? But that would have a user to invoke the process..I want to invoke it automatically...I got a part of the answer...But it takes all instances..and creates multiple instances..I want to isolate the instances previously been transferred..What I am doing is ..Using a Global Automatic to invoke the other process.Writing a PAPI code to call the other process from this process...and Polling By Interval every 1m..
    Here is a code:-
    ProcessService ps;
    ps.connectTo(url : Fuego.Server.directoryURL, user : (String)BusinessParameter.getValue(name : "USER_NAME"), password : (String)BusinessParameter.getValue(name : "PASSWORD"));
    logMessage("Process Service connected--->" );
    businessProcess = ps.getProcess(process : "StartProcess");
    InstanceFilter instanceFilter;
    instanceFilter.create(processService : ps);
    SearchScope searchScope = new SearchScope(ParticipantScope.ALL,StatusScope.INPROCESS_AND_COMPLETED);
    instanceFilter.searchScope = searchScope;
    result2 = businessProcess.getInstancesByFilter(filter : instanceFilter);
    logMessage("Length ==>" +length(result2));
    length = length(result2);
    logMessage("Length Transferred==>" +length);
    test["name"] = "testing";
    if(length > 0)
         for(int i=0; i < length; i++)
              ProcessInstance.create(arguments : test, argumentsSetName : "BeginIn");
    else
         logMessage("length is-->" + length);
    length = 0;
    Any suggestions on how to isolate the previous obtained instances would be appreciated..
    Thanks,

  • Polling or JMS Message in Global Automatic

    Hi,
    I am currently working on a process which uses a Global Automatic activity to invoke a process instance. The process instance is invoked when the process receives some ticket information ( ticket id, type of ticket, customer name etc.) from an external application. This information is passed to the process using a web-service.
    Now, I am confused whether to use JMS message or Polling by Interval inside of the Global Automatic acitivity to receive the message with the ticket information. Could anyone please suggest..
    Also does anybody have an example of invoking a process instance after receiving a JMS message...?

    HI!!!
    In this URL of the Glorius bea.edocs.com, there is an example about working with JMS
    http://egeneration.beasys.com/albsi/docs55/index.html

  • Exception when begin process via Global Automatic JMS task

    I have a process that works when I invoke it via a global creation task. However, when I try to invoke it automatically via a global automatic task listening to a JMS queue, I get the following exceptions and the instance fails.
    An exception occurred while executing a transaction. Details:
    java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
    java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
         at fuego.lang.JavaClass.loadClass(JavaClass.java:945)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:902)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:874)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:868)
         at fuego.lang.JavaClass.forName(JavaClass.java:271)
         at xobject.CandidateManagement.CandidateList.<init>(CandidateList.xcdl)
         at JMSPrototype3.ChooseCandidateCustomer.Default_1_0.Instance.<init>(Instance.xcdl)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:86)
         at fuego.server.AbstractProcessBean$42.execute(AbstractProcessBean.java:2771)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:302)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:2777)
         at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:113)
         at fuego.component.Message.process(Message.java:578)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:772)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:747)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:143)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:135)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:248)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:831)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:409)
    Process execution engine execution error.
    Caused by: java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
    fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:139)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:2777)
         at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:113)
         at fuego.component.Message.process(Message.java:578)
         at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:772)
         at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:747)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:143)
         at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:135)
         at fuego.fengine.FEngineProcessBean.processBatch(FEngineProcessBean.java:248)
         at fuego.component.ExecutionThread.work(ExecutionThread.java:831)
         at fuego.component.ExecutionThread.run(ExecutionThread.java:409)
    Caused by: java.lang.ClassNotFoundException: java.lang.ClassNotFoundException: xobject.CandidateManagement.CandidateList$CandidatesGroup
         at fuego.lang.JavaClass.loadClass(JavaClass.java:945)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:902)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:874)
         at fuego.lang.JavaClass.loadByJavaType(JavaClass.java:868)
         at fuego.lang.JavaClass.forName(JavaClass.java:271)
         at xobject.CandidateManagement.CandidateList.<init>(CandidateList.xcdl)
         at JMSPrototype3.ChooseCandidateCustomer.Default_1_0.Instance.<init>(Instance.xcdl)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:86)
         at fuego.server.AbstractProcessBean$42.execute(AbstractProcessBean.java:2771)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:302)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         ... 11 more

    Hi,
    Sure this is just my confusion, but if I'm reading this correctly, you're trying to use an instance variable in a Global Automatic.
    If this is the case, I know this sounds odd, but you don't have access to instance variables inside a Global Automatic. You can create an instance inside the logic of one of these activities if you call the Fuego.Lib.ProcessInstance method "createInstance". For this method you'll notice that one of the parameters it expects is a Any[String]. You'll need to populate this hash table to set instance variable in the instance you're creating.
    Hth,
    Dan

  • Webservice vs JMS in Global Automatic

    Hi all,
    My client wants to automatically initiate a process after receiving some information from a web service. I have to use a Global Automatic activity to do so. I understand that the Global Automatic activity has an option to listen to an automatic JMS message and trigger/start/initiate the process..
    But the global automatic activity has no option to trigger/start/initiate the process after receiving some information from a web service. Can this be done irrespective of whether the Global Automatic activity has the option or not? Or do I have to only use JMS message to trigger the process?
    Edited by: user647659 on Aug 7, 2009 7:29 AM

    But the global automatic activity has no option to trigger/start/initiate the process after receiving some information from a web service. Can this be done irrespective of whether the Global Automatic activity has the option or not? Or do I have to only use JMS message to trigger the process?To see how to create an instance from a Global Automatic (or any activity) using logic go to How to create Instace of another process from running process.
    Dan

  • Parallel pipelined table function, autonomous_transaction to global tmp tab

    Hi,
    i try to speed up my parallel pipelined table function and switch from pl/sql collection to global temporary table inside.
    This requires to use PRAGMA AUTONOMOUS_TRANSACTION (and commit), because inserting into global temporary table (DML)
    within select - for invoking the table function - is not allowed without.
    As a consequence of commit it next requires to have on commit preserve rows for the global temporary table.
    Now:
    Inserts into the global temporary table are done - indicated by sql%rowcount.
    But a select afterwards doesn't show any record anymore.
    Here is a program to demonstrate it:
    set serveroutput on;
    drop type TestTableOfNumber_t;
    create or replace type TestTableOfNumber_t is table of number;
    drop type TestStatusList;
    drop type TestStatusObj;
    create or replace type TestStatusObj as object(
         sid number,
         ctr1 number,
         ctr2 number,
         ctr3 number
    create or replace type TestStatusList is table of TestStatusObj;
    drop table TestTmpTable;
    create global temporary table TestTmpTable (
         value     number
    ) on commit preserve rows;
    create or replace package test_pkg
    as
         type TestStatusRec is record (
              sid number,
              ctr1 number,
              ctr2 number,
              ctr3 number
         type TestStatusTab is table of TestStatusRec;
         function FillTmpTable(id in varchar2)
         return TestStatusRec;
         FUNCTION ptf (p_cursor  IN  sys_refcursor)
         RETURN TestStatusList PIPELINED
         PARALLEL_ENABLE(PARTITION p_cursor BY any);
    end;
    create or replace package body test_pkg
    as
         function FillTmpTable(id in varchar2)
         return TestStatusRec
         is
              PRAGMA AUTONOMOUS_TRANSACTION;
              result TestStatusRec;
              sid number;
              type ton is table of number;
              tids TestTableOfNumber_t := TestTableOfNumber_t();
              records number := 0;
         begin
              select userenv('SID') into sid from dual;
              result.sid := sid;
              delete from TestTmpTable;
              for i in 1..100 loop
                   tids.extend;
                   tids(tids.last) := i;
              end loop;
              forall i in 1..tids.count
                   insert into TestTmpTable (value) values (tids(i));
              -- get number of records inserted
              records := sql%rowcount;
              result.ctr1 := records;
              -- retrieve again before commit
              select count(*) into records from TestTmpTable;
              result.ctr2 := records;
              commit;
              -- retrieve again after commit
              select count(*) into records from TestTmpTable;
              result.ctr3 := records;
              return result;
         end;
           FUNCTION ptf (p_cursor  IN  sys_refcursor)
         RETURN TestStatusList PIPELINED
         PARALLEL_ENABLE(PARTITION p_cursor BY any)
         IS
              rec test_pkg.TestStatusRec;
              value number;
              sid number;
              ctr integer := 0;
         BEGIN
              select userenv('SID') into sid from dual;
              rec := FillTmpTable('IN PTF');
              LOOP
                   FETCH p_cursor into value;
                   EXIT WHEN p_cursor%NOTFOUND;
                   ctr := ctr + 1;     
              END LOOP;
              -- as a result i am only interested in the results of FillTmpTable():
              PIPE ROW (TestStatusObj(rec.sid, rec.ctr1, rec.ctr2, rec.ctr3));
                  RETURN;
         END;
    end;
    declare
         tons TestTableOfNumber_t;
         counts TestTableOfNumber_t;
         status test_pkg.TestStatusRec;
         statusList test_pkg.TestStatusTab;
    begin
         status := test_pkg.FillTmpTable('MAIN');
         dbms_output.put_line('main thread:'
              || ' sid #' || status.sid
              || ' / #' || status.ctr1 || ' inserted '
              || ' / #' || status.ctr2 || ' before commit'
              || ' / #' || status.ctr3 || ' after commit');     
         select value bulk collect into tons from TestTmpTable;
         select * bulk collect into statusList from TABLE(test_pkg.ptf(CURSOR(select /*+ parallel(tab,2) */ value from TestTmpTable tab)));
         for i in 1..StatusList.count loop
              dbms_output.put_line('worker thread #' || i  || ':'
              || ' sid #' || statusList(i).sid
              || ' / #' || statusList(i).ctr1 || ' inserted '
              || ' / #' || statusList(i).ctr2 || ' before commit'
              || ' / #' || statusList(i).ctr3 || ' after commit');
         end loop;
    end;
    /The output is:
    main thread: sid #881 / #100 inserted  / #100 before commit / #100 after commit
    worker thread #1: sid #421 / #100 inserted  / #0 before commit / #0 after commit
    worker thread #2: sid #321 / #100 inserted  / #0 before commit / #0 after commitThe 1st line is for the main thread invoking FillTmpTable().
    The next #2 lines are for the worker threads of the parallel pipelined table function for invoking the same FillTmpTable().
    For the main thread everything is as expected.
    But for the worker threads the logs for before commit and after commit both give #0 for the number of available records in the global temporary table.
    However all indicate #100 for the SQL insert
    regards,
    Frank
    Edited by: user8704911 on Jul 7, 2011 10:13 AM
    Edited by: user8704911 on Jul 7, 2011 10:20 AM
    Edited by: user8704911 on Jul 7, 2011 10:27 AM

    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE    11.1.0.7.0      Production
    TNS for Linux: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production
    SQL> set serveroutput on;
    SQL> drop type TestTableOfNumber;
    drop type TestTableOfNumber
    ERROR at line 1:
    ORA-04043: object TESTTABLEOFNUMBER does not exist
    SQL> /
    drop type TestTableOfNumber
    ERROR at line 1:
    ORA-04043: object TESTTABLEOFNUMBER does not exist
    SQL> 
    SQL> create or replace type TestTableOfNumber_t is table of number;
      2  /
    Type created.
    SQL> 
    SQL> drop type TestStatusObj;
    drop type TestStatusObj
    ERROR at line 1:
    ORA-04043: object TESTSTATUSOBJ does not exist
    SQL> /
    drop type TestStatusObj
    ERROR at line 1:
    ORA-04043: object TESTSTATUSOBJ does not exist
    SQL> 
    SQL> create or replace type TestStatusObj as object(
      2   sid number,
      3   ctr1 number,
      4   ctr2 number,
      5   ctr3 number
      6  );
      7  /
    Type created.
    SQL> 
    SQL> drop type TestStatusList;
    drop type TestStatusList
    ERROR at line 1:
    ORA-04043: object TESTSTATUSLIST does not exist
    SQL> /
    drop type TestStatusList
    ERROR at line 1:
    ORA-04043: object TESTSTATUSLIST does not exist
    SQL> 
    SQL> create or replace type TestStatusList is table of TestStatusObj;
      2  /
    Type created.
    SQL> 
    SQL> drop table TestTmpTable;
    drop table TestTmpTable
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> /
    drop table TestTmpTable
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> 
    SQL> create global temporary table TestTmpTable (
      2   value number
      3  ) on commit preserve rows;
    Table created.
    SQL> /
    create global temporary table TestTmpTable (
    ERROR at line 1:
    ORA-00955: name is already used by an existing object
    SQL> 
    SQL> create or replace package test_pkg
      2  as
      3  
      4   type TestStatusRec is record (
      5    sid number,
      6    ctr1 number,
      7    ctr2 number,
      8    ctr3 number
      9   );
    10  
    11   type TestStatusTab is table of TestStatusRec;
    12  
    13   function FillTmpTable(id in varchar2)
    14   return TestStatusRec;
    15  
    16   FUNCTION ptf (p_cursor  IN  sys_refcursor)
    17   RETURN TestStatusList PIPELINED
    18   PARALLEL_ENABLE(PARTITION p_cursor BY any);
    19  
    20  end;
    21  /
    Package created.
    SQL> 
    SQL> create or replace package body test_pkg
      2  as
      3  
      4   function FillTmpTable(id in varchar2)
      5   return TestStatusRec
      6   is
      7    PRAGMA AUTONOMOUS_TRANSACTION;
      8  
      9    result TestStatusRec;
    10  
    11    sid number;
    12  
    13    type ton is table of number;
    14    tids TestTableOfNumber_t := TestTableOfNumber_t();
    15  
    16    records number := 0;
    17   begin
    18    select userenv('SID') into sid from dual;
    19    result.sid := sid;
    20  
    21    delete from TestTmpTable;
    22  
    23    for i in 1..100 loop
    24     tids.extend;
    25     tids(tids.last) := i;
    26    end loop;
    27  
    28    forall i in 1..tids.count
    29     insert into TestTmpTable (value) values (tids(i));
    30  
    31    -- get number of records inserted
    32    records := sql%rowcount;
    33    result.ctr1 := records;
    34  
    35    -- retrieve again before commit
    36    select count(*) into records from TestTmpTable;
    37    result.ctr2 := records;
    38  
    39    commit;
    40  
    41    -- retrieve again after commit
    42    select count(*) into records from TestTmpTable;
    43    result.ctr3 := records;
    44  
    45    return result;
    46   end;
    47  
    48     FUNCTION ptf (p_cursor  IN  sys_refcursor)
    49   RETURN TestStatusList PIPELINED
    50   PARALLEL_ENABLE(PARTITION p_cursor BY any)
    51   IS
    52    rec test_pkg.TestStatusRec;
    53    value number;
    54    sid number;
    55    ctr integer := 0;
    56   BEGIN
    57    select userenv('SID') into sid from dual;
    58    rec := FillTmpTable('IN PTF');
    59    LOOP
    60     FETCH p_cursor into value;
    61     EXIT WHEN p_cursor%NOTFOUND;
    62     ctr := ctr + 1;
    63    END LOOP;
    64  
    65    -- as a result i am only interested in the results of FillTmpTable():
    66    PIPE ROW (TestStatusObj(rec.sid, rec.ctr1, rec.ctr2, rec.ctr3));
    67  
    68        RETURN;
    69   END;
    70  end;
    71  /
    Package body created.
    SQL> 
    SQL> declare
      2   tons TestTableOfNumber_t;
      3   counts TestTableOfNumber_t;
      4   status test_pkg.TestStatusRec;
      5   statusList test_pkg.TestStatusTab;
      6  begin
      7   status := test_pkg.FillTmpTable('MAIN');
      8   dbms_output.put_line('main thread:'
      9    || ' sid #' || status.sid
    10    || ' / #' || status.ctr1 || ' inserted '
    11    || ' / #' || status.ctr2 || ' before commit'
    12    || ' / #' || status.ctr3 || ' after commit');
    13  
    14   select value bulk collect into tons from TestTmpTable;
    15  
    16   select * bulk collect into statusList from TABLE(test_pkg.ptf(CURSOR(select /*+ parallel(tab,2
    ) */ value from TestTmpTable tab)));
    17  
    18   for i in 1..StatusList.count loop
    19    dbms_output.put_line('worker thread #' || i  || ':'
    20    || ' sid #' || statusList(i).sid
    21    || ' / #' || statusList(i).ctr1 || ' inserted '
    22    || ' / #' || statusList(i).ctr2 || ' before commit'
    23    || ' / #' || statusList(i).ctr3 || ' after commit');
    24   end loop;
    25  
    26  end;
    27  /
    main thread: sid #1023 / #100 inserted  / #100 before commit / #100 after commit
    worker thread #1: sid #1045 / #100 inserted  / #100 before commit / #100 after
    commit
    worker thread #2: sid #1019 / #100 inserted  / #100 before commit / #100 after
    commit
    PL/SQL procedure successfully completed.
    SQL> I am getting a different result.
    Regards
    Raj

  • Global automatic check for "process valid after_YYYYMMDD" available?

    Hi, I want to attach the info that a process is only valid after a specific date. Each time a process-instance will be created it has to be checked if the actual date is higher than the date specified and only then the process-instance can be created.
    Is there a way to define a automatic global check of the validity of each process?
    Thanks, Soja.
    PS: I could simply define an additional variable in the deployment descriptor but that would require that each process has to check in it's first activity the actual date and the validity-date of the process.

    thanks for the reply . i have found the way to push the command to client using intune but the issue is with the command its not working.
    %programfiles%\Microsoft\OnlineManagement\Updates\Bin\omupdclt.exe /detectnow
    · %programfiles%\Microsoft\OnlineManagement\Updates\Bin\omupdclt.exe /updatenow
    These commands are not getting executed at the client machine.i tried it's execution in administrator mode.Command is  getting executed without any error but check for update is not getting initiated .
    can u please provide me with the way to execute this manually at the client machine. 
    thanks 
    Mayank Pahan

  • Automatic TAB into Window

    I have the latest FF 4 , and after the upgrade i am expiriencing a weird problem . sometimes while scrolling the mouse wheel , the tab automatically moves as separate window .. , irrespective of the position of the scroll . All its seems random.

    I'm having this same issue, though it happens a bit differently from the way it happens to naveen_reloaded. I can never seem to repeat it the same way every time, but what seems to happen is when I have a few tabs open, and middle-click to open another tab, this happens. But what's strange is that it will not always open into a new window until I click on the new tab. I know about dragging the tab down and it opening into a new window, and I am making sure not to do that. However, this is still happening.

  • Switching tabs causes an automatic tab reload in safari... how do I stop that?

    I generally keep 20 or so tabs open in my safari window. A month or so back, suddenly, each time I click over to a diffent tab the tab reloads. How do I stop this? And is this problem making my computer (fan or hard drive?) wind up for long periods of time? Sounds like a little jet engine about to overload.
    Thanks so much

    Hi..
    Yes. With that many tabs open, the CPU has to work that much harder and in turn the fans run more often. If possible, reduce the amount of tabs you have open simultaneouslly.
    For the tabs reloading issue...
    From your Safari menu bar click Safari > Empty Cache
    If that doesn't help, back to the menu bar click Safari > Reset Safari. Select the top 5 boxes, click Reset.
    If that didn't help, go to   ~/Library/Caches/com.apple.Safari/Cache.db
    Move the Cache.db file to the Trash.
    Quit then relaunch Safari to test.
    MacBook, Mac OS X (10.5.2)
    Helps when you post to tell us which Mac OS X you have installed and which version of Safari. v10.5.2 is outdated.

Maybe you are looking for

  • How to add i18n features to a Struts application?

    How to add i18n features to a Struts application? txs!

  • Adobe Application Manager will be crashed

    When I start up Adobe Application Manager on my Yosemite machine he will be crashed. After a few seconds he gives a problem report messages and says that Adobe Application Manager quit unexpectedly. I have tried to reinstall the application for the a

  • When to Execute ABST2 program for Fixed Assets?

    Hi, Do we need to execute ABST2 program extractly at the end of the year 31/12/2008 or we can also execute after 31/12/2008?Because for my client-they have executed that program in July-2009.Now it is showing 0.01 differance for one of the depreciati

  • Access Manager on Windows

    I've installed AM & DS on Windows. Created AD realm and Active Directory Data Store. When I log in to http://server:port/amserver/UI/Login?realm=AD with username and password. I get You've Successfully logged in. How to I set it up so that when a use

  • External HD is locked

    I was using an external HD one minute and then, applied the permissions to the enclosed items, (the reason I I did this was to try to restore an iphoto Lib on my friends computer, that kept coming up locked and her password was not unlocking it. I th