Welcome to our website

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ed ut perspiciatis unde omnis iste.

Samstag, 28. Januar 2012

XRM - Modernes Beziehungsmanagement mit Microsoft Dynamics CRM 2011

XRM - Modernes Beziehungsmanagement

Globales Beziehungsmanagement (xRM) jenseits des Kunden

Für viele spezielle Geschäftslösungen lohnt es sich, auf der Grundfunktionalität flexibler CRM-Software aufzusetzen, statt mit Individualsoftware bei Null anzufangen. Die Vielfalt der möglichen Anwendungen drückt x Relationship Management oder kurz xRM aus.

Oft starten diese Lösungen mit einfachem Kontaktmanagement. Schnell aber werden Strukturen komplexer und funktionale Anforderungen größer, beispielsweise bei einer xRM-Anwendung für einen Einkaufsverband mit gewachsenen Mitglieder- und Lieferantenstrukturen. Hier hilft anwenderfreundliche, konfigurierbare und funktionale CRM-Grundsoftware. Dies ist in unserem Fall die in Deutschland marktführende Software Microsoft Dynamics CRM 2011.

Werthaltige Basisfunktionalität hilft bei xRM
Anstatt bei Null anzufangen sind unsere xRM-Lösungen bereits mit einer reichhaltigen Basisfunktionalität ausgestattet.
  • Zentrale Datenhaltung an einer Stelle im Unternehmen
  • Fertige Informationsobjekte für Firmen, Personen, Projekte, ...
  • E-Mail und Kalender (voll integriert mit Exchange und Lotus Notes, GroupWise)
  • Weitere konfigurierbare Informationsobjekte und deren relationale Beziehungen
  • Anpassbare Navigation (auch unterschiedlich für verschiedene Rollen)
  • Definierbare Workflows
  • Integriertes Reporting, Excel-Schnittstelle
  • Brieferstellung mit Microsoft Office und OpenOffice Vorlagen
  • Serienaussendungsfunktionalität (E-Mail oder Word)
  • Bewährtes, pflegbares Zugriffs- und Sicherheitskonzept
  • Vorbereitet auf Integration mit ERP-Systemen

Branchenbeispiele für erfolgreiches X-Beziehungsmanagement

Lieferanten-Management

Lösungen stellen hier die kommunikative (Korrespondenz, Berichte, Dokumente) und koordinative (Termine, Aufgaben) Komponente von Einkauf und Logistik in den Vordergrund und ergänzen die vorhandenen zahlenorientierten ERP- oder SCM-Komponenten.

Mitglieder-Management

Sei es bei Verbänden oder bei Einkaufsgemeinschaften: die gute, aber auch effiziente Betreuung der Mitglieder essentiell. Dabei ergeben sich oft komplexe Informationsnetze rund um die Mitglieder: Arbeitsgruppen, genutzte Produkte und Services, Katalogbezüge, ...

Gesellschafter-Management

Geht es um Gesellschafter statt um Mitglieder liegt die Latte beim Betreuungsanspruch oft noch höher. Dazu kommen wachsend komplexe Strukturen, da Gesellschafter oft für mehrere Gesellschaften tätig sind und so ein erweitertes Beziehungsnetz abzubilden ist.

Presse- und Medienmanagement

Aussendungen an Verteiler, aber auch flexible Beziehungsstrukturen zwischen Verlagen, Medien und oft freiberuflichen Journalisten sind hier bedeutsam.

Investoren –Management

Börsennotierte Unternehmen unterliegen mittlerweile strengen Regeln bezüglich der Investorenkommunikation. Hier können Lösungen zur Beziehungspflege u.a. für eine einheitliche, regelkonforme und dokumentierte Kommunikation sorgen.

Behörden-Management

Insbesondere "Lobbyarbeit" zu regulierenden Instanzen und deren Umfeld aus Gutachtern, Beratern etc. braucht spezielle Systeme, bei denen Datensicherheit eine wichtige Rolle spielt.

