Skip to main content

Notifications

Announcements

No record found.

Invalid length parameter passed to the LEFT or SUBSTRING function error message in Microsoft Dynamics GP 2015

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!
Sarah

Hello -

It has been identified that in some scenarios after an upgrade to Microsoft Dynamics GP 2015, the following error is encountered within Microsoft Dynamics GP:
BlogError2.jpg


We have seen the above referenced error occur in the following modules:  GL, Payables, Payroll and Project.  This issue appears to be stemming from missing data in the WF100001 table.  The results of the WF10001 table in the company database, should look like this:

Blogpic3.jpg

When users are encountering the error referenced above, we see the following results in the WF10001 table:

The WfTypeHistBusObjKey is not getting populated for all of the Workflow types which is causing an error in the substring.  At this point in time, this issue only seems to appear on databases that have been upgraded.  This does not appear to happen on a brand new installation in which the databases themselves (System and Companies) are created brand new on Microsoft Dynamics GP 2015. 

 

Development has been made aware of this issue and it will be addressed in a future release.  In the meantime, the workaround is pretty simple.  You will need to update the WfTypeHistBusObjKey for the appropriate Workflow_Type_Name that is missing data.

Here are examples of scripts that you may need to run depending on what Workflow_Type_Names have data missing:

update WF100001
set WfTypeHistBusObjKey = 'SY30500~BACHNUMB~BCHSOURC~CREATDDT~TIME1'
where Workflow_Type_Name = 'General Ledger Batch Approval'

 

update WF100001
set WfTypeHistBusObjKey = 'PM00200~VENDORID'
where Workflow_Type_Name = 'Vendor Approval'

 

update WF100001
set WfTypeHistBusObjKey = 'PTE30500~PTE_Empl_Expense_Doc_No'
where Workflow_Type_Name = 'Expense Report Approval'

 

update WF100001
set WfTypeHistBusObjKey = 'PM80100~BACHNUMB~BCHSOURC~CREATDDT~TIME1'
where Workflow_Type_Name = 'Payables Batch Approval'

 

update WF100001
set WfTypeHistBusObjKey = 'RM30502~BACHNUMB~BCHSOURC~CREATDDT~TIME1'
where Workflow_Type_Name = 'Receivables Batch Approval'

 

update WF100001
set WfTypeHistBusObjKey = 'HR30100~EMPLOYID~CREATDDT~CREATETIME'
where Workflow_Type_Name = ‘Employee Skills Approval’

 

update WF100001
set WfTypeHistBusObjKey = 'DD20100~EMPLOYID'
where Workflow_Type_Name = 'Payroll Direct Deposit Approval'

update WF100001
set WfTypeHistBusObjKey = 'UPR30600~EMPLOYID~CREATDDT~CREATETIME'
where Workflow_Type_Name = 'Employee Profile Approval'


update WF100001
set WfTypeHistBusObjKey = 'UPR30604~EMPLOYID~SEQNUMBR'
where Workflow_Type_Name = 'Payroll W4 Approval'

 

Thank you!
Sarah

Comments

*This post is locked for comments

  • Mitch.M Profile Picture Mitch.M 530
    Posted at

    Thanks for checking up on that!

  • Sarah Purdy Profile Picture Sarah Purdy
    Posted at

    Hey Mitch -

    I have updated the script above for the Receivables Batch Approval to reflect the appropriate table which is the RM30502.

    Thanks!

    Sarah

  • Mitch.M Profile Picture Mitch.M 530
    Posted at

    Should the Receivables Batch Approval use RM30101 and not SY00500? Like so:

    update WF100001

    set WfTypeHistBusObjKey = 'RM30101~BACHNUMB~BCHSOURC~CREATDDT~TIME1'

    where Workflow_Type_Name = 'Receivables Batch Approval'

    Thanks.

  • Sarah Purdy Profile Picture Sarah Purdy
    Posted at

    No problem!!  Have a great day!

  • Beat Bucher  GP Geek  GPUG All Star Profile Picture Beat Bucher GP Gee... 28,021 Super User 2024 Season 1
    Posted at

    Thank you Sarah for providing these scripts ... saved me quite a few headaches..