Help get this topic noticed by sharing it on Twitter, Facebook, or email.
I’m confused

Populating a managed package object via SF_TableLoader

I'm trying to use the SF_TableLoader stored procedure to populate an object in Salesforce. The object is part of the Financial Service Cloud package so it has the FinServ__ prefix on the name of the object.

Here's my full test script which should get across what I'm trying to accomplish:

-----------------

/* create our staging table */
USE [salesforce backups]
GO

DROP TABLE [dbo].[FinServ__FinancialAccount_Load]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[FinServ__FinancialAccount_Load](
[Name] [nchar](255) NULL,
[FinServ__Household__c.Account_Code__c] [nchar](255) NULL,
[FinServ__PrimaryOwner__c.Account_Code__c] [nchar](255) NULL,
[Id] [nchar](18) NULL
) ON [PRIMARY]
GO

/* add records to the staging table */
insert into [dbo].[FinServ__FinancialAccount_Load] (Name, [FinServ__Household__c.Account_Code__c], [FinServ__PrimaryOwner__c.Account_Code__c])
values ('Test Financial Account', 'TESTHOUSEHOLD', 'TESTINDIVIDUAL'),
('Test Financial Account 2', 'TESTHOUSEHOLD', 'TESTINDIVIDUAL')

/* run the stored procedure to insert the records from FinServ__FinancialAccount_Load into salesforce */
exec SF_TableLoader @operation = 'insert',
@table_server = 'SALESFORCE',
@table_name = 'FinServ__FinancialAccount_Load'

-----------------

To summarize, I'm creating a table FinServ__FinancialAccount_Load in order to load records to the FinServ__FinancialAccount__c object in Salesforce. When I run the "exec SF_TableLoader" line I get the following error:

-----------------

SF_TableLoader Error: 15:56:57: DBAmpNet2 3.7.9.0 (c) Copyright 2015-2017 forceAmp.com LLC15:56:57: Parameters: insert FinServ__FinancialAccount_Load RTSLABS-L1157 salesforce backups SALESFORCE 15:56:57: Using the Salesforce SOAP API.15:56:57: Drop FinServ__FinancialAccount_Load_Result if it exists.15:56:57: Create FinServ__FinancialAccount_Load_Result with new structure.15:56:58: System.Web.Services.Protocols.SoapException: INVALID_TYPE: sObject type 'finserv' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at DBAmpNet2.sforce.SforceService.describeSObject(String sObjectType) at DBAmpNet2.LoaderSOAP.GetSchema(String objName)15:56:58: DBAmpNet2 Operation FAILED.

-----------------

It looks to me like somewhere in the stored procedure it's truncating "FinServ__FinancialAccount_Load" down to "FinServ" and then trying to use that as the SObjectType, but I'm not yet adept enough with stored procedures yet to figure this out on my own.

Have other DBAmp customers used the table loader procedure to populate managed package objects successfully? Is there a known workaround for this issue?

Thanks in advance.
1 person has
this question
+1
Reply