Partner-Management

Bei Absatzpartnern (Händlern, Distributoren, ...) erfolgt die Beziehungspflege meist innerhalb von CRM, aber andere Partner wie Franchisenehmer, Banken oder Berater können besondere Anforderungen stellen.

Event- und Teilnahmemanagement

Die Planung von Events und Veranstaltungen und die zielgerichtete Verwaltung der Teilnehmer, Sprecher, VIPs, Referenten, Themen, Fachvorträgen, Verzeichnisse und Onlinebewerbung stellt eine klare Anforderung an eine XRM Lösung in diesem Bereich dar.

Subskriptionsmanagement

Abonnements, Mitgliedschaften, Clubteilnahmen, Dauerschuldverhältnisse sind zentrale Bestandteile dieser Lösung. Oft bedarf es der Anbindung an Logistiksysteme und E-Publishing Plattformen (z.B. bei Medienunternehmen und Verlagen), um auf allen Vertriebskanälen die Zielgruppen optimal zu versorgen.

Plagiats-Management

Zu diesem Thema können wir Ihnen keine XRM-Lösung anbieten, aber einen Doktor- und Professortitel wird unsere Lösung in diesem Bereich nicht prüfen und verifizieren. Wir wünschen viel Erfolg und Spaß beim Weiterlesen.

Call-Center Management

Die nahtlose Integration verschiedener Dialer-Technologien (Progressive Dialer und Predictive Dialer), sowie Call-Blending und gezieltes Outbound- und Inbound-Management in Kombination mit der richtigen Adressdatenbank und einem effektiven Kampagnenmanagement sind zentrale Bestandteile dieser XRM-Lösung.

XRM mit ERP geht auch….

Für viele der oben genannten XRM-Zielgruppen hat com:con bereits fertige Lösungen gestaltet. Diese weichen teilweise deutlich von klassischen CRM-Lösungen ab. Oft umfassen die xRM-Lösungen die Integration mit Warenwirtschafts-, Auftrags-, Buchhaltungs- oder ERP-Systemen wie beispielsweise SAP. Com:con verfügt über Integrationswerkzeuge und Softwaretechnologien von der Schnittstelle, über den technischen Konnektor bis zum kompletten Integrationsbaukastensystem. Profitieren Sie von unseren Erfahrungen in der noch jungen Disziplin xRM.

Microsoft Dynamics CRM 2011: How to use Visual Ribbon Editor Tool?

Microsoft Dynamics CRM 2011: How to use Visual Ribbon Editor Tool?

Recently, I was assigned a task of ribbon customization in Dynamics CRM. The requirement was like configure a custom ribbon button on custom entity to call some JavaScript methods. I’ve used the Visual Ribbon Editor Tool. This tool is quite handy and intuitive for ribbon customization. I would like to share my experience here in below post.Before to start with a Ribbon Editor Tool, let’s first configure the web resources (Images and JavaScript file). The images will be used as an icon on a button. Below are 3 different types that CRM supports. Image formats can be PNG, JPG, GIF or ICO.
  1. Small: 16 x 16 pixels
  2. Medium: 32 x 32 pixels
  3. Large: 66 x 48 pixels
Following are the steps to add image to web resource 1. Click Web Resources on left navigation pane in your solution. image 2. Click New to add web resource record. 3. Specify the name and the display name. 4. Select Format of the image. 5. Click browse to select an image path to upload image. 6. Save and publish the newly created web resource record. image Follow the same process to add 32x32 Image. Let’s add a JavaScript function which will be called on custom button click These are the steps to add new Library as web resource 1. Repeat steps 1-3 as above 2. Select Script(JScript) as Type of web resource. image3. Click on Text Editor. 4. Insert below function in Text editor window
   1: function TestRibbon()
   2: {
   3:    alert("Test Ribbon Customization using Visual Ribbon Editor.");
   4: }
