Tuesday, April 3, 2018

Dynamics GP Dexterity Posting Dilemma


I developed a Use Tax add-in for Dynamics GP using Dexterity.  It adds an “Additional” window to the PM Transaction Entry window that can be used to enter use tax and not affect the payable transaction.

One of the requirements of this is to create a GL Journal Entry to recognize the use tax expense and liability.  This is a simple enough matter now that I’m using eConnect from inside Dexterity.  However another requirement is that the resulting JE be posted as part of the payable transaction posting process.  NOT a simple matter.

Two Choices?

I figure there’s two choices here:

1.       Capture the posting event from the Post button on the transaction entry windows; or

2.       Capture the creation of the PM Open transaction record from the posting.

There are two distinct problems here relative to the above options.

1.       When triggering from the Post button you have no means of knowing whether the transaction posted successfully; and

2.       When the PM Open transaction record is created the “Database Trigger” runs as part of a database transaction.  This causes the posting procedure to abort with the following error.

The Error:

“The stored procedure glpPostBatch returned the following results:  DBMS: 0, Microsoft Dynamics GP: 20821.

glpPostBatch: Error occurred this procedure can not be called in a nest transaction.”

This awkward message refers to the open transaction that (apparently) is happening when GP transfers payables data from the Work to the Open tables.

Solution?

This puts a serious monkey wrench into our two posting options and I can only see two workarounds.

1.       Have the user post the GL batches manually (potential objection by the users); or

2.       Have a background SQL process seek these GL transactions out and post them.
Anyone else work around this?
 

No comments:

Post a Comment