Activity Editor is used to define and modify activity definitions for
transformation rules. This is done on the editing canvas using the
canvas components: function blocks, connection links, tags, and New
Constant icon.
An activity definition is built with function blocks, which
represent discrete parts of the activity definition, such as a constant, a
variable or a programming method. Many of the function blocks in
Activity Editor correspond to individual methods in the Mapping API.
You place function blocks on the editing canvas by dragging and dropping
them from either the Library or Content window. Once you drop a
function block on the editing canvas, you can move it around, by clicking it
to select it and dragging it to the desired location.
Function blocks can have inputs, outputs, or both. The inputs and
outputs for each function block are predefined and accept only the specified
value type. When you drop the function block on the editing canvas, its
input and output ports are represented by arrows. These ports serve as
connecting points for linking between the function block and other
components. By default, the name of each input and output is displayed
next to its connection port (you can use the View > Preferences option to
hide the names).
For a description of supported function blocks in the Map Designer and
Relationship Designer contexts, see"Identifying supported function blocks".
- Note:
- In addition to the standard function blocks that Activity Editor provides,
you can export Web services from System Manager into Activity Editor.
The export process converts each method in the Web service to a function
block, which you can then use in activity definitions the same way as other
function blocks. For more information, see Exporting Web services into Activity Editor.
You can also import your own Java library for use as function blocks in
Activity Editor. Importing custom Jar libraries into activity settings
will enable any public methods in the Jar library to be used as function
blocks in Activity Editor. For more information, see Importing Java packages and other custom code.
If you only want to use one standard function block in a custom
transformation, you can configure the function block in the Preferences dialog
for direct use in Map Designer. Then after selecting the source and
destination attributes for the Custom transformation, you can select the
configured function block in the transformation rule combo box under Custom in
Map Designer.
Perform the following steps to set up direct use of function blocks in Map
Designer:
- Start Map Designer. For information on starting Map Designer, see Starting Map Designer
- From the View menu, select Preferences, or use the keyboard shortcut of
Ctrl+U.
Result: The Preferences dialog opens.
- In the Preferences dialog, select the Custom Mapping tab.
- From the list of standard function blocks, select the function blocks to
be used directly in Map Designer.
Figure 54 shows the Custom Mapping tab with the selected function
blocks.

Figure 54. Preferences screen with Custom Mapping tab showing
- Click OK.
Result: The configured function blocks will be available
for direct use in the transformation rule combo box under Custom in Map
Designer.
Function blocks are connected by connection links. The
connection links define the flow of activity between the various components in
the activity definition. They connect the output port of one function
block to the input port of another function block.
- Note:
- Outgoing ports can connect to multiple connection links, but incoming ports
can only connect to one connection link.
Tip: When you drag-and-drop to connect function blocks
together, Activity Editor uses the option set in the Validation tab of the
Preferences dialog to determine if it needs to validate and check whether the
"from" parameter type is the same as the "to" parameter type.
- By default, this preference is set to "Warning," meaning that when you
create a link between two parameters that are of different types, Activity
Editor will show a message warning you that this may lead to a compile
error.
- Setting the option to "Ignore" tells Activity Editor not to do any
validation.
- Setting the option to "Error" tells Activity Editor not to allow you to
create links between different types.
Example: To specify that the output of function block A
should go to the input of function block B, perform the following steps:
- Click and hold down the left mouse button on the outgoing port of function
block A.
- While continuing to hold down the left mouse button, move the cursor onto
the incoming port of function block B.
- Release the left mouse button.
Result: The connection link is placed between function
block A's out-port and function block B's in-port. Graphically,
the connection link will appear as a right-angled line between
components. If function block B's in-port is already connected with
another connection link, the newer connection link will replace the existing
connection link.
The System folder (located in the Library and Content windows) contains
function blocks for adding label, description,
comment, and to-do tags to the activity
definitions. These tags help identify each activity or subactivity, or
serve as a reminder of something that needs to be done. You drag and
drop these function blocks onto the editing canvas as you would any other
function block. However, there are no input and output ports.
To edit a new tag, single click in the center of the tag. The cursor
changes to an I-beam, and you can enter your text. The tags
automatically wrap lines of text that are too long. If you want to
start a new line, press enter.
To resize a tag, left-click the lower right-hand corner of the tag and hold
down the left mouse button while dragging the tag to the desired size.
Figure 55 shows resizing a label tag and entering multiple lines of
text.

Figure 55. Resizing a label and entering multiple lines of text
Restriction: Each of these editing components has a
minimize size, so the components cannot be resized to be smaller than a
certain size.
To move the tag around the canvas, click the edge of the component and
drag-and-drop it.
Activity Editor has a New Constant function block that you can drag
and drop onto the editing canvas to define a constant value that you set and
use as input to other function blocks. The New Constant function block
is located in the System folder in the Library window and Content
window. Activity Editor displays a text edit box on top of the function
block icon for you to enter the value of the Constant. To revise this
value, double-click the Constant icon and enter the new value.
Constants contain one outgoing port.
- Note:
- The Constant is the only activity definition component that accepts only a
single line for the value. This is because the constant is translated
to a Java code String, and the system cannot translate a multi-line constant
value. If multi-line input is required, use the "\n" value to separate
between lines in the Constant.
Example: The value "line1\nline2" will tell the system to
output the text in two lines.
Once you have defined an activity flow with a set of function blocks on the
editing canvas, you can select and save it as a named activity group for later
reuse in another activity definition. The saved activity group is
represented by an icon. The following procedure describes the steps to
take.
Before you begin: You need to enable "Show child functions
in Library window" in the Preference dialog to display the added group.
Perform the following steps:
- Select the activity components you want to group together on the editing
canvas. To select multiple components, hold down the Ctrl
key and click each component.
- Right-click the editing canvas to open the Context menu. Then
select Add to My Collection. Alternatively, right-click the component
and select Add to My Collection.
Result: The Add to My Collection dialog box is
displayed.
- In the Add to My Collection dialog, type a name and a description for the
activity group block; and select an icon to represent this group.
Then click OK.
Result: The activity group block is added to the My
Collection folder in the Library and Content windows. You can drag and
drop the icon onto the editing canvas for any activity definition.
- Note:
- Any input or output parameters that are not connected when the user group is
saved will appear as the input/output of this activity group.
Example: Figure 56 shows an activity in which the graphical components enclosed
in the box are saved as an activity group.

Figure 56. Graphical components that are saved as a single activity
When this activity group is reused, it has an icon representation, as shown
in Figure 57.