image 5. Click ok. 6. Save and publish a web resource Now it’s time to play with Visual Ribbon Editor Tool. Use below link to download it. http://crmvisualribbonedit.codeplex.com/releases/view/75530 Extract the files and Run “VisualRibbonEditor.exe” image 1. Click imageon top – left of the screen named as “Connection Info..” , image 2. Specify the connection details image 3. Once connected, click on image button. image 4. Select the required entity for ribbon customization. image 5. By default, It Loads the ribbon type as Form image 6. If you want to create a new Group then click on “New Group” button. image 7. Specify the ID image Instead of creating new group, you could also add the button on existing group.For that you just need to select any existing group. image In this example I have created a new group. It will be added at the last position on ribbon toolbar. image 8. Click on New Button to insert a button on above group. image 9. Specify the button name. image10. Specify the following details for the newly created button on Details tab.
a. Id: Defines button id. b. Label: Defines caption or display text for button. c. Tooltip: Defines tooltip text for the button. d. Template Alias: Defines how button will be displayed on ribbon with Large, medium, small icon and it also vary depending on the selected Template of group.(step-7)
    • 01(Large) : Defines large image (32x32).
    • 02(Medium): Defines small image (16x16).
    • isv(Medium): Defines small image (16x16).
image
e. Sequence: Use arrow buttons to setup a sequence of custom button. f. 16x16 Image: Name of button image from web resource (16x16).(Created as a web resource earlier) g. 32x32 Image: Name of button image from web resource (32x32). (Created as a web resource earlier)
image 11. Now, click on Action tab shown as below. 12. Click on Add link for specifying the “Function name” and “Library” image You can also use “Display Rules” and “Enable Rules” via this tool which will allow us to configure many criteria for enabling/disabling a custom button. 13. Click on Save button that will import the solution in CRM image image 14. Now you can verify the button on your entity’s form ribbon. image 15. On click of this button you’ll get the JavaScript alert Message. image

http://www.dynamicsconsulting.de/2012/01/28/microsoft-dynamics-crm-2011-how-to-use-visual-ribbon-editor-tool/

http://www.biztom.de

Microsoft Dynamics CRM 2011: How to launch a Dialog on click of custom ribbon button?

Microsoft Dynamics CRM 2011: How to launch a Dialog on click of custom ribbon button?

clip_image006In this post I will explain how to launch a Dialog from Ribbon Button in Dynamics CRM. The requirement is like configure a custom ribbon button on custom entity which will launch a dialog (Process).In this Example, I’ve used custom entity “Flight Route” contains a button called “Test Button” which will launch a dialog. Dialog will select a flight name from the option set and insert new note record on the selected flight route record. Following are steps that demonstrate launch dialog from ribbon button. Before to start with a launch dialog, we need to create 1. Create a dialog for “Flight Route” entity · Select Solution. · Select Processes. · Create new process. clip_image002 · Specify the Process name. · Select Entity. · Select “Activate as” as “Process” and “Category” as “Dialog”. · Configure it as an on-demand process. · For this dialog make sure that it should contain at least one “Prompt and Response” clip_image004 2. Javascript Library as a web resource · Create new Web resource” /javascripts/LaunchModalDialog.js” · Click on Text Editor. Insert below function in Text editor window.
   1: function LaunchModalDialog(dialogId,typeName,recordId)
   2: {
   3: var serverUrl = Xrm.Page.context.getServerUrl();
   4: recordId=recordId.replace("{", "");
   5: recordId=recordId.replace("}", "");
   6:
   7: dialogId=dialogId.replace("{", "");
   8: dialogId=dialogId.replace("}", "");
   9:
  10: // Load modal
  11: var serverUri = serverUrl +'/cs/dialog/rundialog.aspx';
  12:
  13: var mypath =  serverUri +'?DialogId=%7b' +dialogId.toUpperCase()  +'%7d&EntityName=' + typeName+'&ObjectId=%7b' +recordId+'%7d';
  14:
  15: // First item from selected contacts only
  16: window.showModalDialog(mypath);
  17:
  18: // Reload form.
  19: window.location.reload(true);
  20: }
In above JavaScript method I have used 3 different parameters. dialogId is id of the dialog we need to open from button (String Parameter) typeName is entity’s logical name (String Parameter) recordId is entity’s current record id form where the dialog will be launched. 3. Get the Dialog Id Value · Once you have created new dialog. · Click Start Dialog. clip_image002[4] · That will open new dialog window. · Get the dialog id value from the URL(Ctrl+N) and note it down somewhere, to use the same in coming steps. clip_image003 4. Insert custom button on entity’s form using Visual Ribbon editor. ( To create a new button on ribbon, you can refer below link---) http://ankit.inkeysolutions.com/2012/01/crm-2011-how-to-use-visual-ribbon.html 5. After inserting a new custom button, follow the below steps to add JavaScript function with parameters · Click on Add link for specifying the “Function name” and “Library” a. Specify function name and library name. b. Click on “Add” link as shown below. It will open a list of parameter types which you can pass with the function. clip_image001 As discussed earlier (refer step 2) we need 3 different parameters to call JavaScript method. Pass those values as described below. The first parameter will be the value which we have noted in step 3. The second one is entity name. And the last one is the record GUID. clip_image002[6] · Clicks on save. It will save and publish the changes on CRM server. clip_image003[4] 6. Now you can verify the button on your entity’s form ribbon. clip_image005 7. On click of this button your dialog will be launched. clip_image007 8. Select Flight Name from the list and click next and then Finish on the last screen. clip_image009 9. At the end, a note will be generated on Flight Route entity clip_image011

http://www.dynamicsconsulting.de/2012/01/28/microsoft-dynamics-crm-2011-how-to-launch-a-dialog-on-click-of-custom-ribbon-button/

http://www.biztom.de

Freitag, 27. Januar 2012

Dynamics CRM 2011- Setting Multi-Level Categories Against a Record Codelessly

Nice summary from Leon:

This is a bit of a variation on a theme I did a while ago when I talked about using filtered views for address population. In this case I wanted to explore if we could set up a subject-like hierarchy and then use filtered lookups to enter category levels easily against an account. It turns out it works quite nicely. image

Essentially, you set the first category from you list of top level categories. Then, you set level 2 which will automatically adjust to only the valid values, based on the category 1 value. Finally, you set the category 3 value, based on the value in category 2.

So How Do I Set This Up?

First of all, we create a new Category entity. image In this case I have stripped everything out; there are no notes, activities etc. and the record is organization owned. Next I set up a recursive 1:N relationship so that for a given category I can set an infinite number of category levels, each with an infinite number of categories. image The main points of interest here are the changing of the display name to ‘Parent Category’ and the changing of the display option to ‘Use Custom Label’ so I can refer to the next level down as ‘Sub Categories’. On the category form I also add the parent category lookup, created as a result of this relationship. image Finally, I add three lookups to the account form so I can add three levels of category to my account record. image Finally, I populate my category hierarchy. Unfortunately, there is no nice tree view to employ so I fill it up in pretty much the same way I would if I was populating, for example, an account hierarchy. My advice would be to do it via a data import.

Where’s The Magic?

So far this will just let us pick three category values from all category values and add them to an account; not exactly exciting. The trick comes in adjusting the filters on the lookups. For category 1, we set up a new system view called Level 1 Categories. This just shows those categories with no parent category i.e. they are at the top of the tree. image We then go to our first lookup and force it to only use this view for its values. image The result is when we click the lookup only the values in the top level appear. image For the other two lookups, we use the Related Records Filtering properties of the lookup. For the category 2 lookup, we set it as follows: image The setup for the category 3 lookup is identical, except we replace ‘Category 1 (Accounts)’ with ‘Category 2 (Accounts)’. This means, clicking on, say, the category 2 lookup shows only the valid values, based on the selection for category 1. image And that is it. With all that set up, all the user has to do is pick the category 1 value and the category 2 values will be auto-filtered. Once the category 2 value is selected, the category 3 values will filter.

