100% found this document useful (1 vote)
1K views140 pages

AssocDev Activities March2020

Uploaded by

Sakthivel P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views140 pages

AssocDev Activities March2020

Uploaded by

Sakthivel P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 140

SaaS Training

Integration Associate Developer

Activity Guide

Version 7.1
se Title

Associate Integration Developer


1
SaaS Training

Copyrights and Trademarks


This guide contains proprietary information protected by copyright and/or other legal grounds. The software described in this guide is furnished
under a software license or nondisclosure agreement. This software may be used or copied only in accordance with the terms of the applicable
agreement. No part of this guide may be reproduced or transmitted in any form or by any means, electronic or mechanical, including
photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of Boomi, Inc. (“Dell
Boomi”).

The information in this document is provided in connection with Dell Boomi products. No license, express or implied, by estoppel or otherwise,
to any intellectual property right is granted by this document or in connection with the sale of Dell Boomi products. EXCEPT AS SET FORTH IN THE
TERMS AND CONDITIONS AS SPECIFIED IN THE LICENSE AGREEMENT FOR THIS PRODUCT, DELL BOOMI (TOGETHER WITH DELL INC. AND ITS
DIRECT AND INDIRECT SUBSIDIARIES) ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY
RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL DELL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR
INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION OR LOSS OF
INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ANY OF THEM HAS BEEN ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES. Dell Boomi makes no representations or warranties with respect to the accuracy or completeness of the contents of this
document and reserves the right to make changes to specifications and product descriptions at any time without notice. Dell Boomi does not
make any commitment to update the information contained in this document.

If you have any questions regarding your potential use of this material, contact:

Boomi, Inc.
Attn: LEGAL Dept.
legalnotices@dell.com

With a copy to:

Boomi, Inc., Legal Department, 1400 Liberty Ridge Drive, Chesterbrook, PA 19087

Trademarks

Copyright © 2011-2019 Dell Inc. or its subsidiaries. All Rights Reserved.

Dell believes the information in this publication is accurate as of its publication date. The information is subject to change without notice.

THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." DELL INC. MAKES NO REPRESENTATIONS OR WARRANTIES
OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Use, copying, and distribution of any Dell software described in this publication requires an applicable software license. Dell, the Dell logo,
Dell Boomi, AtomSphere, Atom, and AtomSphere Integration Cloud, and Boomi are trademarks of Dell Inc. and/or its subsidiaries.
Other trademarks may be trademarks of their respective owners.

Revision History
Publication Date Summary

01/01/2019 Updated copyright information

6/2019 Updated content to align to the associate developer certification

9/2019 Updated post Beta teach and for Boomi World

3/2020 Updated for Packaged Components

Associate Integration Developer


2
SaaS Training

Table of Contents
SaaS Training 6
Set up Folders 7
Download Process Endpoints from the Process Library 8
View the Salesforce Read Connector 9
Create a Salesforce Query Operation 10
View the Database Connection 19
Create a Database Write Operation 20
Create a Database Write Profile 21
Configure the Map 24
Create a User-Defined Map Function 28
Updating the Query for Missing Data 35
Add a Decision Shape to Query the Database 38
Create a Database Read Process 43
Set a Database Runtime Parameter 50
Create a Salesforce Update Action 52
Create a Salesforce Update Map 54
Create a Mail Operation 62
Configure a Message Shape 64
Format Output to Email 69
Add a SQL Command 70
Administration Training, Properties, and Document Flow 74
Check the Production and Test environments 75
Package and Deploy the Process 77
Schedule the Process 81
License Management 83
Track executions in process reporting 85
View Detail View 89
Configure Exception Shape 91
View the Revision History 96
Redeploy the process and view alerts in process reporting 98
Configure a Notify shape 100

Associate Integration Developer


3
SaaS Training

Process Deactivation 106


Dynamic Process Properties Activity 109
Dynamic Document Properties Activity 119
Document Flow Activity 127

Associate Integration Developer


4
SaaS Training

Associate Integration Developer


5
SaaS Training

SaaS Training
Welcome to Associate Developer - SaaS Training. For our cloud integration training, we will use
Salesforce, a popular CRM cloud-based application, to create a new process to house the
workflow for the Salesforce to Database integration.

During the first part of this class, we will build two separate processes which work together,
covering:

● SaaS Integration Overview


● Salesforce Connector Review
● Database Connector Review
● Advanced Logic Concepts
● System Lookups and Recommended Practices
● Messaging
● Event Synchronization

Our first integration scenario calls for the company’s sales team to enter prospect information
into Salesforce.com. Operations wants to query Salesforce accounts, to send responses to their
Organization Tracking system for lead management but prevent duplicate records from being
created. Management, who monitors these accounts, wants to be notified daily of newly won
customers.

Associate Integration Developer


6
Set up Folders

Set up Folders
When developing a new integration project, organize your setup on the Build Tab of the
Component Explorer by setting up folders to organize processes and components. This allows
you to configure and store a unique Process containing the workflow and processing rules for
your business scenario. We begin class by creating a new folder to store the processes we will
use for our exercises.

Create a folder and sub-folder within your account

Click blue drop-down arrow next to the Training-firstname-lastname (root) folder.


Choose New Folder and name it Associate Developer.
In the Associate Developer folder, create a new folder and name it Prospect Tracking.

Associate Integration Developer


7
Download Process Endpoints from the Process Library

Download Process Endpoints from the Process


Library
Open the Process Library by clicking on the Browse Process Library at the bottom of the
Component Explorer.

The Boomi Process Library lets you browse, view, and install published processes into your
account. We will use the Process Library throughout this class to pull in processes for our activities.
In the right column search bar enter Prospect Tracking.

Click Install next to Prospect Tracking.

Click the browse symbol next to Select Installation Location and navigate to the Prospect
Tracking folder.
Click Install.
The process is now installed in your account. Click View Process.

Associate Integration Developer


8
View the Salesforce Read Connector

View the Salesforce Read Connector


To retrieve account data, the Salesforce Connector is defined as a Read (Get) action in the
Start shape. This defines a Connector containing the information to make a request to a
specified Salesforce account.

Click on Start - Salesforce to view the General settings. Notice the only Action available is Get,
since this is a Start shape.

In the Connection field, Boomi Training (SF) has already been loaded. To view the Connection
settings, click the edit symbol.

Associate Integration Developer


9
Create a Salesforce Query Operation

Create a Salesforce Query Operation


When paired with the connection component, the Salesforce operation identifies the object data
requested and decides how to limit the XML records returned to the process. In this exercise,
queried account and contact information is returned based on a record’s unique type.

In the Start shape window next to operation, click the add symbol to create a new operation.

In the Name window, enter Account Query by Type.


Click the Import button.

Click the browse symbol and choose the Salesforce Connection component in your Prospect
Tracking folder.

Associate Integration Developer


10
Create a Salesforce Query Operation

Click Next.
The Salesforce connection is established.
Select the following from the drop-down menus:
Object Type = Account__c
Action = Query

Click Next and theSalesforce Import Wizard builds the object tree.
Accept the defaults (do not select any child or parent objects). Click Next.

Review the results and click Finish.

Associate Integration Developer


11
Create a Salesforce Query Operation

At the bottom of the query window, under the Objects tab, highlight Account__c.

Click the Filters tab, click the blue drop-down arrow next to Logical - AND, and then select Add
Expression.

Highlight the new expression and enter the following:

Filter Name Type=


Field Type_c
Operator Equal To

Associate Integration Developer


12
Create a Salesforce Query Operation

Click Save and Close to return to the process. The Operation is now loaded into the Start shape.

Associate Integration Developer


13
Create a Salesforce Query Operation

Click OK to accept the configured Start shape.

Click Save to save the current version of the process.

Associate Integration Developer


14
Create a Salesforce Query Operation

Set the Salesforce Runtime Parameter

To populate the operation filter for your Salesforce Account request, set a static input parameter
on the Start shape. This makes sure the account response XML documents are of type
Prospect as defined by the Salesforce business user.

Open the Start shape and click the Parameters tab.

Click the add symbol.

In the Parameter Value window, enter the following:

Input Type=

Type Static

Static Value Prospect

✔ Be sure to spell the static value correctly. Stored values on the destination data
system must match identically.

Associate Integration Developer


15
Create a Salesforce Query Operation

Click OK to return to the Parameters tab. The created parameter is now displayed.
Click OK to return to the process.
Save the process.

Test the Process

Before continuing, check if the two Salesforce records are successfully retrieved. It is a
recommended practice to continually test your process at various stages throughout
development.

From the drop-down arrow , select Test Atom Cloud, and click Run Test.

Note the two documents retrieved and highlight each document individually.

Associate Integration Developer


16
Create a Salesforce Query Operation

Click the Connection Data tab and select the symbol to view the document contents.

• There is a separate entry for each retrieved document. To view the contents of the
second document, click on it in the Documents pane.

Associate Integration Developer


17
Create a Salesforce Query Operation

Associate Integration Developer


18
View the Database Connection

View the Database Connection


It is a Boomi recommendation to design and build a new process from the outside in. The
endpoint Connectors were preloaded in the process you installed from the Process Library. The
database write connector defines how requests are sent to database tables and/or stored
procedures. Like all connections, database connection components are reusable components.
For example, we will reuse this database connection component in order to execute a SQL
command in a future activity.

From Edit Mode, click the Database Connector to view the General tab. Notice the Action is set to Send.

In the Connection field, Boomi Training (MySQL) has already been loaded. To view the
Connection settings, click the edit symbol.

Associate Integration Developer


19
Create a Database Write Operation

Create a Database Write Operation


The database write operation shows how to commit the SQL transactions and stores the field
values in the database profile component, which is used in the Map shape.

In the Database Connector, next to Operation, click the add symbol to create a new operation.

In the Name window, enter Org Insert.


In the Commit Options section, accept the default values.

Click Save.

Associate Integration Developer


20
Create a Database Write Profile

Create a Database Write Profile


Use a Dynamic Insert to define the fields from the Customer table which will be written to the
database.

1. Under the Options tab, next to Profile, click the add symbol to create a new Profile.

2. In the new tab, enter Customer Insert in the Name window.


3. Under the Data Elements tab, single click Statement.
4. In the Type drop-down window, select Dynamic Insert.

• The database types are: Standard Insert/Update/Delete which allow you to enter the
SQL statements. Dynamic Insert, Dynamic Update, and Dynamic Delete let you to

Associate Integration Developer


21
Create a Database Write Profile

dynamically build the SQL statement. Stored Procedure Write allows you to enter the
name of the stored procedure to be executed.

Click Import.

In the Database Import Wizard window, in Browse in select Boomi Cloud.

Choose the Boomi Training (MySQL) Connection.

Click Next.

Associate Integration Developer


22
Create a Database Write Profile

• If the Import Wizard hangs on “Connecting to Atom….” click on the back button to re-
launch the Import Wizard.

• Once a connection is made to the database, the tables load into the Database Import
Wizard window, however, the message “Connecting to Atom….” displays regardless of
whether there is a connection.

Under Choose a Table, highlight the CUSTOMER table, and click Next.

5. Under Choose Columns, check the top check box, click Next, and click Finish.

6. Click Save and Close to exit the Database Profile and return to the Operation tab.
7. Click Save and Close to exit the Database Operation and return to the Process Canvas.
8. Click Save to save the process.

Associate Integration Developer


23
Configure the Map

Configure the Map


Although you built both the inbound Salesforce and outbound database profiles, you must
bridge the gap by adding the Map component to transform the data from one profile type to
another.

Drag and drop a Map shape to the Process Canvas.


Create a new mapping component and name this map SF Account to DB Insert.
Load both the source and destination profiles into the map.

• Both the source (XML) profile and destination (DB) profile have been created using the
Import feature. It is important to select the profiles created in your Salesforce and
Database Connector Operations.

Associate Integration Developer


24
Configure the Map

Map the Source and Destination Fields

With the source and destination profiles loaded in the Map, it is time to link fields.

Map the following fields from the Account_c object (source) to CUSTOMER columns (destination).

Salesforce Account DB Customer Insert


SOURCE DESTINATION
Name BILL_TO_NAME
Name NAME
Name SHIP_TO_NAME
Phone__c BILL_TO_PHONE
Phone__c PHONE
Phone__c SHIP_TO_PHONE
Website__c URL
Industry__c INDUSTRY
Billing_Address__c BILL_TO_ADDR1
Fax__c FAX_NUM
Shipping_Address__c SHIP_TO_ADDR1
Billing_City__c BILL_TO_CITY
Billing_State__c BILL_TO_STATE
ZipCode__c BILL_TO_ZIP
Billing_Address_Country__c BILL_TO_COUNTRY
Shipping_Address_City__c SHIP_TO_CITY
Shipping_Address_State__c SHIP_TO_STATE
Shipping_Address_Country__c SHIP_TO_COUNTRY
Shipping_Address_Zipcode__c SHIP_TO_ZIP

• If using Boomi Suggest, accept only the 19 mappings listed in the table. Boomi Suggest
lists fields alphabetically according to the DESTINATION profile. The table below will
help you select the correct mappings.

Associate Integration Developer


25
Configure the Map

Salesforce Account DB Customer Insert


SOURCE DESTINATION
Billing_Address__c BILL_TO_ADDR1
Billing_City__c BILL_TO_CITY
Billing_Address_Country__c BILL_TO_COUNTRY
Name BILL_TO_NAME
Phone__c BILL_TO_PHONE
Billing_State__c BILL_TO_STATE
ZipCode__c BILL_TO_ZIP
Fax__c FAX_NUM
Industry__c INDUSTRY
Name NAME
Phone__c PHONE
Shipping_Address__c SHIP_TO_ADDR1
Shipping_Address_City__c SHIP_TO_CITY
Shipping_Address_Country__c SHIP_TO_COUNTRY
Name SHIP_TO_NAME
Phone__c SHIP_TO_PHONE
Shipping_Address_State__c SHIP_TO_STATE
Shipping_Address_Zipcode__c SHIP_TO_ZIP
Website__c URL

Click Finish.

Set default mapping values

Sometimes the source profile does not contain all the required information, so hard-coded
values are applied to some destination fields.

Click the blue drop-down arrow to the right of the COMPANY_KEY field in the destination
window, then choose Set Default Value.

In the Value field, enter 59 and click OK.

The default value is added to the element in the list.

Associate Integration Developer


26
Configure the Map

1. Repeat steps 1-3 above for the following three fields to set their default values:

DEPARTMENT IT
STATUS 0
USER_ID ***Enter Your Name***

The default values should now be appended to the elements in the list.

Click Save to save the Map.

Populate the CREATE_DATE field

The database requires the CREATE_DATE field be populated with the current system
date/time. A map function is used to supply this data for each account record. Use of this
function was taught in Boomi Essentials. When finished, your map should look as below.

Click Save to save the map.

Associate Integration Developer


27
Create a User-Defined Map Function

Create a User-Defined Map Function


The database insert needs the CUSTOMER_ID field to be populated with a unique
alphanumeric key for each customer record. For our training purposes, assume the Customer
Name and Phone Number never change, and we can join these values to create a unique key.
However, this needs more than one map function to create a CUSTOMER_ID. In this exercise,
we will create a re-usable User Defined Map Function to execute multiple function steps
resulting in the ID field.

Open the SF Account to DB Insert map.

In the Functions column, click the add symbol.

From the Category drop-down, choose User Defined, and click Create New Function.

On the new tab, type the name of the map function: CUSTOMER_ID Create.

• Always provide a descriptive name for all user defined map functions.

In the Inputs column, click the add symbol. For New Input Name, enter Name and click OK.

Associate Integration Developer


28
Create a User-Defined Map Function

Repeat step 5 to add another input. For New Input Name, enter Phone, and click OK.

In the right Outputs column, click the add symbol. For New Output Name, enter ID, and click
OK.

In the Steps column click the add symbol.

From the drop-down arrow next to Category, choose String.

Associate Integration Developer


29
Create a User-Defined Map Function

Highlight String Remove and click OK.

The Configure Defaults window opens. Leave the Original String field blank. In the String to
Remove field, type a <space>, and click OK.

• Be sure to enter a blank space in the String to Remove field. This makes sure the
name portion of the key generation will consist of one string by stripping away any blank
spaces making up the name.

Associate Integration Developer


30
Create a User-Defined Map Function

Click and drag Name to connect to the String Remove > Original String input.

In the middle Steps window, click the add symbol to add another step to the user-defined
function.
From the drop-down, choose String.
Highlight Left Character Trim and click OK.
The Configure Defaults window opens. Leave the Original String field blank. In the Fix to Length
field, enter 4, and click OK.

• The Left Character Trim function removes characters from the left side of the string, so
the remaining string is fixed to a specified length. For example, applying a Left Character
Trim, Fixed to Length of 6, trims the string AtomSphere to Sphere. We want to use the last
four digits of the telephone number as part of the unique ID, so use the Left Character
Trim function to strip characters (from left to right) until the string length is set to 4.

Click and drag from the main Phone input to connect to the Left Character Trim > Original String
input.

Associate Integration Developer


31
Create a User-Defined Map Function

In the middle Steps window, click the add symbol to add another step to the user-defined
function.
From the drop-down, choose String.
Highlight String Append and click OK. The Configure Defaults window displays.
Leave all fields blank and click OK.
Click and drag from the String Remove > Result output to connect to the String Append >
Original String input.
Click and drag from the Left Character Trim > Result output to connect to the String Append > Char
to Append input.

• Notice the changes on the numbering when the function shapes are moved on the
canvas.

Associate Integration Developer


32
Create a User-Defined Map Function

Click and drag from the String Append > Result output to connect to the main ID Output.

Save the CUSTOMER_ID Create function by clicking Save and Close.


In the map window, connect the Account> Name and Account> Phone__c source XML fields to
the matching inputs in the CUSTOMER_ID Create function. Then connect the output ID to the
destination database profile element CUSTOMER_ID.

Save the SF Account to DB Insert Map by clicking Save and Close.

Associate Integration Developer


33
Create a User-Defined Map Function

Test the process

The necessary components to complete the main workflow are now created, so attach the
components together on the canvas and execute the process in Test Mode to review if the
documents were successfully committed to the database.

Connect the Start shape to the Map and the Map to the Database and Save the process.

Execute the process in Test Mode by choosing Test Atom Cloud and then clicking Run Test.

Click the Database Connector, select the Connection Data tab, and click the symbol to view
the contents.

After viewing the results in the Document Viewer, click Close Document Viewer, and return to edit
mode.

Associate Integration Developer


34
Updating the Query for Missing Data

Updating the Query for Missing Data


In mapping the account fields to the customer columns, you realize the main Contact’s Name
and Email address are not found in the account object. Contact Name is the main account
contact which could be a sales rep, or an account manager. There are two options to handle
this:

● Add a connector call map function to the map to query the Salesforce contact object on-
the-fly, or
● Update the original account query operation to include the contact fields.

The second option is better because it exposes all required fields up front and prevents an extra
API request for each account record, which is required for the Connector Call. For all Connector
types, it is a recommended practice to append any additional objects to the profile by reusing
the import feature.

Refresh the account query operation and the source XML profile with the new contact
fields:

From the Process Canvas, click Account Query by Type to open the Operation component.

Click Import.
In the Salesforce Import Wizard, choose the Boomi Training (SF) Salesforce connection
component in your account.

Click Next. The Salesforce connection is established.

Associate Integration Developer


35
Updating the Query for Missing Data

Configure the following from the drop-down menus:


Object Type = Account__c
Action = Query
Click Next.

Expand the Account__c > Child Objects section and check Contacts__r.

• No child object was imported in the previous exercise. However, anytime you select a
child or parent node in an import, you must re-select the node(s) to maintain the fields
in any previously built operations or mappings.

Click Next.
Review the results and click Finish.

• The Contacts__r child object is now added to the XML Profile.

Click Save and Close to return to the Process Canvas.

Associate Integration Developer


36
Updating the Query for Missing Data

Map the contact information

The field listing in the Salesforce Profile component in the Operation shows the changes in the
data Map. Expand the Contact__c field set and then map the Contact Name and Contact Email
to the corresponding fields.

Open the SF Account to DB Insert map from the Process Canvas.

Scroll to the bottom of the source Profile window and expand the Contact__c section.

Map the Contact > Name field in the Salesforce source profile to the CONTACT_NAME field in the
database destination profile.

Map the Contact > Email__c field in the Salesforce source profile to the CONTACT_EMAIL field in
the database destination profile.

Click Save.

Associate Integration Developer


37
Add a Decision Shape to Query the Database

Add a Decision Shape to Query the Database


Most databases produce an error when trying to enter duplicate records. The Decision shape is
a simple way to prevent duplication as it compares values within a document. The result of the
comparison forces the document down a true-or-false path.

In this exercise, add a Decision to query how many records (matching those coming from your
source) exist in the database. If the return value is greater than 0, the document is filtered out of
the process flow.

From the Logic tab of the shapes palette, drag and drop a Decision shape to the Process Canvas.

In the Decision Properties window’s Display Name field, enter New Account?

• Unlike most other shapes, a decision should have a Display Name to make the logic
clearly visible when viewing the Process Canvas.

For First Value, click the browse symbol.

Associate Integration Developer


38
Add a Decision Shape to Query the Database

In the Parameter Value window select:


Type = SQL Statement
Connection = Boomi Training (MySQL)

It is important to uderstand the logic contained in this SQL statement. From the CUSTOMER table,
return the number of records where the record NAME equals the Salesforce Account Name and the
USER_ID equals ‘My Name’ (the name you entered in the map).
If the Salesforce record is not in the database (COUNT=0), the Decision shape produces a TRUE
result (0=0), and the document flows down the true path and is inserted in the database.

If the Salesforce already record exists in the database (COUNT!=0), the Decision shape produces a
FALSE result (1≠0), and the document flows down the false path and is not inserted in the database,
preventing a duplicate duplicate database record.

Enter the following:


Output Column 1

Output Type Character


Cache Values? Checked
SQL SELECT COUNT(*)

FROM CUSTOMER

WHERE NAME = ?

AND USER_ID = 'My Name'

Associate Integration Developer


39
Add a Decision Shape to Query the Database

• The My Name value should correspond exactly to the default value entered into the
USER_ID field in the database destination profile in the SF Account to DB Insert Map.

Click the add symbol to add a Parameter.

In SQL, the question mark ?, represents the parameter entered below.

In the Parameter Value window, set:


Type = Profile Element
Profile Type = XML

For Profile, click the browse symbol and select SF_Account__c_QUERY_Response.

Associate Integration Developer


40
Add a Decision Shape to Query the Database

For Element, click the browse symbol and select Account__c > Name.
Click OK to accept and OK to close.
Note the Name (Account__c/Name) parameter listed and press OK to return to the Decision
shape’s properties window.

Set Compare Type = Equal To. Then, for Second Value, click the browse symbol inside the
field.

In the Parameter Value window select:


Type = Static
Static Value = 0
Then click OK.

Note the Decision Properties entries and click OK to return to the process.

Click Save to save the process.

• Our Boomi Training MySQL database is purged nightly. Whether or not your documents
flow down the TRUE path or the FALSE path depends on a number of factors. If you
successfully tested the process during the "Create a User-Defined Map Function"
exercise on the same day you are testing the process with the newly added Decision
shape, your documents should flow down the FALSE path. (They already exist in the
database from the previous test execution.) If not, your documents will flow down the
TRUE path upon your first test execution. Any subsequent test executions on the same
day will result in the documents flowing down the FALSE path.

Associate Integration Developer


41
Add a Decision Shape to Query the Database

Test the decision lookup

With our Decision shape configured, we must reorganize the existing flow to prevent new test
documents from entering the Customer table.

From the Logic tab of the shapes palette, drag and drop a Stop shape to the canvas.
The Stop shape’s properties window opens. By default, Continue processing other execution
paths is checked.

• The Stop shape’s command defaults to continue processing other execution paths. If
unchecked, the process stops. This is useful for unit testing large processes, and for
viewing documents in Test Mode.

Click OK.
Create another Stop shape by repeating steps 1-3.
Reconnect the Start shape to the Decision shape.
Connect the Decision shape’s True path to the SF Account to DB Insert Map.
Connect the Decision shape’s False path to one of the Stop shapes.
Connect the Database Connector to the other Stop shape.

Execute the process in Test Mode and view the results.

Associate Integration Developer


42
Create a Database Read Process

Create a Database Read Process


We will now begin our second process, Daily Customer Wins, which builds a notification
process and sets flags in both Salesforce and the database to synchronize account records.

Create a sub-folder for the Daily Customer Wins process

Click on the blue drop-down arrow next to the Associate Developer folder.

Choose New Folder and name it Daily Customer Wins.

Install the process from the Process Library

Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
In the right column search bar, enter Daily Customer Wins, and press Enter.
Click Install next to Daily Customer Wins.

Click the browse symbol next to Select Installation Location and navigate to the Daily
Customer Wins folder.
Click Install.
The process is now installed in your account. Click View Process.

Create a folder to house Connections

As you continue to add processes to your account, it will be easier to organize and locate
reusable Connections if they are stored in a common #Connections folder. There are three
Connections in your Associate Developer folder: The Database Connection (Boomi Training -
MySQL), the Salesforce Connection (Boomi Training - SF), and the Mail Connection (Boomi
Training - Mail) loaded from the Process Library and into the “Daily Customer Wins” folder.
Move all the Connections to a #Connections folder.

Click on the blue drop-down arrow next to the Boomi Training folder.
Choose New Folder and name it #Connections.

Associate Integration Developer


43
Create a Database Read Process

In the Prospect Tracking folder, expand Connectors to expose Boomi Training (MySQL).
Click and drag Boomi Training (MySQL) to the #Connections folder.

Repeat steps 3-4 to move Boomi Training (SF) and Boomi Training (Mail) to the #Connections
folder.

• Boomi Training (Mail) is stored in the Daily Customer Wins folder.

Configure the Database Start shape

Click the Database Start shape to open the properties window.

For the Connection, click the browse symbol, navigate to the #Connections folder, and select
the Boomi Training (MySQL) Connection.

Click the add symbol in the Operation field and enter Query Customer by Date in the Display
Name window.

Associate Integration Developer


44
Create a Database Read Process

Next to the Profile field, click the add symbol to open a new component tab.

Name the database profile Query Customer by Modified Date.


Click Statement and click Import. The Database Import Wizard opens.

From the “Browse in” drop-down, select Boomi Cloud.

For Connection, click the browse symbol and select the Boomi Training (MySQL) connection
and click Next.

Associate Integration Developer


45
Create a Database Read Process

When the tables load, choose the CUSTOMER table and click Next.

Associate Integration Developer


46
Create a Database Read Process

Select only these three fields: CUSTOMER_ID, NAME, and PHONE, click Next, and click Finish.

The fields are now in both the fields list and the SQL Script.

• Add to the SQL script to make the CUSTOMER_ID DISTINCT and add a WHERE
clause narrow down the criteria for MODIFIED_DATE, USER_ID, COMPANY_KEY, and
NOTIFY_STATUS.

Replace the existing SQL Script with the SQL Script below. Use the name entered for the USER_ID
in the map of Prospect Tracking for the ‘My Name’ field:

SELECT DISTINCT CUSTOMER_ID, NAME, PHONE


FROM CUSTOMER
WHERE MODIFIED_DATE >= ?
AND USER_ID = 'My Name'
AND COMPANY_KEY = '59'
AND NOTIFY_STATUS = 0

Associate Integration Developer


47
Create a Database Read Process

• In the database, Prospect Salesforce account records have been won and updated as
Customer - Direct. These are the accounts read into the process.

In the left window next to Parameters, click the blue drop-down arrow and choose Add
Parameter.

Highlight the new parameter on the left.


In the Parameter Name field, enter MODIFIED_DATE>=
Expand the Data Format Options and select Date/Time for Data Type.

Click Save and Close to return to the Database Read Operation.

In the Operation’s Grouping Options, next to Link Element click the browse symbol, expand the
Fields set and select CUSTOMER_ID.

Associate Integration Developer


48
Create a Database Read Process

Click OK and check the following values are entered for the Grouping Options:

Link Element: Statement >> Fields >>


CUSTOMER_ID
Batch Count: 1
Max Rows: 0

Click Save and Close, then click OK to return to the Process Canvas.
Click Save to save the Daily Customer Wins process.

Associate Integration Developer


49
Set a Database Runtime Parameter

Set a Database Runtime Parameter


Set a dynamic input parameter on the Start shape to populate the database parameter in the
SQL query. This makes sure the database records returned are unique and inserted in the
desired timeframe.

Click the Start shape, then move to the Parameters tab, and click the add symbol.

For the Input value, click the browse symbol, and select the MODIFIED_DATE>= parameter
created earlier.
Enter the following information to complete the Parameter Value entries:

Type Date/Time

Date Mask yyyyMMdd HHmmss.SSS

Date Type Relative Date

Relative to Current Date - 1 Day(s)

Click OK to close the dialog and then OK to return to the process.


Click Save to save the process.

Associate Integration Developer


50
Set a Database Runtime Parameter

Test the process

It is time to test the process to see if the two database records were successfully retrieved. A
Boomi recommended practice is to continuously test your process throughout development.

Click Test in the upper-right of the Process Canvas.


Select the Test Atom Cloud Atom from the drop-down and click Run Test.
Two documents are retrieved, so individually highlight each document, click the Connection Data
tab, and click the symbol to view the contents.

• A separate entry displays for each Document retrieved.

• If you don’t get any documents returned, you should re-run Prospect Tracking

Associate Integration Developer


51
Create a Salesforce Update Action

Create a Salesforce Update Action


The Salesforce user monitors customers entered as Closed/Won in the organization tracking
system. They need to change the accounts’ Service Level Agreements (SLA) to a Gold status.
In the Daily Customer Wins process, we will add a Salesforce Update operation to change the
SLA from its current setting to Gold.

Drag and drop a connector shape to the Process canvas.


Verify the connector is Salesforce and set Action to Send.
For the connection, choose the Salesforce connection component, Boomi Training (SF) from
#Connections.

Next to Operation, click the add symbol to create a new component.

Enter Account Update in the name window and click Import.

In the Salesforce Import Wizard, choose the Salesforce connection component in #Connections.
Click Next.

Associate Integration Developer


52
Create a Salesforce Update Action

Set Object Type to Account__c, set Action to Update, and click Next.

Ignore the Account's Objects (do not select anything).


Click Next and click Finish.
Click Save and Close and click OK to return to the process.
Click Save to save the process.

Associate Integration Developer


53
Create a Salesforce Update Map

Create a Salesforce Update Map


To update the correct account records in Salesforce, create a Map using the customer account
name and phone to form a unique value to update each record. Salesforce uses internal ID field
to find the records which need to be updated. This ID field is not available in the database
source data, so a connector call function is added to query the account by name and phone and
extract the record’s Internal ID. The Service Level Agreement (SLA) field is hard-coded as Gold
to show the new contract level in Salesforce.

Drag and drop a Map shape to the process canvas.

Click the add symbol to create a new Map tab.

Enter DB to SF Account Update in the name field.


In the left mapping window, press choose.
Select the Database Profile Type, highlight the Query Customer by Modified Date profile, and
click OK.

In the right mapping window, press choose.


Select the XML Profile Type, highlight the newly created SF_Account__c_UPDATE_Request
Profile, and click OK.

Click the add symbol to add a function in the center pane of the Map.

Associate Integration Developer


54
Create a Salesforce Update Map

From the Category drop-down menu, choose Connector, highlight Connector Call, and click OK.

In the Connector Call window, choose the following:

Connector: Salesforce
Action: Get
Connection: Boomi Training (SF)

Next to Operation, click the add symbol to create a new Operation tab.
In the Name window, enter Account Query by Name/Phone, and click Import.

Click the browse symbol, choose the Salesforce connection Boomi Training (SF) component
and click Next.

Associate Integration Developer


55
Create a Salesforce Update Map

Set Object Type to Account__c, set Action to Query, and click Next.

Ignore the Account’s Object Tree nodes and click Next. Click Finish.
The SF_Account__c_QUERY_Response profile is now loaded in the Operation. Click Finish.
At the bottom of the query window under the Objects tab, highlight Account.

On the Fields tab:

a. Check the main Account__c node to select all the Account fields
b. Uncheck the node to de-select all the Account fields

c. Check the top Id field.

Associate Integration Developer


56
Create a Salesforce Update Map

Click the Filters tab, then click the blue drop-down arrow next to Logical - AND and choose
Add Expression.

Highlight the new expression and enter the following for the filter instance:

Filter Name: Name=


Field: Name
Operator: Equal To

Add a second expression and enter the following for the filter instance:

Filter Name: Phone=


Field: Phone__c
Operator: Equal To

Click Save and Close to return to the Connector Call map function.

In the Connector Call’s Input window, click the add symbol to enter the Inputs. Highlight Name =
and click Add.

Associate Integration Developer


57
Create a Salesforce Update Map

In the Connector Call’s Input window, click the add symbol, highlight Phone=, and click Add.

In the Connector Call’s Output window, click the add symbol to add the Outputs, highlight the
Account__c > Id field, and click the Add button.

Associate Integration Developer


58
Create a Salesforce Update Map

In the Connector Call window click OK to display the Configure Defaults screen.
Ignore the optional default value setting, because the NAME and PHONE are required fields in the
database.
Click OK to return to the main Map.

Associate Integration Developer


59
Create a Salesforce Update Map

In the source profile, map the following:


● the Database NAME field to the Name in the Connector Call function Input
● the PHONE field to the Phone in the Connector Call function Input
● the Id (Account__c/Id) Connector Call result to the Id field in the
SF_Account__c_UPDATE_Request destination profile

On the destination profile in the destination window, click the blue drop-down arrow to the right
of the SLA__c field, and choose Set Default Value.
In the Value field, enter Gold, and click OK.

• This value must match the exact Salesforce SLA value so it’s important to enter the
value exactly as it appears in the Salesforce record.

Click Save and Close to save the Map.


If the Map Properties window is still open, click OK to return to the process, and click Save to save
the process.

Associate Integration Developer


60
Create a Salesforce Update Map

Connect the Start shape to the Map, connect the Map to the Salesforce Connector, and add a
Stop shape to complete the path. The process should look like this:

Execute the process in Test Mode by clicking on Test and view the results.

Associate Integration Developer


61
Create a Mail Operation

Create a Mail Operation


An email is sent to the account executive to tell them when the account records are updated to
closed/won with an SLA contract level of Gold. To complete this, use a Mail Connector to send
an email through an SMTP server to one or many To addresses.

• We are using a single Gmail account which many users access at the same time.

To test this process outside of training, reconfigure the email connection settings and
credentials in AtomSphere to use your own mail client account and enable POP access
in your mail client.

The connection component to a hosted SMTP server is preconfigured, so we need to pair the
operation and connection to define the Subject and From/To Addresses for the report.

Click the Mail Connector to open the Action window. Next to Operation, click the add symbol to
create a new operation.

In the Name window, enter Customer Win Email.


Enter the following information for the Mail Operation details:

From: boomitrain@gmail.com
To: *** Your email address***
Subject: New Customer
Disposition: Inline
Content Type: text/plain

Associate Integration Developer


62
Create a Mail Operation

Click Save and Close, and then OK to return to the Process Canvas.

Associate Integration Developer


63
Configure a Message Shape

Configure a Message Shape


The Message shape creates a free-flow text message from a dynamic or static set of input
parameters. Documents sent to a Message shape are changed, and the documents which
come out have the format of the message.

From the Execute tab of the shapes palette, drag and drop a Message shape to the Process
Canvas.

Check the Combine documents into a single message option, and enter the following in the
Message text box:

Line 1) Prospect {1} closed on {2}.


Line 2) ------- and press <Enter>
Line 3) <Blank Line>

In the Message text box include a hard return after ‘-------‘, so the cursor moves to the next line.
This creates a blank line between records for easier viewing.

Next to Variable, click the add symbol and the Parameter Value window opens.
Set Type to Profile Element, and the Profile Type to Database.

For Profile, click the browse symbol to navigate and select the Query Customer by Modified
Date profile.

Associate Integration Developer


64
Configure a Message Shape

For Element, click the browse symbol to navigate and select CUSTOMER_ID.
Click OK to close the dialog, and OK again to return to the Message Properties window.

Click the add symbol to add a second parameter value.


Configure the following for the second parameter value:

Type: Date/Time
Date Mask: MM/dd/yyyy
Date Type: Current Date

If the date format you want to use is not listed, you can enter it by typing in the Date Mask field.

Associate Integration Developer


65
Configure a Message Shape

Click OK to return to the Message Properties.


Notice there are now two parameters included as dynamic part of the Message.

Click OK to return to the Process Canvas.

Test the mail connectivity

The Message is now complete, and the Mail connector is enabled to send messages to your
email address. We will execute the process to confirm records are extracted and updated in
Salesforce, and the process emails a formalized message. To do this in sequence, we will use
the Branch shape.

From the shapes palette, add a Branch shape to the process flow.
Set the Number of branches to 2 and click OK.

Associate Integration Developer


66
Configure a Message Shape

Disconnect the Start shape from the DB to SF Account Update Map and connect it to the Branch
shape.

Connect the 1st Branch path to the Map and the 2nd Branch path to the Message shape.
Connect the Message shape to the Mail Connector.
Add a Stop shape to both branches. The process should look like this:

Execute the process in Test Mode by clicking on Test.


Select the Test Atom Cloud atom and click Run Test.
Navigate to your email inbox to see the results.

Associate Integration Developer


67
Configure a Message Shape

• Check your spam folder if you do not receive an email.

Associate Integration Developer


68
Format Output to Email

Format Output to Email


When sending email communications, you can use dynamic content in the subject or any of the
fields in the operation. This exercise uses the Set Properties shape to make the email subject
dynamic, containing each database customer’s name.

Add a Set Properties shape to the Process Canvas.

• Consider where the Set Properties shape should be positioned in the process flow.

Configure a Profile Element Parameter Type value to dynamically set the Mail Subject by NAME.
The resulting Set Properties window should look like this:

Uncheck the Combine documents into a single message option in the Message shape. The result
should produce separate emails, titled by customer name, each containing the record’s NAME,
Customer ID, and Date, with a ‘-------‘ separator in the body.

Associate Integration Developer


69
Add a SQL Command

Add a SQL Command


After creating an email notification, update the Organization Tracking System’s corresponding
record's NOTIFY_STATUS field to confirm the email was successfully sent. Use the Program
Command shape to execute an update statement with dynamic content.

Hover over the Branch shape and choose Configure.

Increase the Number of Branches to 3 and click OK.

From the shapes palette, drag and drop a Program Command shape to the canvas.

Associate Integration Developer


70
Add a SQL Command

In the Program Command Properties window, enter the following:

Type: SQL Statement

Run Once Per Unchecked


Execution:
Connection: Boomi Training (MySQL)

SQL: UPDATE CUSTOMER

SET NOTIFY_STATUS = 1

WHERE CUSTOMER_ID = ?

AND USER_ID = 'My Name'

• Enter ‘My Name’ the same way you entered it as the default value on the USER_ID field
in the SF Account to DB Insert Map.

It is important to understand the logic of the SQL statement:


UPDATE CUSTOMER
SET NOTIFY_STATUS = 1
WHERE CUSTOMER_ID = ?
AND USER_ID = 'My Name'

• In the Database CUSTOMER table, UPDATE the NOTIFY_STATUS field to 1 where the
CUSTOMER_ID matches the CUSTOMER_ID queried at the front of the process and
the USER_ID is the name you entered in the map.

If the document flows successfully through both branch 1 and 2, then branch 3 executes
and updates the NOTIFY_STATUS to 1 in the database.

Associate Integration Developer


71
Add a SQL Command

Click the add symbol

Configure the following for the first parameter value:

Type: Profile Element


Profile Type: Database
Profile: Query Customer by ModifiedDate
Element: CUSTOMER_ID
(Statement/Fields/CUSTOMER_ID)

Click OK to close the dialog and return to the Process Canvas.


Connect branch 3 to the Program Command shape.
Drag and drop another Stop shape to the canvas.
Leave the Continue processing other execution paths? checked and click OK.

Associate Integration Developer


72
Add a SQL Command

Connect the SQL Statement shape to the Stop shape. The process should look like this:

Click Save.
Execute the process in Test Mode and note the results.

You can only execute this process once. Once the NOTIFY_STATUS has been successfully
set to 1, any subsequent executions will not retrieve any documents into the process
because our Start shape operation is looking only for those records where
NOTIFY_STATUS = 0."

Associate Integration Developer


73
Administration Training, Properties, and Document Flow

Administration Training, Properties, and Document


Flow
The goal of this session is to turn the process Prospect Tracking into a production state by:

● Automating the process to query newly modified accounts


● Package a Component and Deploy a production release
● Troubleshooting failed executions and failed documents
● Developing and releasing process updates for advanced logging
● Enabling administrator features for advanced alerts

Following Administration Training, we will look at Global Properties, and Document Flow.

Associate Integration Developer


74
Check the Production and Test environments

Check the Production and Test environments


In Boomi Essentials, you created two different environments: Production and Test. Attached to
the Production environment is the Atom Cloud and attached to the Test environment is the Test
Atom Cloud. In this exercise, confirm the environments and atoms in your training account
are correctly configured.

Check Environment setup under Manage > Atom Management

Confirm your account has a Production environment with an attached Atom Cloud.

Confirm your account has a Test environment with an attached Test Atom Cloud.

Associate Integration Developer


75
Check the Production and Test environments

• If your Environments and Atoms are not configured correctly, please return to Boomi
Essentials to complete.

Associate Integration Developer


76
Package and Deploy the Process

Package and Deploy the Process


To execute or to schedule a process to run at a specific interval, you must first package and
deploy it. In this exercise, you will package and deploy your Prospect Tracking.

You can create a packaged component two ways via the Build or Deploy tab.
From the Build tab, click on the Create Packaged Component button.

Or from the Deploy Menu and select the Create Packaged Components menu option.

Associate Integration Developer


77
Package and Deploy the Process

Check the box next to the component(s) you want to the package and click the Next: Add Details
button.

Enter the following and click the Create Packaged Component button.

A Packaged Components Successfully Created message displays. Click the Deploy button.

Associate Integration Developer


78
Package and Deploy the Process

Enter the following and click Next: Select Versions button.

Verify Prospect Tracking is selected and click Next: Review.

Associate Integration Developer


79
Package and Deploy the Process

In the Review window, click Deploy.

Verify the deployment is successful, by clicking View Deployments.

Click View Deployments.

Deployment Notes makes tracking deployment changes easier as you roll out additional
releases.

• During Deployment, AtomSphere audits your account to make sure you enough
connection licenses to deploy this process into production. If you do not have the
necessary license count available, you will get an error message.

Associate Integration Developer


80
Schedule the Process

Schedule the Process


Once you deploy a process, it is ready to move into production. You may execute the process
manually or place it on a schedule. You can automate timed executions as often as 1-minute
intervals. In this exercise, you will configure your process to run on a 5-minute schedule on the
Manage > Atom Management tab.

Click Manage > Atom Management.

In the Environments pane, click the Atom Cloud, which has our process attached.
Under Runtime, click Deployed Processes.

In the Deployed Processes window, click the blue drop-down arrow next to Prospect Tracking,
and select Edit Schedules.

Associate Integration Developer


81
Schedule the Process

Click the Add button, and configure the schedule details to display the following:

Type: Minute
Start Time: 00:00
End Time: 23:59
Interval: 5
Keep the default checkboxes for Monday through Friday and click OK.

A schedule saved message appears in the lower-right corner of the Process Canvas.

• The time zone schedule depends on where the atom is installed: The public regional
clouds use Universal Time Coordinated (UTC), and locally installed atoms use the
system time where the atom resides.

Associate Integration Developer


82
License Management

License Management
When deploying, AtomSphere does an audit to check the purchased connection licenses for
your AtomSphere subscription. The audit begins when a pop-up window displays Recalculating
dependencies and auditing deployments. The results display in your Licensing page. In this
exercise we will view the results of the Prospect Tracking deployment.

In the top-right corner of the platform window, click Account > Setup.

Select the Licensing tab in the Setup menu.

In the Connections By Class table, note count of Deployed connections compared to the
Available connections.

Associate Integration Developer


83
License Management

• When you try to use too many licenses, the deployment audit fails and prevents you
from deploying. A Boomi recommendation is to streamline duplicate connection
components. License counts are totaled at the Atom level, meaning if you use the same
connection in many processes and deploy those processes to the same Atom, then you
use one license. However, if you deploy a single connection to two different Atoms, then
you use two licenses.

In the Connections By Class table, highlight the Standard connector class record.

• Each license category has connectors assigned to it. Small Business licenses are for
Sage 50 (Peachtree), FreshBooks, and QuickBooks. Standard licenses are for
connectors like: Salesforce, Database, and Success Factors. Enterprise licenses are for
SAP (Business Suite and Net Weaver) and Oracle E-Business Suite. Trading Partner
licenses are for EDI integrations.

To see which processes are using which connectors look at Deployments: All Classes.

Associate Integration Developer


84
Track executions in process reporting

Track executions in process reporting


The Process Reporting page is used to search for information about process executions and
their related documents and logs. You can check statistics about the execution to see how
documents have succeeded, failed, and/or reacted against connectors and process shapes. In
this exercise, we will learn key information about the latest executions for Prospect Tracking.

Click the Manage > Process Reporting tab.

In the Executions view, note the process execution instances and monitor the Process Reporting
until the execution record with inbound and outbound data displays.

• You may need to Refresh to see new process executions logged.

Turn on Auto Refresh to automatically refresh the execution records every minute.

Select an execution record with inbound data in the Executions view, click the Actions menu
and select View Deployment Components.

Associate Integration Developer


85
Track executions in process reporting

Next to the SF Account to DB Insert Map, click the View/Edit button.

A new browser tab or window opens displaying the direct component instance.

Associate Integration Developer


86
Track executions in process reporting

Close this browser tab to return to a view Deployed Components.

Click Cancel to return to the Process Reporting window.

Click the View Process Logs symbol of a recent process execution.

Associate Integration Developer


87
Track executions in process reporting

Note the details in the Show Log pane, and click Cancel to return to the Process Reporting
window.

Associate Integration Developer


88
View Detail View

View Detail View


The Detail View pane displays the inbound and outbound data for the selected process
execution. Documents In refers to the documents captured on the Process Start shape.
Documents Out refers to any connector shapes on the process flow which retrieve or send
documents. In this exercise you will examine the logs and view documents.

Click the hyperlinked timestamp to view details for a recent process execution.

A detailed process execution view opens containing process and document-level information.

Click Successes to view detailed information about successful documents.

In the Successes section in the Detail View pane, click the Actions menu on one inbound data
record, and choose View Document.

The Atom temporarily uploads the document to the Document Viewer.

Associate Integration Developer


89
View Detail View

Scroll to the bottom of the Document Viewer pop-up window.

• To download the full document contents to a file on your workstation click the Download
Original Document hyperlink.

Click the Close Document Viewer button.

To exit the detailed document view and return to process reporting, click anywhere to the left of
the detailed document view.

Associate Integration Developer


90
Configure Exception Shape

Configure Exception Shape


The Exception shape provides the ability to terminate the data flow down a path and define
custom error messages to be reported on the Manage menu's Process Reporting page.
Exception shapes are often used when document data fails to meet certain conditions of a
Route or Decision shape and should not be processed further. In this exercise, add an
exception to the process to fail all records not meeting the criteria of the Decision shape.

Navigate to the Build tab, then open your process Prospect Tracking.

• A quick way to retrieve a process is to use the Open A Recent Item link on the
Welcome pane.

Click and drag an Exception shape from the shapes palette to the Process Canvas.

Associate Integration Developer


91
Configure Exception Shape

Configure the following for the Exception properties, and click OK.

Title: Old Account Record


Stop Single Document: Checked

Message: -------
Account ID: {1}
Name: {2}
-------

• Check Stop Single Document to prevent other valid documents from stopping to
process through the flow.

In the Exception shape’s Variables window and click the add symbol.

Associate Integration Developer


92
Configure Exception Shape

In the Variables window, configure the parameters:

Type: Profile Element


Profile Type: XML
Profile: SF_Account__c_QUERY_Response
Element: Id (Account__c/Id)

Click OK to return to the Exception Properties window.


In the Variables window, click the Add Parameter button.
In the Parameter Value window, configure the second parameter:

Type: Profile Element


Profile Type: XML
Profile: SF_Account__c_QUERY_Response
Element: Name (Account__c/Name)

Associate Integration Developer


93
Configure Exception Shape

Click OK to return to the Exception Properties window.


Both parameters are loaded in the Variables section in the Exception Properties window.

Click OK to return to the process.


Remove the Stop shape from the Decision shape’s False path. Connect the False path to the
Exception shape, and click Test to execute the process in Test Mode using the Test Atom Cloud.

The Test Execution Error window opens and identifies the failure for the first document.

• At the process level, AtomSphere reports only the first document error returned. You
must troubleshoot to find out if other document failures exist at the Document level.

Click Close to return to the process view.


Highlight the Exception shape on one of the failed documents.

Associate Integration Developer


94
Configure Exception Shape

A SEVERE level record displays under Test Results.

Click the hyperlinked message in the Message column of this record.


A pop-up window opens with the structured Exception message specific to the highlighted
document record.

Click Cancel to return to the process.


Click the Return to Edit Mode button to exit Test Mode.

Associate Integration Developer


95
View the Revision History

View the Revision History


Revision History displays standard information about a component, including when it was last
modified by a specific AtomSphere user. This information is helpful when you need to undo
changes at the component level and restore previous configurations. In this exercise, you
review a previous process version and note the changes.

On the Build tab, open the process Prospect Tracking.


In the lower-right corner and click Revision History.

Review the current revisions and click the View/Edit symbolsymbol next to the earliest revision
number.

Associate Integration Developer


96
View the Revision History

An information alert appears stating this view does not correspond to the latest version.

• Do not save this revision.

• The goal of this exercise is to make you aware revisions are never overwritten. Rather,
they are stored in Revision History if you need to reference or go back to them later.
Saving a process version increments it and moves it to the top of the revision list,
making it the active version. If you go back to a previously saved version and want to
deploy it, you need to redeploy and schedule the process. The reverted version does
NOT inherit the deployed state or schedule assigned to the most-recent version.

Click Close to close the version without saving.


The original Prospect Tracking process opens.

Associate Integration Developer


97
Redeploy the process and view alerts in process reporting

Redeploy the process and view alerts in process


reporting
There are many versions of Prospect Tracking, and the latest version has not been promoted
into production. To publish recent changes, it is necessary to create a new Package Component
and redeploy the package. Once the process is redeployed, you can view alerts (from the
Exception shape) in process reporting.

Repackage and Redeploy the process

Repackage and Redeploy your Prospect Tracking process (See Exercise Package And Deploy
the Process; steps 1-10) with the following information:
Package Component Details:

Field Information to update


Version for All ADEV-MAR2020-02
Packaged Notes for All Added Exception
Sharing Do not Check the box.
Deployment Details:

Field Information to update


Deployment Environment Production
Deployment Notes Added Exception

Associate Integration Developer


98
Redeploy the process and view alerts in process reporting

View alerts in process reporting

Click the Manage > Process Reporting tab.


Manually execute Prospect Tracking by clicking the Execute Process button then choose Atom:
Atom Cloud, Process: Prospect Tracking, and click the Execute button.

Notice the most recent process executions are logging Error Messages in process reporting.
Information from the first failed document in a process execution is recorded. Click the hyperlink in
the Error Message column to view the configured message.

Associate Integration Developer


99
Configure a Notify shape

Configure a Notify shape


The Notify shape gives you the option to build custom execution logs and/or send customized
notification messages to your subscribed email alerts or RSS feed. In this exercise, create a user-
defined email event for each failed document and continue to log the Process Execution as
failed.

From the Build tab’s Welcome tab, in the Open A Recent Item section, and select Prospect
Tracking.
Double click Exception shape.

Replace the message text with Old Account Record(s). Delete both parameters from the
Variables window. Highlight each and click the Delete Parameter icon to remove the selected
parameter. Replace the Exception shape’s message with the message below.

Click OK to return to the process canvas.


Disconnect the Exception shape from the end of the first Decision shape’s False path.

Associate Integration Developer


100
Configure a Notify shape

In the Shapes pallette, under the Execute tab, drag a Notify shape to the process flow.
Configure the Notify shape’s Properties as follows:

Title: Old Account Record


Message Level: Error
Message: ID: {1} Name: {2}
<ENTER>
Enable Events: Checked
Enable User Log: Unchecked
Write Once Per Unchecked
Execution:

• When configuring a Notify shape, the Message Level (Information, Warning, or Error)
must match the Log Level in an email alert subscription.

• Checking Enable Events means the notification is sent to the destination for all
configured event options.

Click add symbol to add the first parameter.

Associate Integration Developer


101
Configure a Notify shape

Configure the following for the first parameter in the Parameter Value window:

Type: Profile Element


Profile Type: XML
Profile: SF_Account__c_QUERY_Response

Element: Id (Account__c/Id)

Click OK to return to the Exception Properties window.


The first parameter is loaded in the Parameters section of the Notify Properties window.

Click add symbol to add the second parameter.


Configure the following for the second parameter in the Parameter Value window.

Type: Profile Element


Profile Type: XML
Profile: SF_Account__c_QUERY_Response
Element: Name (Account__c/Name)

Click OK to close the Parameter Value dialog then again to return to the process.
Both parameters are now loaded in the Parameters section of the Notify Properties window.

Associate Integration Developer


102
Configure a Notify shape

Connect the Notify shape between the Decision shape's False path and the Exception shape.

Run the process in Test Mode.


When the Test Execution Error message appears, click OK to exit.

Notify executes successfully before the Exception. The Notify shape creates a notification
and lets the document(s) to pass through without affecting document structure.

Click Return to Edit Mode to exit Test Mode.


Click Create Packaged Component to package the latest version of the process and redeploy.

Repackage and Redeploy the process

Repackage and Redeploy your Prospect Tracking process (See Exercise Package And Deploy the
Process; steps 1-10) with the following information:
Package Component Details:

Field Information to update


Version for All ADEV-MAR2020-03
Packaged Notes for All Added Notify
Sharing Do not Check the box.

Associate Integration Developer


103
Configure a Notify shape

Deployment Details:

Field Information to update


Deployment Environment Production
Deployment Notes Added Notify

View alerts in process reporting

In this design, the Exception shape reports a high-level failure and flags the process as an error;
the Notify shape notifies the error information at the document-level.

Click the Manage > Process Reporting tab.


Manually execute Prospect Tracking by clicking the Execute Process button.

Choose Atom: Atom Cloud, Process: Prospect Tracking, and click Execute.

Associate Integration Developer


104
Configure a Notify shape

The most recent process executions are still logging Error Messages in process reporting. The
Notify shape creates a user notification, and the Exception shape logs the process execution as
failed. Click the View Process Logs symbol to show the process log with SEVERE errors
captured.

Associate Integration Developer


105
Process Deactivation

Process Deactivation
A Boomi recommendation is to stop process schedule and/or undeploy the process when
training (or other testing scenarios) is complete. This ensures the process is not running
unnecessarily and stops user alerts.

Stop the process schedule

Click the Manage > Atom Management menu.


Select the Atom where your process is deployed and select Deployed Processes.

Next to Prospect Tracking, click the blue drop-down arrow , then select Stop Schedules.
The scheduling symbol changes from a green arrow to a red square.

Associate Integration Developer


106
Process Deactivation

Undeploy the process

Click the Deploy > Deployments menu.

Click the Actions button for the Prospect Tracking component and select Undeploy.

Associate Integration Developer


107
Process Deactivation

In the Undeploy Verification window, click Undeploy

Verify the process is now undeployed

Associate Integration Developer


108
Dynamic Process Properties Activity

Dynamic Process Properties Activity


Scenario

Each week, a company awards their highest producing sales representative. This award is
given to the sales representative who closes the largest deal by the end of the week. We
designed a process to constantly check for recently created invoice records within the
company’s data storage and to track the highest producing deal. The data storage has
processed invoices containing basic account information, including the sales representative and
Total Contract Value (TCV) of each closed-won opportunity.

Goal

Take the partly built process and change it to take advantage of Dynamic Process Properties
(DPP). As we process each invoice, we store the Total Contact Value as the Dynamic Process
Properties if it is larger than the previously stored Total Contact Value. Storing it as a Dynamic
Process Property lets it to be referenced in later process executions. The following represents
the high-level integration strategy and business work flow:

Compare invoice's Store new TCV in Configure


Process individual TCV to highest memory if it's notification details
invoice containing TCV stored in greater than (via Notify steps)
account memory (as highest TCV in preparation for
information Dynamic Process currently stored advanced logging
Property) as DPP & reporting

Create a subfolder to house the dynamic process properties process

Click the blue drop-down arrow next to the Associate folder.


Choose New Folder and name it Dynamic Process Properties.

Install the Process from the Process Library

Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.

Associate Integration Developer


109
Dynamic Process Properties Activity

In the right column search bar enter, Dynamic Process


Click Install next to Dynamic Process Properties Activity.

Click the browse symbol next to Select Installation Location and navigate to the Dynamic
Process Properties folder.
Click the Install button.
The process is now installed in your account. Click View Process.

Associate Integration Developer


110
Dynamic Process Properties Activity

Configure the Set Properties, Decision, and Notify shapes

Configure the Set Properties shape to set the incoming XML Document’s TCV as a persisted
Dynamic Process Property.

Click the add symbol to add a property.

Choose Dynamic Process Property from the Property Type drop-down. Enter Highest TCV as
the Property Name. We want to save this value in memory ando reference it in later process
executions, so check the option Persist this property.

Click OK.

• Remember the spelling and case of the Property Name to reference it later.

Pair the Dynamic Process Property with a parameter referencing the corresponding value and click
the add symbol to enter the profile element.

Associate Integration Developer


111
Dynamic Process Properties Activity

Configure the parameter values according to the following:


Type: Profile Element
Profile Type: XML
Profile: Invoice XML
Element: TCV (Account/TCV)

Examine each message shape imitating the XML data coming into the process, paying attention to
the data elements. These elements are referenced in the ‘Invoice XML’ Profile.

Associate Integration Developer


112
Dynamic Process Properties Activity

Now the Dynamic Process Property is configured, configure the Decision shape. We will want to
compare the incoming TCV to see if it is greater than the TCV stored as the current DPP value.

Open the Decision shape. For the First Value, click the browse symbol and load the
(Account/TCV) element from ‘Invoice XML’ Profile representing the incoming document.

Click OK when complete.


Set the Compare Type to Greater Than, because the logic is determining if the incoming TCV is
greater than the TCV stored as a Dyanmic Process Property.

For the second value, select Dynamic Process Property and enter the Property Name EXACTLY as
you entered it when entering it in the Set Properties shape earlier.

• When configuring the parameter to store the Dynamic Process Property, enter the
Property Name EXACTLY as entered in the Set Properties shape earlier.

Associate Integration Developer


113
Dynamic Process Properties Activity

• When the first Document is processed, its TCV value is compared to the Default Value.
Before the first run, the Dynamic Process Property value is null and, a Default Value of
‘0’ must be entered as a Parameter Value.

Enter the default value and click OK.

• The true path Set Properties shape is processed only if the Decision logic’s result is true.
We configured the decision shape to compare the incoming TCV value with the TCV
value stored in the Dynamic Process Property. If the incoming value is greater, the
Dynamic Process Property is reset.

Configure each Notify shape to display detailed logging to have a better understanding of each
processed document. The first Notify shape handles logging for displaying the newly assigned
TCV.Configure the Notify shape, in the first path, to reflect the following:

Click OK to complete the Notify shape.


Configure the Notify shape, in the second path, to reflect the following:

Associate Integration Developer


114
Dynamic Process Properties Activity

Click OK when to complete this notify shape


The Notify shape down the false path is already configured.
Click Save to save the process.
Package and Deploy your Dynamic Process Properties Activity process (See Exercise Package
And Deploy the Process; steps 1-10) with the following information:
Package Component Details:

Field Information to update


Version for All ADEV-MAR2020-04
Packaged Notes for All Initial deployment for Dynamic Process
Properties Activity
Sharing Do not Check the box.
Deployment Details:

Field Information to update


Deployment Environment Test
Deployment Notes Initial deployment for Dynamic Process
Properties Activity

Associate Integration Developer


115
Dynamic Process Properties Activity

In Manage > Atom Management,select the Test Atom Cloud andlick Deployed Processes.
Click the s blue drop-down arrow to the left of the process name and select Execute Process
from the drop-down.

After a few seconds, the process should complete successfully.

Click the blue drop-down arrow and select Edit Process Properties from the drop-down.

• The ability to Edit Process Properties is available only to deployed processes. This is
why we take this approach instead of running the process in the Build tab.

• From the Edit Process Properties pane, view, edit, or delete the Process Property name
and/or value. Notice the current DPP value for Highest TCV is 50000.

Associate Integration Developer


116
Dynamic Process Properties Activity

From the Edit Process Properties pane, the stored DPP value is 50000. This Process is set up as
a plug-and-play testing environment, utilizing different preloaded documents stored in different
message shapes.

After making changes to the process, remember to redeploy the process and run another Manual
Execution via Manage > Atom Management.

Connect the Start shape to a different Message shape, containing a different TCV and re-execute
the process.

After the second manual execution, connect the Start shape to the third Message shape. Notice the
TCV is less than the earlier stored DPP value and the results in the ‘Edit Process Properties’ pane.
Although Process Properties cannot be edited or viewed, they still can be executed in the Build tab.
Within the Build tab, execute the process a few times with different input values. This is a great

Associate Integration Developer


117
Dynamic Process Properties Activity

opportunity to view the process path based on the Decision Logic. Click on the various shapes along
the process flow to see the document state and view the logging along the way.

Associate Integration Developer


118
Dynamic Document Properties Activity

Dynamic Document Properties Activity


There are two types of global properties: dynamic process properties, which store a single on-
the-fly property, and dynamic document properties, which store other pieces of information
about a document used within a process.

Dynamic Process Properties Dynamic Document Properties


Value can persist across process executions Value cannot persist
Value is assigned on the process level – the Value is assigned on the document level and
value remains the same unless changes by a can be different per document
process step
Once set, available anywhere in the process Once set, it is available if the document exists –
including child processes will continue across branches (if set before the
Branch shape), but does not continue across
Message shapes or outbound Connectors

Scenario

A process constantly checks if an Account record exists in a company’s data storage to decide
whether to do a Create or Update call. The process retrieves the Salesforce Account’s internal
system ID using a Connector Call output parameter as a Dynamic Document Property and
creates or updates an Account, based on the routing logic in the Decision shape.

Goal

Change this process using a Set Properties shape to complete the Connector Call to retrieve
the internal ID for the record and store the result as a Dynamic Document Property. Then use a
Decision shape to check if the property is populated and send the record to the Create or
Update Map. In the Update Map, use a Map Function to retrieve the internal ID value and map
it. This approach avoids the need to add a second Connector Call in the Update Map to retrieve
the internal ID again.

Start with a No Use a Data Add a Configure


Create or
Data start Process shape Connector Call Decision logic to
Update account
shape and to split the in the Set determine if an
records
Message to documents so Properties account's
accordingly
populate the each record can shape to query internal ID is
using Map
Document with be validated an account's populated in
shapes
test data individually internal ID Salesforce

Create a subfolder to house the dynamic document properties process

Click the blue drop-down arrow next to the Associate Developer folder.
Choose New Folder and name it Dynamic Document Properties.

Associate Integration Developer


119
Dynamic Document Properties Activity

Install the process from the Process Library

Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
In the right column search bar enter, Dynamic D.
Click Install next to Dynamic Document Properties Activity.

Click the browse symbol next to Select Installation Location and navigate to the Dynamic
Document Properties folder.
Click Install in the bottom-right corner.
The process is now installed in your account. Click View Process.

Configure the Set Properties shape

The process begins with a No Data start shape followed by a Message shape containing all the
Account names. The Data Process shape splits the Documents, so each record is validated
individually. Add a Dynamic Document Property, using a Connector Call as the parameter
value, in the Set Properties shape to assign this property (ID) to each existing record as an
Account in Salesforce.

Open the Set Properties shape.


In the Property Type window, select Dynamic Document Property, enter the Property Name ID,
and click OK.

• Remember EXACTLY how this property is named to reference it later.

Associate Integration Developer


120
Dynamic Document Properties Activity

In the Set Properties shape window, highlight Dynamic Document Property - ID, then click the
add symbol to add a parameter.

In the Parameter Value window, set Type to Connector Call, and choose Salesforce as the
Connector with the default Get Action. Choose the Boomi Training (SF) Connection from the
#Connections folder.

Associate Integration Developer


121
Dynamic Document Properties Activity

Click the add symbol to open a new Salesforce Operation tab.

Name the Operation component Account Query by Name , click the Import button to create and
load the Response Profile from Salesforce.

Select the Boomi Training (SF) Connection and click Next. Set the Object Type to Account__c,
and the Action to Query and click Next. Do not select anything at account objects Account Objects
and click Next. Make note the Response Profile name and click Finish.

The only field we want to retrieve is the Account’s ID. So under the Fields tab, check and uncheck
the Account__c “select all” box and check only the ID field.

