When i tried to update an existing sales order detail info using eConnect 12, i found that the following information is lost.
-ALL Markdowns (aka Discounts) get removed from all line items
-Country Code gets removed from all line items.
1. It seems that the line item is deleted first and then recreated when updating the SOP Order detail info using eConnect. Is it right?
2.If i want to keep the initial Markdowns(Disaccounts) and Country code info, how could i do?
1. Yes. While updating the records using eConnect the existing values for the record will be deleted and recreate the new records based on your current update values.
2. If you want the all existing values as well as current values, then you need to pass the values like as Existing values+ New values through eConnect.
Hope this helps!!!
Note: Please mark it as verified, if this answer your question. Because this will helps to some others who experience the same.
Somakarpagamoorthy K | GP Techno-Functional Consultant | Dynamics Thoughts
1. Yes. You are correct. No option available for define markdown type in GP. We can define this type while entering items on SOP. If you want to update the Markdowns, you can implement it through passing the mark amout or percentage to the eConnect.
Note: If you pass the markdown percentage in taSopLineIvcInsert, you need to pass the value 1 for DEFPRICING in taSopHdrIvcInsert.
2. Yes. Country code is decided in SOP10200 is based on the "Customer Maintenance" window.
Customer Address Maintenance window is address master for customers. Here, we can create multiple address for a single customer based on the different Address ID.
Customer Maintenance window is showing only the main address details(PRIMARY) from the customer address maintenance window.
While entering SOP orders in GP, the location code (all the ship to details) values will be defined from the Customer Address Maintenance window based on the "Ship Address ID" of the SOP line section. If you set the "Ship Address ID" is PRIMARY in Customer Maintenance window or SOP line section, the CCode value for SOP10200 is same for both "Customer Maintenance" window and "Customer Address Maintenance" window, otherwise the CCode value will get the value from Customer Address Maintenance window.
Based on your screen shot the CCODE is also empty in SQL before updating the order ORDST2338.
Please click the arrow mark near by the Ship To Address ID in SOP line details and check whether the CCode is available.
Thank you very much for your reply. But i still have some other questions.
1. If i want to update the Markdowns, i could implement it through passing the mark amout or percentage to the eConnect. But i'm not sure whether the Markdown type can be defined in GP by users. Is it possible? Or the Markdown type is defined by the GP system and could not be modified?
2. Is the default value of "CCode"(Country Code) in the table SOP10200 decided based on the settings in the "Customer Maintenance" window?
Thanks. It is so helpful! But i found that the "Country Code" setting is also in the "Customer Address Maintenance" window. It seems that the Country code is exactly decided by the setting in "Customer Address Maintenance" window when create a sales order in GP. Is it right? What's the difference between the country code setting in the "Customer Maintenance" window and the one in "Customer Address Maintenance" window?
Got it. Thanks. But when i tried to update the sales order detail information using eConnect 12, i found that the value of "CCode" is empty. I checked the related setting and the Country Code is configured. And I passed the following information to the store procedure "taSopLineIvcInsert": @I_vSOPTYPE ,@I_vSOPNUMBE,@I_vCUSTNMBR,@I_vDOCDATE ,@I_vITEMNMBR,@I_vLOCNCODE, @I_vQUANTITY,@I_vLNITMSEQ ,@I_vUpdateIfExists = 1 I don't know why the value of "CCode" could not be gotten from settings. Could you give me a hand? And if i want to keep the value of "CCode", how could i do?
Run the below query against you company database and attach the result.
SELECT PRSTADCD,CCODE,* FROMSOP10200 WHERE SOPNUMBE= 'Enter SOP number' AND SOPTYPE= Enter SOP Type ID(1=Quote; 2=Order; 3=Invoice;4=Return;5=Back order;6=Fulfillment order;)
SELECT CCODE,* FROM RM00102 where CUSTNMBR ='Enter the customer number belong to above SOP' and ADRSCODE = 'Enter the value for the first column PRSTADCD of above returned query'
I ran the query you offered against my company database and the result is as follows(the first row is the result before executing the store procedure
[taSopLineIvcInsert], and the second one is the result after executing it):
Can you open this order in GP and attach the screen shot for both header and line?
Click the arrow near by "Ship To Address ID" on the line details window and check whether the Country Code is available.
From your result of SQL is showing order number ORDST2334. But, the screen shot shows as ORDST2337. Is both are updated from eConnect?
sorry, the initial sales order has been deleted, and the new one is the same with that one except for the order number. The country code is available both on the "customer maintenance"window and "customer address maintenance"window.
Click the arrow near by "Ship To Address ID" on the SOP line details window and check whether the Country Code is available.
The related detail information is as follows:
The initial sales order info:
The customer info:
The ShipToAddress Info:
The initial info in my company database:
The parameter info when calling the storeprocedure 'taSopLineIvcInsert':
Info after updating:
The "CCode" value is missing, while other address information is kept including the value of "Country" field.