Can anyone help me for upserting the record in CRM11 using kingswaysoft crm connector ?
I have an excel sheet which contains employee number and other details, not any guid. I need to insert or update these data in CRM11.
Do we need guid to update the record. Can we not proceed for update without guid I mean based on employee number ? If yes then how to fetch the guid using employee number through CRM connector ?
Here need DEPARTMENT entity detail based on their name provided in excel sheet, basically need to LOOKUP. Is it possible to fetch other entities details like department through CRM connector instead of directly pointing to the sql database ?
We (I work for KingswaySoft) support manually specified fields to be used for Upsert operation. It is a relatively simple configuration. You basically choose Upsert as the action on the general page of the CRM destination component, then "Manually Specify" as the Upsert/Update matching criteria. After that, you would head to the Columns page to select the matching fields which become the Upsert key fields. In the case that you set up this type of manually Upsert, you don't need to worry about GUID (and you should not map the primary key field just to be safe). When the Upsert action happens, we actually first do a lookup of the key values based on the matching fields that you have selected, it would create a new record if no match is found and our component will return the newly created record's ID in the default output. If a match is found, we use the GUID value from the lookup operation to perform an Update.
If you have to perform the Upsert based on a field from a lookup (or related) entity, you would have to go a different approach (as suggested by our team above), you would be using an SSIS Merge Join component. The idea is, you use a CRM source component to read from CRM. The source component would be using a FetchXML query that reads from the target entity by joining with the lookup (or related) entity that you want to pull the key values. After the merge join component, you would know whether a match is found. If a match is not found, then you would send to a destination component to perform a Create action. Otherwise, if a match is found, you would send it to a destination component that performs the Update action. The merge join component would be doing a left join.
Hope this helps. Please feel free to let me know if there is anything else that we can help with.
have you taken a look at our Help Manual? You can find instructions for how to use our destination component to write data to a destination Microsoft Dynamics CRM server.
Our CRM destination component supports Upsert action, which would update any existing records in CRM if matching can be found, otherwise create a new record.
There are four matching options supported when the Update/Upsert action is selected: Primary Key, CRM Duplicate Detection, Manually Specify, Alternate Key.
You can use Manually Specify matching criteria if you do not know the GUID value and would like to perform Update/Upsert based on the employee number.
Our CRM toolkit uses CRM Web Services to communicate with CRM, we do not work directly with your SQL database.
To perform LookUp based on the name in Excel, you can use SSIS Merge component to find the Department details of the records in your excel sheet.
Hope this has helped, feel free to reach out to us if you have more questions.
Upsert doesn't exist in CRM 2011 so you'll need to do it manually in two operations:
Retrieve based on Employee number, then
If exists => Update, otherwise, Create
Related
Is there a way to create a CRM record with predefined GUID via SSIS and Kingswaysoft?
I know this is possible via C#, by assigning ID property to new GUID.
If at all i create a column named ID, to which destination column it needs to be mapped?
Thanks
Ideally, in order to populate a value to a record in SSIS using the KingswaySoft component, you would need to map a value from Upstream components. The same applies to GUIDs as well, unless you wish to populate a new GUID value for the field. In that case, you can simply leave it unmapped. In the case of predefined GUIDs, if you wish to provide values in a static way, then you may need to map the value using a Derived Column component. Could you let us know your specific use case and we can let you know our thoughts?
Alternatively, you can reach out to our Support team and we'd be more than happy to review the details with you.
I cannot seem to find the relationship between an entity's record and the entity's form used to create it.
my organization has a entity with two forms and we are looking to distinguish the records between the two forms in an SSRS report.
you cannot find because there isn't a relationship between the record and the form used to create it.
If you want to try to differentiate, try to set a specific value in a custom field when the form create the record (by JavaScript for example) but is not 100% accurate (an expert use can change the value of that field or can be simulated when the record is created by the API)
let's say that using this way should be enough for your requirements.
I have following issue with IBM Integration Designer (BPM Advanced 8.5.6):
I want to retrieve a row from a database table, thus I created a JDBCOutbound interface via wizard. The Designer automatically creates a Business Object Type as input for this operation, being built up of one string named "verb" and another generated BO which just has all the columns of my table as attributes. When I now try to assign something to the "verb" variable I only have the values "insert, update and delete" as possible values in the dropdown. But I actually want a Select.
Does anybody know what to do in this case?
Thanks in advance!
David
I found out that the verb is ignored, when you have a retrieve operation. All you have to pass is the BO with the field values you want to search for.
I'm going to do my best to try to explain this. I currently have a data flow task that has an OLE DB Source transferring data from a table from a different database to a table to another database. It works fine but the issue I'm having is the fact that I keep adding duplicate data to the destination table.
So a CustomerID of '13029' with an amount of '$56.82' on Date '11/30/2012' is seen in that table multiple times. How do I make it so I can only have unique data transferring over to that destination table?
In the dataflow task, where you transfer the data, you can insert a Lookup transformation. In the lookup, you can specify a data source (table or query, what serves you best). When you chose the data source, you can go to the Columns view and create a mapping, where you connect the CustomerID, Date and Amount of both tables.
In the general view, you can configure, what happens with matched/non matched row. Simply take the not matched output and direct it to the DB destination.
You will need to identify what makes that data unique in the table. If it's a customer table, then it's probably the customerid of 13029. However if it's a customer order table, then maybe it's the combination of CustomerId and OrderDate (and maybe not, I have placed two unique orders on the same date). You will know the answer to that based on your table's design.
Armed with that knowledge, you will want to write a query to pull back the keys from the target table SELECT CO.CustomerId, CO.OrderId FROM dbo.CustomerOrder CO If you know the process only transfers data from the current year, add a filter to the above query to restrict the number of rows returned. The reason for this is memory conservation-you want SSIS to run fast, don't bring back extraneous columns or rows it will never need.
Inside your dataflow, add a Lookup Transformation with that query. You don't specify 2005, 2008 or 2012 as your SSIS version and they have different behaviours associated with the Lookup Transformation. Generally speaking, what you are looking to do is identify the unmatched rows. By definition, unmatched means they don't exist in the target database so those are the rows that are new. 2005 assumes every row is going to match or it errors. You will need to click the Configure Error Output... button and select "Redirect Rows". 2008+ has an option under "Specify how to handle rows with no matching entries" and there you'll want "Redirect rows to no match output."
Now take the No match output branch (2008+) or the error output branch (2005) and plumb that into your destination.
What this approach doesn't cover is detecting and handling when the source system reports $56.82 and the target system has $22.38 (updates). If you need to handle that, then you need to look at some change detection system. Look at Andy Leonard's Stairway to Integration Services series of articles to learn about options for detecting and handling changes.
Have you considered using the T-SQL MERGE statement? http://technet.microsoft.com/en-us/library/bb510625.aspx
It will compare both tables on defined fields, and take an action if matched or not.
I'm attempting to import a csv file in Microsoft Dynamics 2011. The file is an export of sales data from our website and I'm attempting to create new Account, Contact, Invoice, Order, Invoice Product and Order Product entities using this data. I'm using a multi-entity data map to do this.
When I attempt the import however, creating the invoice fails with the message "The lookup reference could not be resolved." in connection with the currency field. This field is a lookup tied to currency name which in all cases is "US Dollar". This is exactly the same name as the USD currency in our database, but for some reason the lookup refuses to assign it correctly. There are no other currencies in our database with this name.
Can anyone offer me an explanation as to why this is happening and any steps I can take to deal with it? Many thanks.
EDIT: More information about my problem.
It seems that problems occur when I try and perform a multiple entity import with duplicates. All the new entries I'm creating from this import is dependent on other new entries created with the same data. I'm creating accounts, then creating customers to assign to those accounts for example. If said accounts have duplicates already in the system, they are ignored. This is expected. However, when it comes to create the customer assigned to that account, the lookup fails with a "Duplicate lookup reference was found" error. This error occurs when there are more than one things in the database that fit the value I'm using with the lookup.
I'm not 100% sure, but I think it's counting both the account that was ignored and the original account that's already in the system when performing the lookup. Can anyone offer more insight on how I might work around this?
I don't know for sure if this is your issue but my guess it is.
In the import wizard you can select how he resolves your lookups.
i.e: when in your CSV file the column contains the name of the currency you will have to select the name field in your import wizard for the currency field.
In the screen here you can see then country is a lookup and the name of the country is the value of CSV file. It must match the field of the lookup. If I select "created on" It doesnt find the lookup. because no country exists where created on equals "Belgium". So you select the Name field of the lookup and that is how he will check your value in the CSV in the lookup field you defined.
1.Put records for each record type in a separate file.
2.Put records for different owners in a separate file.
3.Ensure that the first line of the file contains column headers and that they match the CRM attribute display names EXACTLY if you would like the import wizard to automatically* map the data. *Automatic mapping is required if you intend to import records that are related to another record (See #6). I HIGHLY RECOMMEND USING AUTOMATIC MAPPING EVEN IF YOU DO NOT DESIRE RELATED RECORDS.
4.Make sure the first column heading is not the name of a record type.
5.Make sure data exists in your source file for all CRM required fields (denoted with a red asterisk on the CRM form).
6.Make sure some data exists for each column. If a column has no data delete the column.
7.If your data should be related to another record (i.e. Adding Contacts to existing Accounts) make sure the column header matched the CRM lookup attribute display name. If you have two different attributes in CRM with the same display name you will receive an error (EX. if you created a custom State picklist value to replace the text version and keep the display name the same "Address 1: State/Province"). Also make sure the company name values will match a corresponding account record (i.e. contacts with a Parent Customer value of Microsoft Corp. will not be added to the CRM Account Microsoft) and that there are no duplicate Accounts in the system as the import will not be able to resolve the proper Parent Customer.
8.If you are importing into a drop-down list, ensure all the values exist within CRM and there are no typographic errors and consistent capitalization in the source file.
EDIT: It seems like indeed there are multiple records in your DB that can fit in that 1 lookup. it's normal that he gives an error on this as he can't resolve the lookup. The CRM doesn't know which record to take.
Also you might want to watch out if you are importing a M-N Relationship. You will have to do a M-N Relationship with code. The standard import wizard cannot handle Many-to-many relationships