Monday, December 28, 2009

CRM Relationship Behavior

The blog will help you in the scenarios when you requires to move records from one user to another user with some conditions. Like in scenario one of your sales rep leave the organization and you need to assign his records to the newly joined rep but you also need to keep the history of this old rep (completed work like activities etc) in such scenario you need to check what type relationship behavior is applied in your entity relationship.

The relationship behavior feature of CRM handles action output as per specified settings. Like you can decide major actions Assign, Delete, Share to be handled properly. Say you assigned accounts from one user to another user and in this action you also need to assign all active calls to new user but not need to assign completed call then in such scenario you need to provide relationship behavior of Account-Phone Call entity to Configurable Cascading and set apply rule as “Cascade Active” for Assign action. This will apply changes as per discussed above.

The different type of behaviors provided are,
o In a parental relationship between two entities, any action taken on a record of the parent entity is also taken on any child entity records that are related to the parent entity record. if you delete a record in the parent entity, the related child entity records are also deleted; or if you share a parent entity record, the related records from the child entity are also shared. All option are disable for Parental relationship
o In a referential relationship between two entities, you can navigate to any related records, but actions taken on one will not affect the other
Referential, Restrict Delete
o Actions taken on parent will not affect child record but parent record cannot be deleted till the child record exists. i.e you cannot delete a record when related records exist.
Configurable Cascading
o You need to specify your setting here.

The type we are interested here is “Configurable Cascading”. It allows you to decide what type of behavior we need to apply.

The useful details of different cascading rules are (note here me is referred to the user on whom you will perform actions)
• Cascade All: Perform action on all of my child records. Like if assigned my account to another user then all my activities, orders, invoices etc are assign to new user including open, completed and other user owned records
• Cascade Active: Perform action on only my active child records
• Cascade User-Owned: Perform action on all my child records which is owned by me
• Cascade None: do nothing to my child records
• Remove Link: remove link from child record
• Restrict: Applies to Delete. The delete is not allowed if there are other entity instances that reference the ID of the entity instance being deleted.

Friday, December 18, 2009

Send bulk mails from campaign and quick campaign using Mail Merge feature

The blog will cover the process on how to send bulk emails using Quick Campaign as well as Campaigns with the help of Mail merge document. The Mail merge document allows ability to create your own word document in which you can format the mail content as per your requirement easily. The most useful feature of using mail merge is you can add images in the mail which you can not directly add in CRM mail.

Send mail merge email using quick campaign
You can create quick campaign from marketing list/CRM view you can create it using following steps,

Click on toolbar button “Create Quick Campaign”

Now follow the steps and on selection of activity type select the “Email via Mail Merge” option. (Note the below option will only be viewable from outlook client machine i.e. where outlook client is installed)

Here select the mail merge document. Open word document and follow the steps. You can update the content of the document if you need. Once all the steps completed send mail from “Electronic mail” option this will send mail to the members present in Marketing list.

You can create activity in CRM by choosing the option from below screen,

In quick campaign you can track the sent mails and tracked response from the clients just one another below as shown in below screen shot.

Send mail merge email using campaign
Here you need to create campaign activity against campaign which should include target marketing list from campaign to distribute the mails. Note while adding marketing list in campaign you will be prompt that add this marketing list to undistributed campaign activities. Select this option.

On campaign activity choose Channel as “Mail via mail Merge”, now once the campaign activity created you can click on toolbar button “Distribute Campaign Activity” to send the mails. (Note the distribute campaign activity feature is only available in outlook client).

On click of button you will shown the pop up to select the mail merge document and you need to follow same steps to send mail and create activity in CRM.

The main difference in campaign and quick campaign is when you send mail from campaign activities it allows you to select different type of customer i.e. accounts, contacts, leads but in quick campaign you can create mails to single type of customers.

Wednesday, December 9, 2009

CRM data dictionary

To check the CRM data dictionary you can browse to


ServerName: Name of the server with port number.
OrganizationName: Name of the organization.

The data dictionary lists out both system and custom entities and attributes defined for the organization.

If you click on the icon in the Definition column, you can view all the attributes in the selected entity. At the top you can view ownership type of the entity, its type code, whether it is customizable, and if it is valid for Advanced Find.

In the next table we can see each attribute with various information as attribute type, length, valid for create, read, update and so on.

Also we can see the relationships of the current entity. It give a look of relationship name, condition, relationship type etc.

Monday, December 7, 2009

How to purge Log file of CRM database

Over a period of time, you will notice that the size of the transaction log file has grown exponentially and it has now used up most of the free disk space available on the drive.

Transaction log keep a track of all updates being made to the database tables and is required for recovery or restore of the database. So it is important that we do not lose the transaction logs. However we can safely purge the logs for the transactions have been completed successfully.

To free up the disk space used by the transaction log you need to perform the below steps.

1. Take a backup of the transaction log.
2. Shrink the log file.

Take a backup of the transaction log.

You can either execute the following statements through the browser

You need to first create a backup device
EXEC sp_addumpdevice 'disk', 'AdvWorksData',

Next backup the entire database first before you backup the log file
-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO AdvWorksData;

Now that a backup has been created of the entire database, you can back up the transaction log file.

-- Back up the AdventureWorks log.
BACKUP LOG AdventureWorks
TO AdvWorksLog;

Note: It is important that you take a backup of the database before you take a backup of the log file as otherwise you will receive the following error.

Msg 4214, Level 16, State 1, Line 1
BACKUP LOG cannot be performed because there is no current database backup.
Msg 3013, Level 16, State 1, Line 1
BACKUP LOG is terminating abnormally.

Also you need to make sure that the Recovery model of the database is set to “Full”. By default the recovery model of CRM database is Simple.

Or through the UI, backup the log file using the following steps

Right Click dataset --> Backup…

Select backup type as Full and take a complete backup of the database.

Once this backup completes. You now change the backup type to Transaction Log and in the options tab check for the following

Shrink the log file.

You can run the following statements

DBCC SHRINKFILE(mscrm_log, 2)

Mscrm_log is the logical file name of the Log file created for CRM database.
2 – is the target size specified. However if the transaction log has data more than the 2 MB it will release all the unused space to the minmum space that is required to store the log information.

Through the UI, you can follow these steps.

Right Click dataset --> Shrink --> Files…

Select the log file and choose the Release Unused space.

Thursday, December 3, 2009

How to Create "My views" for custom entities

The Account entity in CRM comes along with pre-defined views for My Active Accounts.

However, when you create a custom entity you will notice that by default only two views are created “Active” and “Inactive”. If you would like to add “My Active” and “My Inactive” views for custom entities, you would need to create them yourself by customizing the entity.

To create a “My Active” view in custom entity just follow the below steps:

Here we take an example of “Test” entity.

Step 1: Navigate to Settings --> Customization --> Customize Entities --> Select the entity and navigate to the Forms and Views Option

Step 2 : Enter the name of the View

Step 3 : Here you have to edit the filter criteria.

Set the following conditions
• owner Equals to Current user
• and status is equals to Active

as we are creating “My Active Test” view. You can give your Conditions according to the view

Once the criteria has been specified you can edit the columns to include the columns that you want displayed in this view.

Step 4: Save this view and publish the entity.
The My Active Test View will now be available similar to the “My Active Accounts” view.