-
ChatterFeed
-
4Best Answers
-
0Likes Received
-
0Likes Given
-
18Questions
-
37Replies
Javascript to hide and reveal comments box
I wrote a simple script to display a comments box if 'Yes' is selected but it doesn't work... help?
script:
<script> function changeDisp(input, textid) { if(input == "Yes") document.getElementById(textid).style.display = "inline"; else document.getElementById(textid).style.display = "none"; } </script>
code:
<apex:PageBlockSection columns="1"> <apex:outputLabel value="Customer refused survey?" for="refused"/> <apex:InputField value="{!Post_Install_Survey__c.Refused__c}" id="refused" onChange="changeDisp(this,'{!$Component.rfcomments}');"/> <apex:outputPanel id="rfcomments"> <apex:InputField value="{!Post_Install_Survey__c.Refused_Comments__c}" style="display:none;"/> </apex:outputPanel> </apex:pageBlockSection>
- MBenfield
- July 17, 2009
- Like
- 0
- Continue reading or reply
Issues with REST API: /services/data/v41.0/jobs/ingest (and v42.0)
Yesterday, I was able to get through 2 sets of 1000 records each, but received an in API failure when trying to fetch the third, with the typical opaque messaging:
[{ "message": "An unexpected error occurred. Please include this ErrorId if you contact support: 2115486922-33330 (-1783343877)", "errorCode": "UNKNOWN_EXCEPTION" }]
I was able to manually fiddle with the queryLocator (raising and lowing the value between "...-2000" and "...-3000" until I hit a specific breaking point of "...-2251". I verified that my records expanded beyond this number, in fact a complete resultset's worth of 1000.
Today I am getting the same results, but only sooner -- I'm only able to retrieve one resultset of 1000 records before this same break and behavior occurs.
Is this a known issue (I couldn't find one), or is there something I may be doing wrong?
- dturkel
- March 14, 2018
- Like
- 0
- Continue reading or reply
Nested apex:repeat not allowed with table tags
Hello,
I'm trying to render a complex value object (not an sObject) that has nested lists.
When I try to nest the <apex:repeat>, I'm not allowed to save my VF page due an error, "The element type table must be terminated by the matching end-tag </table>. Unfortunately, it is properly ended. It seems like there is some bad parsing, or rules around the use of apex:repeat. Has anyone else had this problem, and are there any reasonable solutions?
<apex:page standardController="Account" extensions="RTEquipmentOnServiceLocationController" showHeader="false" standardStylesheets="true"> <apex:stylesheet value="{!$Resource.DetailPageVFLayoutCSS}"/> <table id="EquipmentTable" border="1"> <apex:repeat value="{!equipmentList}" var="equipmentItem" id="theEquipmentRepeat"> <tr id="EquipmentRow"> <td> <apex:outputText value="{!equipmentItem.SerialNumber}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentStatus}"/> </td> <td> <apex:outputText value="{0,date,yyyy-MM-dd}"> <apex:param value="{!equipmentItem.EquipmentInstallDate}"/> </apex:outputText> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentType}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentMake}"/> </td> <td > <apex:outputText value="{!equipmentItem.EquipmentModel}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentDescription}"/> </td> </tr> <tr> <td colspan="7"> <table id="ComponentTable" border="1"> <apex:repeat value="{!equipmentItem.ComponentList" var="componentItem" id="theComponentRepeat"> <tr> <td> <apex:outputText value="{!componentItem.MACAddress}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentCategoryDescription}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentOccurrenceNumber}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentComponentCode}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentPort}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentPortType}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentRatingCode}"/> </td> <td> <apex:repeat value="{!componentItem.EquipmentServiceList}" var="equipmentServiceItem" id="theEquipmentServiceRepeat"> <apex:outputText value="{!equipmentServiceItem.ServiceIdentifier}"/> - <apex:outputText value="{!equipmentServiceItem.EquipmentServiceCode}"/> <br/> </apex:repeat> </td> </tr> </apex:repeat> </table> </td> </tr> </apex:repeat> </table> </apex:page>
- dturkel
- May 11, 2012
- Like
- 0
- Continue reading or reply
DataLoader v22: Extract (Mapping) Issue & Source Code Location
All:
I am trying to resolve an issue with DataLoader v22 complaining about a field in my mapping file while trying to do a fairly simple extract. In DataLoader's log, it appears that the first character of my field is getting prepended with some other strange character (it shows up looking at the log in Notepad, but never cut-and-pastes into these HTML forms).
2011-07-26 22:31:30,046 FATAL [main] process.ProcessRunner topLevelError (ProcessRunner.java:211) - Unable to run process nulljava.lang.RuntimeException: com.salesforce.dataloader.mapping.Mapper$InvalidMappingException: No such field id on entity Accountat com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:136)at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:74)at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.java:226)Caused by: com.salesforce.dataloader.mapping.Mapper$InvalidMappingException: No such field id on entity Accountat com.salesforce.dataloader.mapping.SOQLMapper.getSfdcField(SOQLMapper.java:217)at
I was convinced this was a file/character encoding issue, but it doesn't seem to occur on every character of the field, and I've also tried converting the format of the mapping file. Here are the contents of the mapping file (no strange/special characters appear when using VIM or Notepad)
Id=SFDC_ID Name=NAME ParentId=SFDC_PARENT_ID ...
I'd track this down myself, but I also can't find the corresponding source code on sourceforge for this version of DataLoader -- so I can't find the "SOQLMapper" class. Does anyone know where to find it?
Thanks,
Dave
- dturkel
- July 27, 2011
- Like
- 0
- Continue reading or reply
DataLoader: How do I prevent Success files from generating
What is the magical combination of variables to not include in config.propertiers and/or command line when executing the DataLoader (v21) so that successfiles aren't generated? I keep getting a autogenerated success file unintentionally, which is a big impact to me since I'm loading a significant amount of data, and only care about the Errors (which I am getting, and have configured that way).
Here is my configuration (between my referenced config.properties, and the properties I override when I call Dataloader directly via javaw:
I thought I had this working before, but apparently not because I'm still getting a success[timestamp]csv file being created in the directory indicated in process.statusOutputDirectory.
This is a big deal because I have limited space on my processing server, and I'm processing 5-30Gb depending on the day (our org has increased loading limits.
Thanks,
Dave
- dturkel
- June 16, 2011
- Like
- 0
- Continue reading or reply
DataLoader: Escaping Quotation Marks within a CSV (that contains commas and quotation marks in data)
I need to use Data Loader to load data that can have commas "," and double-quotation marks within any number of fields.
Outside of mangling the data by removing the quotations marks, or substituting the character with another, do I have any other answer?
The quotation mark is an important piece of data in the field(s) in question. I can't unquote the entire value of my field due to the embedded commas. Using single quotes (') to surround field data also does not appear to work.
The CSVFileReader.java class appears to be the culprit, by way of its tokenization and non-accomodation of this situation. Surely this has come up in the 6 years this class has existed...
/** * Parse a CSV or tab delimmited file into lines of fields. One line is returned in each call to getNextLine. Each line * is returned as an ArrayList of String fields. This parser auto-detects comma or tab delimmiters based on the first * line. This file correctly handles embedded quotes, delimmiters, and newlines, based on the way MS Excel and other * apps do CSV format. Note that this is different that the way StreamTokenizer handles things itself, which is why I * needed to add the getNextToken () method that wraps the StreamTokenizer.nextToken () method. StreamTokenizer doesn't * handle embedded newlines in a quoted string. Because CSV format allows embedded newlines in quoted strings, record * index values in the array won't necessarily agree with line numbers in a text editor, although they will agree with * row numbers when the file is viewed in Excel. We should probably give some accessor to ask the text-editor * appropriate line number for the current record. */
- dturkel
- May 01, 2011
- Like
- 0
- Continue reading or reply
Creating a "Stacked" Bar Chart, using Google Visualizations codeshare library
All,
I need to make a bar chart that has data grouped within each series, so that each "bar" in the chart is combination of multiple data points. I am able to do this using Google Charts, but providing the information with a clean legend is problematic, so I am investigating the use of Google Visualizations.
An example of the type of the Google Chart, without legends for the subdata making up the bars:
I stumbled upon the codeshare library for Google Visualizations (http://wiki.developerforce.com/index.php/Google_Visualizations).
I was wondering if anyone had used the ColumnChart component and related code to create this type of Chart? It looks possible, just wanted a quick sanity check before I invest in a lot of time on it.
Thanks,
David
- dturkel
- January 04, 2011
- Like
- 0
- Continue reading or reply
Imported WSDL/Webservice callout emitting empty tags
I have a WSDL that I successfully imported into Salesforce that has a simple request structure containing:
....
<xsd:choice>
<xsd:element maxOccurs="1" minOccurs="1" name="ItemCode" type="tns:ItemCodeType" />
<xsd:element maxOccurs="1" minOccurs="1" name="FullSync" type="tns:FullSyncType" />
</xsd:choice>
.....
<xsd:simpleType name="ItemCodeType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="FullSyncType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="((Y|y))" />
</xsd:restriction>
</xsd:simpleType>....
When we generate the request in our controller class, we populate a value for ItemCode, and pass null to FullSync, expecting that no tag will be emitted for FullSync. Instead, we are seeing both the ItemCode and the FullSync tags, with FullSync being empty ("<ItemCode>ABCDEFG</ItemCode><FullSync/>").
I've tried adding "nillable=false" among other things -- what could possibly be going wrong??!!??
UPDATE 01/19/2010 - I've tried using simple xs:strings as the types for my elements within the <choice> above, but had the same problem. SFDC says they support the choice element -- is there some quirk or exacting attributes that have to be provided on the elements within the choice?
- dturkel
- January 15, 2010
- Like
- 0
- Continue reading or reply
Flex - Setting options to ensure Assignment Rules are executed
I'm creating Case objects via the Flex Toolkit, but my assignment rules aren't firing.
I've read several posts (non-Flex forums) indicating the need to set a header with with Assignment Rule information.
Is that what I need to do, and how do I do this using the Flex toolkit?
Thanks!
- dturkel
- October 13, 2009
- Like
- 0
- Continue reading or reply
Flex -> Salesforce API: Create Multiple Objects problem
//This method works
public function create(createable:ISalesforceCreateable):void{
var conn:com.salesforce.Connection = SalesforceHandler.conn;
var sobject:SObject = createable.buildCreateableObject();
conn.create([sobject],this.responder,false); }
//This method does not work
public function createMultipleObjects(createables:ArrayCollection):void{
var conn:com.salesforce.Connection = SalesforceHandler.conn;
var sobjectArray:Array = new Array();
for(var count:int=0;count<createables.length;count++){
var myCreateable:ISalesforceCreateable = createables.getItemAt(count) as ISalesforceCreateable;
sobjectArray.push(myCreateable.buildCreateableObject());
}
conn.create(sobjectArray, this.responder,false);
trace("Created Multiple SFDC Objects, Count: " + count);
}
- dturkel
- October 06, 2009
- Like
- 0
- Continue reading or reply
Flex Development: "Random" Invalid Session ID, Illegal Session Error
All,
We have a very successful Flex application operating in an 900 person call center environment.
We have built a Flex application that is launch from an S-control on a standard layout, which receives the current user's Session ID/URL, and a number of other parameters.
The Flex application uses this data to query back to SFDC for configuration and typical account/case data.
This seems to work without issue, AT FIRST. But, randomly as the user is interacting with our application and gets to the point of making another query/api call to SFDC they will get the Invalid Session ID/Illegal Session error.
Some debugging/testing has shown that this SFDC Session ID will "just change", even though the user has not logged out and is still able to interact with SFDC seamlessly (not making it a very good session ID, or a really poor choice of naming).
Why in the world does SFDC behave like this, and more importantly, does anyone have any code/patterns they can offer to make our Flex code more robust, to handle this problem seemlessly without the user realizing that we have to get the new session ID and relogin to the API? Has anyone done this.
Please help!
Dave
- dturkel
- June 22, 2009
- Like
- 0
- Continue reading or reply
Profile Deployment Failing - Permissions problem
I'm trying to deploy (really transfer) a profile from one environment to another), but I'm getting a permissions error with the "Import Personal Contacts" setting.
The problem is, this profile does not have that permission (Import Personal Contacts) granted, so I'm not understanding the complaint. Does anyone know why? I don't want these users to have Create/Edit Account permissions.
*** Deployment Log ***
Result: FAILED
Date: April 2, 2009 3:09:05 PM EDT
# Deployed From:
Project name: xxxx-SFDC-Test
Username: xxxxxx
Endpoint: test.salesforce.com
# Deployed To:
Username: xxxxxxx
Endpoint: test.salesforce.com
# Deploy Results:
Name: profiles/FS Outsource Profile with Flex.profile
Action: NO ACTION
Result: FAILED
Problem: Permission Import Personal Contacts depends on permission(s): Edit Account, Create Account
Name: package.xml
Action: UPDATED
Result: SUCCESS
Problem: n/a
# Test Results:
n/a
- dturkel
- April 02, 2009
- Like
- 0
- Continue reading or reply
AsyncResponder: Why and How to use the Context parameter
Hello,
Regarding the AsynResponder in the Flex toolkit, I'm looking for a decent explanation on why I would use the Context object as part of my AsyncResponder setup. I've seen a few posts explaining some past updates to it, but I'd love to understand what I can do with it.
Ultimately I'm trying to build a DAO framework for my application that needs to get data on-demand from SFDC. I then populate control widgets in my Flex application, but I'm having trouble because the AsyncResponder is Asynchronous, and I don't want to build the AsyncResponder block over-and-over again for the same generic queries that might be used accross multiple layouts/controls.
If anyone has any practical examples or advice on a better way to do this, please pass along.
Links to other meaningful posts/articles accepted.
Thanks,
Dave
- dturkel
- March 14, 2009
- Like
- 0
- Continue reading or reply
Force IDE Deploy to Server: Inherited WebLinks not validating correctly, or other problem?
I'm trying to deploy to a sandbox environment from our production environment, and I'm receiving validation errors regarding WebLinks that exist in our Account object, but not in our PersonAccount object. I've checked the structure in both production and the target sandbox environment, and they are the same... the complained about WebLinks DO EXIST, and can only exist in the Account object. Does anyone have any clue why I keep getting these errors:
# Deploy Results:
Name: layouts/PersonAccount-Person Account Layout.layout
Action: NO ACTION
Result: FAILED
Problem: In field: customLink - no WebLink named PersonAccount.GoogleSearch found
Name: layouts/PersonAccount-XXX- Care Rep Person Account Page Layout.layout
Action: NO ACTION
Result: FAILED
Problem: In field: customLink - no WebLink named PersonAccount.Bill_View found
- dturkel
- February 13, 2009
- Like
- 0
- Continue reading or reply
Example Fault Format that does not cause CalloutException
Related to my earlier post, can anyone post an example fault message returned by an external service that does not cause a CalloutException?
If I have an example, I may be able to construct my messages appropriately.
Thanks!
- dturkel
- February 06, 2009
- Like
- 0
- Continue reading or reply
CalloutException: Problem with contents of fault detail?
We're having a problem with handling a fault coming back from a Callout. We are getting an exception stating we received a SOAP fault (we want the fault for the purposes of testing error handling), and I'm unclear on the real problem-- is the problem with our ability to get to the fault data, or did we create a problem with the content of our fault, hence triggering the exception.
I have a couple of questions:
1) Normally, does any fault throw an exception, or would a fault appear in the response? I haven't found anything in the documentation that explicitly explains how faults are handled.
2) What other methods and members are available for me to examine in the CalloutException other than the common methods (getCause()/getMessage())? Again, the documentation is vague, and I can't find anything absolute that says CalloutException exactly what CalloutException provides (e.g. like JavaDocs for the APIs).
3) The exception we recieve manages to display the standard faultcode and faultstring, and the faultstring appears as what is provided by the exceptions's getMessage() method. This gives me the sense that the fault is completely successfully parsed, or I'm getting a really poor error message from the API. Below is the full SOAP Fault we receive. I read another forum message indicating namespace prefixing was required for items in the detail of the message. As far as I can tell, this is legal syntax, and other tools importing this WSDL handle faults properly:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Client</faultcode>
<faultstring>"IGI0120:CBM5644:The Telephone Number Area Code is incorrect."</faultstring>
<detail>
<AAAError:AAAError xmlns="AAA" xmlns:AAAError="AAA">
<AAAError>
<RC>1495</RC>
<MQQ>1</MQQ>
<MSGNO>1495</MSGNO>
<MSGTEXT>"IGI0120:CBM5644:The Telephone Number Area Code is incorrect."</MSGTEXT>
</ICOMSError>
</AAAError:ICOMSError>
</detail>
</ns2:Fault>
</S:Body>
</S:Envelope>
- dturkel
- February 06, 2009
- Like
- 0
- Continue reading or reply
HELP! Techniques for using dependent picklists outside of SFDC configured pages
I have a Flex application where I want to leverage Salesforce.com to have configurable dependent picklists.
I would like the Flex application to use the picklists in the same manner as if I was on a configured SFDC page... e.g. the child picklist values would be linked based on the selected value of the parent.
I found some code that looked rather ineffecient for determining if a child picklist value is valid based on using some bitwise operations, and iterating through every single object returned by describeSObject.
Does anyone have a more effective way to do this -- i.e. a way to query a child picklist using a parent value, returning the valid choices?
Thanks!
- dturkel
- February 05, 2009
- Like
- 0
- Continue reading or reply
S-Control to retrieve Tab Name/Context
- dturkel
- January 15, 2009
- Like
- 0
- Continue reading or reply
Testing with JMeter: Testing Apex Code via HTTP Requests
- dturkel
- June 10, 2008
- Like
- 0
- Continue reading or reply
subscription=/event/LogoutEventStream, error=403:denied_by_security_policy:create_denied
The custom profile created for this user has Edit Events (which includes create/edit/delete events) as well as Create Topic and access to the necessary objects, the Connected App I created for it is assigned to the profile . Are there specific permissions in the custom profile that I might have missed that would cause this error?
I did enable Streaming Data on the appropriate events in the Event Manager.
I'm kinda at a loss right now of what else to enable without opening the door to complete access.
Thanks in advance.
- Gwenn Ferguson 17
- April 06, 2021
- Like
- 0
- Continue reading or reply
Nested apex:repeat not allowed with table tags
Hello,
I'm trying to render a complex value object (not an sObject) that has nested lists.
When I try to nest the <apex:repeat>, I'm not allowed to save my VF page due an error, "The element type table must be terminated by the matching end-tag </table>. Unfortunately, it is properly ended. It seems like there is some bad parsing, or rules around the use of apex:repeat. Has anyone else had this problem, and are there any reasonable solutions?
<apex:page standardController="Account" extensions="RTEquipmentOnServiceLocationController" showHeader="false" standardStylesheets="true"> <apex:stylesheet value="{!$Resource.DetailPageVFLayoutCSS}"/> <table id="EquipmentTable" border="1"> <apex:repeat value="{!equipmentList}" var="equipmentItem" id="theEquipmentRepeat"> <tr id="EquipmentRow"> <td> <apex:outputText value="{!equipmentItem.SerialNumber}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentStatus}"/> </td> <td> <apex:outputText value="{0,date,yyyy-MM-dd}"> <apex:param value="{!equipmentItem.EquipmentInstallDate}"/> </apex:outputText> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentType}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentMake}"/> </td> <td > <apex:outputText value="{!equipmentItem.EquipmentModel}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentDescription}"/> </td> </tr> <tr> <td colspan="7"> <table id="ComponentTable" border="1"> <apex:repeat value="{!equipmentItem.ComponentList" var="componentItem" id="theComponentRepeat"> <tr> <td> <apex:outputText value="{!componentItem.MACAddress}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentCategoryDescription}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentOccurrenceNumber}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentComponentCode}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentPort}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentPortType}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentRatingCode}"/> </td> <td> <apex:repeat value="{!componentItem.EquipmentServiceList}" var="equipmentServiceItem" id="theEquipmentServiceRepeat"> <apex:outputText value="{!equipmentServiceItem.ServiceIdentifier}"/> - <apex:outputText value="{!equipmentServiceItem.EquipmentServiceCode}"/> <br/> </apex:repeat> </td> </tr> </apex:repeat> </table> </td> </tr> </apex:repeat> </table> </apex:page>
- dturkel
- May 11, 2012
- Like
- 0
- Continue reading or reply
Connecting to Salesforce.com from Flow Designer
Hello,
I am new to the Salesforce world. I am trying to create a small work flow using flow designer 7.0.6. As part of the development, I am trying to access my salesforce.com custom objects using Options -> Settings -> Salesforce.com settings. When I press "Test Connection", getting following failure message..
"Connection Failed" - Error occured while attempting to login to SFDC with username: 'xxxxxx@xxx.com'
I googled for solution but found one post connecting to database.com (I do not think it is any different than salesforce.com). BTW, I am behind a firewall of an organization, if that helps.
Thanks in advance.
Vasa
- VasaK
- December 01, 2011
- Like
- 0
- Continue reading or reply
DataLoader v22: Extract (Mapping) Issue & Source Code Location
All:
I am trying to resolve an issue with DataLoader v22 complaining about a field in my mapping file while trying to do a fairly simple extract. In DataLoader's log, it appears that the first character of my field is getting prepended with some other strange character (it shows up looking at the log in Notepad, but never cut-and-pastes into these HTML forms).
2011-07-26 22:31:30,046 FATAL [main] process.ProcessRunner topLevelError (ProcessRunner.java:211) - Unable to run process nulljava.lang.RuntimeException: com.salesforce.dataloader.mapping.Mapper$InvalidMappingException: No such field id on entity Accountat com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:136)at com.salesforce.dataloader.process.ProcessRunner.run(ProcessRunner.java:74)at com.salesforce.dataloader.process.ProcessRunner.main(ProcessRunner.java:226)Caused by: com.salesforce.dataloader.mapping.Mapper$InvalidMappingException: No such field id on entity Accountat com.salesforce.dataloader.mapping.SOQLMapper.getSfdcField(SOQLMapper.java:217)at
I was convinced this was a file/character encoding issue, but it doesn't seem to occur on every character of the field, and I've also tried converting the format of the mapping file. Here are the contents of the mapping file (no strange/special characters appear when using VIM or Notepad)
Id=SFDC_ID Name=NAME ParentId=SFDC_PARENT_ID ...
I'd track this down myself, but I also can't find the corresponding source code on sourceforge for this version of DataLoader -- so I can't find the "SOQLMapper" class. Does anyone know where to find it?
Thanks,
Dave
- dturkel
- July 27, 2011
- Like
- 0
- Continue reading or reply
DataLoader: How do I prevent Success files from generating
What is the magical combination of variables to not include in config.propertiers and/or command line when executing the DataLoader (v21) so that successfiles aren't generated? I keep getting a autogenerated success file unintentionally, which is a big impact to me since I'm loading a significant amount of data, and only care about the Errors (which I am getting, and have configured that way).
Here is my configuration (between my referenced config.properties, and the properties I override when I call Dataloader directly via javaw:
I thought I had this working before, but apparently not because I'm still getting a success[timestamp]csv file being created in the directory indicated in process.statusOutputDirectory.
This is a big deal because I have limited space on my processing server, and I'm processing 5-30Gb depending on the day (our org has increased loading limits.
Thanks,
Dave
- dturkel
- June 16, 2011
- Like
- 0
- Continue reading or reply
DataLoader: Escaping Quotation Marks within a CSV (that contains commas and quotation marks in data)
I need to use Data Loader to load data that can have commas "," and double-quotation marks within any number of fields.
Outside of mangling the data by removing the quotations marks, or substituting the character with another, do I have any other answer?
The quotation mark is an important piece of data in the field(s) in question. I can't unquote the entire value of my field due to the embedded commas. Using single quotes (') to surround field data also does not appear to work.
The CSVFileReader.java class appears to be the culprit, by way of its tokenization and non-accomodation of this situation. Surely this has come up in the 6 years this class has existed...
/** * Parse a CSV or tab delimmited file into lines of fields. One line is returned in each call to getNextLine. Each line * is returned as an ArrayList of String fields. This parser auto-detects comma or tab delimmiters based on the first * line. This file correctly handles embedded quotes, delimmiters, and newlines, based on the way MS Excel and other * apps do CSV format. Note that this is different that the way StreamTokenizer handles things itself, which is why I * needed to add the getNextToken () method that wraps the StreamTokenizer.nextToken () method. StreamTokenizer doesn't * handle embedded newlines in a quoted string. Because CSV format allows embedded newlines in quoted strings, record * index values in the array won't necessarily agree with line numbers in a text editor, although they will agree with * row numbers when the file is viewed in Excel. We should probably give some accessor to ask the text-editor * appropriate line number for the current record. */
- dturkel
- May 01, 2011
- Like
- 0
- Continue reading or reply
Apex Data Loader Command Line Issue - Field Mapping Exception
I am using CLIq to build a CLI Data Loader Job. I keep getting exceptions that tell me that the field mappings are invalid for the fields in the CSV that should not be mapped. I get the following exception...
Exception occured during loadingcom.salesforce.dataloader.exception.MappingInitializationException: Field mapping is invalid: Street2 =>
For some reason, it does not like the fields that arent mapped. I am really confused why this is happening because the SDL file workes in the Data Loader GUI, but not the CLI.
Here is my process-conf file...
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="paLeadInsert" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false"> <description>Created by Dataloader Cliq.</description> <property name="name" value="paLeadInsert"/> <property name="configOverrideMap"> <map> <entry key="dataAccess.name" value="C:\dataloader\cliq_process\paLeadInsert\read\paLeadInsert.csv"/> <entry key="dataAccess.readUTF8" value="true"/> <entry key="dataAccess.type" value="csvRead"/> <entry key="dataAccess.writeUTF8" value="true"/> <entry key="process.enableExtractSuccessOutput" value="true"/> <entry key="process.enableLastRunOutput" value="true"/> <entry key="process.lastRunOutputDirectory" value="C:\dataloader\cliq_process\paLeadInsert\log"/> <entry key="process.mappingFile" value="C:\dataloader\cliq_process\paLeadInsert\config\paLeadInsert.sdl"/> <entry key="process.operation" value="insert"/> <entry key="process.statusOutputDirectory" value="C:\dataloader\cliq_process\paLeadInsert\log"/> <entry key="sfdc.bulkApiCheckStatusInterval" value="5000"/> <entry key="sfdc.bulkApiSerialMode" value="5000"/> <entry key="sfdc.debugMessages" value="false"/> <entry key="sfdc.enableRetries" value="true"/> <entry key="sfdc.endpoint" value="https://test.salesforce.com/services/Soap/u/21.0"/> <entry key="sfdc.entity" value="Lead"/> <entry key="sfdc.extractionRequestSize" value="500"/> <entry key="sfdc.insertNulls" value="false"/> <entry key="sfdc.loadBatchSize" value="100"/> <entry key="sfdc.maxRetries" value="3"/> <entry key="sfdc.minRetrySleepSecs" value="2"/> <entry key="sfdc.noCompression" value="false"/> <entry key="sfdc.password" value="ENCRYPTEDPASSWORD"/> <entry key="sfdc.timeoutSecs" value="60"/> <entry key="sfdc.useBulkApi" value="false"/> <entry key="sfdc.username" value="username@test.com"/> </map> </property> </bean> </beans>
And here is my SDL file....
# SDL Mapping File SearchKey= BorrowerBirthDate=Borrower_Birthdate__c MiddleName= FirstName=FirstName LoanPurpose=Purpose__c EmailHId= HashedSSN= Zip=PostalCode LeadSystemId= City=City Email=Email OwnerID= Street2= WorkPhone=Work_Phone__c Street1=Street CoBorrowerHomePhone=Co_Borrower_Home_Phone__c Stat60Dt= CoBorrowerBirthDate=Co_Borrower_Birthdate__c CellularPhone=Mobile_Phone__c County=County__c Suffix= CLTV= CoBorrowerMaritalStatus=Co_Borrower_Marital_Status__c LoanNumber=Loan_Number__c WorkPhoneExtension= CoBorrowerLastName=Co_Borrower_Last__c GCId=GCId__c LoanAmount=Loan_Amount__c FICO= Comments=Description CoBorrowerFirstName=Co_Borrower_First__c DOB= BorrowerMaritalStatus=Marital_Status__c Zip4= HomePhone=Phone State=State CoBorrowerWorkPhone=Co_Borrower_Work_Phone__c InterestRate= LeadTypeCode=Lead_Type__c EncryptedSSN= LTV= CoBorrowerMiddleName= StatusId= LastName=LastName CoBorrowerCellPhone=Co_Borrower_Mobile_Phone__c BankerName=Banker_Name__c
Anyone know how to fix?
- kevohara
- March 21, 2011
- Like
- 0
- Continue reading or reply
Creating a "Stacked" Bar Chart, using Google Visualizations codeshare library
All,
I need to make a bar chart that has data grouped within each series, so that each "bar" in the chart is combination of multiple data points. I am able to do this using Google Charts, but providing the information with a clean legend is problematic, so I am investigating the use of Google Visualizations.
An example of the type of the Google Chart, without legends for the subdata making up the bars:
I stumbled upon the codeshare library for Google Visualizations (http://wiki.developerforce.com/index.php/Google_Visualizations).
I was wondering if anyone had used the ColumnChart component and related code to create this type of Chart? It looks possible, just wanted a quick sanity check before I invest in a lot of time on it.
Thanks,
David
- dturkel
- January 04, 2011
- Like
- 0
- Continue reading or reply
Imported WSDL/Webservice callout emitting empty tags
I have a WSDL that I successfully imported into Salesforce that has a simple request structure containing:
....
<xsd:choice>
<xsd:element maxOccurs="1" minOccurs="1" name="ItemCode" type="tns:ItemCodeType" />
<xsd:element maxOccurs="1" minOccurs="1" name="FullSync" type="tns:FullSyncType" />
</xsd:choice>
.....
<xsd:simpleType name="ItemCodeType">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1" />
<xsd:maxLength value="100" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="FullSyncType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="((Y|y))" />
</xsd:restriction>
</xsd:simpleType>....
When we generate the request in our controller class, we populate a value for ItemCode, and pass null to FullSync, expecting that no tag will be emitted for FullSync. Instead, we are seeing both the ItemCode and the FullSync tags, with FullSync being empty ("<ItemCode>ABCDEFG</ItemCode><FullSync/>").
I've tried adding "nillable=false" among other things -- what could possibly be going wrong??!!??
UPDATE 01/19/2010 - I've tried using simple xs:strings as the types for my elements within the <choice> above, but had the same problem. SFDC says they support the choice element -- is there some quirk or exacting attributes that have to be provided on the elements within the choice?
- dturkel
- January 15, 2010
- Like
- 0
- Continue reading or reply
Flex - Setting options to ensure Assignment Rules are executed
I'm creating Case objects via the Flex Toolkit, but my assignment rules aren't firing.
I've read several posts (non-Flex forums) indicating the need to set a header with with Assignment Rule information.
Is that what I need to do, and how do I do this using the Flex toolkit?
Thanks!
- dturkel
- October 13, 2009
- Like
- 0
- Continue reading or reply
render external pdf/blob in visualforce page
Hi,
I'm calling into a 3rd party API from Salesforce using the APEX WSDL wrapper. That 3rd party API provides access to pdf documents as blobs. I'm able to use APEX to access those PDFs and send them on as e-mail messages (using Messaging.SingleEmailMessage and Messaging.EmailFileAttachment) from salesforce. Works great.
However, I would like to also render that PDF in a VisualForce page (it can either render in the page or provide a popup asking the user if they want to save or open the PDF). I see lots of info on how to render existing Salesforce content in PDF but nothing about how you could do this if you already have the PDF in a blob lets say.
I would think it would be something like:
<apex:page contenttype="application/pdf">
<apex:outputText value="{!PDFBlob}" id="thePDFBlob"/></apex:page>
(where i can provide the blob in the controller) but outputText is not the correct component.)
Anyone have any ideas?
Thanks,
-John
- lucena69
- October 12, 2009
- Like
- 0
- Continue reading or reply
Flex -> Salesforce API: Create Multiple Objects problem
//This method works
public function create(createable:ISalesforceCreateable):void{
var conn:com.salesforce.Connection = SalesforceHandler.conn;
var sobject:SObject = createable.buildCreateableObject();
conn.create([sobject],this.responder,false); }
//This method does not work
public function createMultipleObjects(createables:ArrayCollection):void{
var conn:com.salesforce.Connection = SalesforceHandler.conn;
var sobjectArray:Array = new Array();
for(var count:int=0;count<createables.length;count++){
var myCreateable:ISalesforceCreateable = createables.getItemAt(count) as ISalesforceCreateable;
sobjectArray.push(myCreateable.buildCreateableObject());
}
conn.create(sobjectArray, this.responder,false);
trace("Created Multiple SFDC Objects, Count: " + count);
}
- dturkel
- October 06, 2009
- Like
- 0
- Continue reading or reply
Javascript to hide and reveal comments box
I wrote a simple script to display a comments box if 'Yes' is selected but it doesn't work... help?
script:
<script> function changeDisp(input, textid) { if(input == "Yes") document.getElementById(textid).style.display = "inline"; else document.getElementById(textid).style.display = "none"; } </script>
code:
<apex:PageBlockSection columns="1"> <apex:outputLabel value="Customer refused survey?" for="refused"/> <apex:InputField value="{!Post_Install_Survey__c.Refused__c}" id="refused" onChange="changeDisp(this,'{!$Component.rfcomments}');"/> <apex:outputPanel id="rfcomments"> <apex:InputField value="{!Post_Install_Survey__c.Refused_Comments__c}" style="display:none;"/> </apex:outputPanel> </apex:pageBlockSection>
- MBenfield
- July 17, 2009
- Like
- 0
- Continue reading or reply
Text in Page Layout
- MBenfield
- July 17, 2009
- Like
- 0
- Continue reading or reply
CalloutException: Problem with contents of fault detail?
We're having a problem with handling a fault coming back from a Callout. We are getting an exception stating we received a SOAP fault (we want the fault for the purposes of testing error handling), and I'm unclear on the real problem-- is the problem with our ability to get to the fault data, or did we create a problem with the content of our fault, hence triggering the exception.
I have a couple of questions:
1) Normally, does any fault throw an exception, or would a fault appear in the response? I haven't found anything in the documentation that explicitly explains how faults are handled.
2) What other methods and members are available for me to examine in the CalloutException other than the common methods (getCause()/getMessage())? Again, the documentation is vague, and I can't find anything absolute that says CalloutException exactly what CalloutException provides (e.g. like JavaDocs for the APIs).
3) The exception we recieve manages to display the standard faultcode and faultstring, and the faultstring appears as what is provided by the exceptions's getMessage() method. This gives me the sense that the fault is completely successfully parsed, or I'm getting a really poor error message from the API. Below is the full SOAP Fault we receive. I read another forum message indicating namespace prefixing was required for items in the detail of the message. As far as I can tell, this is legal syntax, and other tools importing this WSDL handle faults properly:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Client</faultcode>
<faultstring>"IGI0120:CBM5644:The Telephone Number Area Code is incorrect."</faultstring>
<detail>
<AAAError:AAAError xmlns="AAA" xmlns:AAAError="AAA">
<AAAError>
<RC>1495</RC>
<MQQ>1</MQQ>
<MSGNO>1495</MSGNO>
<MSGTEXT>"IGI0120:CBM5644:The Telephone Number Area Code is incorrect."</MSGTEXT>
</ICOMSError>
</AAAError:ICOMSError>
</detail>
</ns2:Fault>
</S:Body>
</S:Envelope>
- dturkel
- February 06, 2009
- Like
- 0
- Continue reading or reply