Why Not Use Subjects?

Subjects are nice in that they can be linked to an account with a 1:N relationship and they have a tree view lookup. However, they do not, at this time, play nicely with lookup filters. If you add a subject lookup to an account form and try to filter its values, based on the selection in another subject lookup, CRM throws an error. This has been reported and, I am sure, will be addressed in a future roll-up.

Conclusions

If you have a multi-level hierarchy you wish to apply to a record, such as an account, and you are looking for a reasonably user-friendly way to capture the information this is not such a bad solution and does not require code or Silverlight web resources. While my first choice would be the subject entity, because of its friendly tree view, if this is not practical, this solution provides an alternative approach which supports any number of category levels.

http://www.dynamicsconsulting.de/2012/01/27/dynamics-crm-2011-setting-multi-level-categories-against-a-record-codelessly/

http://www.biztom.de

Mittwoch, 25. Januar 2012

Neues Social Collaboration-Tool – Microsoft Dynamics CRM-Aktivitätsfeeds

Ihr Unternehmen hat vor kurzem ein Upgrade auf die neueste Version von Microsoft Dynamics CRM Online erhalten. In dieser Version wurden mehrere vorhandene Features durch Bereitstellung von zusätzlichen Business Intelligence Funktionen, erweiterten Dialogfunktionen und einer flexiblen Erkennung von Duplikaten aktualisiert.

Darüber hinaus wurde ein attraktives neues Social Collaboration Feature eingeführt, um Unternehmen und Einzelpersonen neue Formen der Kommunikation zu ermöglichen: Microsoft Dynamics CRM Activity Feeds.

Activity Feeds ermöglichen Benachrichtigungen in Echtzeit und die schnelle Weitergabe von Informationen über kurze Nachrichten. Auf diese Weise sind Sie stets auf dem Laufenden über wichtige Aktivitäten in Zusammenhang mit Personen, Firmen, Kontakten, Leads und weiteren für Sie wichtigen Dingen. Um sich mit dieser neuen Funktionalität vertraut zu machen, sehen Sie sich bitte das folgende Kurzvideo an.

Microsoft Dynamics CRM Activity Feeds müssen heruntergeladen und in Ihrer Microsoft Dynamics CRM Online-Anwendung installiert werden. Bitte wenden Sie sich an Ihren CRM-Administrator, um dieses kostenlose neue Feature zu nutzen.

More than 100 Dynamics CRM 2011 videos dedicated to Microsoft Dynamics CRM 2011

More than 100 Dynamics CRM 2011videos dedicated to Microsoft Dynamics CRM 2011

Very nice summary of CRM Videos ;-)

http://slowxrm.blogspot.com/2012/01/more-than-100-videos-dedicated-to.html

Sonntag, 22. Januar 2012

Lessons Learned Migrating Data to Microsoft Dynamics CRM 2011


Lessons Learned Migrating Data to Microsoft Dynamics CRM 2011

When companies using Microsoft Dynamics CRM 3.0 or 4.0 move to Microsoft Dynamics CRM 2011, there are some decisions to be made around how to move your current environment and data to CRM 2011. If you have an on premises installation, you can install CRM 2011 on premises and upgrade your MSCRM database to CRM 2011. This will bring in all of your customizations and data from CRM 4.0.
Upgrade or Migrate?
In some cases, a direct upgrade may not be practical, and you may want to selectively migrate data:
  1. If your existing data is not clean, you may want to start clean with 2011 and selectively migrate just the good data. As an example, consider if at one time you used contracts in CRM 4.0, but you changed your configuration to manage contracts in a different way—you may not want to bring in the legacy contract data if it no longer fits your current approach.
  2. If your environment is older than CRM 4.0, you may want to do a migration. if you are on CRM 3.0 or CRM 1.2, you cannot directly upgrade to CRM 2011—you have to do incremental upgrades. Say you have CRM 1.2, to upgrade you would need to upgrade to 3.0 on your 1.2 server, then install crm 3.0 on a Windows 2003 server with SQL 2005 and upgrade to CRM 4.0, then install CRM 2011 on a 64 Bit CRM Windows 2008/SQL 2008 environment and import and upgrade your 4.0 environment to 2011. The further away you are from 4.0, migration of the data becomes more practical then upgrading, given that there is potential risk of the process failing at each point of the upgrade.
  3. If you are moving from CRM on premises to CRM Online, you will need to migrate your data. There is currently no automatic upgrade process for Dynamics CRM on premises to CRM Online. You can import customizations from CRM on premises to CRM Online; however, moving data still requires a migration.
Migration Options
If you decide to do a data migration to CRM 2011, there are a couple of options to consider
1. Data import utility: CRM 2011 includes a data import utility, and it can take data exported from flat files and import them into CRM 2011. This tool is much improved from CRM 4.0, and it now handles larger data files and improved validation for data types, so you can more reliably import data. Using the tool you can easily import your accounts, contacts, opportunities, and other standard or custom entities.
There are some areas that are not accessible via the import utility. Some of these areas include:
  • Activity attachments
  • Certain parts of the product catalog
  • Activity parties for e-mails with more than one recipient
  • Notes with attachments
  • Contracts
  • If your data is mainly core entities like accounts and contacts, you should be able to use the import utility; however, if you have many activity parties or attachments, the import utility may not be able to completely migrate your legacy data.
  • User mapping for ownerid and other user lookups can be problematic, especially if names are different in the new version, or if old users no longer exist.
  • In some cases, you will want to update records after they are imported. For example, Accounts and Contacts can present a classic “chicken and egg” scenario. Contacts reference accounts, and accounts reference primary contacts. If you insert companies first, you won’t be able to populate the primary contact on the company record before the contact is created. You will need to insert the companies, insert the contacts, and then come back and update the company to set the primary contact. The import utility can update records if the GUID is in the first column of your csv file; however, this can require a bit of manual work to update the existing records.
2. Scribe Insight: Scribe is the leading vendor for CRM data migrations and integrations. Scribe provides an adapter to connect to CRM 2011 as well as earlier versions of Microsoft Dynamics CRM, and can easily load data into entities that cannot be loaded with the standard import utility.
We have migrated several of our clients as well as our internal environment from CRM 4.0 to CRM 2011 online. As part of these migrations, each had data in entities that could not be migrated using the standard import utility. For these migrations, we chose to use Scribe.
As referenced in my earlier post, Scribe includes an auto-map feature that can simplify the mapping of the data for your import. Just specify the legacy environment as your source, select the new environment as your target, and auto link by name.
There are a few things you won’t want to auto map:
  • userid—chances are that your user id’s will be different in the target than they are in the source. I did a dblookup formula in Scribe to translate the fullname of the user in the legacy system to the userid of the user in the new system.
  • Transactioncurrency—unless you have more than one currency, you can leave this field blank.
  • AddressID—you will see for each address on accounts and contacts a field called addressid (Address1addressid and address2addressid). Do not auto map these.
  • Statecode and statuscode—when I brought in my accounts, contacts, e-mails, appointments, etc, I did not map the statecode and statuscode fields. The reason is that if you set a record to be inactive, you cannot relate other records to it. There is a good chance that you will have activities, notes, contacts, or other records that are linked to inactive records. By leaving them active you can establish all relationships, then run a simple update dts at the end of the process to close out the inactive records
By doing this, I was able to quickly import the records from my on premises CRM environment to CRM Online.
Limitations
There are a handful of limitations that I found through this process that Scribe and the import utility cannot import. These are mainly some deeper areas of CRM that are not exposed through the API.
  • Quick campaigns are entity bulkoperation, and they cannot be imported by Scribe or the import utility. This also means that activities like email where the regardingobjectid is set to a bulkoperation record will also not be able to be imported
  • Contracts have limitations around how they can be imported—they can only be imported in draft status, and you cannot associate other records, such as cases with them if they are not Active status and have an expiration date in the future. Manual intervention will be required to import cases and set them to a state that can be updated.
  • When importing opportunities, the actualclosedate will be set to today’s date, even if you try to load another date to that field. The recommendation is after you update the status of the closed opportunities to Closed, run an update dts against opportunities updating the actualclosedate to the correct date.
  • If you are reading from your legacy CRM database as a SQL or ODBC connection, be aware that if there are any ntext or long varchar fields, they must come last in your source query. If they don’t, the field will appear null and data will not come across for these fields. This is especially applicable for things like activity description fields. If your entity has more than one long varchar field, you may need to run subsequent update dts with the other long field listed last in the source query. An alternative approach is to install the new CRM 2011 adapter and point the old adapter to your legacy CRM system as your source, and point the 2011 adapter to the new CRM environment as your target. The crm adapter does not have the long varchar limitation.

Lessons Learned
In an effort to help others learn from my mistakes, here are some of my lessons learned after a couple of migration upgrades:
1. Determine which entities are being used. The easiest way to do this is to look at your SQL MSCRM database. View tables by number of records—this will help you determine where data is, and where it is not.
2. Determine the order—It is crucial that you import your data in the right order, so that data referenced in lookup fields is present when the record is imported. For example, you need to have your accounts in before you load your opportunities. As a general rule, have any accounts, contacts, opportunities, quotes, orders in before you load cases, and load activities last.
3. Don’t close cases or other records until all activities have been loaded, and don’t close activities until all activityparties and attachments have been loaded.
4. Activityparties are probably the most difficult thing to import. If you don’t know, activity parties are the people and companies associated with activities like e-mails in the to: field or the appointment in the requiredattendee field.
  • If you have deleted any activities from your crm system, there is a good chance that some activityparties will be left behind.
  • When you create an e-mail and track it in CRM, if one of the recipients is not in CRM as a contact, account, or user, it will create an activity party not linked to any partyid in CRM. These records cannot be imported.
  • When you create an activity in CRM, activity parties are created for the sender, the recipient, but also the owner and the regarding of the activity. When you import the activities, these activityparties will automatically be created. If you then import the activity parties including these parties, some rows will fail telling you that they already exist.
  • Activityparties cannot be easily deleted.
To avoid these headaches, set up your activityparty dts source query to inner join activityparty to activitypointer to filter out any activityparties linked to an activity that was deleted from the system. Also, filter out where activitypartyid is null and activitypartytypecodemaskname = “Regarding” or “owner.” This will cut the list down to just the legitimate activityparties, and save much time.
Remembering that activityparties can’t be deleted, if you have several hundred thousand activityparties in your database, you will want to break this process up into smaller chunks, maybe by year. That way you minimize the chance of the job failing, and having to re-load any data. You can also run them simultaneously and load the data faster.
Once the activityparty load was complete, I then ran a cleanup dts that joined the activityparties where partyid is null to contacts on addressused = emailaddress1. This successfully matched most of the unmatched activityparties, and I loaded setting partyid to contactid.
5. Users: If you have been using CRM for several years, there is a good chance that there are users in your system who have been deactivated, and that those users own records, such as activities. Keep in mind that to assign a record to a user, the user must be active. So if you have a former employee named Bob Smith, if you want to import activities and assign them to Bob, you will need to temporarily have his user record active in the new system. This means creating records for users who are no longer at the company.
For our migration, we created users for former employees. Given that CRM Online uses Windows Live ID for authentication, you might think this means that you have to set up legitimate Windows Live ID’s for each old user; however, this is not the case. You can create users using any made-up address, and save the user without sending an invitation to that address. You can then assign records to the user, and then disable the user record.
An alternative approach is to create a generic user called “former employee” and have Scribe assign any records owned by a former employee to this user. While this approach is faster, it may detract from visibility to who created the record.
6. Do not load directly to the activity entity. You have to load to the individual activity type entities—email, appointment, phonecall, or task.
Keeping these best practices in mind, you can quickly migrate your data from CRM 4.0 to CRM 2011 Online.

