PWX 8601 Salesforce - Com UserGuide
PWX 8601 Salesforce - Com UserGuide
PWX 8601 Salesforce - Com UserGuide
Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Customer Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Web Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Global Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
iii
iv
Table of Contents
Appendix B: Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Glossary of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Table of Contents
vi
Table of Contents
Preface
The PowerExchange for Salesforce.com User Guide provides information to build Salesforce mappings, extract
data from Salesforce objects, and load data into Salesforce objects. It is written for the developers who are
responsible for extracting data from Salesforce objects and loading data into Salesforce objects.
This book assumes you have knowledge of web services concepts, relational database concepts, PowerCenter,
and Salesforce.com. You must also be familiar with the interface requirements for other supporting
applications. For additional information about related Salesforce issues, refer to the Salesforce documentation.
Informatica Resources
Informatica Customer Portal
As an Informatica customer, you can access the Informatica Customer Portal site at http://my.informatica.com.
The site contains product information, user group information, newsletters, access to the Informatica customer
support case management system (ATLAS), the Informatica Knowledge Base, Informatica Documentation
Center, and access to the Informatica user community.
Informatica Documentation
The Informatica Documentation team takes every effort to create accurate, usable documentation. If you have
questions, comments, or ideas about this documentation, contact the Informatica Documentation team
through email at infa_documentation@informatica.com. We will use your feedback to improve our
documentation. Let us know if we can contact you regarding your comments.
vii
WebSupport requires a user name and password. You can request a user name and password at
http://my.informatica.com.
Use the following telephone numbers to contact Informatica Global Customer Support:
viii
Preface
Asia / Australia
Informatica Corporation
Headquarters
100 Cardinal Way
Redwood City, California
94063
United States
Informatica Business
Solutions Pvt. Ltd.
Diamond District
Tower B, 3rd Floor
150 Airport Road
Bangalore 560 008
India
Toll Free
+1 877 463 2435
Toll Free
00 800 4632 4357
Toll Free
Australia: 1 800 151 830
Singapore: 001 800 4632 4357
Standard Rate
Brazil: +55 11 3523 7761
Mexico: +52 55 1168 9763
United States: +1 650 385 5800
Standard Rate
Belgium: +32 15 281 702
France: +33 1 41 38 92 26
Germany: +49 1805 702 702
Netherlands: +31 306 022 797
United Kingdom: +44 1628 511 445
Standard Rate
India: +91 80 4112 5738
CHAPTER 1
Overview, 1
Overview
PowerExchange for Salesforce.com integrates PowerCenter with Salesforce.com to extract data from Salesforce
sources and write data to Salesforce targets. Salesforce sources and targets represent objects in the Salesforce
object model. Salesforce objects are tables that correspond to tabs and other user interface elements on the
Salesforce.com web site. For example, the Account object contains the information that appears in fields on the
Account tab of Salesforce.com.
Salesforce objects contain data that Salesforce customers access on Salesforce.com. Saleforce.com provides ondemand customer relationship management (CRM) solutions for organizations. You can view, create, update,
and delete data in Salesforce objects.
PowerExchange for Salesforce.com uses the Salesforce security model to enforce data access controls. Your
ability to access data depends on the Salesforce organization, or org, that is associated with the user login you
provide when you connect to Salesforce.com. It also depends on the user privileges and the field and row level
permissions associated with the login. You specify the Salesforce login user and password in an application
connection object that you create in the Workflow Manager or when you import a Salesforce source, lookup or
target definition in the Designer. PowerExchange for Salesforce.com uses the Salesforce API to apply existing
access policies, and it does not impose additional data access restrictions.
PowerExchange for Salesforce.com provides the following benefits:
Data integration and migration. Integrate data from diverse data sources, including other applications, with
Salesforce.com. Also, use PowerCenter to migrate data from various data sources to Salesforce.com.
Data analysis. Use the built-in data quality capability of PowerCenter to analyze and evaluate
Salesforce.com data.
Access to Salesforce.com functionality through PowerCenter. Gain full access to Salesforce objects as
sources and targets in PowerCenter.
Figure 1-1 shows how the Integration Service connects to Salesforce.com to read from and
write to Salesforce objects:
Figure 1-1. Integration Service and Salesforce.com Integration
PowerCenter Repository
Workflow
Salesforce.com
Application Connection
Salesforce Session
Integration Service
Salesforce.com
SOAP Server
Web Server
The Integration Service uses the SOAP protocol to transmit data between the Integration
Service and the Salesforce service. To increase performance, the Integration Service uses
HTTP compression to reduce the size of the SOAP packets that are sent over the Internet.
When the Integration Service writes data to Salesforce.com, it converts the PowerCenter
datatypes to Salesforce datatypes. For more information about datatype conversion, see
Salesforce Datatype Reference on page 41.
Code Pages
Salesforce.com processes UTF-8 characters. The Integration Service handles Salesforce data
based on the following data movement modes:
ASCII. When the Integration Service runs in ASCII mode, it does not perform any code
page validation or any data conversion. You might get inconsistent or truncated data if the
Integration Service runs in ASCII mode but processes non-ASCII character data when
writing to a Salesforce target.
Unicode. When the Integration Service runs in Unicode mode, it converts data from the
source character set to UCS-2, processes the data, and then converts the UCS-2 data to the
target code page character set before loading the data. If a session writes to a Salesforce
target, the Integration Service converts the UCS-2 data to the UTF-8 character set.
For more information about Integration Service data movement modes and about code page compatibility, see
the PowerCenter Administrator Guide.
CHAPTER 2
Overview, 5
New Features, 10
Changed Behavior, 11
Overview
This chapter provides information about installing and upgrading PowerExchange for Salesforce.com. Before
you install or upgrade PowerExchange for Salesforce.com, verify that the minimum system requirements are
met and complete the prerequisite tasks.
Prerequisites
Complete the following tasks before you perform installation or upgrade tasks for PowerExchange for
Salesforce.com:
Verify that you have a valid Salesforce.com login. You must have a valid Salesforce.com user name and
password to create connections to access Salesforce.com. The Salesforce data that you can view and modify
depends on the Salesforce security policy associated with the organization and the user login. You must use
either the Enterprise edition, Unlimited edition, or Professional edition of Salesforce.com to use the
Salesforce AppExchange 12.0 API.
Install or upgrade PowerCenter. To run continuous Salesforce workflows, you must have the PowerCenter
Real-time option. For more information about installing or upgrading PowerCenter, see the PowerCenter
Installation Guide.
Install PowerExchange for Salesforce.com. Install PowerExchange for Salesforce.com. You install the
PowerCenter Client and Services components. For more information, see Installing PowerExchange for
Salesforce.com on page 6.
2.
Register the plug-in. Register the plug-in with the repository. For more information, see Registering the
Plug-in on page 8.
3.
Configure the HTTP proxy options. Configure the HTTP proxy options for the PowerCenter Client and
the Integration Service. For more information, see Configuring HTTP Proxy Options on page 8.
After you install and configure PowerExchange for Salesforce.com, you can create connections to access
Salesforce.com. Create connection objects in the Workflow Manager so the Integration Service can connect to
Salesforce.com at run time. For more information about configuring connections, see Configuring
Connections on page 34.
Install PowerExchange for Salesforce.com. Install PowerExchange for Salesforce.com. You install the
PowerCenter Client and Services components. For more information, see Installing PowerExchange for
Salesforce.com on page 6.
2.
Upgrade the plug-in registration. Register the PowerExchange for Salesforce.com plug-in to update the
existing plug-in registration. For more information, see Registering the Plug-in on page 8.
3.
Verify the settings for the HTTP proxy options. Verify the settings for the HTTP proxy options for the
PowerCenter Client and the Integration Service. For more information, see Configuring HTTP Proxy
Options on page 8.
4.
Complete post-upgrade tasks. After you upgrade, complete additional post-upgrade tasks. For more
information, see Changed Behavior on page 11.
When you install PowerExchange for Salesforce.com, the following components are installed:
Client component. Allows you to import definitions, create mappings, and create connection objects.
Services component. Allows the Repository Service to access the PowerExchange for Salesforce.com
metadata in the repository and allows the Integration Service to run Salesforce sessions.
Install these components on the machines that you want to access Salesforce.com.
Use WinZip to extract the files from the SFDC_8601_Client.zip file to the following directory:
<PowerCenter Installation Directory>\client\bin
Note: Ensure that you maintain the original directory structure that is created when you extract the files.
3.
Use WinZip to extract the files from the zip file to the following directory:
<PowerCenter Installation Directory>\server\bin
Table 2-1 lists the name of the zip file for each applicable Windows operating system:
Table 2-1. Zip Files for Integration Components on Windows Machines
Operating System
File Name
Windows 32-bit
SFDC_8601_Win32.zip
SFDC_8601_WinEMT64.zip
Windows IA 64-bit
SFDC_8601_WinIA64.zip
Note: Ensure that you maintain the original directory structure that is created when you extract the files.
Disable the Integration Service. For more information about disabling the Integration Service, see the
PowerCenter Administrator Guide.
3.
2.
Use the tar utility to extract the files from the applicable tar file to the following directory:
<PowerCenter Installation Directory>\server\bin
Table 2-2 lists the name of the tar file for each applicable UNIX operating system:
Table 2-2. Tar Files for Integration Components on UNIX Machines
Operating System
File Name
Solaris 32-bit
SFDC_8601_Sol32.tar
Solaris 64-bit
SFDC_8601_Sol64.tar
File Name
AIX 32-bit
SFDC_8601_AIX32.tar
AIX 64-bit
SFDC_8601_AIX64.tar
HP-UX 32-bit
SFDC_8601_HPUX32.tar
Linux 32-bit
SFDC_8601_Linux32.tar
Linux 64-bit
SFDC_8601_Linux64.tar
3.
Disable the Integration Service. For more information about disabling the Integration Service, see the
PowerCenter Administrator Guide.
4.
Use the following command to grant execute permissions on the installSFDCserver file:
chmod +x installSFDCserver
You can find the installSFDCserver file in the directory where you extracted the files.
5.
After you upgrade PowerExchange for Salesforce.com, update the plug-in registration when you register the
plug-in.
A plug-in is an XML file that defines the functionality of PowerExchange for Salesforce.com. To register the
plug-in, the repository must be running in exclusive mode. Use the Administration Console or the pmrep
RegisterPlugin command to register the plug-in.
The plug-in file for PowerExchange for Salesforce.com is pmsfdc.xml. When you install PowerCenter, the
installer copies pmsfdc.xml to the following directory:
<PowerCenter Installation Directory>\server\bin\native
For more information about using the Administration Console to register a plug-in, see the PowerCenter
Administrator Guide.
For more information about the pmrep RegisterPlugin command, see the PowerCenter Command Reference.
Note: If you do not have the correct privileges to register the plug-in, contact the user who manages the
Repository Service.
If you are installing PowerExchange for Salesforce.com and your organization uses a proxy server to access the
internet, you must create the initialization file and configure HTTP proxy server authentication settings in the
file.
8
You must configure the HTTP proxy server authentication settings for the following PowerCenter components:
PowerCenter Client
Integration Service
If you are upgrading PowerExchange for Salesforce.com, verify that the settings for the HTTP Proxy options
for each component are correct.
To create the initialization file and configure the HTTP proxy options for the PowerCenter Client:
1.
2.
3.
ProxyHost
ProxyPort
ProxyUser
ProxyPassword
4.
Save the text file as an .ini file and use the following file name:
pmsfdc.ini
5.
2.
Click the Administration tab, and then select the Integration Service.
3.
4.
5.
HttpProxyServer
HttpProxyPort
HttpProxyUser
HttpProxyPassword
HttpProxyDomain
New Features
Viewing Record-Level Session Logs
Effective in version 8.6.0.1, the Integration Service generates record-level logs for each session that writes to a
Salesforce.com target. The Integration Service generates the following types of logs:
Success log. The success log contains an entry for each record that is successfully inserted, updated, deleted,
or upserted. Each entry contains the values loaded for all fields of the record, including the Salesforce ID.
Use this file understand what data is loaded into the Salesforce target.
Failure log. The failure log contains an entry for each data error. Each log entry contains the values for all
fields of the record, including the Salesforce ID, and the error message. Use this file to understand why
records did not load into the Salesforce target.
Note: The PowerExchange for Salesforce.com session logs are different from the PowerCenter session logs. The
PowerExchange for Salesforce.com session logs contain record-level details that are specific to sessions with
Salesforce.com targets. You can also use the PowerCenter session logs to view information about the tasks
performed by the Integration Service, general session errors, and load summary and transformation statistics for
the session. For more information about PowerCenter session logs, see the PowerCenter Workflow
Administration Guide.
You can configure whether the Integration Service generates the success and failure logs and the directories
where the logs are stored.
10
Changed Behavior
Handling Null Values in Update and Upsert Operations
Upgrade Impact: Behavior Change
Version Implemented: 8.6.0.1
Versions Affected: 8.1.1 / 8.1.1.0.2 / 8.5 / 8.5.1 / 8.6
Effective in version 8.6.0.1, you can configure the Integration Service to replace existing values in a Salesforce
record with null values during an update or upsert operation. By default, the Integration Service does not
replace existing values with null values.
Previously, the Integration Service replaced existing values with null values by default. When you upgrade, all
sessions are not configured to replace existing values with null values. To update existing value with null values,
configure the Set Fields to NULL session property.
Effective in version 8.6.0.1, the Integration Service can upsert records from more than two related objects into
a Salesforce target object.
Previously, you could upsert records from one or two related objects.
Changed Behavior
11
Effective in version 8.6.0.1, PowerExchange for Salesforce.com uses version 12.0 of the Salesforce API.
Previously, the application connections pointed to the Salesforce 7.0 or 8.0 service.
8.1.1
https://www.salesforce.com/services/Soap/u/7.0
https://www.salesforce.com/services/Soap/u/8.0
When you create a Salesforce application connection, the default service is 12.0.
For more information about configuring an application connection for Salesforce.com, see the PowerCenter
Workflow Administration Guide.
Effective in version 8.6.0.1, you must update the repository to register the repository plug-in. For more
information, see Updating the Repository Plug-in on page 12.
12
CHAPTER 3
Overview, 13
Understanding Relationships, 13
Overview
Use the Designer to import Salesforce source, target, and lookup definitions into the PowerCenter repository.
When you import a Salesforce object as a source, target, or lookup definition, you can also import attributes
about related objects into the same definition. PowerExchange for Salesforce.com determines related objects
based on the object relationships defined in Salesforce.com.
Understanding Relationships
Salesforce.com uses relationships to associate one object with another object. For example, Salesforce.com uses
the Contacts relationship to associate contacts with each account. The Contacts relationship is a many-to-one
relationship between the Contact object and the Account object. There may be one or more contacts for each
account. Some accounts may not have a contact. You can also create a relationship between a standard object
and a custom object to link the custom object to the standard object.
When you import a Salesforce object as a source, target, or lookup definition, you import the fields of a
Salesforce object. You can also import fields of related objects into the same definition. The Designer identifies
related objects based on relationships defined in Salesforce.com. Related objects include standard and custom
Salesforce objects. For more information about importing fields of related objects, see Importing Fields of
Related Objects on page 14.
For more information about relationships, see the Salesforce documentation.
13
Example of a Relationship
Salesforce.com defines relationships for some objects. For example, the Account object has a relationship with
the following objects:
Related Object
Relationship
Description
Account
MasterRecord
Identifies the master account record when there are duplicate account records.
You can configure one account record as the master record in Salesforce.
Account
Parent
Identifies the parent account. You can configure one account to be the parent
of another account in Salesforce. For example, the parent company and a
subsidiary of the same company may have two different customer accounts
with your organization.
User
Owner
Identifies the user who owns the account. This person might be the person
who manages the account.
User
CreatedBy
User
LastModifiedBy
Identifies the user who last modified the account information in Salesforce.
Account. By default, the Opportunity object stores the account ID of the opportunity. If you import the
related object Account, you can view details about each account, such as account name, account type, and
the parent account.
Campaign. By default, the Opportunity object stores the campaign ID of the opportunity. If you import the
related object Campaign, you can view details about the corresponding campaign, such as campaign name,
type, description, and start and end dates.
In this example, the Opportunity object is the primary Salesforce object in the definition and the Account and
Campaign objects are related objects. A primary Salesforce object is the primary object used to create the
definition.
You can also import descendant objects, which are indirectly related to the primary object. For example, when
you import the Opportunity object, you can also import the User descendant object based on the Accounts
relationship with the Account related object. You might import the fields of the User object to get the details
about the account owner such as the account owner name, phone number, and email address.
Figure 3-1 shows the relationships between Salesforce objects:
Figure 3-1. Salesforce Objects and Relationships
Account
Account ID
Account Type
Account Parent
Account Owner ID
Opportunity
Opportunity ID
Opportunity Name
Account ID
Campaign ID
14
Account
Campaign
Campaign
Campaign ID
Campaign Type
Campaign Description
Campaign Start Date
Campaign End Date
Account.Owner
User
(Account Owner)
Account Owner ID
Account Owner Name
Account Owner Phone
Account Owner Email
When you import the primary Salesforce object in the Designer, you can also specify the related and descendant
child objects to import. The Designer displays related objects using the following naming convention:
<Relationship name> (<Salesforce object name>)
The Designer shows the relationship name and the object name as they are defined in Salesforce.com. The
Designer shows parent-to-child relationships defined in Salesforce.com. For example, Salesforce defines the
Opportunity object as the parent object of the Account object.
You want to load data for the Salesforce object and one or more related objects.
You are not transforming the data before you load it into the target.
You want to improve session performance when you join data from multiple Salesforce objects. Instead of
using a Joiner transformation to join data from multiple Salesforce objects, import the fields of the related
objects in the Salesforce source definition to improve performance.
15
Salesforce ID. By default, Salesforce.com generates IDs for each new record.
External ID. External IDs are IDs that are generated outside of Salesforce. You can use external IDs to
identify records in Salesforce objects.
You can also configure the Integration Service to replace existing values in a record in a Salesforce target with
null values during an update or upsert operation. By default, the Integration Service does not replace existing
values with null values. For more information about configuring the session property, see Handling Null
Values in Update and Upsert Operations on page 35.
The Integration Service cannot create or update system fields in a record of a Salesforce target. Each
Salesforce object includes read-only system fields that Salesforce.com creates or updates. For example, each
Salesforce object includes an Id system field. The Id field contains a unique identifier for the record. When
you run a session containing a Salesforce target definition, the Integration Service inserts the record into the
Salesforce target, but Salesforce generates the ID.
To upsert a record, you must provide the external ID. PowerExchange for Salesforce.com requires the
external ID to upsert a record. You cannot use the Salesforce ID.
To configure a session to update or delete records in the Salesforce target, you must pass the ID for each
record through the mapping and link it to the Id input port in the Salesforce target definition.
Salesforce.com uses the Id field to identify the record being updated or deleted. You can look up the IDs in
the Salesforce target to determine the IDs for existing records.
You do not need to link the Id input port for a session that inserts records. Salesforce generates the ID for
new records.You can also insert, update, and delete records in a Salesforce target based on the external ID if
you use the external ID field to identify records in a Salesforce object. You might choose to use an external
ID to update or delete records when it is difficult to get the ID from the Id field in the Salesforce target.
If the Integration Service encounters a transient error while performing an update, upsert, or delete
operation, it retries the operation. The Integration Service retries the operation three times with a fivesecond interval between retry attempts. Transient errors include errors such as network failures and timeouts
from Salesforce.com.
Upserting Records
The Integration Service can upsert records for Salesforce objects that include a custom field designated as the
external ID field. The external ID field identifies each record in a Salesforce table. For example, accounts are
defined by an external ID. When you import the target definition for the Contact Salesforce object, you import
fields for the related Account Salesforce object. The Designer adds the external ID as one of the ports for the
Account object. You can create a mapping to upsert new and updates account records.
To upsert records, link the external ID from the source through the transformations and to the external ID field
in the Salesforce target definition. Salesforce.com uses this custom field to identify records to be upserted.
The Integration Service can also upsert the external IDs of related objects in the records of a Salesforce target
object. For example, you import a target definition based on the Contact object, which is related to the Account
object. Each Contact target record contains the external ID for the associated account. When writing data to
the Contact target, the Integration Service can upsert a new external ID for the account field in each contact
record.
16
Description
Createable
Indicates whether you can insert a value for this field. If true, the Integration Service can
insert data in this field. A PowerCenter insert is equivalent to a Salesforce create
operation.
Updateable
Indicates whether you can update this field. If true, the Integration Service can update data
in this field.
External ID
Indicates whether the custom field is designated as an external ID field. Applicable for
custom fields only. Salesforce.com appends custom field names with __c. Each
Salesforce object can contain a single custom field designated as the external ID field.
If true, then the Integration Service can upsert records for this object. For more information
about external ID and custom fields, see the Salesforce documentation.
Salesforce definition manually, the Designer creates the definition with no fields. You cannot add any field to
the definition. As a result, you cannot connect the definition to other mapping objects.
To import a Salesforce source or target definition from Salesforce.com:
1.
17
3.
Description
User Name
Password
Service URL
Click Connect.
The Designer displays a list of objects available to you.
4.
5.
Click OK.
The Include Salesforce.com Object Relationship window appears.
6.
7.
18
Click OK.
CHAPTER 4
Salesforce Lookup
Transformation
This chapter includes the following topics:
Overview, 19
Overview
Transformation type:
Active
Connected
Use a Salesforce Lookup transformation to look up data in a Salesforce object. For example, the source table
includes the employee ID, but you want to include the employee name in the target table to make summary
data easy to read. You can use the transformation to look up the employee name in a Salesforce object.
You create a Salesforce Lookup transformation from any standard or custom Salesforce object available to your
Salesforce user account.
The Integration Service queries the lookup source based on ports in the transformation. It generates queries in
sforce Object Query Language (SOQL), which is a derivative of SQL. It generates a query for each row that
enters the transformation. The Integration Service compares the transformation port values to lookup source
field values based on the SOQL queries.
The Salesforce Lookup transformation returns all rows that match the query condition, unlike a Lookup
transformation, which returns one row. If the transformation returns multiple rows, it assigns a sequence ID to
each row that matches the condition.
A Salesforce Lookup transformation differs from a Lookup transformation. For example, a Salesforce Lookup
transformation returns all matched rows, but a Lookup transformation returns a single matched row.
19
Lookup Transformation
Connected
Connected or unconnected
Uncached
Cached or uncached
Active
Passive
SOQL query
SQL query
For more information about the Lookup transformation, see the PowerCenter Transformation Guide.
Note: The Salesforce Lookup transformation can retrieve data in real time. To cache Salesforce data, use a
Salesforce source definition and join it to another source with a Joiner transformation.
Transformation tab. You can rename the transformation and add a description on the Transformation tab.
Ports tab. The Salesforce Lookup transformation can include the following types of ports: lookup ports,
pass-through ports, and default ports.
Properties tab. You can configure the tracing level for the transformation. The default tracing level is
Normal. In addition, you can specify whether or not the output is deterministic. By default, the output is
deterministic.
Initialization Properties tab. The Salesforce Lookup transformation does not use initialization properties.
The Integration Service retrieves initialization information from a vendor-defined metadata extension.
Metadata Extensions tab. The Metadata Extension tab displays a vendor-defined metadata extension called
Object Type, which is used to initialize the transformation procedure. The value of the object type is the
name of the Salesforce object that was used to create the transformation.
Port Attribute Definitions tab. The Port Attribute Definitions tab displays the port attributes defined for a
Salesforce Lookup transformation. SforceDataType and SforceName are the only port attributes.
The transformation includes some configurable Custom transformation properties that the Integration Service
does not use for lookups. The Integration Service ignores those configurable properties at run time.
Table 4-2 lists configurable properties that the Salesforce Lookup transformation does not use:
Table 4-2. Unused Salesforce Lookup Transformation Properties
20
Property
Location
Description
Runtime Location
Properties tab
Initialization Property
Lookup ports. You import the lookup ports from a Salesforce object definition when you create a Salesforce
Lookup transformation. The Integration Service uses lookup ports to generate the lookup query.
Pass-through ports. You can add pass-through ports to the transformation. The Integration Service passes
these port values unchanged through the transformation.
Default ports. When you import a Salesforce object definition, the Designer creates default ports named
LKP_FILTER and LKP_MATCHIDX. You can use the LKP_FILTER port to add a filter condition to the
lookup query. The Integration Service uses the LKP_MATCHIDX port to assign sequence IDs to matched
rows.
Lookup Ports
When you import a Salesforce object to create a Salesforce Lookup transformation, the Designer creates ports to
use in the lookup query. The Integration Service generates the lookup query based on connected input and
output ports. If you rename a port that you imported from a Salesforce object, the Integration Service does not
include the port in the lookup query. For more information about the lookup query, see Salesforce Lookup
Query on page 22.
When you import a Salesforce object, the Designer converts the Salesforce field datatypes to transformation
datatypes and stores the Salesforce datatypes as port attributes. The Ports tab of a Salesforce Lookup
transformation displays the transformation datatypes. To view the Salesforce datatypes, view the port-level
attributes.
To view the port-level attributes in a Salesforce Lookup transformation, click the Ports tab of the
transformation. Then click Edit > Port Attributes. The Salesforce datatypes for ports appear in the port-level
attributes.
For ports that are imported from Salesforce.com, the datatypes must conform to the Salesforce and
transformation datatype mapping. For more information about datatypes, see Salesforce and Transformation
Datatypes on page 41.
Pass-Through Ports
You can add ports to a Salesforce Lookup transformation as pass-through ports. The Integration Service passes
the value of these ports through the transformation without performing lookup on the data.
To add a pass-through port, create a new port or copy and paste a port into the transformation. Then, connect
the port to upstream and downstream ports.
LKP_FILTER Port
When you import a Salesforce object to create a Salesforce Lookup transformation, the Designer creates a
default port named LKP_FILTER. Use the LKP_FILTER port to add filter conditions in the lookup query that
you cannot generate by connecting the lookup input ports of the Lookup transformation.
Note: You can use the LKP_FILTER port in conjunction with the connected lookup input ports.
In a mapping, you can create a transformation such as an Expression transformation that outputs a constant, a
range, or a mapping parameter or variable value. Then, you can connect the appropriate output port of the
transformation to the LKP_FILTER input port. The lookup query includes the output in the WHERE clause
of the lookup query.
For example, you create an Expression transformation that outputs the value of the Name port as a constant,
Edge Communications. The transformation uses the following expression:
'Name ='
|| CHR(39)
21
Then, you project the Expression transformation output for the Name port to the LKP_FILTER port in the
Salesforce Lookup transformation. In this example, the Salesforce Lookup transformation is based on the
Salesforce object named Account. The connected lookup input ports are Id, Sale_Amount, and Sale_Date. The
connected lookup output ports are Sale_Amount, Sale_Date, and Name.
The following figure shows the mapped ports to the Lookup transformation:
Figure 4-1. Mapping with LKP_FILTER Port in Salesforce Lookup Transformation
Note: If you use a default port and modify or rename it, you might get unexpected results.
The SOQL SELECT statement for each row that passes through the transformation has the following format:
SELECT Id, Name, Phone FROM Account WHERE Id = '<value of Id>' AND AccountNumber =
'<value of AccountNumber>' AND Name = 'Edge Communications'
RELATED TOPICS:
Salesforce Lookup Query on page 22
LKP_MATCHIDX Port
When you import a Salesforce object to create a Salesforce Lookup transformation, the Designer creates a
default port named LKP_MATCHIDX.
Use the LKP_MATCHIDX output port to identify the matched rows when a lookup query returns multiple
matches. For each matched row, the Integration Service assigns a unique sequence ID. A value of 0 means that
no match exists for the input row.
The following rules apply to matched and unmatched rows:
Matched. The SOQL query returns a row for each match found. It can return multiple rows for one input
row. If you use the LKP_MATCHIDX port and the query returns multiple matches, the Integration Service
generates a sequence ID for each returned row. The values of the sequence IDs are 1n.
Unmatched. If the SOQL query returns no rows, the Integration Service generates one output row with a
sequence ID of 0. The Integration Service retains the value of pass-through ports, and it sets the value of the
lookup output ports to NULL. To pass null values to the target, you must configure it to accept null values.
If you do not want to pass null values to the target, use a transformation to convert null values to a default
value.
Note: If you use a default port and modify or rename it, you might get unexpected results.
22
The Integration Service generates SOQL queries according to the following rules:
A lookup port is a port that you import from a Salesforce object and connect in a mapping.
All lookup ports must match the Salesforce field name and have an associated Salesforce datatype.
The Integration Service generates the SELECT statement based on the connected lookup output ports.
The Integration Service generates the WHERE clause based on the connected lookup input ports and the
LKP_FILTER port.
The Integration Service matches rows based on equality with the connected input port values and, if
applicable, based on an additional filter condition.
For example, a Salesforce Lookup transformation is based on the Salesforce object named Account. The
connected lookup input ports are Id and AccountNumber. The connected lookup output ports are Id, Name,
and Phone. The SOQL SELECT statement has the following format:
SELECT Id, Name, Phone FROM Account WHERE Id = '<value of Id>' AND AccountNumber =
'<value of AccountNumber>'
2.
3.
Click Create.
The Import Tables from Salesforce.com dialog box appears.
4.
5.
Description
User Name
Password
Service URL
Click Connect.
The Designer displays a list of objects available to the Salesforce user.
6.
7.
Click OK.
The Include Salesforce.com Object Relationships window appears.
8.
9.
Click OK.
If there are no conflicts, the Designer creates a Salesforce Lookup transformation based on the selected
object. If there are conflicts, resolve the conflicts. For more information about how to resolve conflicts, see
Importing a Salesforce Definition on page 17.
Creating a Salesforce Lookup Transformation
23
10.
24
CHAPTER 5
Overview, 25
Overview
Transformation type:
Passive
Connected
Use a Salesforce Merge transformation to merge duplicate records in one of the following Salesforce objects:
Account, Contact, or Lead. You can merge up to three Salesforce records into a single record. When you create
a Salesforce Merge transformation, you identify the master record and up to two slave records. When you merge
the records, the Salesforce Merge transformation retains the master record and deletes the slave records from the
Salesforce object.
To ensure that no child records become orphaned, the Salesforce Merge transformation reassigns child records
of slave records to the master record. For example, you merge two records from the Account Salesforce object.
Each account record is the parent of a record in the Contact Salesforce object. When the Salesforce Merge
transformation merges the account records, it also assigns the contact record associated with the slave account
record to the master account record.
You can override the values of Salesforce object attributes in a master record. To override an attribute value,
configure the source to provide the value for the Salesforce object attribute, and map the field from the source
through the Salesforce Merge transformation to the target in the mapping. For more information about
configuring the port for a Salesforce object attribute, see Salesforce Object Attribute Ports on page 27.
The session fails if you do not specify the master record ID and at least one slave ID.
The IDs for the master record and slave records must be valid Salesforce IDs.
Values of fields that are linked to the Salesforce Merge transformation overwrite existing values in the master
record.
25
If you project columns of the master record, but the values are null, the merge will take the value from the
slave record and update the master record with this value.
The Salesforce Merge transformation reassigns child records of each slave record to the master record during
the merge.
You can merge at most two slave records with a master record. To merge more than two slave records, create
and run the Salesforce Merge transformation multiple times using the same master record ID.
The Integration Service does not merge a slave record if the slave ID is blank, does not exist in the Salesforce
object, or the slave ID does not contain 18 characters.
If the master ID or at least one slave ID does not exist in the Salesforce object, the merge fails.
Account Name
Billing City
0015000000IcEgAAAV
ABC Tiles
Los Angeles
0015000000IcEgBAAV
ABC Tiles
0015000000IcEgCAAV
ABC
Phone
310-555-1212
San Diego
310-555-6666
The following table shows the source for the mapping that merges the records and updates the account name in
the Account object:
Master Record ID
Slave 1 Record ID
Slave 2 Record ID
Account Name
0015000000IcEgAAAV
0015000000IcEgBAAV
0015000000IcEgCAAV
Textiles to Go
The account name changed from ABC Tiles to Textiles to Go. You project the Textiles to Go value for the
Account Name field to the Salesforce Merge transformation to the target.
When you run the session that contains the mapping, the Integration Service deletes the slave records from the
Account Salesforce object and retains the following master record:
ID
Account Name
Billing City
0015000000IcEgAAAV
Textiles to Go
Los Angeles
Phone
The Salesforce Merge transformation does not overwrite the Account object attributes in the master record with
the values from the slave records. It does update the Account Name attribute because the value is provided.
26
Transformation tab. You can rename the transformation and add a description on the Transformation tab.
Ports tab. The Salesforce Merge transformation can include the following types of ports: Salesforce object
attribute ports and default ports.
Properties tab. You can configure the tracing level for the transformation. The default tracing level is
Normal. In addition, you can specify whether or not the output is deterministic. By default, the output is
deterministic.
Initialization Properties tab. The Salesforce Merge transformation does not use initialization properties.
The Integration Service retrieves initialization information from a vendor-defined metadata extension.
Metadata Extensions tab. The Metadata Extension tab displays a vendor-defined metadata extension called
Object Type, which is used to initialize the transformation procedure. The value of the object type is the
name of the Salesforce object that was used to create the transformation.
Port Attribute Definitions tab. The Port Attribute Definitions tab displays the port attributes defined for a
Salesforce Merge transformation. SforceDataType and SforceName are the only port attributes.
Salesforce object attribute ports. Use these ports to update values for the Salesforce object attributes in the
master record. The values in these ports override the values in the master and slave records.
Default ports. When you import a Salesforce object definition, the Designer creates the default input ports
and the default MergedID, MergedSlaveID1, and MergedSlaveID2 output ports.
2.
3.
Click Create.
The Import Tables from Salesforce.com dialog box appears.
27
4.
5.
Description
User Name
Password
Service URL
Click Connect.
The Designer displays a list of objects available to the Salesforce user.
6.
7.
Click OK.
The Include Salesforce.com Object Relationships window appears.
8.
9.
Click OK.
If there are no conflicts, the Designer creates a Salesforce Merge transformation based on the selected
object. If there are conflicts, resolve the conflicts. For more information about how to resolve conflicts, see
Importing a Salesforce Definition on page 17.
10.
28
CHAPTER 6
Overview, 29
Overview
Transformation type:
Passive
Connected
Use the Salesforce PickList transformation to generate a list of picklist values for an attribute of a Salesforce
object. A Salesforce picklist is a list of valid values for a field in a Salesforce object. You might choose to generate
a list of picklist values to validate existing values in a picklist field of a Salesforce object.
You can use any source when you create a mapping with the Salesforce PickList transformation. The
transformation does use the source to determine picklist values. When you create the Salesforce PickList
transformation, you specify the Salesforce object. The Integration Service retrieves the picklist for each attribute
defined for the given Salesforce object. Each Source Qualifier transformation can project one set of picklist
values for a Salesforce attribute. The transformation outputs one row containing one field. The field contains a
colon-separated list of valid values for the picklist.
To generate valid values for multiple picklists, create one Source Qualifier transformation for each picklist. You
can connect a single source to multiple Source Qualifier transformations, but each Source Qualifier
transformation connected to the source projects values for one Salesforce object attribute.
For example, to generate a list for the Type and Industry attributes of the Account Salesforce object, create one
Source Qualifier transformation for each attribute. Connect both Source Qualifier transformations to the
Salesforce PickList transformation. Configure the Type and Industry output ports in the Salesforce PickList
transformation to output values to the target.
The default length for picklist ports is 512 characters. The Integration Service truncates values that are
longer than 512 characters. To prevent truncation, increase the port length.
29
You must connect at least one port from the source to the Salesforce PickList transformation.
Transformation tab. You can rename the transformation and add a description on the Transformation tab.
Ports tab. The Salesforce PickList transformation can include the following types of ports: picklist and passthrough.
Properties tab. You can configure the tracing level for the transformation. The default tracing level is
Normal. In addition, you can specify whether or not the output is deterministic. By default, the output is
deterministic.
Initialization Properties tab. The Salesforce PickList transformation does not use initialization properties.
The Integration Service retrieves initialization information from a vendor-defined metadata extension.
Metadata Extensions tab. The Metadata Extension tab displays a vendor-defined metadata extension called
Object Type, which is used to initialize the transformation procedure. The value of the object type is the
name of the Salesforce object that was used to create the transformation.
Port Attribute Definitions tab. The Port Attribute Definitions tab displays the port attributes defined for a
Salesforce PickList transformation. The SforceDataType and SforceName are the only port attributes.
PickList_Input port. To enable the Integration Service to retrieve the Salesforce picklist, map any field in
the Source Qualifier transformation to the PickList_Input port in the Salesforce PickList transformation. If
you do not map a field to the PickList_Input port, the session fails.
Output ports. By default, the Designer creates output ports for Salesforce object attributes that have picklist
values. To output multiple picklists for different Salesforce object attributes, configure one Source Qualifier
transformation for each attribute. When you run the session, the Integration Service outputs picklist values
for each Salesforce object attribute included in the mapping.
Pass-through ports. You can add ports to a Salesforce PickList transformation as pass-through ports. The
Integration Service passes the value of a pass-through port through the transformation and into the target if
the port is connected to the target.
2.
3.
Click Create.
The Import Tables from Salesforce.com dialog box appears.
30
4.
5.
Description
User Name
Password
Service URL
Click Connect.
The Designer displays a list of objects available to the Salesforce user.
6.
7.
Click OK.
The Include Salesforce.com Object Relationships window appears.
8.
9.
Click OK.
If there are no conflicts, the Designer creates a Salesforce PickList transformation based on the selected
object. If there are conflicts, resolve the conflicts. For more information about how to resolve conflicts, see
Importing a Salesforce Definition on page 17.
10.
31
32
CHAPTER 7
Salesforce Sessions
and Workflows
This chapter includes the following topics:
Overview, 33
Configuring Connections, 34
Upserting Records, 38
Overview
After you create mappings in the Designer, you can create a session and use the session in a workflow to extract,
transform, and load data. You create sessions and workflows in the Workflow Manager.
When you configure a Salesforce session, you create connections to read data from and write data to
Salesforce.com. You can also define properties in a session to determine how the Integration Service reads data
from a Salesforce source or writes data to a Salesforce target.
To configure the session, complete the following tasks:
Configure connections. Configure an application connection for Salesforce sources and targets in the
Workflow Manager. You configure application connections to read data from, look up data from, or write
data to Salesforce.com. For more information about configuring connections, see Configuring
Connections on page 34.
Filter the source data (optional). Enter a filter condition to filter Salesforce source data. For more
information, see Filtering Source Data on page 35.
Capture deleted or archived Salesforce records.com (optional). Configure the session to capture deleted or
archived Salesforce records. For more information, see Capturing Deleted or Archived Salesforce Records
on page 35.
33
Handling null values in update and upsert operations (optional). Configure the session how to handle null
values in update and upsert operations. For more information, see Handling Null Values in Update and
Upsert Operations on page 35.
Capture changed data (optional). Configure the session to capture changed data. If the Salesforce source is
a replicateable object, you can configure the session to capture changed data for the object. You can
configure the session to capture changed data continuously or based on a time period. For more
information, see Capturing Changed Data on page 36.
Upsert records (optional). Configure the sessions to use the Salesforce upsert operation to insert and update
records in the Salesforce targets. Salesforce uses the external ID to determine whether it should create a new
object or update an existing one. For more information, see Upserting Records on page 38.
Configure the maximum batch size. Configure the maximum number of records the Integration Service can
write to a Salesforce target in one batch. For more information, see Configuring the Maximum Batch Size
on page 38.
The Integration Service generates record-level success and failure logs for each session that writes to a
Salesforce.com target. The success log contains an entry for each record that successfully loads into the
Salesforce target. The failure log contains an entry for each data error. For more information, see Logging
PowerExchange for Salesforce.com Session Details on page 39.
Configuring Connections
Before the Integration Service can connect to Saleforce.com, you must configure application connections for
Salesforce sources, targets, and lookups in the Workflow Manager. When you configure a Salesforce application
connection, you specify connection attributes the Integration Service uses to connect to Salesforce.com. A
connection object stores the Salesforce user ID, password, and end point URL information for the run-time
connection.
The Integration Service uses the Salesforce security mechanism to authenticate the login. If you provide an
invalid login, the following error appears:
Invalid login. When accessing Salesforce from outside of your company's trusted networks, you must append a
security token to your password to log in to the API or a desktop client. To receive or reset your security
token, log in to Salesforce with your browser and click Setup | My Personal Information | Reset Security
Token.
For more information about obtaining a valid Salesforce.com login, see the Salesforce.com administrator for
your organization.
Note: You cannot use a connection variable for an application connection.
To configure a Salesforce application connection:
1.
2.
3.
4.
Click New.
The Connection Object Definition dialog box appears.
5.
6.
34
7.
8.
Click OK.
The new application connection appears in the Application Object Browser.
Description
IsArchived
IsDeleted
QueryAll
Select to retrieve existing, deleted, and archived records from the Salesforce source
object. Note that change data capture overrides the QueryAll setting.
35
Capture changed data continuously. Configure a session to capture changed data to process data in realtime.
Capture changed data for a specific time period. Configure a session to capture changed data during a
particular time period when you know the data changes.
By default, change data capture is disabled. To enable a particular method, specify the required attributes in the
session properties.
Note: If you configure properties for both methods, you may encounter unexpected results. Configure the
For each CDC session, complete the configuration steps for real-time sessions. For more information about
real-time sessions, see the PowerCenter Workflow Administration Guide.
Set the time limit and flush interval for change data capture.
The following table describes session properties that you configure to capture changed data continuously:
Property
Description
Time period (in seconds) that the Integration Service reads changed Salesforce data.
When you set the CDC Time Limit to a non-zero value, the Integration Service performs a
full initial read of the source data and then captures changes to the Salesforce data for the
time period you specify. Set the value to -1 to capture changed data for an infinite period of
time. Default is 0.
Flush Interval
Interval (in seconds) at which the Integration Service captures changed Salesforce data.
Default is 300. If you set the CDC Time Limit to a non-zero value, the Integration Service
captures changed data from the source every 300 seconds. Otherwise, the Integration
Service ignores this value.
Reads all records created since the initial read and passes them to the next transformation as rows flagged
for insert.
2.
Reads all records updated since the initial read and passes them to the next transformation as rows flagged
for update.
3.
Reads all records deleted since the initial read and passes them to the next transformation as rows flagged
for delete.
After the Integration Service finishes reading all changed data, the flush interval starts again. The Integration
Service stops reading from Salesforce.com when the CDC time limit ends.
36
When you configure the session to capture changed data and use source-based commits, the Integration Service
commits data to the target based on the source-based commit interval and the flush interval.
For example, you set the CDC time limit to 4,000 seconds, the flush interval to 300 seconds, and the sourcebased commit interval to 1,000 rows. After the Integration Service reads all the source data, the flush interval
begins. The Integration Service captures changed data and commits rows to the target after reading 1,000 rows
from the source and after each 300 second flush interval. The Integration Service stops reading from
Salesforce.com after 4,000 seconds.
If you configure the session to use target-based commits, the Integration Service runs the session based on
source-based commits. Also, it only commits rows to the target based on the flush interval. It does not commit
rows to the target based on the commit interval.
For more information about commit types and real-time sessions, see the PowerCenter Workflow Administration
Guide.
Description
CDC Start
Timestamp
Start date and time for the time period. The Integration Service extracts data that was
added or modified after this timestamp. Must be in the format YYYY-MMDDTHH:MI:SS.SSSZ.
CDC End
Timestamp
End date and time for the time period. The Integration Service extracts data that was
added or modified before this timestamp. Must be in the format YYYY-MMDDTHH:MI:SS.SSSZ.
Reads all records created between the CDC start time and end time, and passes them to the next
transformation as rows flagged for insert.
2.
Reads all records updated between the CDC start time and end time, and passes them to the next
transformation as rows flagged for update.
3.
Reads all records deleted between the CDC start time and end time, and passes them to the next
transformation as rows flagged for delete.
The Integration Service validates the formats of the start and end times when you run the session. If either
timestamp format is wrong, the session fails.
The values for the start and end times must be in the past.
When you configure the session to capture changed data and to use source-based commits, the Integration
Service commits data to the target based on the source-based commit interval. If you configure the session to
37
use target-based commits, the Integration Service runs the session based on source-based commits. For more
information about commit types and intervals, see the PowerCenter Workflow Administration Guide.
Upserting Records
The Salesforce upsert operation uses a custom field designated as the external ID field to determine whether it
should create a new object or update an existing one. You can configure the session to upsert records only if the
Salesforce target object includes a custom field designated as the external ID field. If you configure a session to
upsert records to a target object that does not include this custom field, the session fails.
You can view the properties of a Salesforce target definition to see if the object includes this custom field. For
more information about viewing the properties of a target definition, see Determining the Update Strategy for
the Target on page 17.
Use the following attributes in the session properties to configure a Salesforce session to upsert records:
Treat Insert as Upsert. The Integration Service upserts any records flagged as insert. By default, the
Integration Service treats all records as insert.
Treat Update as Upsert. The Integration Service upserts any records flagged as update. Select this option
only if you use the Update Strategy transformation in the mapping or the Treat Source Rows As session
property to flag records as update.
38
Success log. The success log contains an entry for each record that successfully loads into the Salesforce
target. Each entry contains the values loaded for all fields of the record, including the Salesforce ID. Use this
file understand what data is loaded into the Salesforce target. You can use the success log as an audit trail for
all operations performed.
Failure log. The failure log contains an entry for each data error. Each log entry contains the values for all
fields of the record, including the Salesforce ID, and the error message. The failure log displays error
messages from Salesforce.com and Informatica On Demand. Use this file to understand why records did not
load into the Salesforce target.
The Integration Service inserts quotes around commas and quotes included in the data.
Note: The PowerExchange for Salesforce.com session logs are different from the PowerCenter session logs. The
PowerExchange for Salesforce.com session logs contain record-level details that are specific to sessions with
Salesforce.com targets. You can also use the PowerCenter session logs to view information about the tasks
performed by the Integration Service, general session errors, and load summary and transformation statistics for
the session. For more information about PowerCenter session logs, see the PowerCenter Workflow
Administration Guide.
The Integration Service uses the following naming conventions for the log files:
Type of Log File
Naming Convention
<session name><timestamp>success.csv
<session name><timestamp>failure.csv
To configure the Integration Service to generate success and failure logs for a session that writes to Salesforce
target, enable logging and specify the directory of the success log files.
39
The following table describes session properties for a Salesforce target that you configure to enable logging and
to specify the directory of the success log files:
Property
Description
Select to enable the Integration Service to generate failure logs. By default, the
Integration Service does not generate failure logs.
Use SFDC
Success File
Select to enable the Integration Service to generate success logs. By default, the
Integration Service does not generate success logs.
SFDC Success
File Directory
Specify the directory where the Integration Service stores the success logs. By default,
the Integration Service stores the success logs in the $PMTargetFileDir directory.
The Integration Service stores the failure logs in the $PMBadFileDir directory.
NAME
ACCOUNT
NUMBER
EXTERNAL_ACCOUNT
_NUMBER__C
STATUS
0017000000NYre4AAD
JumpCo
76543
666
Item Created
The Status field indicates whether Integration Service created, updated, or deleted the record.
40
NAME
ACCOUNT
NUMBER
ANNUAL
REVENUE
EXTERNAL_
ACCOUNT_
NUMBER__C
Company1
76544
about 8 Million
555
Company2
76545
444
Company3
76546
444
3.70E+10
ERROR
APPENDIX A
Overview, 41
Overview
When the Integration Service extracts data or looks up data from a Salesforce object, it converts each Salesforce
datatype to a compatible PowerCenter transformation datatype. When the Integration Service loads data into a
Salesforce object, it converts each PowerCenter transformation datatype to a compatible Salesforce datatype.
PowerExchange for Salesforce.com uses the following datatypes:
Salesforce datatypes. Salesforce datatypes appear in Salesforce source, target, and lookup definitions in a
mapping.
Transformation datatypes. Transformation datatypes are generic datatypes that PowerCenter uses during
the transformation process. The transformation datatypes appear in PowerCenter transformations. For more
information, see Salesforce and Transformation Datatypes on page 41.
Transformation
Datatype
base64
String
1 to 104,857,600 characters
boolean
Integer
currency
Currency values.
Decimal
41
Transformation
Datatype
date
Date values.
Date/time
dateTime
Date/time
double
Double values.
Decimal
Email addresses.
String
1 to 104,857,600 characters
ID
String
1 to 104,857,600 characters
Int
Integer values.
Integer
multipicklist
String
1 to 104,857,600 characters
percent
Percentage values.
Decimal
picklist
String
1 to 104,857,600 characters
reference
String
1 to 104,857,600 characters
string
String values.
String
1 to 104,857,600 characters
textarea
String
1 to 104,857,600 characters
url
URL values.
String
1 to 104,857,600 characters
Note: After you import a Salesforce definition, you can change the precision of fields that map to the String
transformation datatype in PowerCenter. In some cases, you might want to decrease the precision to improve
performance. Do not change the precision of fields that do not map to the String transformation datatype in
PowerCenter.
42
APPENDIX B
Glossary
This appendix includes the following topic:
Glossary of Terms, 43
Glossary of Terms
This appendix lists definitions of terms introduced in the PowerExchange for Salesforce.com documentation.
CDC
An option that enables PowerExchange for Salesforce.com to process changed data. You can capture changed
data for replicateable objects that have the CreatedDate and LastModifiedDate fields.
external ID
A record ID generated by a system outside of Salesforce. The Integration Service uses the external ID field to
identify records in a Salesforce object if the object is configured with an external ID field. You indicate whether
primary Salesforce object
The primary object for which you import a source, target, or lookup definition in PowerCenter. The definition
might also include fields of related objects.
related Salesforce object
A Salesforce object that is related to a primary Salesforce object. When you import a Salesforce definition based
on a primary Salesforce object, you can also import fields of related objects. The Designer determines related
objects based on the relationships defined in Salesforce.com.
replicateable object
A Salesforce object that can be duplicated in another environment. Every Salesforce object has a replicateable
flag that determines if an object can be duplicated in another environment. PowerExchange for Salesforce.com
uses the flag to determine if it can replicate the Salesforce object.
43
Salesforce objects
Subject areas in Salesforce.com, such as Account, Asset, Case Solution, and Lead. Salesforce objects usually
correspond to tabs in Salesforce.com user interface. For example, you can add accounts in the Accounts tab on
Salesforce.com. You import Salesforce objects into PowerCenter as source, target, and lookup definitions.
Salesforce Sandbox
Proprietary Salesforce language used to construct a query in a Salesforce query call. At run time, the Integration
Service generates an SOQL query based on the objects and fields included in the mapping.
SOQL
A Salesforce operation that uses a custom field designated as the external ID field to determine whether it
should create a new record or update an existing one when loading data into a Salesforce target. You can
configure the session to upsert records only if the Salesforce target object includes a custom field designated as
the external ID field.
44
Appendix B: Glossary
INDEX
B
batch size (Salesforce)
description 38
C
CDC (Salesforce)
See change data capture
CDC End Timestamp (Salesforce)
configuring 37
CDC Start Timestamp (Salesforce)
configuring 37
CDC Time Limit (Salesforce)
configuring 36
description 36
change data capture (Salesforce)
configuring 36
continuous capture 36
definition 43
rules for continuous capture 36
rules for time-period capture 37
time-period capture 37
code pages (Salesforce)
See also PowerCenter Administrator Guide
supported code pages 3
validation 3
connection objects (Salesforce)
description 2
continuous workflows (Salesforce)
and change data capture 36
Createable (Salesforce)
description 17
custom fields (Salesforce)
external ID attribute 13
custom objects (Salesforce)
description 2
E
External ID (Salesforce)
definition 43
description 17
determining 17
external IDs (Salesforce)
description 16
F
field attributes (Salesforce)
description 17
filter conditions (Salesforce)
on Salesforce lookup 21
Salesforce data 35
Flush Interval (Salesforce)
configuring 36
description 36
H
HTTP proxy options (Salesforce)
See also PowerCenter Administrator Guide
configuring 8
HTTP proxy server (Salesforce)
PowerExchange for Salesforce.com, configuration 8
45
I
IDs
types for Salesforce records 16
IDs (Salesforce)
external IDs for Salesforce records 16
installation (Salesforce)
PowerExchange for Salesforce.com 6
prerequisite tasks for PowerExchange for Salesforce.com 5
tasks 6
integration (Salesforce)
Designer and Salesforce.com 2
Integration Service and Salesforce.com 2
PowerCenter and Salesforce.com, overview of 1
L
LKP_FILTER port (Salesforce)
description 21
LKP_MATCHIDX port (Salesforce)
description 22
login
PowerExchange for Salesforce 5
lookup ports (Salesforce)
in Salesforce Lookup transformation 21
lookup query (Salesforce)
description 22
matches 22
Salesforce (Salesforce)
datatypes 41
Salesforce definitions (Salesforce)
description 17
importing 17
overview 13
performance 15
reimporting 12
Salesforce lookup definitions (Salesforce)
import rules 15
M
Max Batch Size (Salesforce)
configuring 38
N
naming conventions (Salesforce)
for related Salesforce objects 15
46
Index
T
target definitions (Salesforce)
See Salesforce target definitions
target operations
for PowerExchange for Salesforce.com 16
transformations (Salesforce)
Salesforce Lookup 19
Salesforce Merge 25
Salesforce PickList 29
Treat Insert as Upsert (Salesforce)
configuring 38
Treat Update as Upsert (Salesforce)
configuring 38
U
uninstalling
See also PowerCenter Installation Guide
PowerExchange for Salesforce.com 9
Updateable (Salesforce)
description 17
upgrade (Salesforce)
prerequisite tasks for PowerExchange for Salesforce.com 5
tasks 6
upsert (Salesforce)
configuring 38
definition 44
description 16
session configuration 38
Use SFDC Error File (Salesforce)
configuring 40
Index
47
V
validation (Salesforce)
SOQL syntax 2
W
workflows (Salesforce)
See also PowerCenter Workflow Administration Guide
overview 33
48
Index
NOTICES
This Informatica product (the Software) includes certain drivers (the DataDirect Drivers) from DataDirect Technologies, an operating company of Progress Software Corporation (DataDirect)
which are subject to the following terms and conditions:
1. THE DATADIRECT DRIVERS ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2. IN NO EVENT WILL DATADIRECT OR ITS THIRD PARTY SUPPLIERS BE LIABLE TO THE END-USER CUSTOMER FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
CONSEQUENTIAL OR OTHER DAMAGES ARISING OUT OF THE USE OF THE ODBC DRIVERS, WHETHER OR NOT INFORMED OF THE POSSIBILITIES OF DAMAGES IN
ADVANCE. THESE LIMITATIONS APPLY TO ALL CAUSES OF ACTION, INCLUDING, WITHOUT LIMITATION, BREACH OF CONTRACT, BREACH OF WARRANTY,
NEGLIGENCE, STRICT LIABILITY, MISREPRESENTATION AND OTHER TORTS.