Posts

Showing posts from July, 2009

bpel_synch

bpel_synch Shared via AddThis

enqueue dequeue sql script

Enqueue Message DECLARE enqueue_options DBMS_AQ.enqueue_options_t; message_properties DBMS_AQ.message_properties_t; msg_handle RAW (16); ipmsg ip_message_type; xml_clob CLOB; msg_id NUMBER (10); subscribers DBMS_AQ.aq$_recipient_list_t; BEGIN xml_clob := ''; subscribers (1) := SYS.aq$_agent (' ' , NULL , NULL); message_properties.recipient_list := subscribers; DBMS_AQ.enqueue (queue_name => ' ' , enqueue_options => enqueue_options , message_properties => message_properties , payload => xml_clob , msgid => msg_handle); COMMIT; END; Dequeue Message DECLARE dequeue_options DBMS_AQ.dequeue_options_t; message_properties DBMS_AQ.message_properties_t; message_handle RAW (16); xml_clob CLOB; BEGIN dequeue_options.consumer_name := ' '; dequeue_options.dequeue_mode := DBMS_AQ.remove; -- Only if you want to remove message dequeue_options.navigation := DBMS_AQ.next_message; dequeue_options.WAIT := DBMS_AQ.forever; DBMS_AQ.dequeue (queue_name => 

errbuf and retcode

It's explained in the Developer Guide. The ERRBUF is the message that you return and RETCODE is the return code. These two parameters are very much required exactly in the fashion. If the RETCODE is 0 stands for Success, 1 for success with warnings and 2 for Errors. For example you have a stored procedure created as below CREATE PROCEDURE TEST_CONC(ERRBUF OUT VARCHAR2,RETCODE OUT VARCHAR2) AS BEGIN --- PROCESSS ERRBUF := 'Successful Operation'; RETCODE := '0'; EXCEPTION --- EXCEPTION HANDLING ERRBUF := 'Found Exception '; RETCODE := '2'; END;

Examples of Date and Time Formatting

Example: Gregorian Calendar The following examples show a selection of dates and times and the way they might be formatted. These examples assume the use of the Gregorian calendar as the default calendar. Required Output Expression 2002-12-31 format-date($d, "[Y0001]-[M01]-[D01]") 12-31-2002 format-date($d, "[M]-[D]-[Y]") 31-12-2002 format-date($d, "[D]-[M]-[Y]") 31 XII 2002 format-date($d, "[D1] [MI] [Y]") 31st December, 2002 format-date($d, "[D1o] [MNn], [Y]", "en", (), ()) 31 DEC 2002 format-date($d, "[D01] [MN,*-3] [Y0001]", "en", (), ()) December 31, 2002 format-date($d, "[MNn] [D], [Y]", "en", (), ()) 31 Dezember, 2002 format-date($d, "[D] [MNn], [Y]", "de", (), ()) Tisdag 31 December 2002 format-date($d, "[FNn] [D] [MNn] [Y]", "sv&qu

Not Allowed To Cancel Order Line Because Line Has Been Pick Confirmed

The cancellation process is related to processing constraint CANCEL for Order Line entity. 1. To disable it: Navigate to Setup>Rules>Security>Processing Constraints. Use Delete Record from Edit menu to disable the following processing constraints Validation Templates: a) Operation > CANCEL; Validation Template>Pick released b) Operation > UPDATE; Attribute>Schedule Ship Date; Validation Template>Pick released c) Operation > UPDATE; Attribute>Schedule Arrival Date; Validation Template>Pick released 2. Create all conditions from above as new when your business requires to put these constraints back. 3. To enable cancellation, remove this constraint not only from CANCEL operation but also UPDATE operation for some attributes like Ordered Quantity, Request Date, etc. Make sure that this constraint is removed from ALL the attributes.

How to enable debugging in Oracle ESB

1. Login into the Application Server Control at http://Server.Client.com:7777/em 2. Click on the oc4j_soa instance and Administration tab. 3. Click on Logger Configuration. 4. Now expand Root Logger / oracle to display the logger classes and the Log Level settings. 5. In the Log Level list, select the level FINE for the following classes . oracle.tip.esb.server.common . oracle.tip.esb.server.service 6. Restart the SOA suite to apply the changes and the logs can be found at \\SERVER\\j2ee\oc4j_soa\application-deployments\esb-dt\oc4j_soa_default_group_1\application.log \\SERVER\\j2ee\oc4j_soa\application-deployments\esb-rt\oc4j_soa_default_group_1\application.log

Oracle BPEL process manager rollback

I have a empty BPEL process that polls for AQJMS messages using a JMS adapter and then insert the received messages to the DB. Now the problem is, if there is any error w.r.t the DB insert, then it should rollback the message to the source destination i.e., my AQJMS Queue. But it is not happening. using the bpelx:rollback explicitly doesn't seem to help. Answer : You need to make it as one transaction. Use JCA-XA transaction. Just like in PL/SQL to make a transaction block we write it inside BEGIN ... END; in BPEL we create a JNDI of XA type (global-transaction handler) and then configure the property name 'transaction' to 'participate' for all partner links which are part of the transaction. participate< /property> However you need to take care of one thing, if the process is syncronous and you call rollback then it will not show up in BPEL console, since it posting to dehydration db will also be rollbacked. Read the soa_best_practices_1013x http://

ASM

How To Use Automatic Shared Memory Management (ASMM) In Oracle10g --> Metalink Note 295626.1

Ship Confirm API's

1. wsh_delivery_details_pub.autocreate_deliveries 2. inv_pick_wave_pick_confirm_pub.pick_confirm 3. wsh_picking_batches_pub.create_batch 4. wsh_picking_batches_pub.release_batch

Tables to be monitered in ORABPEL schema

select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'PC_TASKPAYLOAD'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'WFCOMMENTS'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'DLV_SUBSCRIPTION'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'ATTACHMENT_REF'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'TASK'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'PROCESS_DEFAULT'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'ACTIVITY_SENSOR_VALUES'; select sum(bytes) from dba_extents where segment_type = 'TABLE' and segment_name = 'PC_TASK'; select sum(bytes) from dba_extents where segment_type = 'TABLE' an

Tune BPEL Process Performance Via Persistence Settings

deliveryPersistPolicy inMemoryOptimization completionPersistLevel completionPersistPolicy idempotent One-way and two-way invocations There are two types of invocations into a bpel instance: one-way operation and two-way operation. * A one-way invocation is request only and has only the inbound message. * A two-way invocation is a request and response operation. The caller thread blocks until a response is ready. One-way invocation Two-way invocation WSDL definition < name="oneway"> < name="twoway"> BPEL activities <receive operation="oneway" variable="in"/> <receive operation="twoway" variable="in"/> ... <reply operation="twoway" variable="out"/> Through delivery service Request is saved in delivery service. Caller thread doesn't wait for the message to be delivered to the targeted instance. Request is delivered into engine a

BPEL Server hangs due to java.lang.OutOfMemoryError

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.2 Linux x86 Symptoms The BPEL server hangs and a java.lang.OutOfMemoryError is displayed in the domain.log file. You will see the following stack trace in the domain.log failed to handle message javax.ejb.EJBException: Transaction was rolled back: java.lang.OutOfMemoryError; nested exception is: java.rmi.RemoteException: ; nested exception is: java.lang.OutOfMemoryError java.rmi.RemoteException: ; nested exception is: java.lang.OutOfMemoryError at com.evermind.server.ejb.EJBUtils.makeException(EJBUtils.java:886) at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSe ssionBeanWrapper16.java:1846) at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMe ssageHandler.java:37) ... ..... Message handle error. An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInsta