CBM Cash Receipt AA Journal Issue & Resolution


Couple of days back, a user reported an issue. When she tried to open CBM Cash Receipts window, following message appeared:

Screen Shot 2014-11-25 at 5.48.52 PM

For all other users, when they posted any Cash Receipt, an Analytical Accounting Journal report would open with some entries on it; particularly with 5 cash receipts. User, who reported the issue, confirmed that the records shown on AA journal report were posted by her and only after posting them, the above error message appeared.

Since the report is AA journal, I first checked the AA Sub Ledger tables (AAG20000 series) and confirmed that the entries shown on the AA journal report are present without any issues. If I get rid of the above error message, things would be normal and this particular user can continue with her entries. Task on hand is to find out AA journal report tables and see the stuck/orphaned records and clear them.

Issue: Records got stuck on AAG50000 (AA Sub Ledger Report Header), AAG50001 (AA Sub Ledger Report Distribution) and AAG50002 (AA Sub Ledger Report Assignment) tables.

Resolution: Remove them. Simple. What you MUST note here is that all records (including genuine ones) would be present on these tables. You MUST note down AA Sub Ledger Header ID of the ones that are stuck and use below query to delete records.

DELETE AAG50000 WHERE aaSubLedgerHdrID IN (<aaSubLedgerHdrID>,<aaSubLedgerHdrID>,...) 
DELETE AAG50001 WHERE aaSubLedgerHdrID IN (<aaSubLedgerHdrID>,<aaSubLedgerHdrID>,...) 
DELETE AAG50002 WHERE aaSubLedgerHdrID IN (<aaSubLedgerHdrID>,<aaSubLedgerHdrID>,...)

Replace <aaSubLedgerHdrID> with respective AA Sub Ledger Header ID of the stuck records.

NOTE: Always take a backup of records before you delete.

VAIDY

OFF-TOPIC: Create a Reminder From Mac OS X Mail.app Emails


I have been looking for a solution/workaround to get this functionality on my Mac’s Mail.app. The issue is that Apple’s Mail.app do not have the simple yet handy feature of creating a reminder out of an email, like how Outlook does.

But I did not want to get out of Apple’s ecosystem, that comprises of Mail, Reminders and iCal. This is basically a great combination.

Searching for a solution, I stumbled upon this article by Michael Kummer; How to create a Reminder from an E-Mail.

I am not that good at Apple Script. But this one is brilliant and does what I need precisely. Till apple adds this functionality out-of-box, this script will do.

As a side-note, check out his blog for more informative and interesting posts. His bio: Michael Kummer.

Thanks Michael for this detailed post.

VAIDY

David Musgrave Leaves Microsoft – Launches Winthrop Development Consultants


Yes and it’s not an April Fool post. It’s October, for god’s sake.

This morning, David Musgrave announced his departure from Microsoft officially to all of us and reasons behind this move. Sad to see Microsoft’s recent strategies that includes (but not limited to) removing Dynamics GP certifications, laying off 14% of total workforce, etc.

Good News: he has relaunched Winthrop Development Consultants, which was earlier Winthrop Dexterity Consultants. He is staying with Dynamics GP community. We will continue to see his blog posts on GP development on his new blog address: Winthrop Development Consultants Blog.

David, in my humble opinion, it’s good this way. And it is most certainly a huge and irreparable loss to Microsoft. Welcome back to the world outside Microsoft.

If there is one thing that cannot be changed by anyone or anything: you will always be my foremost inspiration.

Wish you all the best…!

VAIDY

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