Dynamics CRM 2013 – Access Denied “SecLib::AccessCheckEx failed” – Error & Resolution #MSDynCRM


It’s been a long time since I had blogged anything out here. Partly due to working on various projects simultaneously.

This post is about one CRM issue faced by one of our CRM users. He was trying to qualify a lead and it was not happening. Following error message was thrown:

Screen Shot 2014-08-06 at 12.40.12 PM

Following is the log file, which explained in detail about this issue:


<s:Envelope xmlns:s=”http://schemas.xmlsoap.org/soap/envelope/”><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring xmlns:xml=”http://www.w3.org/XML/1998/namespace&#8221; xml:lang=”en-US”>SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 919e14d1-6489-4852-abd0-a63a6ecaac5d, OwnerId: 3c8fcb46-39f6-4618-80eb-9c12f9f9a021,  OwnerIdType: 8 and CallingUser: 610b8b50-46e6-e311-80bb-00155d071101. ObjectTypeCode: 4703, objectBusinessUnitId: 3271f8a6-83d8-e311-80ba-00155d071101, AccessRights: ReadAccess </faultstring><detail><OrganizationServiceFault xmlns=”http://schemas.microsoft.com/xrm/2011/Contracts”><ErrorCode>-2147187962</ErrorCode><ErrorDetails /><Message>SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 919e14d1-6489-4852-abd0-a63a6ecaac5d, OwnerId: 3c8fcb46-39f6-4618-80eb-9c12f9f9a021,  OwnerIdType: 8 and CallingUser: 610b8b50-46e6-e311-80bb-00155d071101. ObjectTypeCode: 4703, objectBusinessUnitId: 3271f8a6-83d8-e311-80ba-00155d071101, AccessRights: ReadAccess </Message><Timestamp>2014-08-06T08:42:07.844046Z</Timestamp><InnerFault><ErrorCode>-2147187962</ErrorCode><ErrorDetails /><Message>SecLib::AccessCheckEx failed. Returned hr = -2147187962, ObjectID: 919e14d1-6489-4852-abd0-a63a6ecaac5d, OwnerId: 3c8fcb46-39f6-4618-80eb-9c12f9f9a021,  OwnerIdType: 8 and CallingUser: 610b8b50-46e6-e311-80bb-00155d071101. ObjectTypeCode: 4703, objectBusinessUnitId: 3271f8a6-83d8-e311-80ba-00155d071101, AccessRights: ReadAccess </Message><Timestamp>2014-08-06T08:42:07.844046Z</Timestamp><InnerFault xmlns:i=”http://www.w3.org/2001/XMLSchema-instance&#8221; i:nil=”true” /><TraceText xmlns:i=”http://www.w3.org/2001/XMLSchema-instance&#8221; i:nil=”true” /></InnerFault><TraceText xmlns:i=”http://www.w3.org/2001/XMLSchema-instance&#8221; i:nil=”true” /></OrganizationServiceFault></detail></s:Fault></s:Body></s:Envelope>


Upon checking those terms on CRM forums and blogs, following post, by Simon Harvey of Rule30, helped me on how to approach this issue: Fixing a SecLib::AccessCheckEx failed error in CRM.

My user’s issue was that he was not having access to read “Process” at the organization level. I had previously set it up to “User” level. After changing the access level as follows, he was able to qualify leads without any issues.

Screen Shot 2014-08-06 at 1.28.24 PM

 

Most important thing here is that when you query your ObjectTypeCode and corresponding Object Name for code 4703, it will return the name as WorkFlow. Note that on Security Role setup, it’s nothing but Process.

Happy troubleshooting.

VAIDY

Simulate DEX_ROW_ID in a SQL View Using ROW_NUMBER() – #MSDYNGP


I have a requirement in which I have to access a SQL view from within my customisation dictionary, in order to create a custom lookup for users to select a value based on an Extender form and an Extender lookup. Easiest option is to create an Extender view (which in turn creates a SQL view for us).

Now, this is the view that I am suppose to refer to from my custom dictionary. Dexterity allows us to refer to any SQL object by simply create a TABLE definition and mention the SQL object (table or view) name as the physical name.

Dex View

Everything looks perfect till you actually see below error messages at runtime:

Dex View - Error 1

Dex View - Error 2

Error message is quite obvious; you do not have DEX_ROW_ID in that SQL view that you are referring to. Every single Dexterity table must have DEX_ROW_ID at the backend. It cannot afford to not have one.

So how am I going to resolve this? By simply adding a record number dynamically to the SQL view created by Extender. How to do that? By adding the T-SQL function ROW_NUMBER(). This is how I achieved it:

ROW_NUMBER USAGE

 

Definition of ROW_NUMBER() can be found here: ROW_NUMBER (Transact-SQL).

