Is Function Activity execution synchronous/asynchronous?

Hi,
I would like to know the mode of execution of Function activity, that is whether it is synchronous/asynchronous?
Suppose if I have 2 activities in a process, one is of type PL/SQL and another is of type External Java. When I start the process from a java program, when will the calling program get the control back? will the exceution of each activity is synchronous or asynchronous?
thanks in advance
Regards
honnur

Thanx for the reply.
I find that if the function activity is of type PL/SQL then the calling function(WF Engine) waits till the PL/SQL procedure/function exection is complete. But if the function activity is of type External Java then the calling function(WF Engine) does not wait until the Java function execution is complete. In this case, when External Java Agent finishes the function excution, we have to explicitely invoke background process to complete that activity.
So the Java function activity execution is asynchronous from calling function perspective.
is my understanding right??
TIA
honnur

Similar Messages

  • Difference between Synchronous & ASynchronous.

    Hi All,
    I few queries:
    1) Difference between Synchronous & ASynchronous communication?
    2) How should we decide whether it is a Sync or Async scenario?
    Regards,
    Sreedhar.

    Hi Sreedhar,
      Apart from the points already added by experts, i would like to add something.....
      Synchronous Communication:
    In synchronous communication, thereu2019s nothing like scheduling. Sender application executes a u2018singleu2019 Function call, receiver system immediately processes this function call dispatching the response to sender and then it performs implicit database commit.
    However this communication is based on assumption that receiver system is available when function call is made. If this is not the case, the communication is seriously disrupted.
    Asynchronous Communication:
    Here receiver system is not necessarily required to be active at the time of function call. Instead, the call is placed in outbound queue of the sender system and then this call is repeated at regular intervals until receiver system processes the call.
    Also Error handling in Synchronous communication: error messages sent back to sender. In Asynchronous communication: errors made persistent.
    So conclusion: Queues play central role in asynchronous communication. Further in asynchronous communication, the calls can be executed either by tRFC (Transactional RFC) or qRFC (Queue RFC).
    If business requirement is such that your sender system need to know the successful posting of message in the receiver system then approach for synch communication else asynch communication.
    Regds,
    Pinangshuk.

  • Wat is synchronous, asynchronous & local mode of update in BDC plz help

    wat is synchronous, asynchronous & local mode of update in BDC .
    plz explain each of them

    A Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed( does not wait till the update in database is complete either it is successful or un successful). It simply passes the updates to the SAP update service. Asynchronous processing therefore usually results in faster execution of your data transfer program.
    Asynchronous processing is NOT recommended for processing any larger amount of data. This is because the called transaction receives no completion message from the update module in asynchronous updating. The calling data transfer program, in turn, cannot determine whether a called transaction ended with a successful update of the database or not.
    If you use asynchronous updating, then you will need to use the update management facility (Transaction SM12) to check whether updates have been terminated abnormally during session processing. Error analysis and recovery is less convenient than with synchronous updating.
    S Synchronous updating. In this mode, the called transaction waits for any updates that it produces to be completed. Execution is slower than with asynchronous updating because called transactions wait for updating to be completed. However, the called transaction is able to return any update error message that occurs to your program. It is much easier for you to analyze and recover from errors.
    L Local updating. If you update data locally, the update of the database will not be processed in a separate process, but in the process of the calling program. (See the ABAP keyword documentation on SET UPDATE TASK LOCAL for more information.)
    reward if it is helpful..
    sai ramesh.

  • Unable to start Java Function Activity Agent

    When I try to start the Java Function Activity Agent
    I get the following message:
    Workflow JAVA Execution Agent
    Oracle Workflow 2.6.0 JAVA Function Activity Agent
    Error in parameters
    Is there any way to tell what parameters it is referring to?
    Thanks, Tom

    Just to clarify:
    The Oracle Workflow Java Function Activity Agent is supported by Oracle for the Database and Application Server releases. It was not certified for Oracle E-Business Suite customers, as we thought it better to focus our efforts on the Oracle Workflow J2EE Engine. In the next standalone releases, we will be provinding better system management for the Java Function Activity Agent, on demand processes, that sort of thing.
    We did a lot of work to make sure that messages do not get lost ie. if an unexpected error is encountered, the transaction will get rolled back and the message will go back on the queue. If you are finding messages get lost, there are 2 possibilities: a bug in your code (ie. the transaction was committed in your code, so roll back would not help), or a bug in our code (a reproducible test case would be helpful).
    Cheers
    Mark

  • Problem calling PL/SQL procedures from Function Activity Issue

    Hi,
    I am working with Oracle Workflow and I have found some problems adding a function activity in the process diagram. This function only updates some registers on the data base, or at least it should do that.
    I have been looking through the items in this forum and I have found similar things but not the right one. Of course I am a learner in all this and maybe the answer in there.
    I will try to show you my problem:
    When the procedure is supposed to be called, it doesnt´t do that and instead I found the following error:
    Wf_Engine_Util.Function_Call(usuario.WF_FIN_TG.FINTG1, FLUJO1, 092S0087, 588782, RUN) ORA-01403: no data found
    I have tested all the queries from TOAD and SAL Server, and all of them return some results.
    I have tried to take out all the queries from the procedure as the following to try to avoid or change the error but it continues as "ORA-01403: no data found":
    PROCEDURE FINTG1(
    p_itemtype IN VARCHAR2,
    p_itemkey IN VARCHAR2,
    p_actid IN NUMBER,
    p_funcmode IN VARCHAR2,
    p_resultado IN OUT VARCHAR2
    ) IS
    flujo VARCHAR2(;
    p_resultado :=1;
    END FINTG1;
    It seems as the workflow engine try to search something before executing my procedure.
    Has anybody any idea about how to solve this problem? Thanks a lot.

    WF_ENGINE_UTIL.Function_Call is the lowest level procedure executed by the engine before it executes the procedure associated with the function activity. I am not sure if this procedure would throw ORA 1403 since this does not have a query or a collection.
    Please note that ORA 1403 could occur from a SQL query or a collection.
    Looking at your code, p_resultado :=1;
    The function activity should return a resultout that the workflow engine understands. The valid results from the function activities as per the workflow guide are,
    wf_engine.eng_completed - 'COMPLETE'; -- Normal completion
    wf_engine.eng_active - 'ACTIVE'; -- Activity running
    wf_engine.eng_waiting - 'WAITING'; -- Activity waiting to run
    wf_engine.eng_notified - 'NOTIFIED'; -- Notification open
    wf_engine.eng_suspended - 'SUSPEND'; -- Activity suspended
    wf_engine.eng_deferred - 'DEFERRED'; -- Activity deferred
    wf_engine.eng_error - 'ERROR'; -- Completed with error
    You would normally use COMPLETE or ERRORED within your activity. Please change your code to use a valid resultout and try again.
    Hope this helps.
    Thanks

  • Synchronous - asynchronous interface (RFC - XI - jdbc)

    hello to everybody!
    i want configure a synchronous - asynchronous interface (RFC - PI - jdbc) whit my PI 7.1
    This RFC send 2 output tables to PI/XI and i want write it into 2 different tables in a SQL Server Database.
    How can i do it?
    i tried whit one mapping to a unique outbound datatype...but only header table was insert and not rows.
    i tried whit 2 Receiver Interfaces but i have on mapping the follow error:
    Multiple inbound interfaces not supported for synchronous calls
    so??
    other possibility?
    BPM?
    please help me
    Thanks
    Alessandro

    Hi,
    I have a similar problem; I have JMS - PI - RFC synchronous scenario. I will receive message from JMS, and depending on the data received, I should call either of two RFCs (NOT BOTH). The BAPI return message should then be sent back to JMS.
    Hence, I have one "Sender/Outbound" Message Interface, one receiver determination for that Message Interface - in which there is "one" receiver (backend SAP system).
    In "Interface Determination", I specifed the two BAPIs as two Interfaces, and defined conditions based on "context objects" - since I need to know the Interface Mapping "dynamically"
    However, I get the error - "Multiple inbound interfaces not supported for synchronous calls ". any suggestions on how to proceed?
    I am posting this question here as it is a related issue. Hope it is fine.
    Thanks,
    Archana

  • Java function activity agent fails

    Hello,
    Trying to run workflow java function activity agent ends with dr. Watson. Environment:
    OS: NT40 sp 6
    DB: 8.1.7.0.0
    JRE: 1.1.8
    Anybody came across this or is this a known problem? Please share your findings.
    Thank you.
    Anatoliy

    Sorry,
    The problem was with the wrong jar file.

  • How to use java api for function activity in embed oracle workflow?

    because i can't install standalone oracle workflow successfully.
    pls tell me how to use java api for function activity in embed oracle workflow?
    are there some patch or pulg-in package?
    ths a lot...........

    The Java Function Activity Agent is not certified for Oracle Workflow embedded in Oracle Applications. Installing standalone workflow should be a lot easier than what you have found, although it looks like you did hit a Pentium 4 issue with the Oracle Universal Installer. I suggest you contact Oracle Support or Oracle Consulting for assistance.
    because i can't install standalone oracle workflow successfully.
    pls tell me how to use java api for function activity in embed oracle workflow?
    are there some patch or pulg-in package?
    ths a lot...........

  • Java Function Activity Agent not starting

    Hi,
    I am facing some problem in starting Java Function Activity Agent on Windows XP.
    I hav modified WF_CLASSPATH of wfjavlsnr.bat script to include classes12.jar, ojdbc14.jar & my custom jar files.
    But when I run this script from command prompt using following syntax
    wfjvlsnr.bat owf_mgr/password@host:portid:sid or
    wfjvlsnr.bat owf_mgr/password@sidfollowing messge is thrown...
    Oracle Workflow 2.6.0 JAVA Function Activity Agent
    t2cCreateState
    Connected to owf_mgr@dbserver:1521:ORA10G with character set
    UTF8
    Unable to connect to dbserver:1521:ORA10G
    Can anybody please point out what could be the problem....?
    what is this t2cCreateState? I have never see this "t2cCreateState" when we run JFAA in unix box.
    Any points will be appreciated..
    Regards,
    Nitin

    Hi,
    I tried to run the same without entering password,but still i am getting error.
    The error description is:
    Oracle Workflow 2.6.3 JAVA Function Activity Agent
    Please Enter Database Password :
    ORA-06401: NETCMN: invalid driver designator
    Unable to connect to nn0734.nucleussoftware.com:1521:asdb
    Accepted arguments:
    java <program> <user> <conStr> [oci8]
    java <program> <user> <conStr> thin
    Where <conStr> is in the form of <host>:<port>:<sid> for thin
    and DB Service name for oci8
    Please Help. Is there any problem with my tnsnames.ora or something else.
    Thanx in advance,
    Sarab

  • LIPS-CMPNT (credit function active) field origination

    Hi All,
    In the DB Table LIPS there is a field called Credit function active (LIPS-CMPNT) 
    Can you please tell from where this is comming into the deliverydocument. What could be the basis for it.
    I need it because when ever this field is "X" the credit value is being seen in the VKM1, VKM4 T.code. When it is blank then no credit value is comming in the VKM1 & VKM4.
    Advance thanks,
    praveen

    Rakesh,
    Yes!. you are correct. ..sir
    But in my scenario here is little different,
    In some deliveries this field (LIPS-CNPMT) is checked/marked/activated  even if the VOV7 item category is not credit active. i am not sure from where this is comming?
    Hence I still have a feeling that CNPMT comes from some where else. 
    Any clues about it..............please let me know.
    thanks,
    Praveen

  • Procedure Business Function Activation - How To

    Hi all,
    i have a customer that just upgraded it's systems to ehp4, our newest available release. He is now asking on a general best practice procedure how business functions should be activated in which client and what needs to be transported or not.
    He has a system with a reference client (000) and a customizing client (200). My guess would be:
    - Activate all required business functions in client 000.
    - Make sure, all BC-Sets have been extracted and activated perfectly.
    - Activate all missed BC-Sets manually in client 000.
    - Transport all changes to client 200.
    - Make sure the transport was performed successfully.
    - Activate all required business functions in 200.
    Is that the correct approach? I guess BC-Sets containing C-Tables can only be activated in a reference client!?
    Thanks. Kay.

    Sunny - Thanks for the reply and I appreciate the help.  You indicated that if transports do not have objects related to the business function, they may not be affected.  That's the crux of my question.  I certainly understand if SAP requires matching BF activation for any transports that change config in that area, but want to be sure an upgrade of one piece of functionality is not impacting ALL transports to related systems.
    Our main driver for the EHP project is updating functions in FSCM (Dispute Management, Collections, etc).  These are the only BFs we're intending to activate at this time.  I'll lay out an example of my question:
    EHP4 installed in all systems (Dev/QA/Prod).  Active Business Functions from EHP4 are only related to FSCM and they are only active in Dev system for unit testing.  Now say an issue arises in Prod related to Fixed Assets that requires a config change.  The normal method would be config in Dev, followed by unit testing.  Transport to QA for integration testing.  Finally transport to Prod.
    Would this transport go through b/c the config has nothing to do with the new business functions activated or would the transport not move to QA b/c the same BFs were not active in QA that were in Dev?
    Hope this helps clarify.  It seems SAP would never "back you in a corner" like that and the transport should go through, but I've seen stranger things happen!
    Thanks again!
    CK

  • Java function activity getting deferred

    Hi
    I have created a simple Java Class File which set values to the item type attributes and return.
    Placed the class file in jdk/bin folder.
    Then i associated the class name to a function activity as “External Java” type. When i launched this process that function activity is moved to deferred state.
    When i checked the WF_OUTBOUND_TABLE all the java related activities which i executed are still in the Queue.
    And I tried by giving a wrong class name to a function, which is not at all in the server. That process activity also moved to deferred state without showing error.
    So Java Function activity agent not even picks that function/class to process.
    I tried the standard workflow provided by Oracle Workflow Standalone Server for demonstration. For that also same thing is happening (moving to deferred state).
    Your help is much appreciated
    Regards
    Ariv

    Hi,
    Are you running the external processor for Java? IIRC, it's a .bat script which does the dequeue for you, calls your code, and then puts a message on the inbound queue - but it's been a LONG time since I looked at working with Java in standalone workflow.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://www.workflowfaq.com/blog ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Function Activity based on PL/SQL procedure

    Hi All
    I have a function activity in a workflow, which is based on a PL/SQL procedure. When I make any changes to the package or the stored procedure, workflow gives "Could not find package or program unit" error, even though the status of the package is valid in database.
    Essentially everytime I re-apply the package, I get this error. I then drop the package and then recreate it. Even then the error is not resolved immediately. Does this requires Apache bounce? Is there any other step that I am missing when we make changes to database packages that are based on workflow activities?
    It would be of great help if someone can throw light on the above.
    Many thanks in advance
    cheers
    Murari

    Hi,
    Have you tried searching this forum for the error message? There are plenty of posts about it here, on the WorkflowFAQ forum, and also in my blog about the issue, why it happens, and how you can avoid it.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://thoughts.workflowfaq.com ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Difference between BATCH & RUNTIME ,SYNCHRONOUS & ASYNCHRONOUS

    REPORT_EXECUTION_MODE has two values BATCH & RUNTIME.
    what is the difference ? pls expalin in detail
    REPORT_COMM_MODE has two values SYNCHRONOUS & ASYNCHRONOUS
    what is the difference ? pls expalin in detail
    Thanks in advance

    Tony is right.
    Anyway
    Forms applications calling a report synchronously make the user wait while the
    report is processed on the server.
    For long-running Reports, it is best that you run the report asynchronously by
    setting the REPORT_COMM_MODE property to asynchronous and the
    REPORT_EXECUTION_ MODE to batch:
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_EXECUTION_MODE,BATCH);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,ASYNCHRONOUS);Regards

  • What's Java Function Activity Agent?it's wfapi.jar?

    pls explain the words below,tks a lot:
    You must include the JAR files containing your custom classes in your
    CLASSPATH to make the classes accessible to the Java Function
    Activity Agent. The custom class files should reside on the same
    platform where the Java Function Activity Agent is run. The Java
    Function Activity Agent does not need to reside on the same tier as the
    database, however.

    Hi,
    I am facing some problem in starting Java Function Activity Agent on Windows XP.
    I hav modified WF_CLASSPATH of wfjavlsnr.bat script to include classes12.jar, ojdbc14.jar & my custom jar files.
    But when I run this script from command prompt using following syntax
    wfjvlsnr.bat owf_mgr/password@host:portid:sid or
    wfjvlsnr.bat owf_mgr/password@sidfollowing messge is thrown...
    Oracle Workflow 2.6.0 JAVA Function Activity Agent
    t2cCreateState
    Connected to owf_mgr@dbserver:1521:ORA10G with character set
    UTF8
    Unable to connect to dbserver:1521:ORA10G
    Can anybody please point out what could be the problem....?
    what is this t2cCreateState? I have never see this "t2cCreateState" when we run JFAA in unix box.
    Any points will be appreciated..
    Regards,
    Nitin

Maybe you are looking for