Handling Rejected Record Rows from Scribe


Handling Rejected Record Rows from Scribe

So you have a recently installed Scribe Version 7.0.1.15701 on a server. You’ve built some DTS jobs and everything looks to be importing and translating smoothly. THEN – one of your jobs throws up a report like this:
image
12,555 successful records loaded! 6 record rows failed. “Hmm? I wonder why those records failed?”, you ask yourself. - and so starts your exploration.
Enabling Rejected Rows in Scribe:
Before you can review the rejected rows, you must first tell Scribe that you want it to put the rejected records into a table. This is done by going to Run –> Edit Settings –> Rejected Source Rows (tab) –> Output Rejected Source Rows (checkbox). You can then tell Scribe where you want this “Reject Rows” table. Additionally, you can specify whether Scribe should create a new table for each job that generates “Reject Rows” – or if you want a new table generated. Generally speaking, you don't want a bunch of extra rejected rows tables for the same job, so I would recommend selecting the option to re-use the same table. I’ve defined it this way in the following screen shot from Scribe:
image
Querying Rejected Rows:
There can be any one of a 1,000 reasons why a particular row in a table fails to import. In my particular situation, the pick-list value that I had on my SELECTCASE statement turned out to be incorrectly numbered, which was throwing out the select 6 rows. But before I made that conclusion definitively, I wanted to see the data. For users of MS SQL Server 2005 or 2008, reviewing these rows is a fairly straight-forward process. Executing a query against a table in MS SQL Server is done through the Query Editor Window. One option is to Right-Click on the table and select Script Table As –>SELECT To –> New Query Editor Window, as depicted in the following:
image
Once you have the query set up appropriately in the Query Editor Window, simply select “Execute”. The rows of data can then be seen in the results tab below the Query Editor Window.
No Microsoft SQL Server Tools?:
My particular server where Scribe was located did not have MSSQL Server 2005 or 2008 tools installed – so I couldn’t run a simple SQL query against the REJECT_CONTACTMIGRATION table. Frustration set in. I didn’t have a free copy of Microsoft SQL Server 2005/2008 lying around. What can I do? Luckily, there was a solution.
As it turns out, Microsoft has a free product for just such a situation: Microsoft SQL Server Management Studio Express (MSSMSE). From the website (link): (Note, this link is for MSSMSE 2005. The 2008 version can be found here: link)
Microsoft SQL Server Management Studio Express (SSMSE) is a free, easy-to-use graphical management tool for managing SQL Server 2005 Express Edition and SQL Server 2005 Express Edition with Advanced Services.”
Download the file appropriate for your install and MSSMSE will connect to the Scribe Internal DB automatically. You should see the following once you have installed the application and launch it:
image
In this case, it is connecting directly to the Scribe Internal database. Once connected, you can browse directly to the table you want to review:
image
Once you find the table you want to query, simply right-click on the table and select “New Query Editor Window”. This will populate the SQL Query Editor window with the appropriate SQL SELECT statement for the table you want. Execute the query and then you can view the rows in the table.
Once I identified the problem, I simply modified the DTS to include a filter for records with my reject record condition; re-ran the DTS; and my 6 lost records were loaded successfully! Victory!
Other Scribe topics can be viewed on Customer Effective’s Scribe Blog, located here.
Lastly, another topic on our forums enables you to create a workflow to surface Scribe errors and monitor them directly into CRM, which can be very helpful. This is located here.
Good luck with your CRM projects!

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Free Samples By Mail