Figure 57. Reused activity group represented as an icon
Tip: Double-clicking on this group icon will show the
group definition in detail.
The supported function blocks, in the Map Designer context, are organized into
the categories shown in the following table. These categories
correspond to folders in the Library window and the Content window.
Table 31. Organization of function blocks
Function block folder
| Description
| For more information
|
General/APIs/Business Object
| Function blocks for working with business objects.
| Table 32
|
General/APIs/Business Object/Array
| Function blocks for working with Java arrays in the BusObj class.
| Table 33
|
General/APIs/Business Object/Constants
| Function blocks for working with Java constants in the BusObj
class.
| Table 34
|
General/APIs/Business Object Array
| Function blocks for working with business object arrays.
| Table 35
|
General/APIs/Database Connection
| Function blocks for creating and maintaining a database
connection.
| Table 36
|
General/APIs/Identity Relationship
| Function blocks for working with identity relationships.
| Table 37
|
General/APIs/Maps
| Function blocks for querying and setting run-time values needed for map
execution.
| Table 38
|
General/APIs\Maps/
Constants
| Function block constants.
| Table 39
|
General/APIs/Maps/
Exception
| Function blocks for creating new exception objects in a map.
| Table 40
|
General/APIs/Participant
| Function blocks for setting and retrieving values for participants in
identity relationships.
| Table 41
|
General/APIs/Participant/
Array
| Function blocks for creating and working with participant arrays.
| Table 42
|
General/APIs/Participant/ Constants
| Function block constants for use with participants.
| Table 43
|
General/APIs/Relationship
| Function blocks for manipulating run-time instances of
relationships.
| Table 44
|
General/Date
| Function blocks for working with dates.
| Table 45
|
General/Date/Formats
| Function blocks for specifying different date formats.
| Table 46
|
General/Logging and Tracing
| Function blocks for handling log and trace messages.
| Table 47
|
General/Logging and Tracing/Log Error
| Function blocks for formatting error messages.
| Table 48
|
General/Logging and Tracing/Log Information
| Function blocks for formatting informational messages.
| Table 49
|
General/Logging and Tracing/Log Warning
| Function blocks for formatting warning messages.
| Table 50
|
General/Logging and Tracing/Trace
| Function blocks for formatting trace messages.
| Table 51
|
General/Mapping
| Function blocks for executing maps within a specified context.
| Table 52
|
General/Math
| Function blocks for basic mathematical tasks.
| Table 53
|
General/Properties
| Function blocks for retrieving configuration property values.
| Table 54
|
General/Relationship
| Function blocks for maintaining and querying identity
relationships.
| Table 55
|
General/String
| Function blocks for manipulating String objects.
| Table 56
|
General/Utilities
| Function blocks for throwing and catching exceptions, as well as looping,
moving attributes, and setting conditions.
| Table 57
|
General\Utilities/Vector
| Function blocks for working with Vector objects.
| Table 58
|
The following tables describe the function blocks in each category,
including the acceptable values for their inputs and outputs.
Table 32.
General/APIs/Business Object
Name
| Description
| Inputs and outputs with acceptable values
|
Copy
| Copies all attribute values from the input business object.
API: BusObj.copy()
| Inputs:
- copy to--BusObj
- copy from--BusObj
|
Duplicate
| Creates a business object exactly like the original one.
API: BusObj.duplicate()
| Inputs:original--BusObj
Outputs: duplicate--BusObj
|
Equal Keys
| Compares business object 1's and business object 2's values, to
determine whether they are equal.
API: BusObj.equalKeys()
| Inputs:
- business object 1--BusObj
- business object 2--BusObj
Outputs: key values equal?-- boolean
|
Equals
| Compares business object 1's and business object 2's values,
including child business objects, to determine whether they are equal.
API: BusObj.equals()
| Inputs:
- business object 1--BusObj
- business object 2--BusObj
Outputs: equal?-- boolean
|
Exists
| Checks for the existence of a business object attribute with a specified
name.
API: BusObj.exists()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: exists?-- boolean
|
Get Boolean
| Retrieves the value of a single attribute, as a boolean, from a business
object.
API: BusObj.getBoolean()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value-- boolean
|
Get Business Object
| Retrieves the value of a single attribute, as a BusObj, from a business
object.
API: BusObj.getBusObj()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--BusObj
|
Get Business Object Array
| Retrieves the value of a single attribute, as a BusObj Array, from a
business object.
API: BusObj.getBusObjArray()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--BusObjArray
|
Get Business Object Type
| Retrieves the name of the business object definition on which this
business object was based.
API: BusObj.getType()
| Inputs: business object--BusObj
Outputs: type--String
|
Get Double
| Retrieves the value of a single attribute, as a double, from a business
object.
API: BusObj.getDouble()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--double
|
Get Float
| Retrieves the value of a single attribute, as a float, from a business
object.
API: BusObj.getFloat()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--float
|
Get Int
| Retrieves the value of a single attribute, as an integer, from a business
object.
API: BusObj.getInt()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--int
|
Get Long
| Retrieves the value of a single attribute, as a long, from a business
object.
API: BusObj.getLong()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--long
|
Get Long Text
| Retrieves the value of a single attribute, as a long text, from a
business object.
API: BusObj.getLongText()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--String
|
Get Object
| Retrieves the value of a single attribute, as an object, from a business
object.The attribute can be specified as either the attribute name or
the attribute position.
API: BusObj.get()
| Inputs:
- business object--BusObj
- attribute--String, int
Outputs: value--Object
|
Get String
| Retrieves the value of a single attribute, as a string, from a business
object.
API: BusObj.getString()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: value--String
|
Get Verb
| Retrieves this business object's verb.
API: BusObj.getVerb()
| Inputs: business object--BusObj
Outputs: verb--String
|
Is Blank
| Finds out whether the value of an attribute is set to a zero-length
string.
API: BusObj.isBlank()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: blank?--boolean
|
Is Business Object
| Tests whether the value is a business object (BusObj).
| Inputs: value--Object
Outputs: result--boolean
|
Is Key
| Finds out whether a business object's attribute is defined as a key
attribute.
API: BusObj.isKey()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: key?--boolean
|
Is Null
| Finds out whether the value of a business object's attribute is
null.
API: BusObj.isNull()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: null?--boolean
|
Is Required
| Finds out whether a business object's attribute is defined as a
required attribute.
API: BusObj.isRequired()
| Inputs:
- business object--BusObj
- attribute--String
Outputs: required?--boolean
|
Iterate Children
| Iterates through the child business object array.
| Inputs:
- business object--BusObj
- attribute--String
- current index--int
- current element--BusObj
|
Key to String
| Retrieves the values of a business object's primary key attributes as
a string.
API: BusObj.keysToString()
| Inputs: business object--BusObj
Outputs: key string--String
|
New Business Object
| Creates a new business object instance (BusObj) of the specified
type.
API: Collaboration.BusObj()
| Inputs: type--String
Outputs: business object--BusObj
|
Set Content
| Sets the contents of this business object to another business
object. The two business objects will own the content together.
Changes made to one business object will be reflected in the other business
object.
API: BusObj.setContent()
| Inputs:
- business object--BusObj
- content--BusObj
|
Set Default Attribute Values
| Sets all attributes to their default values.
API: BusObj.setDefaultAttrValues()
| Inputs: business object--BusObj
|
Set Keys
| Sets the values of the "to" business object's key attributes to the
values of the key attributes in "from" business object.
API: BusObj.setKeys()
| Inputs:
- from business object--BusObj
- to business object--BusObj
|
Set Value with Create
| Sets the business object's attribute to a specified value of a
particular data type, creating an object for the value if one does not already
exist.
API: BusObj.setWithCreate()
| Inputs:
- business object--BusObj
- attribute--String
- value--BusObj, BusObjArray, Object
|
Set Verb
| Sets the verb of a business object.
API: BusObj.setVerb()
| Inputs:
- business object--BusObj
- verb--String
|
Set Verb with Create
| Sets the verb of a child business object, creating the child business
object if one does not already exist.
API: BusObj.setVerbWithCreate()
| Inputs:
- business object--BusObj
- attribute--String
- verb--String
|
Set Value
| Sets a business object's attribute to a specified value of a
particular data type.
API: BusObj.set()
| Inputs:
- business object--BusObj
- attribute--String
- value--boolean, double, float, int, long, Object, String, BusObj
|
Shallow Equals
| Compares business object 1 and business object 2's values, excluding
child business objects, to determine whether they are equal.
API: BusObj.equalsShallow()
| Inputs:
- business object 1--BusObj
- business object 2--BusObj
Outputs: equal?--boolean
|
To String
| Gets the values of all attributes in a business object as string.
API: BusObj.toString()
| Inputs: business object--BusObj
Outputs: string--String
|
Valid Data
| Checks whether the specified value is a valid type for a specified
attribute.
API: BusObj.validData()
| Inputs:
- business object--BusObj
- attribute--String
- value--Object, BusObj, BusObjArray, String, long, int, double, float,
boolean
Outputs: valid?--boolean
|
Table 33.
General/APIs/Business Object/Array
Name
| Description
| Inputs and outputs with acceptable values
|
Get BusObj At
| Retrieves the element at the specified index in the business object
array.
| Inputs:
- array--BusObj[]
- index--int
Outputs: business object--BusObj
|
New Business Object Array
| Creates a new business object array.
| Inputs: size--int
Outputs: array--BusObj[]
|
Set BusObj At
| Sets the element at the specified index in the business object
array.
| Inputs:
- array--BusObj[]
- index--int
- business object--BusObj
|
Size
| Retrieves the size of the business object array
| Inputs: array--BusObj[]
Outputs: size--int
|
Table 34.
General/APIs/Business Object/Constants
Name
| Description
| Inputs and outputs with acceptable values
|
Verb: Create
| Business object verb "Create".
| Outputs: Create--String
|
Verb: Delete
| Business object verb "Delete".
| Outputs: Delete--String
|
Verb: Retrieve
| Business object verb "Retrieve".
| Outputs: Retrieve--String
|
Verb: Update
| Business object verb "Update".
| Outputs: Update--String
|
Table 35.
General/APIs/Business Object Array
Name
| Description
| Inputs and outputs with acceptable values
|
Add Element
| Adds a business object to this business object
API: BusObjArray.addElement()
| Inputs:
- business object array--BusObjArray
- element--BusObj
|
Duplicate
| Creates a business object array exactly like the original one.
API: BusObjArray.duplicate()
| Inputs: original--BusObjArray
Outputs: duplicate--BusObjArray
|
Equals
| Compares business object array 1's and business object array 2's
values, to determine whether they are equal.
API: BusObjArray.equals()
| Inputs:
- array 1--BusObjArray
- array 2--BusObjArray
Outputs: equal?-- boolean
|
Get Element At
| Retrieves a single business object by specifying its position in the
business object array.
API: BusObjArray.elementAt()
| Inputs:
- business object array--BusObjArray
- index--int
Outputs: element--BusObj
|
Get Elements
| Retrieves the contents of this business object array.
API: BusObjArray.getElements()
| Inputs: business object array--BusObjArray
Outputs: element--BusObj[]
|
Get Last Index
| Retrieves the last available index from a business object array.
API: BusObjArray.getLast Index()
| Inputs: business object array--BusObjArray
Outputs: last index--int
|
Is Business Object Array
| Tests whether value is a business object array (BusObjArray).
| Inputs: value--Object
Outputs: result--boolean
|
Max attribute value
| Retrieves the maximum values for the specified attribute among all
elements in this business object array.
API: BusObjArray.max()
| Inputs:
- business object array--BusObjArray
- attribute--String
Outputs: max--String
|
Min attribute value
| Retrieves the minimum value for the specified attribute among all
elements in this business object array.
API: BusObjArray.min()
| Inputs:
- business object array--BusObjArray
- attribute--String
Outputs: min--String
|
Remove All Elements
| Removes all elements from the business object array.
API: BusObjArray.removeAllElements()
| Inputs: business object array--BusObjArray
|
Remove Element
| Removes a business object element from a business object array.
API: BusObjArray.removeElement()
| Inputs:
- business object array--BusObjArray
- element--BusObj
|
Remove Element At
| Removes an element at a particular position in this business object
array.
API: BusObjArray.removeElementAt()
| Inputs:
- business object array--BusObjArray
- index--int
|
Set Element At
| Sets the value of a business object in the business object array.
API: BusObjArray.setElementAt()
| Inputs:
- business object array--BusObjArray
- index--int
- element--BusObj
|
Size
| Gets the number of elements in this business object array.
API: BusObjArray.size()
| Inputs: business object array--BusObjArray
Outputs: size--int
|
Sum
| Adds the values of the specified attribute for all business objects in
this business object array.
API: BusObjArray.sum()
| Inputs:
- business object array--BusObjArray
- attribute--String
Outputs: sum--double
|
Swap
| Reverses the positions of two business objects in this business object
array.
API: BusObjArray.swap()
| Inputs:
- business object array--BusObjArray
- index 1--int
- index 2--int
|
To String
| Retrieves the values in this business object array as a single
string.
API: BusObjArray.to String()
| Inputs: business object array--BusObjArray
Outputs: string--String
|
Table 36.
General/APIs/Database Connection
Name
| Description
| Inputs and outputs with acceptable values
|
Begin Transaction
| Begins an explicit transaction for the current connection.
API: CwDBConnection.beginTransaction()
| Inputs: database connection--CwDBConnection
|
Commit
| Commits the active transaction associated with the current
connection.
API: CwDBConnection.commit()
| Inputs: database connection--CwDBConnection
|
Execute Prepared SQL
| Executes a prepared SQL Query by specifying its syntax.
API: CwDBConnection.executePreparedSQL()
| Inputs:
- database connection--CwDBConnection
- query--String
Outputs: equal?-- boolean
|
Execute Prepared SQL with Parameter
| Executes a prepared SQL query by specifying its syntax with the specified
parameters.
API:CwDBConnection.executePreparedSQL()
| Inputs:
- database connection--CwDBConnection
- query--String
- parameters--java.util.Vector
|
Execute SQL
| Executes a static SQL query by specifying its syntax.
API: CwDBConnection.executeSQL()
| Inputs:
- database connection--CwDBConnection
- query--String
|
Execute SQL with Parameter
| Executes a static SQL query by specifying its syntax with the specified
parameters.
API: CwDBConnection.executeSQL()
| Inputs:
- database connection--CwDBConnection
- query--String
- parameters--java.util.Vector
|
Execute Stored Procedure
| Executes an SQL stored procedure by specifying its name and parameter
array.
API: CwDBConnection.executeStored Procedure()
| Inputs:
- database connection--CwDBConnection
- query--String
- parameters--java.util.Vector
|
Get Database Connection
| Establishes a connection to a database and returns a CwDBConnection()
object.
API: BaseDLM.getDBConnection() or
BaseCollaboration.getDBConnection()
| Inputs: connection pool name--String
Outputs: database connection--CwDBConnection
|
Get Database Connection with Transaction
| Establishes a connection to a database and returns a CwDBConnection()
object.
API: BaseDLM.getDBConnection() or
BaseCollaboration.getDBConnection()
| Inputs:
- connection pool name--String
- implicit transaction--boolean
Outputs: database connection--CwDBConnection
|
Get Next Row
| Gets the next row from the query result.
API: CwDBConnection.nextRow()
| Inputs: database connection--CwDBConnection
Outputs: row--java.util.Vector
|
Get Update Count
| Gets the number of rows affected by the last write operation to the
database.
API: CwDBConnection.getUpdateCount()
| Inputs: database connection--CwDBConnection
Outputs: count--int
|
Has More Rows
| Determines whether the query result has more rows to process.
API: CwDBConnection.hasMoreRows()
| Inputs: database connection--CwDBConnection
Outputs: more rows?--boolean
|
In Transaction
| Determines whether a transaction is in progress in the current
connection.
API: CwDBConnection.inTransaction()
| Inputs: database connection--CwDBConnection
Outputs: in transaction?--boolean
|
Is Active
| Determines whether the current connection is active.
API: CwDBConnection.isActive()
| Inputs: database connection--CwDBConnection
Outputs: is active?--boolean
|
Release
| Releases use of the current connection, returning it to its connection
pool.
API: CwDBConnection.release()
| Inputs: database connection--CwDBConnection
|
Roll Back
| Rolls back the active transaction associated with the current
connection.
API: CwDBConnection.rollback()
| Inputs: database connection--CwDBConnection
|
Table 37.
General/APIs/Identity Relationship
Name
| Description
| Inputs and outputs with acceptable values
|
Add My Children
| Adds the specified child instances to a parent/child relationship for an
identity relationship.
API: IdentityRelationship.addMyChildren()
| Inputs:
- map--BaseDLM
- parentChildRelDefName--String
- parentParticipantDefName--String
- parentBusObj--BusObj
- childParticipantDefName--String
- childBusObjList--BusObj,BusObjArray
|
Delete All My Children
| Removes all child instances from a parent/child relationship for an
identity relationship belonging to the specified parent.
API: IdentityRelationship.deleteMyChildren()
| Inputs:
- map--BaseDLM
- parentChildRelDefName--String
- parentParticipantDefName--String
- parentBusObj--BusObj
- childParticipantDefName--String
|
Delete My Children
| Removes the specified child instances from a parent/child relationship
for an identity relationship belonging to the specified parent.
API: IdentityRelationship.deleteMyChildren()
| Inputs:
- map--BaseDLM
- parentChildRelDefName--String
- parentParticipantDefName--String
- parentBusObj--BusObj
- childParticipantDefName--String
- childBusObjList--BusObj,BusObjArray
|
Foreign Key Cross-Reference
| Performs a lookup in the relationship table in the relationship database
based on the foreign key of the source business object, adding a new
relationship instance in the foreign relationship table if the foreign key
does not exist.
API: IdentityRelationship.foreignKeyXref()
| Inputs:
- map--BaseDLM
- RelDefName--String
- appParticipantDefName--String
- genParticipantDefName--String
- appSpecificBusObj--BusObj
- appForeignAttr--String
- genericBusObj--BusObj
- genForeignAttr--String
|
Foreign Key Lookup
| Performs a lookup in a foreign relationship table based on the foreign
key of the source business object, failing to find a relationship instance if
the foreign key does not exist in the foreign relationship table.
API: IdentityRelationship.foreignKeyLookup()
| Inputs:
- map--BaseDLM
- relDefName--String
- appParticipantDefName--String
- appSpecificBusObj--BusObj
- appForeignAttr--String
- genericBusObj--BusObj
- genForeignAttr--String
|
Maintain Child Verb
| Sets the child business object verb based on the map execution context
and the verb of the parent business object.
API: IdentityRelationship.maintainChildVerb()
| Inputs:
- map--BaseDLM
- relDefName--String
- appSpecificParticipantName--String
- genericParticipantName--String
- appSpecificObj--BusObj
- appSpecificChildObj--String
- genericObj--BusObj
- genericChildObj--String
- to_Retrieve--boolean
- Is_Composite--boolean
|
Maintain Composite Relationship
| Maintains a composite identity relationship from within the parent
map.
API: IdentityRelationship.maintain
CompositeRelationship()
| Inputs:
- map--BaseDLM
- relDefName--String
- participantDefName--String
- appSpecificBusObj--BusObj
- genericBusObjList--BusObj, BusObjArray
|
Maintain Simple Identity Relationship
| Maintains a simple identity relationship from within either a parent or
child map.
API: IdentityRelationship.maintain
Simple Identity Relationship()
| Inputs:
- map--BaseDLM
- relDefName--String
- participantDefName--String
- appSpecificBusObj--BusObj
- genericBusObj--BusObj
|
Update My Children
| Adds and deletes child instances in a specified parent/child relationship
of an identity relationship, as necessary.
API: IdentityRelationship.updateMyChildren()
| Inputs:
- map--BaseDLM
- parentChildRelDefName--String
- parentParticipantDef--String
- parentBusObj--BusObj
- childParticipantDef--String
- childAttrName--String
- childIdentityRelDefName--String
- childIdentityParticipantDefName--String
|
Table 38.
General/APIs/Maps
Name
| Description
| Inputs and outputs with acceptable values
|
Get Adapter Name
| Retrieves the adapter name associated with the current map
instance.
API: MapExeContext.getConnName()
| Inputs: map--BaseDLM
Outputs: adapter name--String
|
Get Calling Context
| Retrieves the calling context associated with the current map
instance.
API: MapExeContext.getInitiator()
| Inputs: map--BaseDLM
Outputs: calling context--String
|
Get Original Request Business Object
| Retrieves the original-request business object associated with the
current map instance.
API: MapExeContext.getOriginalRequestBO()
| Inputs: map--BaseDLM
Outputs: original business object--BusObj
|
Table 39.
General/APIs/Maps/Constants
Name
| Description
| Inputs and outputs with acceptable values
|
Calling Context: ACCESS
_REQUEST
| An access client has sent an access request from an external application
to InterChange Server.
API: MapExeContext.ACCESS_REQUEST
|
Outputs: ACCESS_REQUEST--String
|
Calling Context: ACCESS
_RESPONSE
| The source business object is sent back to the source access client in
response to a subscription delivery request.
API: MapExeContext.ACCESS_RESPONSE
|
Outputs: ACCESS_RESPONSE--String
|
Calling Context: EVENT
_DELIVERY
| A connector has sent an event from the application to InterChange Server
(event-triggered flow).
API: MapExeContext.EVENT_DELIVERY
|
Outputs: EVENT_DELIVERY--String
|
Calling Context: SERVICE_CALL
_FAILURE
| A collaboration's service call request has failed. As such,
corrective action might need to be performed.
API: MapExeContext.SERVICE_CALL_FAILURE
|
Outputs: SERVICE_CALL_FAILURE
--String
|
Calling Context: SERVICE_CALL
_REQUEST
| A collaboration is sending a business object down to the application
through a service call request.
API: MapExeContext.SERVICE_CALL_REQUEST
|
Outputs: SERVICE_CALL_REQUEST
--String
|
Calling Context: SERVICE_CALL
_RESPONSE
| A business object was received from the application as a result of a
successful response to a collaboration service call request.
API: MapExeContext.SERVICE_CALL
_RESPONSE
|
Outputs: SERVICE_CALL_RESPONSE
--String
|
Table 40.
General/APIs/Maps/Exception
Name
| Description
| Inputs and outputs with acceptable values
|
Raise Map Exception
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception type--String
- message--String
|
Raise Map Exception 1
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception type--String
- message--String
- parameter 1--String
|
Raise Map Exception 2
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception type--String
- message--String
- parameter 1--String
- parameter 2--String
|
Raise Map Exception 3
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception type--String
- message--String
- parameter 1--String
- parameter 2--String
- parameter 3--String
|
Raise Map Exception 4
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception type--String
- message--String
- parameter 1--String
- parameter 2--String
- parameter 3--String
- parameter 4--String
|
Raise Map Exception 5
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception type--String
- message--String
- parameter 1--String
- parameter 2--String
- parameter 3--String
- parameter 4--String
- parameter 5--String
|
Raise Map RunTimeEntity
Exception
| Raises a map run-time exception.
API: raiseException()
| Inputs:
- map--BaseDLM
- exception--RunTimeEntityException
|
Table 41.
General/APIs/Participant
Name
| Description
| Inputs and outputs with acceptable values
|
Get Boolean Data
| Retrieves the data associated with the Participant object.
API: Participant.getBoolean()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--boolean
|
Get Business Object Data
| Retrieves the data associated with the Participant object.
API: Participant.getBusObj()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--BusObj
|
Get Double Data
| Retrieves the data associated with the Participant object.
API: Participant.getDouble()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--double
|
Get Float Data
| Retrieves the data associated with the Participant object.
API: Participant.getFloat()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--float
|
Get Instance ID
| Retrieves the relationship instance ID of the relationship in which the
participant instance is participating.
API: Participant.getInstanceId()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: instance ID--int
|
Get Int Data
| Retrieves the data associated with the Participant object.
API: Participant.getInt()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--int
|
Get Long Data
| Retrieves the data associated with the Participant object.
API: Participant.getLong()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--long
|
Get Participant Name
| Retrieves the participant definition name from which the participant
instance is created.
API: Participant.getParticipantDefinition()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: name--String
|
Get Relationship Name
| Retrieves the name of the relationship definition in which the
participant instance is participating.
API: Participant.getRelationshipDefinition()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: name--String
|
Get String Data
| Retrieves the data associated with the Participant object.
API: Participant.getString()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: data--String
|
New Participant
| Creates a new participant instance with no relationship instance.
API: Participant()
| Inputs:
- relDefName--String
- partDefName--String
- partData--BusObj, String, long, int, double, float, boolean
Output:
participant--Server.RelationshipServices.Participant
|
New Participant in Relationship
| Creates a new participant instance for adding to an existing participant
in a relationship instance.
API: RelationshipServices.Participant()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
- partData--BusObj, String, long, int, double, float, boolean
Output:
participant--Server.RelationshipServices.Participant
|
Set Data
| Sets the data associated with the participant instance.
API: Participant.set()
| Inputs:
- participant--Server.RelationshipServices.Participant
- partData--BusObj, String, long, int, double, float, boolean
|
Set Instance ID
| Sets the instance ID of the relationship in which the participant
instance is participating.
API: Participant.setInstanceId()
| Inputs:
- participant--Server.RelationshipServices.Participant
- id--int
|
Set Participant Definition
| Sets the participant definition name from which the participant instance
is created.
API: Participant.setParticipantDefinition()
| Inputs:
- participant--Server.RelationshipServices.Participant
- partDefName--String
|
Set Relationship Definition
| Sets the relationship definition in which the participant instance is
participating.
API: Participant.setRelationshipDefinition()
| Inputs:
- participant--Server.RelationshipServices.Participant
- relDefName--String
|
Table 42.
General/APIs/Participant/Array
Name
| Description
| Inputs and outputs with acceptable values
|
Get Participant At
| Retrieves the element at the specified index in the participant
array.
| Inputs:
- array--Server.RelationshipServices.Participant[]
- index--int
Outputs:
participant--Server.RelationshipServices.Participant
|
New Participant Array
| Creates a new participant array with the specified size.
| Inputs: size--int
Outputs:
array--Server.RelationshipServices.Participant[]
|
Set Participant At
| Sets the element at the specified index in the participant array.
| Inputs:
- array--Server.RelationshipServices.Participant[]
- index--int
- participant--Server.RelationshipServices.Participant
|
Size
| Retrieves the size of the participant array.
| Inputs:
array--Server.RelationshipServices.Participant[]
Outputs: size--int
|
Table 43.
General/APIs/Participant/Constants
Name
| Description
| Inputs and outputs with acceptable values
|
Participant:
INVALID
_INSTANCE_ID
| Participant constant indicating the participant ID is invalid.
API: Participant.INVALID_INSTANCE_ID
|
Outputs: INVALID_INSTANCE_ID--int
|
Table 44.
General/APIs/Relationship
Name
| Description
| Inputs and outputs with acceptable values
|
Add Participant
| Adds an existing participant object to a relationship instance.
API: Relationship.addParticipant()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: result instance ID--int
|
Add Participant Data
| Adds a new participant to an existing relationship instance.
API: Relationship.addParticipant()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
- partData--BusObj, String, long, int, double, float, boolean
Outputs: result instance ID--int
|
Add Participant Data to New Relationship
| Adds a participant to a new relationship instance.
API: Relationship.addParticipant()
| Inputs:
- relDefName--String
- partDefName--String
- partData--BusObj, String, long, int, double, float, boolean
Outputs: result instance ID--int
|
Create Relationship
| Creates a new relationship instance.
API: Relationship.create()
| Inputs:
- relDefName--String
- partDefName--String
- partData--BusObj, String, long, int, double, float, boolean
Outputs: instance ID--int
|
Create Relationship with Participant
| Creates a new relationship instance.
API: Relationship.create()
| Inputs:
participant--Server.RelationshipServices.Participant
Outputs: instance ID--int
|
Deactivate Participant
| Deactivates a participant from one or more relationship instances.
API: Relationship.deactivate Participant()
| Inputs:
participant--Server.RelationshipServices.Participant
|
Deactivate Participant By Data
| Deactivates a participant from one or more relationship instances.
API: Relationship.deactivate Participant()
| Inputs:
- relDefName--String
- partDefName--String
- partData--BusObj, String, long, int, double, float, boolean
|
Deactivate Participant By Instance
| Deactivates a participant from a specific relationship instance.
API: Relationship.deactivate ParticipantByInstance()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
|
Deactivate Participant By Instance Data
| Deactivates a participant from a specific relationship instance with the
data associated with the participant.
API: Relationship.deactivate ParticipantByInstance()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
- partData--BusObj, String, long, int, double, float, boolean
|
Delete Participant
| Removes a participant instance from one or more relationship
instances.
API: Relationship.deleteParticipant()
| Inputs:
participant--Server.RelationshipServices.Participant
|
Delete Participant By Instance
| Removes a participant from a specific relationship instance.
API: Relationship.deleteParticipanByInstancet()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
|
Delete Participant By Instance Data
| Removes a participant from a specific relationship instance with the data
associated with the participant.
API: Relationship.deleteParticipanByInstancet()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
- partData--BusObj, String, long, int, double, float, boolean
|
Delete Participant with Data
| Removes a participant instance from one or more relationship
instances.
API: Relationship.deleteParticipant()
| Inputs:
- relDefName--String
- partDefName--String
- partData--BusObj, String, long, int, double, float, boolean
|
Get Next Instance ID
| Returns the next available relationship instance ID for a relationship,
based on the relationship definition name.
API: Relationship.getNewID()
| Inputs: relDefName--String
Outputs: ID--int
|
Retrieve Instances
| Retrieves zero or more IDs of relationship instances which contain the
given participant(s).
API: Relationship.retrieveInstances()
| Inputs:
- relDefName--String
- partDefName--String,String[]
- partData--BusObj, String, long, int, double, float, boolean
Outputs: instance IDs--int
|
Retrieve Instances for Participant
| Retrieves zero or more IDs of relationship instances which contain a
given participant.
API: Relationship.retrieveInstances()
| Inputs:
- relDefName--String
- partData--BusObj, String, long, int, double, float, boolean
Outputs: instance IDs--int
|
Retrieve Participants
| Retrieves zero or more participants from a relationship instance.
API: Relationship.retrieveParticipants()
| Inputs:
- relDefName--String
- partDefName--String, String[]
- instanceId--int
Outputs: participant
instances--Server.RelationshipServices.Participant[]
|
Retrieve Participants with ID
| Retrieves zero or more participants from a relationship instance.
API: Relationship.retrieveParticipants()
| Inputs:
- relDefName--String
- instanceId--int
Outputs: participant
instances--Server.RelationshipServices.Participant[]
|
Update Participant
| Updates a participant in one or more relationship instances.
API: Relationship.updateParticipant()
| Inputs:
- relDefName--String
- partDefName--String
- partData--BusObj
|
Update Participant By Instance
| Updates a participant in a specific relationship instance.
API: Relationship.updateParticipantByInstance()
| Inputs:
- relDefName--String
- partDefName--String, String[]
- instanceId--int
|
Update Participant By Instance Data
| Updates a participant in a specific relationship instance with the data
associated with the participant.
API: Relationship.updateParticipantByInstance()
| Inputs:
- relDefName--String
- partDefName--String
- instanceId--int
- partData--BusObj, String
|
Table 45.
General/Date
Name
| Description
| Inputs and outputs with acceptable values
|
Add Day
| Adds additional days to the from date.
| Inputs:
- from date--String
- date format--String
- day to add--int
Outputs: to date-- String
|
Add Month
| Adds additional months to the from date.
| Inputs:
- from date--String
- date format--String
- month to add--int
Outputs: to date-- String
|
Add Year
| Adds additional years to the from date.
| Inputs:
- from date--String
- date format--String
- year to add--int
Outputs: to date-- String
|
Date After
| Compares two dates and determines whether Date 1 is after Date 2.
| Inputs:
- Date 1--String
- Date 1 format--String
- Date 2--String
- Date 2 format--String
Outputs: Is Date 1 after Date 2?-- boolean
|
Date Before
| Compares two dates and determines whether Date 1 is before Date 2.
| Inputs:
- Date 1--String
- Date 1 format--String
- Date 2--String
- Date 2 format--String
Outputs: Is Date 1 before Date 2?-- boolean
|
Date Equals
| Compares two dates and determines whether they are equal.
| Inputs:
- Date 1--String
- Date 1 format--String
- Date 2--String
- Date 2 format--String
Outputs: Are they equal?-- boolean
|
Format Change
| Changes a date format.
| Inputs:
- date--String
- input format--String
- output format--String
Outputs: formatted date--String
|
Get Day
| Returns the numeric day of month based on date expression.
| Inputs:
- Date--String
- Format--String
Outputs: Day--int
|
Get Month
| Returns the numeric month of year based on date expression.
| Inputs:
- Date--String
- Format--String
Outputs: Month--int
|
Get Year
| Returns the numeric year based on date expression.
| Inputs:
- Date--String
- Format--String
Outputs: Year--int
|
Get Year Month Day
| Given an input date, extracts the Year/Month/Day parts from the input
date respectively.
| Inputs:
- Date--String
- Format--String
Outputs:
- Year--int
- Month--int
- Day--int
|
Now
| Gets today's date.
| Inputs: format--String
Outputs: now--String
|
Table 46.
General/Date/Formats
Name
| Description
| Inputs and outputs with acceptable values
|
yyyy-MM-dd
| Date format of yyyy-MM-dd
Example: 2003-02-25
| Outputs: format--String
|
yyyyMMdd
| Date format of yyyyMMdd
Example: 20030225
| Outputs: format--String
|
yyyyMMdd HH:mm:ss
| Date format of yyyyMMdd HH:mm:ss
Example: 20030225 12:36:40
| Outputs: format--String
|
Table 47.
General/Logging and Tracing
Name
| Description
| Inputs and outputs with acceptable values
|
Log error
| Sends the specified error message to the ICS log file.
| Inputs: message--String, byte, short, int, long, float, double
|
Log error ID
| Sends the error message associated with the specified ID to the ICS log
file.
| Inputs: ID--String, byte, short, int, long, float, double
|
Log information
| Sends the specified information message to the ICS log file.
| Inputs: message--String, byte, short, int, long, float, double
|
Log information ID
| Sends the information message associated with the specified ID to the ICS
log file.
| Inputs: ID--String, byte, short, int, long, float, double
|
Log warning
| Sends the specified warning message to the ICS log file
| Inputs: message--String, byte, short, int, long, float, double
|
Log warning ID
| Sends the warning message associated with the specified ID to the ICS log
file.
| Inputs: ID--String, byte, short, int, long, float, double
|
Trace
| Sends the specified trace message to the ICS log file.
| Inputs: message--String, byte, short, int, long, float, double
|
Table 48.
General/Logging and Tracing/Log Error
Name
| Description
| Inputs and outputs with acceptable values
|
Log error ID 1
| Formats the error message associated with the specified ID with the
parameter and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter--String, byte, short, int, long, float, double
|
Log error ID 2
| Formats the error message associated with the specified ID with the
parameters and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
|
Log error ID 3
| Formats the error message associated with the specified ID with the
parameters and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
- parameter 3--String, byte, short, int, long, float, double
|
Table 49.
General/Logging and Tracing/Log Information
Name
| Description
| Inputs and outputs with acceptable values
|
Log information ID 1
| Formats the information message associated with the specified ID with the
parameter and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter--String, byte, short, int, long, float, double
|
Log information ID 2
| Formats the information message associated with the specified ID with the
parameters and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
|
Log information ID 3
| Formats the information message associated with the specified ID with the
parameters and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
- parameter 3--String, byte, short, int, long, float, double
|
Table 50.
General/Logging and Tracing/Log Warning
Name
| Description
| Inputs and outputs with acceptable values
|
Log warning ID 1
| Formats the warning message associated with the specified ID with the
parameter and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter--String, byte, short, int, long, float, double
|
Log warning ID 2
| Formats the warning message associated with the specified ID with the
parameters and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
|
Log warning ID 3
| Formats the warning message associated with the specified ID with the
parameters and sends it to the ICS log file.
| Inputs:
- ID--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
- parameter 3--String, byte, short, int, long, float, double
|
Table 51.
General/Logging and Tracing/Trace
Name
| Description
| Inputs and outputs with acceptable values
|
Trace ID 1
| Formats the trace message associated with the specified ID with the
parameter and displays it if tracing is set to the specified level or a higher
level.
| Inputs:
- ID--String, byte, short, int, long, float, double
- level--String, byte, short, int, long, float, double
- parameter--String, byte, short, int, long, float, double
|
Trace ID 2
| Formats the trace message associated with the specified ID with the
parameters and displays it if tracing is set to the specified level or a
higher level.
| Inputs:
- ID--String, byte, short, int, long, float, double
- level--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
|
Trace ID 3
| Formats the trace message associated with the specified ID with the
parameters and displays it if tracing is set to the specified level or a
higher level.
| Inputs:
- ID--String, byte, short, int, long, float, double
- level--String, byte, short, int, long, float, double
- parameter 1--String, byte, short, int, long, float, double
- parameter 2--String, byte, short, int, long, float, double
- parameter 3--String, byte, short, int, long, float, double
|
Trace on Level
| Displays the trace message if tracing is set to the specified level or a
higher level.
| Inputs:
- message--String, byte, short, int, long, float, double
- level--String, byte, short, int, long, float, double
|
Table 52.
General/Mapping
Name
| Description
| Inputs and outputs with acceptable values
|
Run Map
| Executes the specified map with the current calling context.
| Inputs:
- Map Name--String
- Source Business Objects--BusObj, BusObj[]
Outputs: Map Results--BusObj, BusObj[]
|
Run Map with Context
| Executes the specified map with the calling context specified.
| Inputs:
- Map Name--String
- Source Business Objects--BusObj, BusObj[]
- calling context--String
Outputs: Map Results--BusObj, BusObj[]
|
Table 53.
General/Math
Name
| Description
| Inputs and outputs with acceptable values
|
Absolute value
| a=abs(b)
API: Math.abs()
| Inputs: b--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Ceiling
| Returns the next highest integer that is greater than or equal to the
specified numeric expression.
| Inputs: number--String, float, double
Outputs: ceiling--int
|
Divide
| a=b/c
| Inputs:
- b--byte, short, int, long, float, double
- c--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Equal
| Is value 1 equal to value 2?
| Inputs:
- value 1--String, byte, short, int, long, float, double
- value 2--String, byte, short, int, long, float, double
Outputs: are they equal?--boolean
|
Floor
| Returns the next lowest integer that is greater than or equal to the
specified numeric expression.
| Inputs: number--String, float, double
Outputs: floor--int
|
Greater than
| Is value 1 greater than value 2?
| Inputs:
- value 1--byte, short, int, long, float, double
- value 2--byte, short, int, long, float, double
Outputs: result--boolean
|
Greater than or Equal
| Is value 1 greater than or equal to value 2?
| Inputs:
- value 1--byte, short, int, long, float, double
- value 2--byte, short, int, long, float, double
Outputs: result--boolean
|
Less than
| result=value 1 is less than value 2?
| Inputs:
- value 1--byte, short, int, long, float, double
- value 2--byte, short, int, long, float, double
Outputs: result--boolean
|
Less than or equal
| Is value 1 less than or equal to value 2?
| Inputs:
- value 1--byte, short, int, long, float, double
- value 2--byte, short, int, long, float, double
Outputs: result--boolean
|
Maximum
| a=max(b, c)
API: Math.max()
| Inputs:
- b--byte, short, int, long, float, double
- c--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Minimum
| a=min(b, c)
API: Math.min()
| Inputs:
- b--byte, short, int, long, float, double
- c--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Minus
| a=b-c
| Inputs:
- b--byte, short, int, long, float, double
- c--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Multiply
| a=b*c
| Inputs:
- b--byte, short, int, long, float, double
- c--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Not Equal
| result=is value 1 not equal to value 2?
| Inputs:
- value 1--String, byte, short, int, long, float, double
- value 2--String, byte, short, int, long, float, double
Outputs: are they not equal?--boolean
|
Not a Number
| Returns true if input is not a number.
| Inputs: input--String
Outputs: is not a number--boolean
|
Number to String
| Converts a numeric expression to a character expression.
| Inputs: number--String, short, int, long, float, double
Outputs: string--String
|
Plus
| a=b+c
| Inputs:
- b--byte, short, int, long, float, double
- c--byte, short, int, long, float, double
Outputs: a--byte, short, int, long, float, double
|
Round
| Rounds a numeric expression down to the next lowest integer if
<5; otherwise, the integer is rounded up.
| Inputs: number--String, float, double
Outputs: rounded number--int
|
String to Number
| Converts a character expression to a numeric expression.
API: Math.type()
| Inputs: string--String
Outputs: String, short, int, long, float, double
|
Table 54.
General/Properties
Name
| Description
| Inputs and outputs with acceptable values
|
Get Property
| Retrieves the specified configuration property value.
| Inputs: property name--String
Outputs: property value--String
|
Table 55.
General/Relationship
Name
| Description
| Inputs and outputs with acceptable values
|
Maintain Identity Relationship
| Maintains an identity relationship with the
maintainSimpleIdentityRelationship() Relationship API.
| Inputs:
- relationship name--String
- participant name--String
- Generic Business Object--String
- Application-Specific Business Object--String
- calling context--String
|
Static Lookup
| Looks up a static value in the relationship.
| Inputs:
- relationship name--String
- participant name--String
- inbound?--boolean
- source value--String
Outputs: lookup value--String
|
Table 56.
General/String
Name
| Description
| Inputs and outputs with acceptable values
|
Append Text
| Appends the "in string2" to the end of the string "in string 1."
| Inputs:
- in string 1--String
- in string 2--String
Outputs: result--String
|
If
| Returns the first value if condition is true and the second value if
condition is false.
| Inputs:
- condition--boolean, Boolean
- value 1--String
- value 2--String
Outputs: result--String
|
Is Empty
| Returns the second value if the first value is empty.
| Inputs:
- value 1--String
- value 2--String
Outputs: result--String
|
Is NULL
| Returns the second value if the first value is null.
| Inputs:
- value 1--String
- value 2--String
Outputs: result--String
|
Left Fill
| Returns a string of the specified length; fills the left with
indicated value.
| Inputs:
- string--String
- fill string--String
- length--int
Outputs: filled string--String
|
Left String
| Returns the left portion of string for the specified number of
positions.
| Inputs:
- string--String
- length--int
Outputs: left string--String
|
Lower Case
| Changes all characters to Lower Case letters
| Inputs: fromString--String
Outputs: toString--String
|
Object To String
| Gets a string representation of the object.
| Inputs: object--Object
Outputs: string--String
|
Repeat
| Returns a character string that contains a specified character expression
repeated a specified number of times.
| Inputs:
- repeating string--String
- repeat count--int
Outputs: result--String
|
Replace
| Replaces part of a string with indicated value data.
| Inputs:
- input--String
- old string--String
- new string--String
Outputs: replaced string--String
|
Right Fill
| Returns a string of the specified length; fills the right with
indicated value.
| Inputs:
- string--String
- fill string--String
- length--int
Outputs: filled string--String
|
Right String
| Returns the right portion of string for the specified number of
positions.
| Inputs:
- string--String
- length--int
Outputs: right string--String
|
Substring by position
| Returns a portion of the string based on start and end parameters.
| Inputs:
- string--String
- start position--int
- end position--int
Outputs: substring--String
|
Substring by value
| Returns a portion of the string based on start and end parameters.
The substring will not include the start and end value.
| Inputs:
- string--String
- start value--int
- end value--int
Outputs: substring--String
|
Text Equal
| Compares the strings "inString1" and "inString2" and determine whether
they are the same.
| Inputs:
- inString1--String
- inString2--String
Outputs: are they equal?--boolean
|
Text Equal Ignore Case
| Compares the strings "inString1" and "inString2" lexicographically,
ignoring case considerations.
| Inputs:
- inString1--String
- inString2--String
Outputs: are they equal?--boolean
|
Text Length
| Finds the total number of characters in a string
| Inputs: str--String
Outputs: length---byte, short, int, long, float, double
|
Trim Left
| Trims the specified number of characters from the left side of the
string.
| Inputs:
- input--String
- trim length--int
Outputs: result--String
|
Trim Right
| Trims the specified number of characters from the right side of the
string.
| Inputs:
- input--String
- trim length--int
Outputs: result--String
|
Trim Text
| Trims white spaces before and after the string
| Inputs: in string--String
Outputs: trimmed string--String
|
Upper Case
| Changes all characters into Upper Case letters
| Inputs: fromString--String
Outputs: toString--String
|
Table 57.
General/Utilities
Name
| Description
| Inputs and outputs with acceptable values
|
Catch Error
| Catches all the Exceptions thrown in the current activity and its
subactivities. (Double-click the function block icon in the canvas to
define the subactivity.)
| Inputs:
- Error Name--String
- Error Message--String
|
Catch Error Type
| Catches the specified Exception type thrown in the current activity and
its subactivities. (Double-click the function block icon in the canvas
to define the subactivity.)
| Inputs:
- error type--String
- Error Message--String
|
Condition
| If "Condition" is true, executes the subactivity defined in "True
Action"; otherwise, executes the subactivity defined in "False
Action." (Double-click the function block icon in the canvas to define
the subactivity.)
| Inputs: Condition--boolean
|
Loop
| Repeats the subactivity until "Condition" is false. (Double-click
the function block icon in the canvas to define the subactivity.)
| Inputs: Condition--boolean
|
Move Attribute in Child
| Moves the value from "from attribute" to "to attribute".
| Inputs:
- source parent--BusObj
- source child BO attribute--string
- from attribute--String
- destination parent--BusObj
- destination child BO attribute--String
- to attribute--String
|
Raise Error
| Throws a new Java Exception with the given message.
| Inputs: message--String
|
Raise Error Type
| Throws the specified Java Exception with the given message.
| Inputs:
- error type--String
- message--String
|
Table 58.
General/Utilities/Vector
Name
| Description
| Inputs and outputs with acceptable values
|
Add Element
| Adds the specified element to the end of the vector, increasing its size
by one.
| Inputs: vector--java.util.Vector
Outputs: element--Object
|
Get Element
| Gets the element at the specified index in the Vector object.
| Inputs:
- vector--java.util.Vector
- index--int
Outputs: element--Object
|
Iterate Vector
| Iterates through the vector object.
| Inputs:
- vector--java.util.Vector
- current index--int
- current element--Object
|
New Vector
| Creates a new vector object.
| Outputs: vector--java.util.Vector
|
Size
| Gets the number of elements in this vector.
| Inputs: vector--java.util.Vector
Outputs: size--int
|
To Array
| Gets the array representation containing all of the elements in this
vector.
| Inputs: vector--java.util.Vector
Outputs: array--Object[]
|
The following example illustrates the steps for using Activity Editor to
change the source attribute's value to all uppercase and assign the change
to the destination attribute.
Perform the following steps:
- From the Diagram tab, drag the source attribute onto the destination
attribute to create a Custom transformation rule. Then click the icon
of the Custom transformation rule to open Activity Editor.
Result: Activity Editor opens.
Example: Figure 58 shows the Custom transformation we are using in this
example. The source attribute is ObjClarify_contact.LastName,
and the destination attribute is ObjContact.LastName.

