web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :
Microsoft Dynamics GP (Archived)

Purchase order eConnect error

(0) ShareShare
ReportReport
Posted on by 115

Hi

Anybody can help ?

i am getting error when i create purchase order through econnect .

Here is error detail

Sql procedure error codes returned: Error Number = 6621 Stored Procedure= taPoLine Error Description = Decimal Places passed in for UNITCOST does not match setup.

Thanks

*This post is locked for comments

I have the same question (0)
  • Community Member Profile Picture
    on at
    RE: Purchase order eConnect error

    Are you sending in Inventoried or non inventoried items?

    What is the decimal places value selected for Inventory? what you are sending in needs to be the same as this. Easiest way to check these issues is to manually enter a PO and compare to your source data. - Check the format of the line unit cost on a manually entered PO.

    Ian.

  • Suggested answer
    sandipdjadhav Profile Picture
    18,306 on at
    RE: Purchase order eConnect error

    Hello,

    I have passed decimal places to Unit Cost.

    e.g.

     if (POUnitCost != 0)

               {

                   MoneyAmount unitCost = new MoneyAmount();

                   unitCost.Currency = "USD";

                   unitCost.DecimalDigits = blackboxGp.GetItemCurrencyDecimal(itemNumberForCurrencyDecimal);

                   unitCost.Value = POUnitCost;

                   purchaseOrderLine.UnitCost = unitCost;

               }

    ////Get decimal place using Linq in C#.

     public short GetItemCurrencyDecimal(string itemNumber)

           {

               short decPlace = 0;

               gpHelper = new DynamicsGPHelper();

               dbGP = new FlasherIVLotPalletTracking.Linqs.linqDynamicsGPDataContext(gpHelper.ConnectionString);

               var ItemMstr = (from c in dbGP.IV00101s

                               where c.ITEMNMBR == itemNumber

                               select new { c.DECPLCUR}).FirstOrDefault();

               if (ItemMstr != null)

               {

                   decPlace = ItemMstr.DECPLCUR;

               }

               return decPlace;

           }

    Let me know how it goes.

    Thanks

    Sandip

  • Suggested answer
    Community Member Profile Picture
    on at
    RE: Purchase order eConnect error

    Qumar,

    The problem you are facing is related to the number of decimal placed defined in GP is not matching the decimal places your are assigning for UNITCOST for the item.

    You can check the defined decimal places for the item at tables  IV00101 and IV00105  at field DECPLCUR.

    To demonstrate the problem see this example, I have an item  called ITEM and setting in GP is as follows:

    5355.Capture.JPG

    Lets send an e Connect transaction to GP as follows:

    7725.Capture.JPG

    Sending the transaction to GP the result is

    8838.Capture.JPG

    Now lets create the error you are getting.  I am going to update the DECPLCUR value at IV00101 AND IV00105  as 0. ( Don't update tables directly!!!)

    Now lets send the transaction to GP the result is as follows:

    Yay !!! .  The  decimal places assigned to UNITCOST at econnect  should be within the range specified for the item in GP item currency decimal places.


    Cheers!

    Sanjay

    PS:  Please verify the response if this explains your issue.

  • Mick Egan Profile Picture
    3,561 on at
    RE: Purchase order eConnect error

    Just to add to this thread, we were using Multicurrency PO Import, the import currency (IV00105) wasn't assigned to the Item which caused the same error.

    Mick

  • bgajjar Profile Picture
    150 on at
    RE: Purchase order eConnect error

    Hi There,

    I think as a work around you should try using taPoLine_Pre SP and update @I_vUNITCOST, and write like below code as taPoLine SP @I_vUNITCOST Parameter accept  5 decimal places numeric(19, 5)

    DECLARE @I_vITEMNMBR AS char(30) -- its a PARAMETER for taPoLine_Pre

    DECLARE @I_vUNITCOST AS numeric(19, 5) -- its a PARAMETER for taPoLine_Pre

    SET @I_vITEMNMBR = '256 SDRAM' -- FOR TEST - comment out

    SET @I_vUNITCOST = 15.3455 -- FOR TEST - comment out

    DECLARE @DECPLCUR AS INT

    SELECT @DECPLCUR=DECPLCUR FROM IV00101 WHERE ITEMNMBR = @I_vITEMNMBR

    SET @I_vUNITCOST = ROUND(@I_vUNITCOST, @DECPLCUR)

    PRINT @I_vUNITCOST  -- output 15.34600

    Thanks

    Bharat

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

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Abhilash Warrier – Community Spotlight

We are honored to recognize Abhilash Warrier as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics GP (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans