Skip to main content

Notifications

Announcements

No record found.

eConnect Error 11991

UPDATE: This issue has been resolved in Microsoft Dynamics GP 2015 R2.  To download the R2 patch, you can go to the following:

Microsoft Dynamics GP 2015 Service Pack, Hotfix and Compliance Update Page  - Download the R2 Patch!!

Customers - Click HERE Partners - Click HERE

Check out the FIX LIST.

Thank you!

 

Hello,

I wanted to address an error we’ve had some reports of lately.  When eConnect integrations using the taPMDistribution stored procedure are run the following error is encountered:

Error Number = 11991 Stored Procedure= Error Description = Error Codes were not found in table DYNAMICS..taErrorCode. Please insure that the table taErrorCode is up to update.

The cause for this issue is that the upgrade to Microsoft Dynamics GP 2013 R2 added 4 new parameters (@I_vPAYTYPE, @I_vCAMCBKID, @I_vCHAMCBID, @I_vCARDNAME) to the taPMDistribution stored procedure. Unfortunately, that change was not fully reflected in all needed locations:

a) Error Codes 11991 - 11994 have not been added to the taErrorCode table so a generic error is returned
b) These columns all default as invalid values (either 0 or ‘’) according to their data checks, so the errors will always be given even though they appear to be optional columns.
c) the API has not been updated to include these parameters, so a custom app cannot set these parameters

To be clear, this will only affect those customers on GP 2013 R2. Any build up to, but not include R2 (12.00.1745) is not affected by this issue.

The only real workaround at this point is to use the taPMDistributionPre procedure to populate those columns with valid values so that the errors do not occur. These are the definitions and valid values you would need to populate:

@I_vPAYTYPE smallint = 0, /*This is to determine the type of payment applied to 1- Cash Amount 2- Check Amount 3- Credit card Amount*/
@I_vCAMCBKID char(15) = '', /* Cash Amount Checkbook ID <Optional> Checkbook for cash payment */
@I_vCHAMCBID char(15) = '', /* Check Amount Checkbook ID <Optional> Checkbook for check payment */
@I_vCARDNAME char(15) = '', /* Credit Card Name <Optional> Required if Credit Card amount > 0 */

Right now this issue has been targeted to be addressed in the upcoming Dynamics GP 2015 release.

Let us know if you have any questions/comments on this.

Lucas

Comments

*This post is locked for comments

  • Lucas Miller Profile Picture Lucas Miller
    Posted at

    Ira,

    Are you on Dynamics GP 2015 RTM or Dynamics GP 2015 R2?  Build number 14.00.524 is RTM.  This issue has not been addressed until R2, which is build 14.00.0725.  You will need to upgrade to at least R2 if you don't want to use the provided workaround.

  • Community Member Profile Picture Community Member Microsoft Employee
    Posted at

    Hi Lucas

    I am successfully using the stored proc with four UDFs suggested by Harsha Prakash.  However, the post reports, "UPDATE: This issue has been resolved in Microsoft Dynamics GP 2015 R2."  I am on GP 2015 R2, 14.00.0524 (RTM), and still require this workaround.  Has this been fixed?  Will it be?

  • steveendow Profile Picture steveendow 2,281
    Posted at

    Hi Harsha, thanks for posting your solution. I just used your solution of passing the values into the USERDEFND properties and assigning the values in the Pre procedure and it worked great.

  • Perry Smith - CRi Profile Picture Perry Smith - CRi 1,690
    Posted at

    Lucas,

    We are seeing the same issue in GP 2015.  Has it not been fixed?

    Perry

  • harsha prakash Profile Picture harsha prakash 20
    Posted at

    Thanks again Lucas.

    Now I have modified taPMDistributionPre  stored procedure as below. Its working now. Thanks a lot.

    Instead of hard-coding now I am using Userdefined parameters of this procedure to populate values. I am passing values to these userdefined parameters from my .net application.

    ALTER procedure [dbo].[taPMDistributionPre]   @I_vDOCTYPE smallint output,   @I_vVCHRNMBR char(17) output,   @I_vVENDORID char(15) output,   @I_vDSTSQNUM int output,    @I_vDISTTYPE smallint output,   @I_vDistRef char(30) output,   @I_vACTINDX int output,    @I_vACTNUMST varchar(75) output,  @I_vDEBITAMT numeric(19,5) output,  @I_vCRDTAMNT numeric(19,5) output,  @I_vRequesterTrx smallint output,  @I_vUSRDEFND1 char(50) output,       @I_vUSRDEFND2 char(50) output,       @I_vUSRDEFND3 char(50) output,       @I_vUSRDEFND4 varchar(8000) output,  @I_vUSRDEFND5 varchar(8000) output,  @I_vPAYTYPE smallint  output,                 @I_vCAMCBKID char(15)  output,            @I_vCHAMCBID char(15)  output,            @I_vCARDNAME char(15) output,              @O_iErrorState int output,   @oErrString varchar(255) output    

    as  

    set nocount on  

    set @I_vPAYTYPE = @I_vUSRDEFND1

    set @I_vCAMCBKID = @I_vUSRDEFND2

    set @I_vCHAMCBID = @I_vUSRDEFND3

    set @I_vCARDNAME = @I_vUSRDEFND4

    select @O_iErrorState = 0  return (@O_iErrorState)  

    Thanks & Regards,

    Harsha.

  • Lucas Miller Profile Picture Lucas Miller
    Posted at

    When I previously looking into this I started by just adding the following after SELECT @O_iErrorState = 0 and before RETURN ( @O_iErrorState ) in the PRE proc:

    SET @I_vPAYTYPE = 1

    This means the Payment Type is set to Cash Amount.  I then re-ran my previously failing XML.  The result, as expected, was Error Code 11992, which corresponds to /*Cash Amount CheckBook Id is Missing*//*@I_vPAYTYPE @I_vCAMCBKID*/.

    I updated the PRE proc to also set @I_vCAMCBKID to a valid value:

    SET @I_vCAMCBKID = 'FLEX BENEFITS'

    If you cho0se a PAYTYPE of 2 (Check) you will need to specify @I_vCHAMCBID.

    If you choose a PAYTYPE of 3 (Credit card) you will need to specify @I_vCARDNAME

    This allowed the transaction to be inserted for me.  The problem is that it has essentially been hard-coded to a specific payment type and checkbook ID.  If this is viable for your situation then it would appears to be a valid workaround for you.  

    If you need multiple PAYTYPE values for the PM transactions that you're inserting you may need to play around with the PRE proc to make them work.

  • harsha prakash Profile Picture harsha prakash 20
    Posted at

    Thank you very much for reply Lucas.

    Can you please tell me how to populate necessary parameters in stored procedure. In my stored procedure I  already have these 4 parameters in stored procedure taPMDistributionPre

    @I_vPAYTYPE smallint  output,                 @I_vCAMCBKID char(15)  output,            @I_vCHAMCBID char(15)  output,            @I_vCARDNAME char(15) output,

    Thanks again.

  • Lucas Miller Profile Picture Lucas Miller
    Posted at

    Thanks for your question Harsha,

    At this point the only workaround that I've seen for this issue is to populate the necessary parameters in the taPMDistributionPre stored procedure.  Since the API is not aware of these new parameters I'm not aware of a way that you could send them from your .NET application.

  • harsha prakash Profile Picture harsha prakash 20
    Posted at

    How to send @I_vPAYTYPE parmeter from my .net Application. I am not getting paytype property to assign value. Please help.

  • Community Member Profile Picture Community Member Microsoft Employee
    Posted at

    Lucas Miller from the GP team explains  an  eConnect Error 11991  related to GP 2013 R2.

    The post eConnect