Skip to content
+1-888-319-3663

COMMUNITY FORUM

Map Error

jppowers asked 7 years ago
I am using a bulk data load/text file map to import customer items into GP. Why does this xml:                                                                                                                                                    <?xml version="1.0" encoding="utf-8"?>
<eConnect>
<RMCreateCustomerItemsType>
<eConnectProcessInfo>
<ConnectionString>data source=THESQLSERVER;initial catalog=THEGPDB;integrated security=SSPI;persist security info=False;packet size=4096;Connect Timeout=10</ConnectionString>
</eConnectProcessInfo>
<taCreateCustomerItems>
<UpdateIfExists>1</UpdateIfExists>
<ITEMNMBR>CCG-515-A</ITEMNMBR>
<CUSTNMBR>2059917733</CUSTNMBR>
<CUSTITEMNMBR>970588744</CUSTITEMNMBR>
<CUSTITEMDESC>Cord Caddy w/ (4) N515 GFCI Outlets (No Cord)</CUSTITEMDESC>
</taCreateCustomerItems>
</RMCreateCustomerItemsType>
</eConnect> fail with the error message "The stored procedure 'UpdateIfExists' doesn't exist"                                                                                                                                                                                                            
Answers
Best Answer
Patrick answered 7 years ago

The problem is the XML is formatted incorrectly (by SmartConnect).

It should be:

&lttaCreateCustomerItems_Items>
&lttaCreateCustomerItems />
&lt/taCreateCustomerItems_Items>

I tested SmartConnect 2014 using your file (switched to Fabrikam data) and was able to reproduce your issue. Unfortunately I don’t see any way that we are going to be able to work around this. I don’t see that this is an existing bug in our system so will write it up as a bug for development to look at. I would assume that this will be fixed in a future service pack for SmartConnect 2014.

Patrick
jppowers replied 7 years ago

Hi Patrick        Thanks for the response. Would there be any time frame on a fix? I have a large sheet of items and am not looking forward to entering them via cut & paste. Sometimes when I find these issues I feel I am the only SmartConnect user. Joe P

Patrick replied 7 years ago

Joe,

Unfortunately I don’t have a timeframe on a fix for this issue. We’ll need to work with Development on finding the underlying issue and getting it resolved and when that could be.

I was thinking about this a bit more and as a workaround, what you could do is export the output to XML (as you did to log your example xml).

This will dump the whole file output to XML which is _almost_ correct.

With notepad (or whatever text editor you want), manually add the 2 beginning/ending tags for

taCreateCustomerItems_Items.

So now your XML output file is what it is supposed to be.

The only trick then is to execute it and get it into the eConnect API.

For that, the easiest way to use this is to use the Direct Document Sender application (econnect 12.0eConnect SamplesCSHARP DirectDocSender) installed with eConnect or the XMLDocumentSender in the eConnect Samples folder (they work essentially the same).

You would have to open the solution in visual studio and mark the reference to eConnect to the version you are running (which is in the eConnect 12.0API folder).

Once you have that compiled and running, then you would select the XML file that SmartConnect created and that you edited.

Now just run the application and it should push the data into GP correctly (assuming no errors).

jppowers replied 7 years ago

And do that for EACH output record. That is probably more time consuming than a cut and paste, don't you think

Patrick answered 7 years ago
As it happens, I was thinking you’d have just one output file like I did in my test with 2 customer/items. But then the reason for that is my key field which I thought was unique, wasn’t. That’s what I get for copy & pasting test data. So I ended up with just one output file due to both records having the same key.

So, actually with my setup & data it _was_ just the one output file and the one change.

But in any event, I found another way to make this work.

Instead of using the Dynamics GP destination, change it to Microsoft SQL Stored Procedure.

Select the taCreateCustomerItems node and mark the eConnect procedure checkbox. Make sure your key/grouping is unique so that we get one customer/item per call.

Now map your data against the proc params. The names aren’t as user friendly as what the Dynamics GP map gives you but you should be able to determine what is what as the names are pretty intuitive.

Testing this on my data with 2 lines and my unique key so that each line is run individually, this worked and successfully brought in my customer items.

If you would like to submit an answer or comment, please sign in to the eOne portal.