Anyone have any thoughts on a method to access the salesforce.com API field names using Data Integrator/Data Services? The SFDC adapter seems to return the customer-specific labels as the field names, making it hard to deal with changes. Ideally, I'd like to be able to capture the textual description attached to a field (eg - "How Many employees are committed to this?") and associate it with the field. THat way, if the text field changes, I'm not necessarily going to have to re-work the integration. Would I need to use the generic Web Services adapter with the SFDC WSDL?
can you give more details for this taking account or some other standard SFDC table as example, like what is the info SFDC adapter is returning and what is the info you are looking for ? is this Metadata related info or data ?
I don't think you can use SFDC WSDL as generic DI Webservice adapter, since to invoke service using SFDC WSDL you will have to first call login method which will generate the target URL and that will be used to invoke the service along with the token returned by the login method
I'll try to explain a bit more clearly.
For the project I'm working on, the business uses many custom fields. They collect survey-type data, so for example they may create a custom field called "Impact on decision-making" as a text field. My understanding is that SFDC allocates the field label ("Impact on decision-making") to a field that already exists in their environment, and essentially 'aliases' the clients field name to it. So even though the field in SFDC's data structure may be called ABC123, the only field name visible in Data Services is "Impact_on_decision_making__C" (or something like that).
The challenge arises because the client will periodically change the questions being asked, and with the SFDC connector, this seems to be treated as a new column. If I was able to access the real field name (ABC123) and the label ("Impact on Decision-Making"), I could dynamically address changes in the survey environment. The question being asked could change to "How does this imact the user directly", and I could still dynamically maintain the integrity of the data warehouse by storing the new question as a dimensional value.
Does that make sense?
if a custom field is added to SFDC table SFDC generates unique name for API field with suffix __C, this is used as column name to read or load data from the SFDC table, I am not sure if its possible to retreive the internal names of the column from SFDC if one exists, not sure if SFDC has exposed API to access that
what I understand from you description you are looking for change in the label for a custom field ? if yes, when you import SFDC table in DI Datastore the label is stored as column description, if you change the label in SFDC and re-import the table the column description gets updated, you can get this detail from DI repository
Yeah, I was afraid that might be the only option. I was hoping to use the SFDC internal name, but i might be able to work around it. It does however make the connector configuration less versatile - less ability to replicate for multiple clients, etc.
Thanks for your input.