Sie sind auf Seite 1von 4

About Workflow in IFS Applications

This document describes how IFS Applications can be setup to interact with an external workflow engine.

Contents

 Workflow Engines

 Start a workflow

 Human Task

 Subscribe To Event

Workflow Engines

A workflow engine is a software application that manages and executes modeled computer processes.
Workflow engines using WS-BPEL (Web Services Business Process Execution Language) are compliant
with IFS Applications. IFS Applications can expose web services to be used by external applications and
also call web services exposed by other applications.

Start a workflow

A workflow exposing a web services can be called from IFS Applications. There are several ways to do
this.

Start a workflow when an event is triggered

IFS Applications can be configured to start a workflow in an external workflow engine when an event is
triggered. There is an action type "Start Workflow". By creating an Event Action with this action type and
specify the workflow server web service endpoint and what operation to call you can start a new
workflow instance in an external workflow engine. See Event Actions for more details.

Start a workflow from a custom menu

A custom menu of type PL/SQL Block can be used to start a workflow. Create a custom menu with this
action type according to documentation. Add a PL/SQL block calling the database method
FND_WORKFLOW_CONNECTION_API.Start_Workflow (VARCHAR2
workflow_server_,VARCHAR2 web_service_name_,VARCHAR2 operation_
,VARCHAR2 parameter_attr_);

Setting the workflow server address to null value will use a default workflow server address. This default
workflow server is defined in the Workflow server window in Solution Manager.

Example:
DECLARE
attr_ VARCHAR2(4000);
workflow_server_ VARCHAR2(200) := null;
web_service_name_ VARCHAR2(200) := 'soa-infra/services/test/demobpel_ep';
operation_ VARCHAR2(50) := 'process';

BEGIN
Client_SYS.Clear_Attr(attr_);
Client_SYS.Add_To_Attr('CUSTOMER_ID', '1000',attr_);
Client_SYS.Add_To_Attr('NAME', 'TEST', attr_);
Client_SYS.Add_To_Attr('ASSIGNEE', 'ALAIN', attr_);

FND_WORKFLOW_CONNECTION_API.Start_Workflow (
workflow_server_,
web_service_name_,
operation_ ,
attr_);
END;

When calling "FND_WORKFLOW_CONNECTION_API.Start_Workflow" or the Event Action "Start


Workflow" is triggered an outbound application message is created. This can be monitored in Application
Messages in Solution Manager.

Human Task

IFS Application have a pre-packaged web service that creates a Human Task in IFS Application assigned to
one or many users. The call is asynchronous and a callback is done to a specified address.

Parameter Description:

Parameter
Description
Name

subject Title on the task

Description of the task. Details what the user should do in order to complete
message Optional
the task

The user id as specified in User Administration (FndUser/identity). Receiver


receiver can be a list of users separated by , or ; character. Each of the users will be
able to see the same task. Task is only to be performed once and can only be
set to complete by one user.

A link that can help the user complete the task. It can refer to a specific
window within IFS Applications. Example
url Optional
"ifsapf:frmCustomerOrder?action=get&key1=<ORDER_NO>" where
<ORDER_NO> is to be replaced by an valid order id.

The priority of the task as defined by the sender. Values can be "High", "Low"
priorityDb Optional
or "Normal"

A date when the task is expected to be completed or else it is marked as


dueDate Optional
overdue.

A Logical Unit name. Example "CustomerOrder". This will make the task
visible when the user is opening up windows in IFS Applications that are
businessObject Optional
showing Customer Orders. That means the window data source is connected
to logical unit "CustomerOrder".

This is a ; separated list of valid response options from the human task. When
a task is completed by the user the user can select any of the listed response
options supplied. This value will be returned in the callback when the
responseOptions Optional
workflow is resumed. The value sent back can be any of the values in the list
or null. The purpose is to be able to give an answer back to the workflow
engine from a Human Task.

A task can be completed when the user sets it to complete (manual


operation) or it can be completed if the user is doing some action which fires
an event in IFS Applications. Specifying eventLuName and eventId (key
attributes for FndEvent) and objectKey improves the process so the user do
not manually need to complete the task, it will be completed if the specific
eventLuName Optional Event on this object is fired.
Note that these are not mandatory, but all three attributes must be specified
in order for this to work.

eventLuName is the name of the logical unit where the event is defined

eventId Optional identifier for the Event

The rowkey attribute (also referred to as objkey). This identifies the object
objectKey Optional
that causes the Event to fire
Example:

- <createHumanTask_InputVariable>

- <part name="humantask" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

- <humantask xmlns="http://message.integration.service.ifs/">

<subject>Credit Blocked Order Released: 12000</subject>

<message>Approve Credit Blocked Order</message>

<receiver>BIID</receiver>

<url>ifsapf:frmCustomerOrder?external_search=ORDER_NO=12000</url>

<responseOptions>Approve;Deny</responseOptions>

</humantask>

</part>

</createHumanTask_InputVariable>

Subscribe To Event

IFS Applications have a pre-packaged web service to be able to subscribe to Event for a specific object.
When the specified Event is fired for the object a callback is executed to the specified callback url with
the correlation id

Parameter Description:

Parameter
Description
Name

eventLuName and eventId are key attributes for FndEvent. A callback is executed
eventLuName
when this event is fired for the object defined by objectKey

eventId Identifier for the Event

The rowkey attribute (also referred to as objkey). This identifies the object that
objectKey
causes the Event to fire

Das könnte Ihnen auch gefallen