Figure 58. Custom transformation rule
For more information on creating Custom and other transformations, see "Creating maps".
- Select a category in the Library window (top left) to show the function
blocks available in that category, as icons, in the Content window (bottom
left).
Figure 59 shows the available function blocks for the "String"
category; the source and destination attributes in this example are
displayed as icons in the editing canvas.

Figure 59. Function blocks in String category and icons for source and destination attributes
-
To use any of the function blocks in the activity, drag the function block
from the tree in the Library window and drop it onto the editing canvas;
or alternatively, drag the icon from the Content window and drop it onto the
editing canvas.
Example: In our example, we want to change the source
attribute to all uppercase letters, so we will drag-and-drop the Upper Case
function block in the String category from the Content window onto the editing
canvas. This action is shown in Figure 60.

Figure 60. Dragging the Upper Case function block
-
After you drop a function block on the editing canvas, you can move it around
the canvas by selecting the function block icon and dragging and dropping it
at the desired position. When the function block is in place, you are
ready to connect the inputs and outputs of the function block to define the
flow of execution.
Example: In our example, we want to convert the attribute
value of ObjClarify_Contact.LastName to all uppercase letters.
We can do this by connecting the output of the icon for
ObjClarify_Contact.LastName to the input of the Upper Case function
block. To do this, move the mouse cursor to the output of the icon of
port ObjClarify_Contact.LastName.
Result: The shape of the icon will change to an arrow to
indicate that you can initiate a link at that point, as shown in Figure 61.

Figure 61. Cursor as arrow at output port of ObjClarify_Contact.LastName
-
When the mouse icon is changed to an arrow, hold down the mouse button and
move the mouse to the input of the Upper Case function block, and release the
mouse button. A connection link will be drawn to connect the input and
outputs.
To indicate that the result of the Upper Case function block should be
assigned to the destination attribute (in our example,
ObjContact.LastName), repeat the same steps to drag-and-drop from the
output of the Upper Case function block to the input of the
ObjContact.LastName port icon. Figure 62 shows the connection links.

Figure 62. Upper Case function block with connection links
Result: We have defined an activity which will take the
value of the source attribute, uppercase it, and set the uppercased value to
the destination attribute.
-
Save the activity by selecting To Project or To File from the File > Save
submenu or by clicking the Save Map to Project or Save Map to File button in
the Standard toolbar.
- To see an example of the Java code that will be generated by this
activity, click the Java tab.
Result: The Java tab will be activated with the sample
Java code, as shown in Figure 63.

Figure 63. Java tab with code
The following example illustrates the steps for using Activity Editor to
change the source value's date format to a different format and assign it
to the destination attribute.
Perform the following steps:
- From the Diagram tab, drag the source attribute onto the destination
attribute to create a Custom transformation rule. Then click the icon
of the Custom transformation rule to open Activity Editor.
Result: Activity Editor opens.
Example: Figure 64 shows the Custom transformation we are using in this
example. The source attribute is
ObjClarify_QuoteSchedule.PriceProgExpireDate, and the destination
attribute is ObjARInvoice.GLPostingDate.

Figure 64. Custom transformation rule
For more information on creating Custom and other transformations, see "Creating maps".
- Select a category in the Library window (top left) to show the available
function blocks available in that category, as icons, in the Content window
(bottom left).
Figure 65 shows the available functions blocks for the "Date"
category; the source and destination attributes in our example are
displayed as icons in the editing canvas.

Figure 65. Function blocks in Date category and icons for source and destination attributes
-
To use any of the function blocks in the activity, drag the function block
from the tree in the Library window and drop it onto the editing canvas;
or alternatively, drag the icon from the Content window and drop it onto the
activity canvas.
Example: We want to change the date format of the source
attribute from "yyyyMMdd" to "yyyy.MM.dd G 'at'
HH:mm:ss z" and assign it to the destination attribute; so we
will drag-and-drop the Format Change function block in the Date category from
the Content window onto the editing canvas, as shown in Figure 66.
- Note:
- A date formatted with "yyyyMMdd" looks like this: "20030227"; a
date formatted with "yyyy.MM.dd G 'at'
HH:mm:ss z" looks like this "2003.02.27 AD at
00:00:00 PDT".

Figure 66. Dragging the Date Format Change function block
-
After you drop a function block onto the activity canvas, you can move it
around the canvas by selecting the function block icon and dragging and
dropping it at the desired position. When the function block is in
place, you are ready to connect the inputs and outputs of the function block
to define the flow of execution.
Example: We want to change the date format of the source
attribute ObjClarify_QuoteSchedule.PriceProgExpireDate. We will
do this by connecting the output of the port icon for
ObjClarify_QuoteSchedule.PriceProgExpireDate to the date input of the
Format Change function block. To do this, move the mouse cursor to the
output of the icon of port
ObjClarify_QuoteSchedule.PriceProgExpireDate.
Result: The shape of the icon will change to an arrow to
indicate that you can initiate a link at that point, as shown in Figure 67.

