Synchronous to Asynchronous Process

We need some desing help. We need a Synchronous(webService) to Asynchronous(Idoc to SAP) process, but not have the Synchronous thread wait for the Asynchronous process to complete. The Synchronous process needs to hand off the message to a Asynchronous process and immediately response back to the Synchronous client. The Synchronous reply is basically an acknowledgment.
Appreciate can anyone have design idea?

Hi,
if you only want to close the sync step from the webservice call there is a simple idea that could help.
When receiving the webservice call add a transformation step in the BPM (in the sync-async bridge BPM as second step). In this step add a mapping from the webservice outbound message to the response. Fill in whatever you need, e.g. constants. If I understand right, you only want to close the sync call.
>With the mapping in the transform step you will fill a container element for the response which you can use in the close s/a bridge step to send the response.
Regards
Dirk

Similar Messages

  • Re : what is diffrent Between  Synchronies and   Asynchronies  process

    Hi ,
          what is diffrent between Synchronies and   Asynchronies  process in  session Method and call Transcation method  pls give one Example...
    Thanks
    Arief .S

    Synchronus data processing is that in which the program calling the update task waits for the update work process to finish the update before it continues processing.
    In Asynchronus update the callng program does not wait for update work process to finish the update and continues as normal.
    A BDC done with sessions is always synchronus.
    A BDC with call transaction is by default asynchronus
    unless you define it explicitly as
    call transaction 'XXXX' ...... update 'S'.
    ( If you donot define update option it is defaulted to "A" ).
    The update method is of importance when one transaction locks data which may be required by a subsequent transaction . The subsequent transaction will fail if data is locked from previous one. An example would be you are creating sales order for same material in succession ( with asynchronus update ). Quite likely that some of transactions would fail due to material locked.
    For large volume of data Call Transaction will be faster but you have no restart capability here. Suppose from 1000 transactions 100 fails . You will have to run the BDC program again exclusing the ones which wrere successful. However with session method you have the option to process the error transactions again in SM35 . So if you are sure that errors will not occur use call transaction else use session method.

  • Synchronous and asynchronous processes communication in WLI 8.1

    Hi all,
    I'm using workshop with WL 8.1 to design by business processes.
    I have created one process which is invoked synchronously via a client request
    with return.
    Than I call this process in web flow. The process publishes message in the MB,
    which creates
    another process asynchronously. My question is how can I communicate
    from the first process with the second one ? e.g. In some cases I need to wait
    when the second
    process riches some state, or e.g. how to check if the everything’s went ok in
    the second one ?
    I tried to manage it by another MB channel, but when I add the proper controls
    to first process
    it becomes asynchronous and I can not use such process in the flow (there is no
    way to handle
    callback methods in the flow) and I need to have return somehow.
    Do you have any suggestion how to design (or redesign) my workflow ?
    Best regards
    Jan

    "Jan Mrzyglod" <[email protected]> wrote in message
    news:[email protected]...
    >
    Hi all,
    I'm using workshop with WL 8.1 to design by business processes.
    I have created one process which is invoked synchronously via a clientrequest
    with return.That's fine so far.
    Than I call this process in web flow. The process publishes message in theMB,
    which creates
    another process asynchronously. My question is how can I communicate
    from the first process with the second one ? e.g. In some cases I need towait
    when the second
    process riches some state, or e.g. how to check if the everything's wentok in
    the second one ?Communicating between JPD processes is preferably done with Process Controls
    (Add Control / Integration Control / Process). A Process control needs a jcx
    file belonging to a process. To generate a Process Control jcx file to a
    process, click right on the JPD file in the project tree, and select
    Generate Process Control.
    If the page-flow calling on the first process also has to wait for the
    second process to reach some state, then you need to have
    synchronous invocation between the first and the second process.
    That can be done only with adding a message path to the start node of the
    second process (the circle), and putting a Client Request with Return in it.
    Everything in the Client Request with Return node is invoked synchronously,
    meaning that the first process will wait for the return, and gets the return
    value, and receives any exceptions thrown and everything takes place in the
    same transaction. However this way you have no modelling information on
    where the process flow currently is, so you have to keep track of that in a
    variable in the JPD, if you need to know that.
    You also have to put at least one stateful (waiting) node to the normal
    process flow, so that the process does not terminate right after starting
    (Workshop warns about this as well).
    Now regenerate the process control jcx for the second process, and you will
    see a method on it belonging to the message path Client Request with Return.
    This can be invoked synchronously on the process control in the first
    process.
    I presume however, that you are aware of the fact, that the HTTP request can
    time out, and in that case I am not sure, whether additional steps in the
    page flow are evaluated or not. Possibly not. Typically I would expect, that
    forwards and includes do not.
    Regards,
    Robert Varga

  • Call mode types: Synchronous and Asynchronous in ABAP process for a chain

    Hello,
    I have a doubt about the call mode type for a abap type process in a process chain. It has two options:
    1.Synchronous
    2.Asynchronous
    Would like to know the diferences between these two; advantages and disadvantages of using them.
    Thanks in advance for your help...
    Regards,
    Anuj

    hi anuj,
    pls refer the following link.
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/c5/eed63b54e56276e10000000a11402f/content.htm
    hope it will help u to understand well the synchronous and asynchronous process chains call mode.
    thanks

  • Fault in initializing asynchronous process

    Hi Guys,
    As many posts and articles suggest, asynchronous process is better because of its flexibility. I am very happy with it until I encounter the following problem.
    We do the fault handling on all of our processes, using both the catch and fault policy framework. For asynchronous process, we use a separate invoke to return the fault. Recently, we noticed a problem. For some reasons, every Sunday when the production BPEL server restarts, there are always a few BPEL process turned retired and off. We've already raised a service request for this on metalink. But this causes another very serious issue:
    The calling BPEL instance sends a request to initiate the asynchronous process . As it is turned off and retired by accident, the initialization fails. However, as it's asynchronous, the calling process is not notified, which means there is no fault raised on the calling process. This causes a lot of trouble because we are not notified with the problem. This has never been a problem because we did not have process turned off and retired before.
    This can be easily verified by a simple test case. Create a synchronous process A and an asynchronous process B. Let A invoke B. Then turn off and retire B. A instance can still be executed successfully without saying the problem calling B. If B is a synchronous process, A will always report a fault in such situation.
    Of course, the domain log file records this ORABPEL-02106 problem. but we don't want to check log file all the time and want to be notified when it happens. Is there a way to catch such exception/fault in the calling process?
    Thanks in advance!!!
    Steven
    Edited by: sw12345 on Jul 26, 2010 9:41 AM

    HI Sridhar,
    Thanks for you advice. I think I will do the following:
    1. I will still keep all process as asynchronous with the deliveryPersistPolicy as default.
    2. I will add a cron job to scan the server whenever it restarts to detect any default version of BPEL process with a retire or off status. If there are, I'll correct them.
    3. I will implement the program to re-submit the failed invoke. But I cannot make it an alert program because I cannot get detail fault through IInvokeHandle (Please correct me if I am wrong).
    By the way the defect of the "ClassCastException" is fixed in 10.1.3.5, I guess that can upgrade that too :-)
    Thanks,
    Steven

  • Fault Handling in Asynchronous process

    Hi,
    I want to know how to throw fault from an Asynchronous process to the calling process. In a synchronous process we generally throw faults using fault message in 'process' port type. But Im not sure how to throw a fault from Asynchrnous process to the calling process that can be caught in the catch block of the calling process.
    Can some one update me with the feasibility of this.
    Thanks,

    Hi,
    Look inside the Oracle® BPEL Process Manager Developer's Guide at http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/faults.htm#BABIBAFC
    8.8.2 Returning a Fault in an Asynchronous Interaction
    In an asynchronous interaction, the client does not wait for a reply. The reply activity is not used to return a fault. Instead, the BPEL process returns a fault using a callback operation on the same port type that normally receives the requested information, with an invoke activity.
    Example
        <portType name="BPELFaultHandling">
            <operation name="initiate">
                <input message="client:BPELFaultHandlingRequestMessage"/>
            </operation>
        </portType>
        <portType name="BPELFaultHandlingCallback">
            <operation name="onResult">
                <input message="client:BPELFaultHandlingResponseMessage"/>
            </operation>
            <operation name="onError">
                <input message="client:BPELFaultHandlingErrorMessage"/>
            </operation>
        </portType>On the caller side you have to use one invoke followed by a pick activity waiting for onResult or onError callback.
    Best Regards,
    Harald Reinmueller

  • Synchronous and asynchronous communication tcp/ip

    Hello all:
    it is common to make synchronous communication between client and server by socket tcp/ip. But I'm needing now to establish an asynchronous communication. I mean:
    0.- The server is a multithread process that has the property to establish one connection for each client that wants to send him messages.
    1.-The client process sends message permanently to server.
    2.- The server processes the request, but don't have to respond to the client.
    3.-Only when the user want it, he sends messages to client by web application reusing the same communications that are opened between client and server process.
    I hope to explain my problem.
    Regards.

    Hello all:
    it is common to make synchronous communication
    between client and server by socket tcp/ip.A socket tcp/ip can be synchronous or asynchronous or both.
    But I'm needing now to establish an asynchronous
    communication. I mean:Is this purely asynchronous or can it be either.
    0.- The server is a multithread process that has the
    property to establish one connection for each client
    that wants to send him messages. Fine, any mode would be okay.
    1.-The client process sends message permanently to server. By permanently do you mean;
    - it is deleted from the client,
    - it is store on the server is a write once read many media. i.e. it is permenetly on the server and cannot be deleted/altered.
    2.- The server processes the request, but don't have to respond to the client.The server should never have to respond to the client. e.g. the server can go down so the client nees to live with the possibility it won't get a reply.
    Synchronous or Asychronous describes how the reply is send. No reply means it is neither.
    3.-Only when the user want it, he sends messages to client by web application reusing the same communications that are opened between client and server process.Are you using socket or a web application server ie. HTTP.
    You wan to be able to reuse the connection. You can do this in any of the case mentioned so far.
    >
    I hope to explain my problem.I hope you will explain your problem too.

  • In bdc sessoin method which one is preferred synchronous or asynchronous..?

    hi could anybody tel me
    sessoin method which one is preferred synchronous or asynchronous..?
    what ll happen if we do other method..?
    foreground or background which one ll prefer..?
    what ll happen if we do otehr method..?
    thanx
    kals.

    Dear Kals,
    Synchronous or Asynchronous:
    If you need to process dependent transactions one after the other go for synchronous. Else, go for asynchronous.
    Asynchronous will have better performance.
    Ex:
    If you would like to process F.02. If it is successful process one more transaction using.
    Go for synchronous
    call transaction F.02 ........
    if successful.
       process one more dependent transaction.
    endif.
    If you just need to process F.02
    Go for Asynchronous.
    Background or Foreground:
    If there is a huge volume of data or no manual intevention is needed for background. If you would need manual intervention go for foreground.
    Performance would be better in Background.
    Visit the following thread:
    Re: sap general
    Hope this will help.
    Regards,
    Naveen.

  • Handling Faults in asynchronous process SOA11G

    I could implement RuntimeFault.wsdl in synchronous process, but I cannot to do the smae in asynchronous process.
    What is the difference in implementing it.
    I want to handle wsdl (partner link) fault in during invoke activity. But when I add this
    <wsdl:fault name="ImportOrderStatusFault" message="ns1:RuntimeFaultMessage"/>
    in my bpel process wsdl I get error, wsdl not expected.
    Also, when I use bpel:remoteFault, bpel:bindingFault or catchAll ,and use reply activity to client, I get error in reply activity.
    Also, in asynchronous process, i cannot use throw activity. Now, if source system invokes my bpel asynchronous process, and there is WSDL Fault in Partner Link. Would source know that there is an exception ?
    Thanks

    in your async process you have something like
        <portType name="getEmployee">
            <operation name="initiate">
                <input message="client:EmployeeRequestMessage"/>
            </operation>
        </portType>
        <portType name="getEmployeeCallback">
            <operation name="onResult">
                <input message="client:EmployeeResponseMessage"/>
            </operation>
           <operation name="onError">
             <input message="client:yourErrorMessage"/>
           </operation>
        </portType>in your bpel you catch the error and in the catch handler you do the invoke back just like you do the callback in your normal flow, only this time you call onError instead of onResult
    Or if you don't want the use a seperate callback (onError) you could still use the onResult in the catch handler, but before the invoke you need to construct the message you want to reply and assign that to lets say the outputVariable (if this is the one used by the callback in the error catch handler)

  • Synchronous  and Asynchronous   clarification

    Hi,
    BDC is synchronous method and Call transaction is Asynchronous method.
    If I have 100 records in my internal table(which is uploaded from the flat file)  and 50th record is a erronious one.Then in both of the above cases what will happen
    What I know,In BDC the 50th record is logged in the log and the rest record from 51st will processed.As BDC is a synchronous method the next data should not be updated database as long as the previous one is updated in database.
    Then how the 51st through 100th will updated in the database?
    Please explain me.
    Thanks,
    Partha

    Hi,
    1.In BDC session ,what you are saying is ok.
      Process is asynchronus and update is synchronus.
    Till 50 th record is uploaded into the database.
    After 50 th record , you need to upload once again by deleting the 1-50 records.
    2.In call transaction,NOt like that.error records are goes to BDcmsgcoll and all other are updated in UPDATE mode as A.
    3.http://help.sap.com/saphelp_47x200/helpdata/en/fa/09715a543b11d1898e0000e8322d00/frameset.htm
    A Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed. 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.
    Regards,
    Shiva.

  • User exits-- also ---synchronous and asynchronous struc..

    dear all
    pls. let me know the basics of user exits. i have gone thro williams iam unable to follow. does it require abap knowledge. i sincerely request one and all (experts) to let me know about user exits. it seems very imp as per interviews.
    also what is synchronous and asynchronous structures whats the difference. can anybody share knowledge on this.
    thanks in advance
    regards

    Dear Sekhar,
    Please find the info regarding User-Exit's in the following links:
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    Re: doubt on user exits
    user exits and Badis
    User exits is the enhancements provided by SAP
    You can use them in transactions. Each transaction will have user exits.
    If you want to use your own requirements by making your coding while the transaction is run you can use user exits.
    For example if you want to run the MRP in MD02 specific to MRP controller you can user exit.
    Please also refer the document below.
    USEREXIT
    Userxits allow us to add our own functionality to SAP standard program
    without modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.
    All Userexits start with the word USEREXIT_...
    FORM USEREXIT_..
    z..
    ENDFORM.
    The problem lies in finding the correct userexit and how to find it if one exists for the purpose. Once the correct userexit is found the necessary customer code is inserted in the customer include starting with the z.. in the form routine.
    e.g. USEREXIT_SAVE_DOCUMENT_PREPARE
    Certain application like SD still provide this form of enhancement using userexit but this practice is no longer being followed for newer extensions instead they are using EXITs which come bundeled in enhancement packages . Neverthiless existing USEREXITS will be supported by SAP an all the newer versions of SAP.
    HOW TO FIND USEREXITS
    Userexits can be found in number of ways:
    1) To find userexits in SD module , goto object navigator(SE80) and select
    development class from the list and enter VMOD in it. All of the userexits in SD are contained in the development class VMOD. Press enter and you will find all the includes which contain userexits in SD for different functions like PRICING, ORDER PROCESSING etc. Select the userexit according to the requirement and read the comment inserted in it and start coding .
    Some examples of userexits in SD(SALES & DISTRIBUTION ) are:
    1)ADDING OF NEW FIELDS IN PRICING
    In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields. The fields which are not in either of the two tables KOMK and KOMP cannot be used in pricing .Sometimes a need arises when the pricing is to be based on some other criteria which is not present in the form of fields in either of the two tables. This problem can be solved by using USEREXITS which are provided for pricing in SD. Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is
    USEREXIT_PRICING_PREPARE_TKOMP or
    USEREXIT_PRICING_PREPARE_TKOMK
    Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.
    In the case of userexit which will be called when invoicing is done ,these
    are provided in the include RY60AFZZ which is in the standard SAP program SAPMV45A. The name of the userexits are same. i.e
    USEREXIT_PRICING_PREPARE_TKOMP or
    USEREXIT_PRICING_PREPARE_TKOMK
    These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.
    Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose includes are provided in each of them .
    To create the field in header data(KOMK) the include provided is KOMKAZ
    and to create the field in item data(KOMP) the include provided is KOMPAZ.
    One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.
    2)The other method of finding userexit is to find the word USEREXIT in the
    associated program of the transaction for which we want to determine userexit using SE38.
    3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.
    Some other examples of userexits in SD are:
    USEREXIT_NUMBER_RANGE
    This userexit is used to assign a different internal document number to the
    sales order(VA01) when it is created depending on some criteria like a different SALES ORGANIZAION(VKORG) .
    USEREXIT_SAVE_DOCUMENT_PREPARE
    This userexit is used to insert the ABAP code which will be called when
    the document (sales order VA01) is just about to be saved.This userexit is used generally for custom checks on different fields , to display some information before the order will be saved or for making changes to certain fields before the sales order will be saved.
    Exits & Enhancements
    There are mainly six types of EXITs in sap which have been collected in the form of enhancement packages and attached to standard code in SAP.
    These are different from USEREXIT in the way that they are implemented
    in the form of FUNCTIONs while in USEREXITS we use form routines for their implementation. These are also sometimes known as function exits .
    These start from the word EXIT_ followed by the program name and then followed by a three digit number.
    e.g. EXIT_SAPMV45A_002
    This exit is found in SD in enhancement V45A0002.
    TYPES OF EXITS
    1)MENU EXITS
    2)FUNCTION EXITS
    3)TABLE EXITS
    4)SCREEN EXITS
    5)KEYWORD EXITS
    6)FIELD EXITS
    We use SAP transactions CMOD and SMOD to manage exits. Before implementing an exit , it is required to create the project by using CMOD
    selecting the enhancement e.g. V45A0002 and selecting the component
    (one which fulfills our need) i.e the exit which will be implemented in SMOD and after coding has been done the project has to be activated.
    An exit can be coded only once.
    FUNCTION EXITS
    These are used to add functionality through ABAP code . These start from the word EXIT_programname_NNN ending in a 3 digit number. No access code is required to implement any tupe of exit including function exits.
    The function exits are called from the standard SAP program in the form
    of ABAP statement
    CALL CUSTOMER-FUNCTION 'NNN'
    This is in contrast to USEREXITs where PERFORM statement is used to call
    the required userexit.
    To implement the FUNCTION EXITs first of all the project is created and a suitable enhancement package is selected and from its compnents the function exit to be implemented is selected and on double clicking it the exit code will appear in ABAP EDITOR(se38) where a Z include will be found and the customer code should be entered in this include.
    e.g.
    ADDING A DEFAULT SOLD-TO-PARTY in Sales Order Creation
    To show a default sold-to-party in this field when the user creates a sales order (VA01) we can use a function exit .This function exit is located in enhancement no V45A0002 . Before we can choose the exit we have to create a project in CMOD after that enter V45A0002 in the enhancement field and click on the components . In the components you will see the exit EXIT_SAPMV45A_002 . This exit is used for our purpose.
    Double clicking on this exit will takes us to function builder (SE37) . This
    function exit has one exporting parameters and two importing parameters, we are interested in exporting parameter which is E_KUNNR of type KNA1-KUNNR i.e if we move the desired customer name to this structure(E_KUNNR) it will be shown in the field as the default value when we create the sales order. This function also contains a customer include ZXVVA04 . This include will be used to write our custom code .
    Double clicking on this include and it will prompt us that this include does not exists do you want to create this object ,select yes and the include will be created .In this include we can write our own code that will fill the field E_KUNNR.
    e.g. E_KUNNR = 301.
    Activate the include and Activate the project. Now when ever the SALES ORDER will be created , sold-to-party field will come up with a predefined customer .
    FIELD EXITS
    The field exits are managed,created,activated through program RSMODPRF. The field exit is associated with a data element existing in ABAP dictionary and hence to the screen field using that data element.
    The format of field exit is :
    FIELD_EXIT_dataelement_A-Z or 0-9
    If a particular screen and program name is not specified than the field exit will effect all the screens containing that data element.
    The function module associated with field exit shows two parameters
    INPUT and OUTPUT. Input parameter contains the data passed to the field exit when the field exit was invoked by the R/3 , We can write our own code to change the output parameter depending upon our requirements.
    Before the field exit can have any effect the system profile parameter
    ABAP/FIELDEXIT in all the application servers should be set to YES
    ABAP/FIELDEXIT = YES.
    Regards
    Naveen.

  • Difn Betn synchronous and asynchronous procsesing an update

    Hi gurus.
    Can any body tell me Difn Betn synchronous and asynchronous procsesing an update .
    Regards ,
    Mahesh

    hi,
    For Update you have
    A - asynchronus - does not wait for next update in the queue
    S - Synchronus - waits until the previous update is completed before a new request is considered
    L - Local update - Uses a different work process to trigger call function in update task.
    In synchronus method until one record process takes place into database next record will not be processed.
    In asynchronus immedate updation of data into database table.
    Check this link for more detailed information:
    http://fuller.mit.edu/tech/sync_asynchronous.html
    'A', 'S' and 'L' are the update modes in CALL transaction method.
    I will give you a simple example to explain this.
    Suppose that there are 30 records in total and an error has occured in the 5th record.
    In asynchronous, update is done for every 30 records while in synchronous one,
    update is done only upto the 4th record.
    So only after the record in the fifth one is eliminated, remaining others are processed.
    Have a look at this URL from SAP Help:
    http://help.sap.com/saphelp_46c/helpdata/en/41/7af4cba79e11d1950f0000e82de14a/frameset.htm
    Regards
    Anversha

  • Synchronous and Asynchronous streams

    Hey,
    I have an application middle ware that communicates with (a local or alternatively remote ) backend via streams. Atleast that is how I am planning it right now. Nothing implemented yet, only thinking over the design. There is a requirement of communication between the middleware and the backend to have synchronous or asynchronous msgs.
    The synchronous msgs I get. I send a msg and keep the stream listening for a reponse. But some msgs can be asynchronous, if I ask the stream to listen for them that will pull out all resources. What would be the solution for such asynchronous msgs.
    So is this a solution to the problem that I have a single stream (wrapped in a thread), it sends msgs, irrespective of the knowledge whether the response will be syn. or asyn. , and it sleeps after doing so. A question here would be that : Are the wait() methods of streams to this effect that I desire. Is this the solution. Would it pull resources or something.
    Is there a better solution that someone knows off.

    Hi Kumar,
    Synchronus data processing is that in which the program calling the update task waits for the update work process to finish the update before it continues processing.
    In Asynchronus update the callng program does not wait for update work process to finish the update and continues as normal.
    A BDC done with sessions is always synchronus.
    A BDC with call transaction is by default asynchronus
    unless you define it explicitly as
    call transaction 'XXXX' ...... update 'S'.
    ( If you donot define update option it is defaulted to "A" ).
    The update method is of importance when one transaction locks data which may be required by a subsequent transaction . The subsequent transaction will fail if data is locked from previous one. An example would be you are creating sales order for same material in succession ( with asynchronus update ). Quite likely that some of transactions would fail due to material locked.
    For large volume of data Call Transaction will be faster but you have no restart capability here. Suppose from 1000 transactions 100 fails . You will have to run the BDC program again exclusing the ones which wrere successful. However with session method you have the option to process the error transactions again in SM35 . So if you are sure that errors will not occur use call transaction else use session method.
    Please also check this link for differences between call transaction and batch input method
    http://help.sap.com/saphelp_47x200/helpdata/en/fa/097015543b11d1898e0000e8322d00/frameset.htm
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Synchronous and asynchronous

    hello gurus....
    can u give the definitions for synchronous and asynchronous updates.....
    i mean how u have to answer the definition when asked in an interview...
    Thnaks
    Pavan

    Hi Pavan,
    Asynchronous Update – The program does not wait for the work process to finish the update. Commit Work.
    Synchronous Update – The program wait for the work process to finish the update. Commit Work and Wait.
    Asynchronous updating. In this mode, the called transaction does not wait for any updates it produces to be completed. 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.
    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.
    DataBase Commit:
    This statement will apply any outstanding database updates and wait until they have actually been put on the database before proceeding to the next statement.
    An ordinary commit work will initiate the process to update the databases in a separate task and will press on in your abap.
    COMMIT WORK: ( Asynchronous)
    Your program does not wait for any acknowledgement. it just start executing the next statment after COMMIT WORK.
    Reward if useful.
    Thanks
    Aneesh.

  • Synchronous and asynchronous mode

    Hi all,
          when to use synchronous and asynchronous mode in BDC
    cheers

    Hi Kumar,
    Synchronus data processing is that in which the program calling the update task waits for the update work process to finish the update before it continues processing.
    In Asynchronus update the callng program does not wait for update work process to finish the update and continues as normal.
    A BDC done with sessions is always synchronus.
    A BDC with call transaction is by default asynchronus
    unless you define it explicitly as
    call transaction 'XXXX' ...... update 'S'.
    ( If you donot define update option it is defaulted to "A" ).
    The update method is of importance when one transaction locks data which may be required by a subsequent transaction . The subsequent transaction will fail if data is locked from previous one. An example would be you are creating sales order for same material in succession ( with asynchronus update ). Quite likely that some of transactions would fail due to material locked.
    For large volume of data Call Transaction will be faster but you have no restart capability here. Suppose from 1000 transactions 100 fails . You will have to run the BDC program again exclusing the ones which wrere successful. However with session method you have the option to process the error transactions again in SM35 . So if you are sure that errors will not occur use call transaction else use session method.
    Please also check this link for differences between call transaction and batch input method
    http://help.sap.com/saphelp_47x200/helpdata/en/fa/097015543b11d1898e0000e8322d00/frameset.htm
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

Maybe you are looking for

  • I cant connect my n900 to wifi

    plz all .. help me wth this problem .. i cant connect my device with wireless connection ...

  • Grinding sound in refurbished 60 GB video iPod

    I just got a refurbished video iPod, and in playback when I start the first song, or switch songs to a new album, I'm getting some minor grinding and whirring noise and vibration. It doesn't seem to happen when it switches between artists or albums i

  • Change paragraph style of empty row using GREP

    Hello again ... another GREP query if anyone can assist! How can I change a completely empty paragraph line (like those found between verses in a poem, for example) to a different paragraph style so I can control the space better using GREP?

  • Function Module using Quantity conversion type

    Hi, I need to know the function module which uses the quantity conversion type created in RSUOM and should provide the converted value as the result. I know the function module which convert the units based on the input. But need to know the FM which

  • Illustrator CS3 crashes when file opened

    However I try to open any illustrator file the app crashes. Has been running smoothly for ages. Have run through suggested things like removing prefs - and have reinstalled from disk but still the same problem... HELP (Running the latest OSX)