Friday Mar 06, 2015

Oracle Service Bus SAP (iWay) Adapter Migration 11g to 12c

Step 1: Export project from 11g Service Bus Console

Step 2: Create a OSB application and import project

Step 3: Using SAP Adapter Migration Tool

Step 4: Browse and Select JNDI connection for SAP

Step 5: Edit Business Service wsdl source manually

Step 6: Change jndi name.

Step 7: Clean & Build & deploy your project using Jdeveloper 12c

[Read More]

Thursday Jan 29, 2015

Desktop application for purging SOA instances

You can purge instances with using my desktop application. It is easiest way to delete them from your SOA database. My application connects your database and run "soa.delete_instances" procedure. All of instance states will be ignored. "Check states table" . Before you start purging, your database administrator have to run these command below in your database.


My main referance document is "".

And Please back up your database before you start purging!

So, how to use this program?

Driver: Oracle JDBC driver
Connection String(url): Write your connection url like this example "jdbc:oracle:thin:@localhost:1521/orcl"
SOA Username: Something like SOA_INFRA, PROD_SOAINFRA etc.
Test Connection: It tests your connection, succeed or failed.

Composite Name: Which composite you want to purge? It is case sensitive
Composite Version: 1.0,1.1 etc.
Date From: Beginning creation date for the composite instances. Purge instances created the date after.
Date To: Ending creation date for the composite instances. Purge instances created the date before. (Not equals this date)

Batch Size: Batch size used to loop the purge Maximum Run time: Expiration time at which the purge script exits the loop. Delete with period: Split connections for each period. If you don t check this box, your application runs only "1" time. If you check this box, your application splits your begin and end date with selected day. For example, Date from is "2015-01-10" and date To is "2015-01-20", and you check this box and select 2 days period. Your application will be running 5 times, first delete instances between "2015-01-10" and "2015-01-12", then run again for delete instances between "2015-01-12" and "2015-01-14", then it will be continue like this.

Click "Run" button and wait.

If you want to use this tool, please contact with me via my e-mail (

And it is not official Oracle Product.

[Read More]

Wednesday Jan 28, 2015

SOA Instance States Table

Oracle SOA Suite composite instance state ids and descriptions table.[Read More]

Monday Jan 26, 2015

BPM Actionable Email Configuration

Step 1: Create e-mail account with mailbox.It means that account can get e-mail.

Step 2: Update user messaging driver

Step 3: Update Workflow properties

Step 4: Check driver config file (driverconfig.xml) from server. Config file path is "/data/oracle/domains/SOABPM-TEST-DMN/config/fmwconfig/servers/SAOBPM/applications/usermessagingdriver-email/configuration/".

Step 5: Restart SOA servers

Step 6: Create Test Composite

Step 7: Make humantask notification actionable

Step 8: Deploy & Test it.

You can download test application Click!

[Read More]

Tuesday Dec 16, 2014

Close and ReOpen Process as a New Instance

Step 1: Create Main Process

Step 2: Call Sub Process with Send Task

Step 3: Return from Sub Process with Receive Task

Step 4: Call Sub Process for Creating new instance

Step 5: Create Sub Process

Step 6: Sub Process Start activity

Step 7: Sub Process Cancel activity

Step 8: Sub Process End activity for cancel

composite.xml file

[Read More]

Wednesday Nov 19, 2014

Call SubProcess N Times and wait All Of Them are Completed!

Step 1: Create Main Process

Step 2: Create Sub Process

Step 3: Create DB Adapter for getting instance count

You can read my blog post about how to create and use DBAdapter. Click for read.

Step 4: Check your "composite.xml" file.

Step 5: Calling your Sub Process with "Service Task"

Step 6: Call DB Adapter with "Service Task"

Step 7: Check Process Instance Count with "Exclusive Gateway"

If count equals 1, all off subprocesses are completed with/without error. Otherwise there must be a subprocess that is running, because all of subprocesses are generated with same ECID that is as same as main process ECID

[Read More]

Tuesday Nov 18, 2014

Execute Pure SQL With DBAdapter

Step 1: Create DB Adapter

Step 2: Call DB Adapter with Service Task

[Read More]

BPM Set Instance Title

Step 1: Create BPM Application

Step 2: Add "Script" activity called "SetInstanceTitle"

Step 3: Using "ora:setCompositeInstanceTitle()" XPATH function.

Step 4: Check it on EM console

[Read More]

Friday Apr 25, 2014

Deployment failed because of "unrecoverable incompatibilities"

Edit composite.xml and add a new property.

<property name="oracle.bpm.bpmn.force.deploy">true</property> 

[Read More]

Thursday Apr 17, 2014

How To Reuse UserLogin in OIM

After delete a user, you can reuse userlogin in OIM. Please follow the steps below.

Step 1:  Login system admin screen and click on "System Configuration"

Step 2: Search and find "User Id Reuse property" and set value to "TRUE"

Step 3: Connect OIM database and find "UDX_USER_LOGIN" index and copy its sql script.

Step 4: Drop index.

Step 5: Recreate index as nonunique index. 

[Read More]

Change Email Validation For Uniqueness in OIM

Change email validation for uniqueness in OIM. Please follow the steps below.

Step 1:  Login system admin screen and click on "System Configuration"

Step 2: Search and find "Email Uniqueness property" If you do not click on "Create"

Step 3: Research and be sure :)

[Read More]

Tuesday Apr 08, 2014

Custom Flow History Table

Step 1: Create BPM Application

Step 2: Create Business Module

Step 3: Create Business Objects

Step 4: Update Business Objects

Step 5: Create Custom Test Flow

Step 6: Modify Script Tasks in Test Flow

Step 7: Create Custom user interface for task

Step 8: Add table into user interface.

End: Deploy & Run

[Read More]

Thursday Apr 03, 2014

Certification tab in OIM 11g R2 PS2

Step 1: Open Sysadmin Console (http://[hostname]:[port]/sysadmin)

Step 2: System Configuration

Step 3: Search [*Display*]

Step 4: Change Value

Step 5: Save and Restart Server

[Read More]

Sunday Mar 02, 2014

Parallel Approval with using "List of Approvers"

Step 1: Create "Parallel Approval" human task

Step 2: Create Approver List

Step 3: Create approver string (Str_ApproverList) using with approver list.

Use this formula:

[Read More]

Wednesday Feb 26, 2014

How to Find Last Approver of HumanTask

In this workflow you can find last approver of UserTask with using the steps below.

These steps are:

1 - Create and associate "TaskId" attribute.

2 - Use this formula: "hwf:getPreviousTaskApprover(bpmn:getDataObject('TaskId'))"

[Read More]

I am a member of the Fusion Middleware Applications Consultancy team.

I focus on tips and tricks FMW applications consultancy but also have a strong interest in ADF Development & Achitecture, Oracle BPM, Oracle Identity Manager and Oracle SOA Suite.

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.


« June 2016