Figure 67. Cursor as arrow at output port of ObjClarify_QuoteSchedule.PriceProgExpireDate
-
When the mouse icon is changed to an arrow, hold down the mouse button and
move the mouse to the date input of the Format Change function block, and
release the mouse button. A connection link will be drawn to connect
the input and outputs.
To indicate that the result of the Format Change function block should be
assigned to the destination attribute ObjARInvoice.GLPostingDate,
repeat the same steps to drag-and-drop from the output of the Format Change
function block to the input of the ObjARInvoice.GLPostingDate port
icon. Figure 68 shows the connection links.

Figure 68. Date Format Change function block with connection links
Result: Now we have instructed the Format Change function
block to take the input from the attribute
ObjClarify_QuoteSchedule.PriceProgExpireDate, change its date format,
and assign the result to the attribute
ObjARInvoice.GLPostingDate. However, we still need to let the
Format Change function block know what the original date format is and what
resulting format we want.
- In our example, if the source attribute
ObjClarify_QuoteSchedule.PriceProgExpireDate is in the date format of
yyyMMDD (that is, 20030227), we can use the predefined Date Format function
block yyyyMMdd. Drag-and-drop the yyyyMMdd function block onto the
activity canvas and connect the format output of the yyyyMMdd function block
to the input format of the Format Change function block.
Result: This will specify that the input format of the
date is in yyyyMMdd format, as shown in Figure 69.

