Friday, October 23, 2015

Friday Fun: Dynamics GP lets you delete a Salesperson ID that is assigned to customers, causing eConnect error

By Steve Endow

I thought this was interesting.

A client received the following puzzling eConnect error when updating a customer address:

Error Number = 249  
Stored Procedure= taUpdateCreateCustomerRcd  
Error Description = The Salesperson does not exist in the Salesperson Master Table
Node Identifier Parameters: taUpdateCreateCustomerRcd
CUSTNMBR = SUPERCUSTOMER
SLPRSNID = Note: This parameter was not passed in, no value for the parameter will be returned.



< taUpdateCreateCustomerRcd >
  < CUSTNMBR >SUPERCUSTOMER< /CUSTNMBR >
  < CUSTNAME >Super Duper Customer< /CUSTNAME >
  < ADRSCODE >MAILING< /ADRSCODE >
  < ADDRESS1 >111 Super Duper Lane< /ADDRESS1 >
  < CITY >Los Angeles< /CITY >
  < STATE >CA< /STATE >
  < ZIPCODE >90001< /ZIPCODE >
  < CCode >USA< /CCode>
  < COUNTRY >United States< /COUNTRY >
  < PHNUMBR1 >1231231234< /PHNUMBR1 >

< /taUpdateCreateCustomerRcd >



In the error, eConnect is complaining that the Salesperson does not exist, yet indicates that the Salesperson ID was not submitted as part of the customer update.

What gives?

The client explained that a salesperson had two Salesperson ID records in GP, so they deleted one.  Well, the deleted Salesperson ID was assigned to customers.  When eConnect attempted to update the customer with the now deleted Salesperson ID, the update failed, because eConnect validates the Salesperson ID regardless of which customer fields are updated, and that Salesperson ID no longer existed.

Surprised by this whole situation, I created a new Salesperson in GP, assigned it to a customer, then deleted the Salesperson.

Sure enough, GP let me delete the Salesperson without any warning or error.  And that left my customer record with an invalid Salesperson ID assigned.

In this screen shot, notice that STEVE2 is assigned to my customer, but no longer exists in the salesperson list.


I then made a small change to the customer and saved it, keeping the invalid Salesperson ID.  It saved fine. telling me that the Customer Maintenance window does not validate the Salesperson ID, so it saved the customer with the invalid Salesperson ID value.  Lovely.

So now my client needs to run a query that checks all of the Salesperson ID values assigned to customers to see if any others are invalid values.

Fun stuff.

Happy Friday.

Steve Endow is a Microsoft MVP for Dynamics GP and a Dynamics GP Certified IT Professional in Los Angeles.  He is the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

You can also find him on Google+ and Twitter


No comments: