Customizing transformation steps

Map Designer Express provides two ways to generate Java code:

Using the Activity Editor

Using the Activity Editor, you can specify the flow of activities for a specific transformation rule graphically, without knowing programming or Java code. For each transformation rule in Map Designer Express, you can display one activity and its subactivities. You can view the associated attribute's transformation code graphically, modify it, and have the tool generate the corresponding Java code.

You launch the Activity Editor directly from Map Designer Express (see "Starting the Activity Editor"). At startup, the Activity Editor communicates with System Manager to discover the set of activities allowed. After you have finished designing the activity for a particular transformation rule, you save the changes in the Activity Editor, and they are communicated to Map Designer Express.

This section contains the following topics on the Activity Editor:

Starting the Activity Editor

You launch the Activity Editor through the transformation rule column of the Table or Diagram tabs of Map Designer Express. There are two ways to access information in this transformation rule column:

Transformation code is generated from one of the standard transformations that Map Designer Express provides on the combo box of the transformation rule column. When you double-click the attribute's transformation rule cell or click the mapping rule icon, the type of transformation determines what Map Designer Express displays:

The Activity Editor appears with the attribute name in the title bar. You can open multiple instances of the Activity Editor at the same time.

Layout of the Activity Editor

The Activity Editor has two main views: Graphical view and Java view. Depending on the nature of the activity, at any given time, only one view is visible. Thus, if Map Designer Express invokes the Activity Editor to display a graphical activity, the Activity Editor will startup with the Graphical view. If you choose to translate this graphical activity into Java code, the Java view will display in place of the Graphical view.

Figure 44 and Figure 68 show the layout of the Graphical and Java views, respectively, of the Activity Editor.

Both views have common Window elements, as described in Table 22..

Table 22. Common Window elements
Window element Description
Title Bar
Contains the name of the application (Activity Editor), application icon, and the main activity's name.
Menu Contains the primary menus.
Tool Bar Contains dockable toolbars with shortcuts to various functions and tools.
Document Display Area
Displays the representation of the activity definition. It is organized with a workbook look.
Status Bar Displays status information and some handy shortcuts.

Using the Activity Editor functionality

You can access the Activity Editor's functionality using any of the following:

Main menus and keyboard shortcuts

The Activity Editor provides the following pull-down menus:

The following sections describe the options of each of these menus and their associated keyboard shortcuts.

Functions of the File menu: The File pull-down menu of the Activity Editor provides the following options:

Functions of the Edit menu: The Edit pull-down menu of the Activity Editor provides the following options:

Functions of the View menu: The View pull-down menu of the Activity Editor provides the following options:

Functions of the Tools menu: The Tools pull-down menu of the Activity Editor provides the following option:

Functions of the Help menu: The Help pull-down menu of the Activity Editor provides the following options:

Context menu: The Context menu provides options for performing many tasks on the editing canvas. To access the Context menu, right-click the editing canvas. The Context menu provides the following options:

Toolbar elements

The toolbars provide direct access to various features and functions of the Activity Editor. The functions of the toolbar buttons are the same as their corresponding menu items.

The Activity Editor supports two toolbars:

Tip: To identify the function of each toolbar button, roll over each button with your mouse cursor.

Standard toolbar: Figure 41 shows the Standard toolbar.

Figure 41. Activity Editor Standard toolbar

Table 23 provides the function of each Standard toolbar button (left to right) and the corresponding menu command.

Table 23.
Functions of Standard toolbar buttons
Function Corresponding menu command
Save Activity
File-->Save
Print Activity
File-->Print...
Cut
Edit-->Cut
Copy
Edit-->Copy
Paste
Edit-->Paste
Delete
Edit-->Delete
Help
Help-->Help Topics

Graphics toolbar: Figure 42 shows the Graphics toolbar.



Figure 42. Activity Editor Graphics toolbar

Table 24 provides the function of each Graphics toolbar button (left to right) and the corresponding menu command.

Table 24. Functions of Graphics toolbar buttons
Function Corresponding menu command
Back
View-->Go To-->Back
Forward
View-->Go To-->Forward
Up One Level
View-->Go To-->Up One Level
Home
View-->Go To-->Home
Zoom In
View-->Zoom In
Zoom Out
View-->Zoom Out

Status bar elements: The Activity Editor also provides a Status bar, as shown in Figure 43.

Figure 43. Activity Editor Status bar

Table 25 describes the functionality of each Status bar element, left to right.


Table 25. Functions of Status bar elements
Element Function
Zoom: 100% Edit box for specifying a zooming percentage
Ready Status message
10.9 Navigation pane showing the current position of the I-bar in the Java editor
>> (Shown in Quick view mode)

<< (Shown in Design mode)

Toggle between Design mode and quick view mode

Working in Graphical view

If Map Designer Express opens the Activity Editor with an activity definition that has a graphical nature, the Activity Editor will display the activity definition in graphical view in one of two available display modes: Design mode or Quick view mode.

Initially, when an activity definition that has a graphical nature opens, the Activity Editor displays the top-level view of the definition in a tabbed window. Inside the tab window is the editing canvas, which is also known as the activity canvas or graphical canvas.

Working with activity definitions: You define and modify activity definitions on the editing canvas using the canvas components. The following list identifies the canvas components and briefly describes how to use them to define and modify activity definitions. For detailed steps for defining and modifying activity definitions, see "Example 1 of using the Activity Editor", "Example 2 of using the Activity Editor", and "Example 3 of using the Activity Editor".

Grouping components

Once you have dragged-and-dropped components onto the canvas to define the desired activity flow, you can select and save the whole or part of this activity flow as a named group. Then later on, you can reuse this named group in another activity definition just like a regular function block. 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:

  1. Select one or more graphical components in the canvas.
  2. Right-click the canvas to open the Context menu and select Add to My Collection.
  3. In the dialog that pops up, enter a name, a description, and select an icon to represent this group.

    Result: The added group will appear in the Library window under My Collection.