Figure 69. Input Date Format
-
Activity Editor provides three predefined Date formats: yyyyMMDD
HH:mm:ss, yyyyMMDD, and yyyy-MM-dd. If the desired date
format is not one of the three predefined formats, you can specify the date
format you want by using a Constant.
Example: We want the Format Change function block to
change the date format to yyyy.MM.dd G 'at' Hh"mm"ss
z. This is not one of the predefined formats, so we will create a New
Constant component in the activity canvas by dragging and dropping the
New Constant icon (located under the System category) from the
Content window to the editing canvas. Figure 70 shows the result of this action.

Figure 70. New Constant icon dropped on the activity canvas
-
To specify a constant with the value yyyy.MM.dd G 'at'
Hh"mm"ss z, click the editable area of the Constant component in the activity
canvas and enter the text yyyy.MM.dd G 'at'
Hh"mm"ss z. By default, any Constant component will have the type
String (shown in the Properties window when the Constant component is
selected). However, you can change the type of the Constant by
selecting the Constant and using the combo box in the Properties
window. Figure 71 shows the New Constant icon with the text value
entered.

Figure 71. New Constant with text entered
- To continue to specify that we want the output format of the Format Change
function block as yyyy.MM.dd G 'at' Hh"mm"ss z, we
define a connection link between the Constant component and the output format
of the Format Change function block.
Result: We have completed the activity definition that
will change the date format of the source attribute to a new date format and
assign it to the destination attribute.
-
To add a comment or description to remind us later what this activity does, we
can add a Description component to the activity and enter a
description.
Tip: Use the Context menu in the editing canvas and select
Add Description, or drag the New Description icon under the System
folder in the Content window and drop it onto the editing canvas. Figure 72 shows how to add the Description component using the Context
menu.