A simple yet powerful SQL function has given me the power to do what I wanted in no time. Oh, and my custom lookup referring to this view is working like a charm. Users are happy and so am I.

VAIDY

OFF-TOPIC: Change Power Button Behaviour in OS X Mavericks


Whenever I accidentally press the power button on my MacBook, it switches off the display. This behaviour change happened from OS X Mavericks (10.9).

Earlier it used to let us choose with following options:

Power Button Options

OSXDaily.com has got a workaround for this trouble. It does not straightaway enable these options the moment you press the power button, but it prevents OS X Mavericks from switching the display off, which is far more relieving.

To invoke the above power button options: press power button continuously for a second or two.

Thanks OSXDaily.com.

VAIDY

Support Debugging Tool (SDT) – Build 18 Released #MSDYNGP


Amidst crazily busy schedule that I have at the moment, this one must be blogged.

Support Debugging Tool (SDT) Build 18 has been released.

I have a fair idea about how much efforts had gone in. Knowing that, list of new features and list fixes this build contains, I think this is one of the biggest releases yet for SDT.

Just stop your work already and download it from provided links on SDT portal.

VAIDY

OFF-TOPIC: Motivating Employees a Choice of Promotion or Prevention – TLNT via @OfficeVibe


This post is so very different, even if it’s an off-topic one, from what I usually post on my blog. But considering the fact that I have been witnessing some of the worst things that directly relates to this topic, I think it’s quite timely.

I read this post, Motivating Employees Can Simply Be a Choice of Promotion or Prevention, posted on TLNT – The Business of HR, about how employees get motivated; either a promotion or a prevention. Thanks to @OfficeVibe to share this post.

To just brief you on this, an employee can get motivated in a typical corporate environment to perform well: to get promoted and climb up the corporate ladder OR to play it safe and prevent undesired. Both have it’s own pros and cons.

In my opinion, at times, promotion oriented motivation could easily lead one to become power-hungry and become selfish in achieving his/her goals that are totally self-centred. It easily poisons one’s attitude to put his/her organisation’s goals down. If this person is at middle level in an organisation hierarchy to whom people report, it could get worser than you might imagine. He/she becomes the biggest threat to an organisation than even the organisation’s competitors. I have witnessed this big time in the very recent past. So that makes this topic so relevant to me personally.

In a stark contrast, prevention oriented motivation could easily lead one to become completely oblivious unless his/her contribution is duly noticed by management and reward him/her without wasting any time. This person becomes oblivious when management fails to notice and recognise. Also, this approach may quite easily make the management to believe that such person would work and contribute irrespective of whether he/she is recognised and rewarded or not.

While promotion oriented approach may backfire at an organisation’s health, prevention oriented approach may backfire at the individual’s career and growth.

Big question hanging in front of me: How To Strike A Balance Between Both?

Do not hesitate to share your thoughts in the comments section.

VAIDY

The Challenge of Making ERP Systems More Configurable


Vaidhyanathan Mohan:

An interesting post that I read on Ventana Research by Robert Kugel.

Originally posted on :

In the wake of the past year’s usual crop of failed ERP implementations, I’ve read a couple of blogs that bemoan the fact that ERP vr_ERPI_01_implementing_new_capabilities_in_erpsystems are not nearly as user-friendly or intuitive as the mobile apps that everyone loves. I’ve complained about this aspect of ERP, and our research confirms that ERP systems are viewed as cumbersome: Just one in five companies (21%) said it is easy to make changes to ERP systems while one-third (33%) said making changes is difficult or very difficult. Yet as with many such technology topics, addressing the difficulty in working with ERP systems is not as straightforward as one might hope. ERP software vendors must make it easier, less expensive and less risky for customers to adapt the systems they buy to their changing business needs. To do this, vendors must design products to be more configurable. The goal should be that…

View original 1,178 more words

OFF-TOPIC: Batch Print Multiple Files in Mac OS X Without Opening Them – Jesse Chapman @jessechapman


One of my users use Mac OS X Mavericks and his major concern was to batch print files in a folder without opening each one of them. He somehow (?!?!?!) trusted my expertise in Mac OS to find a solution.

My best friend, Google, came to my rescue again. I got this gem of a post by Jesse Chapman (sorry Jesse, I tried getting a profile page of yours, but could only get your twitter page) on his blog wait, really? that saved my day.

Read it here: How to batch print multiple files in Mac OS X without opening them.

Though the post is for Mac OS Snow Leopard, it still works charmingly on Mavericks. Thanks a bunch, Jesse.

Upside; I am now considered an expert in Mac OS by at least one Mac user in this world :-DDownside; I may get more support requests with Mac OS :-P.

But hey, I am not even complaining.

VAIDY