Identifying supported function blocks

The supported function blocks are organized into the following categories:

The following tables identify the function blocks in each category and the acceptable values for their inputs and outputs.

Table 26.
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 objet 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 fro 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 i 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 27.
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 28.
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 29.
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.

API: BusObj.get()

Inputs:
  • business object--BusObj
  • attribute--String

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 30.
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 connectio 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 31.
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 Chidren Removes all child instances to 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 to 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 32.
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 Express.

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 Express (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 33.
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 34.
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 35.
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 36.
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 37.
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 Defnition 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 38.
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 dta 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 relationhip 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 39.
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 40.
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 41.
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 42.
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 send 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 send 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 send 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 43.
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 send 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 send 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 send 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 44.
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 send 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 send 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 send 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 45.
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 display 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 display it if tracing is set to the specified level or a highter 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 display it if tracing is set to the specified level or a highter 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 46.
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 47.
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 48.
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 49.
General/Relationship
Name Description Inputs and outputs with acceptable values
Maintain Identity Relationship Maintain 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 Look up a static value in the relationship. Inputs:
  • relationship name--String
  • participant name--String
  • inbound?--boolean
  • source value--String

Outputs: lookup value--String


Table 50.
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 specifed 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 positon--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 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 51.
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 52.
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[]

Example 1 of using the Activity Editor

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:

  1. 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.

    Example: Figure 47 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 47. Custom transformation rule

    Result: Activity Editor opens.

    For more information on creating Custom and other transformations, see "Creating maps"..

  2. Select a category in the Library window (top left) to show the available function blocks in that category in the Content window (bottom left).

    Figure 48 shows the available functions blocks for the "String" category; the source and destination attributes in our example are displayed as icons in the graphical canvas.

    Figure 48. Function blocks in String category and icons for source and destination attributes

  3. 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 activity canvas; or alternatively, drag the icon from the Content window and drop it onto the activity 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 activity canvas, as shown in Figure 49..

    Figure 49. Dragging the Upper Case function block

  4. After you drop a function block on 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: 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 50..

    Figure 50. Cursor as arrow at output port of ObjClarify_Contact.LastName

  5. 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 51 shows the connection links.

    Figure 51. 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 upper-cased value to the destination attribute.

  6. 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.
  7. 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 52..

    Figure 52. Java tab with code

Example 2 of using the Activity Editor

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:

  1. 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.

    Example: Figure 53 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 53. Custom transformation rule

    Result: Activity Editor opens.

    For more information on creating Custom and other transformations, see "Creating maps"..

  2. Select a category in the Library window (top left) to show the available function blocks in that category in the Content window (bottom left).

    Figure 54 shows the available functions blocks for the "Date" category; the source and destination attributes in our example are displayed as icons in the graphical canvas.

    Figure 54. Function blocks in Date category and icons for source and destination attributes

  3. 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 activity canvas; or alternatively, drag the icon from the Content window and drop it onto the activity canvas.

    Example: In our 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 activity canvas, as shown in Figure 55..

    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 55. Dragging the Date Format Change function block

  4. After you drop a function block on 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: In our 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 56..

    Figure 56. Cursor as arrow at output port of ObjClarify_QuoteSchedule.PriceProgExpireDate

  5. 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 57 shows the connection links.

    Figure 57. 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.

  6. Example: 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 58..

    Figure 58. Input Date Format

  7. 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. A Constant is a graphical component in which you enter text directly and use the text as input to function blocks or ports.

    Example: In our 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 activity canvas. Figure 59 shows the result of this action.

    Figure 59. New Constant icon dropped on the activity canvas

  8. 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 60 shows the New Constant icon with the text value entered.

    Figure 60. New Constant with text entered

  9. 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.

  10. 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 graphical canvas and select Add Description, or drag the New Description icon under the System folder in the Content window and drop it onto the activity canvas. Figure 61 shows how to add the Description component using the Context menu.

    Figure 61. Adding a Description using the Context menu

    Result: The Description component will be created in the graphical canvas.

  11. 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 62 shows adding the Description.

    Figure 62. Adding the Description

  12. 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 63 shows saving the activity.

    Figure 63. Saving the activity

Example 3 of using the Activity Editor

The following example illustrates using the Static Lookup relationship function block in Activity Editor.

In the WebSphere InterChange Server Express, 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 64.

Figure 64. Static Lookup relationship with three end-applications

Each of these three applications has a different representation for "State" information, as shown in Table 53.

Table 53. 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 ICS. But when ICS 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 54 shows this representation.

Table 54. 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 ICS system, and the generic ID is converted to application-specific data as it exits the system.This data conversion is shown in Figure 65.

Figure 65. 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 ICS 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 66 shows how to use the Static Lookup function block to convert the SAP-specified state data to the ICS generic state data for processing in ICS.

Figure 66. Using static lookup function block to convert SAP-specific state data to ICS-generic state data

Similarly, the Static Lookup function block is used to convert the ICS-generic state data to Clarify-specific state data in the Generic-to-Clarify map. This is shown in Figure 67.

Figure 67. Using static lookup function block to convert ICS-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.

Working in Java view

If Map Designer Express opens the Activity Editor with an activity definition that contains only custom Java code, the Activity Editor displays the activity definition in Java view. Similar to Graphical view, the Activity Editor is available in Java view in two display modes: Design mode and Quick view mode.



Figure 69. Java view in Quick view mode

Tip: To change from Quick view mode to Design mode, click the >> button on the status bar. If you do not see the >> button, resize the Quick view window horizontally until the button appears.

Copyright IBM Corp. 1997, 2003