Figure 72. Adding a Description using the Context menu
Result: The Description component will be created in the
editing canvas.
- Enter the description in the Description component by clicking on the
editable area of the component and typing directly into the component.
You can resize the Description by clicking and moving the lower right-hand
corner of the Description component. Figure 73 shows adding the Description.

Figure 73. Adding the Description
-
Save the activity by selecting To Project or To File from the File > Save
submenu or by clicking the Save Map to Project or Save Map to File button in
the Standard toolbar. Figure 74 shows saving the activity.

Figure 74. Saving the activity
The following example illustrates using the Static Lookup
relationship function block in Activity Editor.
In WebSphere InterChange Server, a static lookup relationship normally
consists of two or more relationship tables. For example, consider a
system that consists of three end-applications, as shown in Figure 75.

Figure 75. Static Lookup relationship with three end-applications
Each of these three applications has a different representation for "State"
information, as shown in Table 59.
Table 59. Application-specific representation of state information
| SAP application
| PeopleSoft application
| Clarify application
|
California
| CA
| 01
| State1
|
Washington
| WA
| 02
| State2
|
Hawaii
| HI
| 03
| State3
|
Delaware
| DE
| 04
| State4
|
When state information is sent to the WebSphere business integration system
from the SAP application, SAP specified-state code is sent to InterChange
Server. But when InterChange Server needs to pass this information to
other applications, the state information has to be converted to the format
that the target application understands. In order to do this, the
system needs a generic representation of the "State" information. With
the generic representation, the system can process business logics in a
generic, unified manner; and the generic representation will be converted
to the application-specific format only when needed.
Thus, in the preceding example, we would create a static lookup
relationship for doing this "State" conversion, with the application-specific
data as WebSphere business integration-managed participants. With this
setup, a generic ID is used to represent the state information in the
WebSphere business integration system. Table 60 shows this representation.
Table 60. Generic representation of state information
| Generic ID
| SAP application
| PeopleSoft application
| Clarify application
|
California
| 1
| CA
| 01
| State1
|
Washington
| 2
| WA
| 02
| State2
|
Hawaii
| 3
| HI
| 03
| State3
|
Delaware
| 4
| DE
| 04
| State4
|
Application-specific data is converted to the generic ID as it enters the
InterChange Server system, and the generic ID is converted to
application-specific data as it exits the system.This data conversion
is shown in Figure 76.

Figure 76. Data conversion from application-specific to generic to application-specific
The ID conversion is usually done in maps that convert application-specific
business objects to generic business objects, or vice versa. For
example in the SAP-to-Generic map, we would do a static lookup for the data
"CA" and convert it to the generic representation that InterChange Server
understands, "1". And in the Generic-to-Clarify map, we would instead
do a static lookup for the generic data "1" and convert it to "State1".
In either map, only one static lookup is required.
Figure 77 shows how to use the Static Lookup function block to convert
the SAP-specified state data to the InterChange Server generic state data for
processing in InterChange Server.

Figure 77. Using static lookup function block to convert SAP-specific state data to InterChange Server-generic state data
Similarly, the Static Lookup function block is used to convert the
InterChange Server-generic state data to Clarify-specific state data in the
Generic-to-Clarify map. This is shown in Figure 78.

Figure 78. Using static lookup function block to convert InterChange Server-generic state data to Clarify-specific state data
Normally, in a static lookup relationship, we convert application-specific
data to generic data, or generic data to application-specific data. In
these scenarios, only one Static Lookup function block is used. But in
the special cases where you want to directly lookup a name-value pair, then
two Static Lookup function blocks are required.
For more information on defining and using static relationships, see Creating relationship definitions.
