This article shows you how to create a Salesforce custom object, then use Talend components to write and read data to a custom component.
To create a Salesforce custom object, you must have a Salesforce administration account.
Create a Salesforce custom object
Log in to Salesforce.
Click Setup in the top right corner.
Scroll down, and on the left-hand side, select Build > Create > Objects.
The Custom Objects window appears:
At the top of the table, click New Custom Object. The New Custom Object dialog appears:
Create custom fields
Scroll down to the Custom Fields & Relationships section.
Click New to create a new field.
Select the data type for the field. For example, select data type text, as highlighted:
In this example, you will create a field named acct_firstname. It is not required and isn't unique, so it can contain a null value.
Enter requirement for the field name.
On this screen, set the security level for the acct_firstname field. Select Visible for all profiles.
In this example click Save & New to create another field, but if you were finished creating fields, you would click Save.
Choose the text data type for the second field.
Name the field acct_lastname. It is not required and is not unique, so it can contain a null value.
Click Next and set the field-level security by selecting Visible for all profiles.
Click Save to create the acct_lastname field.
Set permissions for my_account_object
Expand Administer > Manage Users > Profiles on the left-hand side.
Click Edit for the Profile Name for which you want to set the permission. For example, set the permission for the “Customer Support Team” profile:
Scroll down to the my_account_objects permission as shown below:
Select the boxes to set permissions for the group profile.
In this example, select all permissions.
Verify the my_account_objects permissions
Log in to the Salesforce workbench (https://workbench.developerforce.com/query.php) with the user login that belongs to the “Customer Support Team” to verify the my_account_objects permissions.
Since you just created my_account_objects and have not inserted any data yet, the query returned “no records returned”.
Note: when creating a Salesforce custom object and custom fields, Salesforce will append __c to custom objects and custom fields.
Example: my_account_objects__c for custom objects and acct_firstname__c and acct_lastname__c for fields.
Use Talend components to write, then read, data from Salesforce custom object:
Verify data insertion in Salesforce my_account_objects__c by using Salesforce workbench:
Talend Salesforce components raise exception after running for a while
This due to Salesforce setting a limited time of transaction, as shown in the link below:
The workaround is to limit the transaction to read/write data to Salesforce.
How to enable Log4j level trace when launching a Job on a JobServer from Talend Studio.
Talend Studio log4j JobServer trace level
Talend Data Integration
When executing a job locally from Talend Studio, the log4j trace level can be set in the Run View by clicking the Run tab Advanced settings, then checking the log4jLevel box and choosing the trace level. As a result, the Job log4j messages will be displayed according to the log4j trace level you set for a local Studio Talend job execution.
However, when executing a job remotely on a Jobserver from Talend Studio, the log4j messages won't be displayed according to the trace level you set in the Run View. You need to enable the log4j trace to a level so that when launching a job from Talend Studio on a Jobserver, you will be able to see the log4j trace in the Jobserver logs as well as in the local Talend Studio.
Problem root cause
Solution or Workaround
When a job launched from Talend Studio is executed on a Jobserver, the log4j configuration can be set by performing the following steps in Talend Studio:
Click File > Project properties > Log4j.
Set the trace level in this configuration by changing the priority value:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' >
<!-- Root Logger -->
<priority value ="trace"/>
<!-- <appender-ref ref="LOGSTASH"/> -->
The log4j level here is set to trace level.
Click OK and Save.
When running the job, you should get the trace on the Jobserver with the log4j level set, as well as in Talend Studio Run View.
JIRA ticket number