How to Transactional Processes in BPEL

Hi,
TestCase:
I have some BPEL processes which needs some Transaction Processes. These process can be DB process with Multiple insertion/selection/retrieval.
I could see the 'scope' process activity however I would like to know that:
1) Is there any alternate way to define Transaction/Isolation level or any other Transaction related parameters?
2) Is there is any way that I could set Transaction related parameters in 'scope' process activity?
TIA
regards
JD

Hi,
the transaction behaviour is not related to the scope activity...
The transactions are defined on the db connections which are defined in the webservices.
I think there is no way to use distributed transactions via webservices... (At least there is no documentation for this...)
If i am wrong, i am very interested in a concept of using 2 PCs in Oracle BPEL/Webservices....

Similar Messages

  • How to design BPEL process where BPEL is called by PL/SQL code?

    Hi,
    My BPEL process is called by a PL/SQL code given below.
    CREATE OR REPLACE PROCEDURE testd(errbuf OUT VARCHAR2,
    retcode OUT VARCHAR2)
    IS
    soap_request VARCHAR2(20000);
    soap_respond VARCHAR2(10000);
    http_req UTL_HTTP.REQ;
    http_resp UTL_HTTP.RESP;
    l_detail VARCHAR2(10000);
    endpoint VARCHAR2(130);
    begin
    endpoint := 'http://afsmlnx04.rheem.com:7105/soa-infra/services/default/HelloWorldPayload/bpelprocess1_client_ep';
    soap_request := '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body xmlns:ns1="http://oracle.nl/HelloWorldPayload"><ns1:process><ns1:input>abc</ns1:input></ns1:process></soap:Body></soap:Envelope>';
    http_req := utl_http.begin_request(
    endpoint
    , 'POST'
    , 'HTTP/1.1'
    utl_http.set_header(http_req
    , 'Content-Type'
    , 'text/xml');
    utl_http.set_header(http_req
    , 'Content-Length'
    , length(soap_request));
    utl_http.set_header(http_req
    , 'SOAPAction'
    , 'process');
    utl_http.write_text(http_req, soap_request);
    http_resp := utl_http.get_response(http_req);
    utl_http.read_text(http_resp, soap_respond);
    utl_http.end_response(http_resp);
    dbms_output.put_line('soap'||soap_respond);
    EXCEPTION
    WHEN utl_http.end_of_body THEN
    utl_http.end_response(http_resp);
    WHEN utl_http.request_failed THEN
    DBMS_OUTPUT.PUT_LINE('Request Failed: ' || utl_http.get_detailed_sqlerrm);
    WHEN utl_http.http_server_error THEN
    DBMS_OUTPUT.PUT_LINE('Server Error: ' || utl_http.get_detailed_sqlerrm);
    WHEN utl_http.http_client_error THEN
    DBMS_OUTPUT.PUT_LINE('Client Error: ' || utl_http.get_detailed_sqlerrm);
    WHEN others THEN
    DBMS_OUTPUT.PUT_LINE(sqlerrm);
    END;
    The above procedure will be defined as concurrent program in Oracle EBS.This concurrent program will call the bpel process.My question is how should i design the bpel process so that bpel will know it is called by a concurrent program?
    My BPEL is doing picking a file by FTP adapter and inserting data into a table.
    Please throw some lights on this!!

    Option 1:
    You have to design the service as a synchronous BPEL process
    1. Do a synchronous ftp get to read the file.
    2. Transform and write it into database table
    3. Reply results back to plsql
    Disadvantage: Your BPEL process should complete from BPEL timeout happens.
    Option 2:
    1. Enqueue the message into AQ from the concurrent program
    2. From the BPEL monitor the AQ, start the process when the message arrives
    3. Do a synchronous ftp get to read the file.
    4. Transform and write it into database table
    You cannot reply the results back to concurrent program.
    5. However, you could have another AQ to send the results back to concurrent program.
    6. Your concurrent program should listen to the resultsAQ to get the results back from BPEL.
    Option 2 is a relliable design.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • What is correlation ? when and how to use it in BPEL process?

    Hi,
    What is correlation ? when and how to use it in BPEL process?
    Thanks

    Hi:
    Take a look at this entry http://blog.andrade.inf.br/2010/03/oracle-bpel-11g-correlation-sets.html
    thx
    best

  • How to call a Asynchronous bpel process from a PLSQL procedure?

    How to call a Asynchronous bpel process from a PLSQL procedure?

    Hi,
    You could do something smart and technical very spiffy with soap-stacks in the database and/or dbms_ws/dbms_http. But I allways find AQ with AQ-adapter the simplest. Let Pl/sql enqueue a message on an aq-queue and subscribe an aq-adapter process on it. That can call your async-bpel process. If you want to get answer back in pl/sql, let the aq-adapter process enqueue a response message on another queue or on the same queue with another consumer name. Give it a correlation-id that you provided in the payload of your request message. Your pl/sql process can then do a dequeue on that correlation-id. It will sit and wait until a message with that correlation id is enqueued on the queue.
    Regards,
    Martien

  • How can i implement a Transaction Processing procedure in my web app ?

    Im planning to enhance my web app servlet.
    the web app is about Online Banking.
    since it is Online banking, there would be time where simultaneous user accessing their account. mean several connection is made on my db.
    I read some article about Transaction processing, so i think it is wise for me to
    implement on my web app but i not sure where to start and in what way can i integrate it with my web app.
    here are several thing i have in mind..
    making the admin able to monitor , or better if can coordinate the transaction.determine the network traffic on my web app. etc.
    any advise or wise opinion please ..thank you for time reading too.

    Im planning to enhance my web app servlet.
    the web app is about Online Banking.
    since it is Online banking, there would be time where
    simultaneous user accessing their account. mean
    several connection is made on my db.
    I read some article about Transaction processing, so
    i think it is wise for me to
    implement on my web app but i not sure where to start
    and in what way can i integrate it with my web app.
    here are several thing i have in mind..
    making the admin able to monitor , or better if can
    coordinate the transaction.determine the network
    traffic on my web app. etc.
    any advise or wise opinion please ..thank you for
    time reading too.Read about ACID properties, isolation, and locking mechanisms. It's a database issue, not a network traffic problem.
    Please tell me that this is just a homework assignment. If not, please tell me the name of the bank that employs you so I can be sure to never have dealings with them.
    %

  • How to start working with BPEL[SOLVED]-but someone still can help me :)

    Hello Everyone,
    I'm Fizzz, I'm totally new to BPEL. I don't know where to start and how to start.
    Right now I'm Working with JDeveloper 11g R1. I didn't go further yet but Now i have to create some BPEL Process that can be integrated to my Web Application. There are some transaction to be Approved or Canceled from BPEL and if Transaction is Approved then i need to Update that Transaction to Peoplesoft's Database. I have 1 week to learn it. and then i need to start my work.
    But i really don't know where to start? What do i need? And how to proceed?
    Can Anybody suggest me the steps that i can follow to get Start with BPEL and done with Peoplesoft connectivity?
    I would really appreciate your help.
    Thanks,
    Fizzz...
    Edited by: Fizzz on Nov 24, 2009 5:14 PM

    Thanks user11082822 and Vivek..
    Your Oracle Doc links are really very helpful. i would definitely go through these docs to get familiar with BPEL, But i have only one week to understand this part of technology.
    So would request for any Live Example or How to's for Sample BPEL app creation and integration part of that. I would definitely read these document but i need some fast overview on these processes practically.
    Can you please suggest me such things.
    Thank you very much to both of you for your very quick and very helpful effort. :)
    Fizzz...

  • Question : Scheduling a Long Running Process in BPEL

    Hi All,
    I have a doubt regarding deployment and scheduling of a Long Running Process in BPEL console like the way we schedule a concurrent program in Oracle Apps.
    Business Scenario:
    We have developed a BPEL process to pull data from the Database, do the required transformation and then enqueue the transformed data in a queue present in another database.
    Then a Java program will pick the data from the queue and then generate an XML file and send it to FTPserver of the Trading Partners(TP's).
    We have two Trading Partners and hence the generated XML will be put into the appropriate FTP servers of the TP's.
    The BPEL processing for both the Trading Partners is identical. Only the generated XML is put in different FTP servers.
    My question here is:
    1. Since the processing is same for both the TP's, how can we use the same process for both the Trading Partners.Can we handle it in the BPEL process itself ?
    2. Is there any way to schedule the same process in BPEL console, to first run for Trading Partner TP1 and wait for say 15 mins and then run for another Trading Partner TP2 and this cycle should continue since we will be deploying it in production environment and continuous updation of the transactions will be happening in the database.
    So far my knowledge in BPEL goes, i could not find any way to schedule a process in BPEL console. If any one has come across similar scenario, please post your updates/approach which will help us in defining the architecture for our client.
    Thanks In Advance,
    Cheers
    Dibya

    Hi Marc,
    Thanks a Lot for ur inputs.
    Need some more clarification for quetsion no.1 in my previous post.
    From our BPEL process we are calling a package which takes the Trading Partner name as the input and some other parameters. Our BPEL process will be run for both the Trading Partners since the processing is identical.
    If we develop two different processes for both Trading Partners, then there will be locking issues in the database since both the processes will refer to the same table.
    Hence we were looking for an option where we can use the same process for both the Trading Partners. Is there any way to handle it in BPEL process.
    Your inputs will be really helpful.
    Thanks In Advance,
    Dibya

  • How can we process the CRM Order again for second time in debugging mode

    Hi,
    Can anybody please tell me how can we process the CRM ORDER for second time.  that I want to process in debugging mode.
    Thanks,
    bsv

    Hi bsv,
    Are you trying to reprocess a BDOC for debugging purpose?
    If the BDOC is not with a final status, you will be able to reprocess it using the reprocess button in the smw01 search result list.
    And you may put /h on the popup when you click on the 'reprocess' button.
    If it is allowed to make some changes in the CRM ORDER for testin purpose, it would be easier to perform debugging.
    A more 'careless' way is to deactivate the outbound or inbound queue in transaction smqs or smqr, then in smq1 or smq2 to locate the interested queue, and click on button 'debug LUW'.
    Hongyan

  • How to schedule Process chains in Bi Admin Cockpit

    Hello friens,
    I am working on installing Bi cockpit.
    After installing the info providers, i have to schedule the process chains for Bi admin Cockpit.
    I know the transaction is RSPC.
    But I dont know how to schedule process chains for Bi admin cockpit.
    How to schedule Init and Delta
    If you can send me step by step documents.
    Or any good sap note number.
    Or any good links i will really apreciate it.
    I want to schedule process chains
    Content Master Data
    Data Load Statistics # Delta
    Data Load Statistics # Init
    Query Runtime Statistics # Delta
    Query Runtime Statistics # Init
    System Master Data
    Please advise

    Hi,
    Please check out this document:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8da0cd90-0201-0010-2d9a-abab69f10045
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/36693695-0501-0010-698a-a015c6aac9e1
    Hope it helps.
    Thanks
    Mona

  • Transaction Process not rolling back

    Hi Experts,
    I am testing the Transaction Process which uses a DB Adapter (which calls a procedure) to insert data into a table. There are 2 fileds in the table (employee id and employee name) and in this employee id is the primary key. In the same scope I invoke this DB Adapter PL twice and for the first invoke it went fine but for the second invoke it has thrown me a unique constraint exception (as again I am passing the same data). I am catching the exception with a catch all block which is working absolutely fine.
    The problem is in the table I am getting the data entry for the first invoke which should have roll backed as i am using the *'transaction=participate'* property and respective changes have been done in bpel.xml for supporting the transaction.
    There should be no entry in the table but yet I am getting it. Please help me.
    Where could I have gone wrong?????
    I am using BPEL-10.1.3.1 version.
    Thanks in advance.
    Cheers,
    Ankit
    Edited by: user11083689 on Apr 24, 2009 4:41 AM

    hi,
    There are two mechanisms to force a rollback from a BPEL process.
    Explicitly — throw a bpelx:rollback fault within your flow:
    <throw name="Throw" faultName="bpelx:rollback"/>
    Invoke a partner link that marks the JTA transaction for rollback only.
    For example, in Oracle SOA Suite for 10.1.3.1.0, if Oracle BPEL Process Manager invokes an Oracle Enterprise Service Bus (ESB) flow that in turn fails to call a Web service endpoint, the JTA transaction is marked for rollback. Since the Oracle ESB flow enlists its local transaction in the JTA transaction, a rollback on the JTA transaction impacts Oracle BPEL Process Manager's ability to dehydrate (as the JTA transaction is used by Oracle BPEL Process Manager for persistence).
    regards
    Rajesh

  • How to Start process in ProcessChain Without using Repeat option?

    How to Start process in ProcessChain Without using Repeat option?

    Se16 -- table:RSPCPROCESSLOG - click on display entries.
    Entet the variant, instance start date (this info you can get from the "display message" of PC.
    Now execute to display the table entries of RSPCPROCESSLOG.
    Next goto SE37 transaction --enter RSPC_PROCESS_FINISH
    Take the entries from the above table to set the input parameters of the FM.
    I_logid = log_id(from above table)
    I_type = type(from above table)
    i_variant = varaint (from above table)
    i_instance = (from above table)
    Click on F8(EXECUTE)
    now the actual process is set to gree and the process chain will be triggered (rest of the PC with out repeating the step from where is was red).

  • Transaction (Process ID 477) was deadlocked on {lock} resources

    hi !!!
    Has anyone encountered the following error:
    java.sql.SQLException: [Microsoft][SQLServer JDBC Driver][SQLServer]Transaction (Process ID 477) was deadlocked on {lock} resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
    My prgram contains many thread which Update the database, the same table but different rows.
    Thanks and Regards,

    This problem relates to the Microsoft SQLServer, the server has decided to decline the request from that instance due to an internal deadlock issue. Your instances request was arbitrarily chosen as the one to terminate. So the SQLServer sent an error status back that would have been passed on thru the ODBC bridge to the JVM and then to your application.
    How you want to handle this event within your app is up to you.

  • Transaction (Process ID 112) was deadlocked on lock resources

    i got a error when i run the ssis,how to fix it.
    Transaction (Process ID 112) was deadlocked on lock resources with another pr
                                   ocess and has been chosen as the deadlock victim

    i got a error when i run the ssis,how to fix it.
    Transaction (Process ID 112) was deadlocked on lock resources with another pr
                                   ocess and has been chosen as the deadlock victim
    Moderators please  move this to Databse engine forum.Can you see if this ooutput gives you deadlock graph.If you are on SQL server 2008 or later
    SELECT
    xed.value('@timestamp', 'datetime2(3)') as CreationDate,
    xed.query('.') AS XEvent
    FROM
    SELECT CAST([target_data] AS XML) AS TargetData
    FROM sys.dm_xe_session_targets AS st
    INNER JOIN sys.dm_xe_sessions AS s
    ON s.address = st.event_session_address
    WHERE s.name = N'system_health'
    AND st.target_name = N'ring_buffer'
    ) AS Data
    CROSS APPLY TargetData.nodes('RingBufferTarget/event[@name="xml_deadlock_report"]') AS XEventData (xed)
    ORDER BY CreationDate DESC
    --Got from Erland
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • XA transaction settings in BPEL

    I want to implement the XA transaction in my BPEL process
    I have made the follwing settings
    define a XA datasource define the Connection Factory.
    Defining Datasource and Connection Pool
    set transaction as participate in bpel.xml (for global transaction)
    what settings do I need to do at partner link level.
    It is still failing for XA Transaction level.
    It will be great if someone can help me out on this issue.

    Hi,
    the BPEL forum is at BPEL
    Frank

  • Item Category usage & Main Item Category(Transaction Process)

    Hi Friends,
    Can you help me to know the details of Item Category usage & Main Item Category in Transaction Process.
    I couldn't able to find the usage of these, while we are assigning Transaction type, Item category group, Item category usage & Main item to the Item category determination, the system is taking Transaction type data from Leading transaction type & Item category group from Product master data, then what is the use of Item category usage & Main item, where we need to maintain these details in system, Is it mandatory?, How come we know this is mandatory while doing configuration?..........
    Can you let me know the use of Item Category usage & Main Item Category in Transaction Process.
    Thanks & Regards.......
    Arun

    Hi Arun,
    Item category usage is mailnly used for text items not for products..
    its not all mandatory.
    In item category determination only Transaction type, Item category Group and Item category is mandatory,
    The main item category is necessary only when ur lower level item is dependent on ur higher level item.
    For more Info read the documentation in SPRO.
    Regards,
    PePe

Maybe you are looking for