Associate Integration Developer


122
Dynamic Document Properties Activity

In the Filters tab, click the blue drop-down arrow next to Logical - AND to add a new
Expression. Set the Filter Name to Name=, set the Field to Name, and set the Operator to Equal
To. Click Save and Close to return to the Connector Call’s Parameter Value window.

Choose ID for the Output Parameter and click OK.

Click the add symbol to assign the value for the Input Parameter and configure the Parameter
Value window according to the image below, use the Type as Flat File and profile as Sample
Data in the Dynamic Document Properties folder. Click OK to close the Connector Call window and
click OK to exit the Set Properties shape window. Click Save to save the process.

Associate Integration Developer


123
Dynamic Document Properties Activity

Configure the Decision shape

For the First Value, choose Document Property for Type, then choose Dynamic Document
Property and enter ID. Click OK (twice) to return to the Decision shape’s window.

The Second Value Type is a Static value, and it is null (do not enter anything in the Static Value
field).

Associate Integration Developer


124
Dynamic Document Properties Activity

Configure the Account Create and Account Update Maps

Open the Map Account Create. The source and destination profiles are already loaded. Map
Name from the source profile to Name in the destination profile. Save and Close the Map.

• This process is only a test, so we will not actually create new or update accounts in an
endpoint data storage system. Notice both the True and the False paths lead to Stop
shapes, not Connector shapes. This activity is only meant to show how to configure and
retrieve Dynamic Document Properties using a Connector Call.

Open the Map Account Update. The source and destination profiles are already loaded. Map
Name from the source profile to Name in the destination profile.

Having retrieved an Account’s ID with the Connector Call, we want to update the value in our
destination. To do so, add a Function. Choose Properties for the Category, select Get Document
Property and click OK. Click the edit symbol to choose Dynamic Document Property for
Property Type, and enter, ID for the Property Name. Click OK twice to return to the Map.

Map the Function’s output to the ID field in the destination profile and clickSave and Close.

Associate Integration Developer


125
Dynamic Document Properties Activity

Run the process in Test Mode and view the results

Click Save to save the process, and run a Test using the Test Atom Cloud.
In Test Results, click the True path’s Stop shape to see one Document is a new Account. Click the
False path’s Stop shape to see two Documents whose Account ID fields have been updated.
TRUE: FALSE:

Associate Integration Developer


126
Document Flow Activity

Document Flow Activity


Scenario

This exercise begins with a no data start shape. Data enters the process flow via a Message
shape. The data contains a simple CSV flat file with many records representing fictional
machinery in service at different locations. Depending on each machine’s Operational status, it
is routed down the correct path.

Goal

In this exercise, you will change the process and compare the different document flows under
different conditions. Our goal is to prove how document flow choices effect:

● Execution path
● Document groups
● Map behavior
● Other shape behavior
● Logging and reporting

Create a subfolder to house the document flow activity

Click the blue drop-down arrow next to the Associate Developer folder.
Choose New Folder and name it Document Flow.

Install the process from the Process Library

Open the Process Library by clicking on Browse Process Library at the bottom of the Component
Explorer.
In the right column search bar enter, Assoc Dev and press Enter.
Click Install next to Assoc Dev - Document Flow Activity.
Click Choose… next to Select Installation Location and navigate to the Document Flow folder.

Associate Integration Developer


127
Document Flow Activity

Click Install in the lower-right corner.


The process is now installed in your account. Click View Process.

Review the Process

Open the Operational? decision shape. The Decision shape validates the question, “Is the machine
operational?” If a machine is operational, the flat file profile element will have a value of TRUE.

Open the Initialize Set Properties shape. There are two Properties set in this shape and both are
initialized to 0.

Open the Contact FF to Acct XML Map shape.

Associate Integration Developer


128
Document Flow Activity

In the Map Counter function, the data passes through the Map, this function outputs the value 1.
The second document/record outputs a”, and so on. The result is incrementally numbered data for
all operational machines, with the last number equaling the total 2.
Click the edit symbol on the Map Function.

This function receives no input, so the Inputs pane is blank. In Step 1, the function retrieves a
Dynamic Process Property called P_Map_Counter. In Step 2, it adds 1 to the value it just retrieved.
The result is then sent to two places: to the Map Function output field Map_Counter and to Step 3
where it is saved as the updated value for P_Map_Counter.

• Remember a Dynamic Process Property is a variable of Process scope, meaning it


persists for a whole Process execution regardless of how many documents pass through
the process.

Associate Integration Developer


129
Document Flow Activity

Click Close to close the Map Function and to close the Map.

Open the Increment Set Properties shape to learn how the Step Counter works.
Click the Dynamic Process Property named P_Step_Counter.

There two parameters are joined together with the result stored into P_Step_Counter.

This Step counter is different from the Map counter. The Map counter adds values mathematically,
while the Step counter joins strings. The Step counter will begin with value of 0, and each
consecutive machine will add a 1 (i.e., 01, then 011, etc.) similar to tally marks.
Click Cancel to close the Set Properties dialog.
Open the two Notify shapes to see how they write the Counter into the Process Log with a Message
Level of Warning.

Click Save and Test.


Choose the Test Atom Cloud and click Run Test.

Associate Integration Developer


130
Document Flow Activity

Test Results

After the process finishes executing, your results should look like this:

• The source data size is a single document 0.00 kB in size. This shows no data was
entered the Load Test CSV shape.

Click the Stop shape at the end of the True path. In the Test Results pane, click the Shape Source
Data tab and see only one document went down the True path.

View the process log by clicking the blue drop-down arrow next to Process: Assoc Dev -
Document Flow Activity and click View Log.

Associate Integration Developer


131
Document Flow Activity

• The Notify shape logs a Warning level message and enters the count to the process log.
Scroll until you see the Notify.

From the Minimum Status to Show drop-down, choose the WARNING error level filter, and click
the message text in the Message column.

The error pop-up window displays the Notify message, the counter value at ‘8’.

This reveals the Notify shape was executed with the batch document, but the counter had already
reached a value of ‘8’ before the Notify shape was executed.

Associate Integration Developer


132
Document Flow Activity

Click Cancel to close the Message pop-up. Click Cancel to close the Process Log.
Click the arrow next to the process name to leave Test Mode.

Add a Data Process shape to Split Documents

Drag a Data Process shape onto the Process Canvas.

In Data Process Properties dialog click the add symbol to add a step.

Configure the Data Process Properties to match the image below and click OK to save your
changes.

Associate Integration Developer


133
Document Flow Activity

Disconnect and reconnect the various shapes until your process matches the following:

Click Save. Execute the process in Test Mode by clicking Test and run using the Test Atom
Cloud.
After the execution finishes, your screen should look like this:

Notice both Decision shape branches are navigated.

Question: How many documents are True and how many are False?

View the process log by clicking the blue drop-down arrow Process: Assoc Dev - Document
Flow Activity hyperlink and click View Log. Review details from this execution.

Associate Integration Developer


134
Document Flow Activity

Notice one document entered the Data Process shape, and eight documents exited.

Discussion Question: Where did the various documents travel?

Scroll to the log entries pertaining to the Map shape and the Increment the Set Properties shape.

Associate Integration Developer


135
Document Flow Activity

The Map handles Operational machines and executed with five documents.

Increment was the label for the Set Properties shape which counts the non-Operational machines.
There were three machines, so the Increment shape executed with three documents.

Question: Why did the Decision shape route the documents differently this time?

Previously, the Decision shape received a single document with eight records, and only read the first
valid line which contained a TRUE value. So, it routed the whole document along the True Path.
Now the original document splits into eight documents before reaching the Decision shape, which
now receives eight individual documents, inspects each Operational? element, and routes them so.

Question: In what sequence did the documents execute? How can you tell?

First, documents for all five Operational machines passed through the Map shape, then documents
for all three non-Operational machines passed through the Increment Set Properties shape. A
Decision shape processes all True documents to completion before it processes False documents.
However, in the original single document the operational and non-operational machines appear in
random order.

From the Minimum Status to Show drop-down chose the WARNING Error Level filter.

Associate Integration Developer


136
Document Flow Activity

By the time the first Notify shape is executed, all five Operational documents have been counted.
The Notify message has five appended strings, and each string contains the total of instead of the
interim count. Double-click the message text to see this more clearly:

Click Cancel to close the dialog.


Click Cancel to close the Process log. Click Return to Edit Mode.

Associate Integration Developer


137
Document Flow Activity

Add Flow Control for One-by-One Document Processing

For our final test, we will use the Flow Control shape to further change the document flow.

From the Logic palette, drag and drop a Flow Control shape onto the canvas.

The Flow Control Properties dialog appears. Click Run Each Document Individually and click OK
to save your changes.

Associate Integration Developer


138
Document Flow Activity

Disconnect the Data Process shape from the Decision shape and connect it to the Flow Control
shape. Then connect the Flow Control shape to the Decision shape.
Your final process should look like this:

Select Test. After the execution completes, review the Process Log.
Change the Minimum Status to Show to WARNING.

Question: Why were the Notify shapes executed in this sequence?

This sequence matches the data in the original single document. The Flow Control shape caused
the eight-line items, which were split into separate documents, to be processed individually to
completion.

Question: Why do the “counters” now show increasing values when before they showed
only the final value?

The Notify shapes are now being executed with each document instead of in batches of five and

Associate Integration Developer


139
Document Flow Activity

three. At the time each Notify shape is executed, the counters register only the number of
documents processed.

Click Return to Edit Mode.

Associate Integration Developer


140

You might also like