Home | Table of Contents | SalesforceWaveWriter | CloverETL 4.6.1
--- | --- | ---
Prev | Writers | Next

## SalesforceWaveWriter

# Not available in Community Designer

Short Description
Ports
Metadata
SalesforceWaveWriter Attributes
Details
Best Practices
Compatibility
See also

### Short Description

SalesforceWaveWriter writes data to Salesforce Wave Analytics datasets.

Component | Data output | Input ports | Output ports | Transformation | Transf. req. | Java | CTL | Auto-propagated metadata
--- | --- | --- | --- | --- | --- | --- | --- | ---
SalesforceWaveWriter | database | 1 | 2 |  |  |  |  |

### Icon

### Ports

Port type | Number | Required | Description | Metadata
--- | --- | --- | --- | ---
Input | 0 |  | For records to be inserted | Input 0
Output | 0 |  | Successful load information | Output 0
1 |  | Unsuccessful load information | Output 1

### Metadata

SalesforceWaveWriter does not propagate metadata.

SalesforceWaveWriter has metadata templates on its output ports.

Table 49.8. SalesforceWaveWriter_Wave_Success - Output port 0

Field number | Field name | Data type | Description
--- | --- | --- | ---
1 | Status | string | Status of successfully finished load

Table 49.9. SalesforceWaveWriter_Wave_Error - Output port 1

Field number | Field name | Data type | Description
--- | --- | --- | ---
1 | Status | string | Status of unsuccessfully finished load.
2 | StatusMessage | string | A more descriptive message.

### SalesforceWaveWriter Attributes

Attribute | Req | Description | Possible values
--- | --- | --- | ---
Basic
Connection | yes | Salesforce connection. |
Dataset Name | yes | Name of the data set. The Dataset Name should contain only alpha-numeric characters and underscore, and it should start with a letter. | E.g. flowers
Dataset Label |  | Label of data set to be displayed in wave platform. This property is only used when a dataset is initially created. | E.g. Nice flowers
Operation |  | Operation to be performed on data set | Overwrite (default) | Append | Delete | Upsert
Unique ID field | (yes) | An input field that is considered as a unique identifier. It will be used to match records in Upsert operation or select records to delete in Delete operation. Mandatory for Delete and Upsert operations. Forbidden for Append operation. |
Advanced
Metadata JSON |  | JSON specifying structure of the loaded dataset. |
Metadata JSON File URL |  | External file with the JSON metadata of the dataset. |
Metadata JSON File URL Charset |  | Character set of Metadata JSON File. | E.g. UTF-8
Result polling interval (seconds) |  | Time between two checks of result of data upload. |

### Details

SalesforceWaveWriter loads records into Wave Analytics. See https://help.salesforce.com/articleView?id=bi.htm&language=en_US&type=0

##### Supported Operations

Overwrite - creates a new dataset or overwrites an existing one.

Append - appends records into an existing dataset.

Delete - deletes records from an existing dataset. The records to be deleted are selected using Unique ID field property.

Upsert - inserts or updates records in an existing dataset. The records are matched using Unique ID field property to decide whether to update or insert.

### Examples

#### Writing records to Salesforce wave

This example shows the basic use case of writing records to Salesforce Wave. A new dataset in Wave Analytics will be created.

Insert data records containing properties on different car types into Wave Analytics as "car properties" data set.

##### Solution

In SalesforceWaveWriter set Connection, Dataset Name, and Dataset Label.

Attribute | Value
--- | ---
Connection | A Salesforce Connection
Dataset Name | car_properties
Dataset Label | car properties

Note that Dataset name contains underscore character as it should not contain space character.

### Best Practices

If you use Metadata JSON File URL attribute, explicitly specify Metadata JSON File URL Charset.

Insert all date fields in UTC timezone. If the timezone of the input fields is different, the values are automatically converted to UTC before upload. This is necessary to ensure correct upload.

You can specify format of date fields inserted to Wave by changing Format property on the input metadata field. For a list of supported date formats, see External Data Metadata Format Reference

### Notes and Limitations

Metadata JSON is generated automatically based on Clover metadata on input edge. You can override this behavior by specifying the JSON yourself. Documentation on all possible properties usable in the JSON metadata is available here: External Data Metadata Format Reference

#### Usage of API calls

The component uses several Salesforce API calls during its run:

1. Login

2. Start the upload job.

3. Upload the data. A single api call is necessary for every 10MB of data.

4. Close the upload job.

5. Get job completion status. This call is repeated in interval specified by Result polling interval attribute until the job is completed.

### Compatibility

#### 4.5.0-M1

SalesforceWaveWriter is available since CloverETL 4.5.0-M1. It uses Salesforce SOAP API version 37.0.

#### 4.5.0-M2

Since CloverETL 4.5.0-M2, SalesforceWaveWriter uses Salesforce SOAP API version 39.0.

### See also

SalesforceReader
SalesforceBulkReader
SalesforceWriter
SalesforceBulkWriter
Common Properties of Components
Specific Attribute Types
Common Properties of Writers
Writers Comparison
Salesforce connection

Prev | Up | Next
SalesforceWriter | Home | Table of Contents | SpreadsheetDataWriter