Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics GP (Archived)

GP 2013 econnect raise error

Posted on by Microsoft Employee

When I send a purchase order to GP through econnect, it raised an error:

Cannot insert the value NULL into column 'USERID', table 'RP.dbo.SOP10104'; column does not allow nulls. INSERT fails.

   at Microsoft.Dynamics.GP.eConnect.EntityMessageProcessor.ExecuteSqlCommands(XElement transactionNode, EntityMessage message)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.ProcessMessageImport(EntityMessage message)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.EntityImportImplementation(String connectionString, String sXML, Boolean isTransaction)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.ProcessEntityImport(String connectionString, String sXML, Boolean isTransaction)
   at Microsoft.Dynamics.GP.eConnect.eConnectMethods.CreateTransactionEntity(String connectionString, String sXML)

Same purchase order with another item will not cause this problem.

Then I open GP, create an order on GP with the item which cause this problem, and open 'sales holds processing', insert this order with APPROVAL, and chick process, then send xml again with econnect as I did before, the econnect works!

I don't know why and don't want to resolve this problem with the method of create order on GP, could anyone give me any suggestion?

Thank you very much.

*This post is locked for comments

  • Suggested answer
    Almas Mahfooz Profile Picture
    Almas Mahfooz 11,003 User Group Leader on at
    RE: GP 2013 econnect raise error

    Okey, so you are also creating hold record for the order/invoice. why not remove the <USERID>EDI</USERID> from your XML if user id is not a required field (as mentioned in e-connect guide)

    </taSopUserDefined>

    <taSopUpdateCreateProcessHold>

    <SOPNUMBE>ORD0088888</SOPNUMBE>

    <SOPTYPE>2</SOPTYPE>

    <USERID>EDI</USERID>

    <PRCHLDID>APPROVAL</PRCHLDID>

    <FUFIPHOL>1</FUFIPHOL>

    </taSopUpdateCreateProcessHold>

    <TCEDI>

    ...

    </TCEDI>

    </SOPTransactionType>

    </eConnect>

  • Suggested answer
    sandipdjadhav Profile Picture
    sandipdjadhav 18,265 on at
    RE: GP 2013 econnect raise error

    Hi Royl,

    Check your XML. It is "SOPTransactionType".. i.e. Sales Order Transaction type.

    Thanks 

    Sandip

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 econnect raise error

    Here is the xml file I sent:

    <eConnect xmlns:dt="urn:schemas-microsoft-com:datatypes">

    <SOPTransactionType>

    <taSopLineIvcInsert_Items>

    <taSopLineIvcInsert>

    ...

    <ITEMNMBR>PROBENCOL</ITEMNMBR>

    ...

    </taSopLineIvcInsert>

    </taSopLineIvcInsert_Items>

    <taSopHdrIvcInsert>

    ...

    </taSopHdrIvcInsert>

    <taSopUserDefined>

    ...

    </taSopUserDefined>

    <taSopUpdateCreateProcessHold>

    <SOPNUMBE>ORD0088888</SOPNUMBE>

    <SOPTYPE>2</SOPTYPE>

    <USERID>EDI</USERID>

    <PRCHLDID>APPROVAL</PRCHLDID>

    <FUFIPHOL>1</FUFIPHOL>

    </taSopUpdateCreateProcessHold>

    <TCEDI>

    ...

    </TCEDI>

    </SOPTransactionType>

    </eConnect>

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 econnect raise error

    Yes, I create a Purchase Order with a xml, send it though econnect to GP, and GP should receive this PO, there will be data in this table, it always works, just this time for this item.

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: GP 2013 econnect raise error

    USERID should not be null in table SOP10104, but is is not the real reason because I didn't run sql directly, but run send xml through econnect.

    Another item used is fine when send xml with econnect, so there is logic in econnect send null to this table.

    the probelm is why econnect send null just with this item.

  • Almas Mahfooz Profile Picture
    Almas Mahfooz 11,003 User Group Leader on at
    RE: GP 2013 econnect raise error

    You mentioned you are creating Purchase Order, whereas the table you mention is sales hold table. Are you trying to create PO have sales commitment and also creating sales invoice? and that sales invoice is by default putting on hold?

  • Mallesh Deshapaga Profile Picture
    Mallesh Deshapaga 198 on at
    RE: GP 2013 econnect raise error

    Hi...Dear,

    USERID is Not Null but ur trYing to insert null values so that is the problem.

    u can check the table also.

    SOP10104.

    insert USERID also u wont get this issue.

    thanku.

    Mallesh VarMa

    +919640508585

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,253 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,188 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans