• lmrobins
  • NEWBIE
  • 0 Points
  • Member since 2006

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 2
    Replies

Hello,

One of our clients wants to do the following actions through the Salesforce API:

For each field set record,  add and modify field data
- Field that is included in the set
- Mark field as required or not
- Field set sequence

Is there an endpoint in any of the Salesforce APIs, which can make this possible?

We had a thorough investigation of different Salesforce APIs, which can fulfill our needs and this is what we were able to find out so far:

1. Tooling API seems to return only the FieldSets' metadata. In other words, it only lists FieldSets and provides additional details about them, yet it does not return the Fields within a FieldSet. https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldset.htm

2. Metadata API seems to return the fields within a FieldSet, for Custom Objects. Yet the API's documentation does not provide any indication that this API support any CRUD operations for FieldSets or a way to modify its sequence. The FieldSetItem has a column called IsRequired, however, this column is defined to be read-only. In this light, it does not seem that this API could meet our client's requirements, either. https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_fieldset.htm

I am looking forward to your feedback. 

Hi. We have a a log file in which the SOAP bulk API is returning incomplete results. That is, the CSV response is cut off at the 28000th row.

I cannot show the full data, but I'll show you the status of the job and the headers of the response.

This is the response received from
job/7503E000008Iv3FQAS/batch/7513E000007cmr7QAA/result/

<?xml version="1.0" encoding="UTF-8"?><batchInfoList
   xmlns="http://www.force.com/2009/06/asyncapi/dataload">
 <batchInfo>
  <id>7513E000007cmr7QAA</id>
  <jobId>7503E000008Iv3FQAS</jobId>
  <state>Completed</state>
  <createdDate>2020-07-16T11:59:33.000Z</createdDate>
  <systemModstamp>2020-07-16T12:07:57.000Z</systemModstamp>
  <numberRecordsProcessed>115559</numberRecordsProcessed>
  <numberRecordsFailed>0</numberRecordsFailed>
  <totalProcessingTime>0</totalProcessingTime>
  <apiActiveProcessingTime>0</apiActiveProcessingTime>
  <apexProcessingTime>0</apexProcessingTime>
 </batchInfo>
</batchInfoList>



The next call is made towards the data
7503E000008Iv3FQAS/batch/7513E000007cmr7QAA/result/7523E000003DJ1L

For rows from 1 -> 27999 the csv is valid
At the 28000th row the csv is cut off:

"redacted","false","redacted","redacted","redacted","redacted","redacted","redacted","","","","","redacted","","

Notice the open quote in the last value. Also, for the last row, there are less values than column which makes me believe that the CSV is cut off.

No error was received from the API:
HTTP/1.1 200 OK, 2088309 Bytes Transferred


These are the response headers for the call which retrieves the CSV in case there is something useful here :

2020-07-16T13:08:05.831+01:00
[HTTP Headers]
HTTP/1.1 200 OK
Date: Thu, 16 Jul 2020 12:07:58 GMT
Strict-Transport-Security: max-age=31536002; includeSubDomains
Public-Key-Pins-Report-Only: pin-sha256="9n0izTnSRF+W4W4JTq51avSXkWhQB8duS2bxVLfzXsY="; pin-sha256="5kJvNEMw0KjrCAu7eXY5HZdvyCS13BbA0VJG1RSP91w="; pin-sha256="njN4rRG+22dNXAi+yb8e3UMypgzPUPHlv4+foULwl1g="; max-age=86400; includeSubDomains; report-uri="https://a.forcesslreports.com/hpkp-report/00D3E000000B99Vm";
Expect-CT: max-age=86400, report-uri="https://a.forcesslreports.com/Expect-CT-report/00D3E000000B99Vm"
X-Robots-Tag: none
Cache-Control: no-cache,must-revalidate,max-age=0,no-store,private
Set-Cookie: BrowserId=_Q2mIMdcEeqk1Wnchkw7QQ; domain=.salesforce.com; path=/; expires=Fri, 16-Jul-2021 12:07:58 GMT; Max-Age=31536000
Content-Type: text/csv; charset=UTF-8
Content-Encoding: gzip
Transfer-Encoding: chunked

Please let me know if there are any limits which we might have missed or a reason why the CSV is coming cut off from the API.
I am trying to test SOQL polymorphism queries with our developer account but am receiving an error stating ‘SOQL TYPEOF expressions are not supported in this organization’.  This page says I need to contact Salesforce to enable this support:
 
https://developer.salesforce.com/blogs/tech-pubs/2012/09/soql-polymorphism-or-how-i-learned-to-love-the-polymorphic-relationship.html

Emailing support just tells me to login to the help portal to open a case.  However I can’t login to the help site in the browser using the developer account.  If I do, I just get redirected to a page like:
 
https://help.salesforce.com/apex/htauthprovidererrorhandler?ErrorCode=NO_ACCESS&ErrorDescription=Unable+to+find+a+user&ProviderId=0SO30000000000B&startURL=%2Fapex%2FHTDoor
 
Is there any other way for me to enable this for my account?
 

Excel Connector and RSSBus Excel Add-In can be used to dump out all the fields on an Opportunity record in my Production environment.

 

However, when trying to do the same thing for the Sandbox, many felds are not returned.  The missing fields seem to be typically look ups and formulae.

 

Salesforce's Data Loader, on the other hand, can dump all the fields from the Sandbox Opportunity record.

 

Has anyone else has the same experience.  If so, is there are way around this as I make significant use of Excel Connector.

 

Thanks.

I am new for salesforce. I am using rssbus sales force asp.net  integration to get the data from sales force table. It is working fine for my developer account. But when I am giving the credentials of paid customer account it is working fine for all the tables except opportunities. And it is giving the error states that

 

[500] <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.enterprise.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><soapenv:Fault><faultcode>sf:INVALID_FIELD</faultcode><faultstring>INVALID_FIELD:

HasOpportunityLineItem, IsClosed, IsDeleted, IsPrivate, IsWon, LastActivityDate

                                             ^

ERROR at Row:1:Column:188

No such column &apos;IsPrivate&apos; on entity &apos;Opportunity&apos;. If you are attempting to use a custom field, be sure to append the &apos;__c&apos; after the custom field name. Please reference your WSDL or the describe call for the appropriate names.</faultstring><detail><sf:InvalidFieldFault xsi:type="sf:InvalidFieldFault"><sf:exceptionCode>INVALID_FIELD</sf:exceptionCode><sf:exceptionMessage>

HasOpportunityLineItem, IsClosed, IsDeleted, IsPrivate, IsWon, LastActivityDate

                                             ^

ERROR at Row:1:Column:188

No such column &apos;IsPrivate&apos; on entity &apos;Opportunity&apos;. If you are attempting to use a custom field, be sure to append the &apos;__c&apos; after the custom field name. Please reference your WSDL or the describe call for the appropriate names.</sf:exceptionMessage><sf:row>1</sf:row><sf:column>188</sf:column></sf:InvalidFieldFault></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope>

 

 

My code is---------------------

string connectionString = string.Format("User={0};Password={1};Login URL=https://www.salesforce.com/services/Soap/c/11.0;", txtUser.Text, txtPassword.Text);

string queryString = "Select ID,AccountId,Name,Amount,CampaignID,CloseDate,Description,ExpectedRevenue,Fiscal,FiscalQuarter,FiscalYear,ForecastCategory,LeadSource,NextStep,Probability,StageName,Type,TotalOpportunityQuantity,OwnerId,CreatedByID,CreatedDate,LastModifiedByID,LastModifiedDate,QueryLocator From Opportunities";

 

        DataTable dt = new DataTable();

        DataSet ds = new DataSet();

        SalesForceDataAdapter dataAdapter = new SalesForceDataAdapter(queryString, connectionString);

        dataAdapter.Fill(dt);



could any one help me in this regard. its urgent and thanks in advance.