Good Day All,
I have created a few SOP sales order integrations in the past and they've always worked well for me.
Now I'm trying to create one that also populates the sales tracking number from the "User Defined" back screen, except I can't that to work.
The integration seems to run fine with no errors given. However, when I check GP front-end to see the results the tracking numbers have not been added, they're still blank.
I'm integrating from a .csv text file formatted like:
Unique_Key | Customer_ID | Address_ID | Location_ID | Item_Code | Item_QTY | Item_UoM | Tracking_Code |
ORDER_A |
CUST_A |
SHIP | WAREHOUSE | ITEM_01 | 5 | EACH | TRACK_01 |
ORDER_A | CUST_A | SHIP | WAREHOUSE | ITEM_01 | 5 | EACH | TRACK_02 |
ORDER_A | CUST_A | SHIP | WAREHOUSE | ITEM_01 | 5 | EACH | TRACK_03 |
ORDER_A | CUST_A | SHIP | WAREHOUSE | ITEM_02 | 10 | EACH | TRACK_04 |
ORDER_A | CUST_A | SHIP | WAREHOUSE | ITEM_02 | 10 | EACH | TRACK_05 |
ORDER_B | CUST_B | SHIP | WAREHOUSE | ITEM_01 | 6 | EACH | TRACK_06 |
ORDER_B | CUST_B | SHIP | WAREHOUSE | ITEM_01 | 6 | EACH | TRACK_07 |
ORDER_B | CUST_B | SHIP | WAREHOUSE | ITEM_02 | 2 | EACH | TRACK_08 |
ORDER_B | CUST_B | SHIP | WAREHOUSE | ITEM_02 | 2 | EACH | TRACK_09 |
Using MS Integration Manager I create 3 sources for the integration, HEADER, LINE_DETAIL and TRACKING.
I group the HEADER fields to create:
Unique_Key | Customer_ID | Address_ID | Location_ID |
ORDER_A | CUST_A | SHIP | WAREHOUSE |
ORDER_B | CUST_B | SHIP | WAREHOUSE |
NOTE: I'm using constant "Default" for SOPNUMBE ; constant "Invoice" for SOPTYPE ; constant "INV" for DOCID ; "Use System Date" for DOCDATE ; and "Use Input" for BACHNUMB.
The Debtor, Address Code and Default Site are mapped from the header source fields.
I group the LINE_DETAIL fields to create:
Unique_Key | Location_ID | Item_Code | Item_QTY | Item_UoM |
ORDER_A | WAREHOUSE | ITEM_01 | 5 | EACH |
ORDER_A | WAREHOUSE | ITEM_02 | 10 | EACH |
ORDER_B | WAREHOUSE | ITEM_01 | 6 | EACH |
ORDER_B | WAREHOUSE | ITEM_02 | 2 | EACH |
I map these line detail source fields to their respective line detail fields in IM.
If I now set the relationship between these two sources on the "Unique_Key" field and run the integration it works perfectly.
No need to created sources for the bin and lot/serial back screens, these sales are fine using FIFO perpetual automatic fulfillment.
Distributions sort themselves out as well with the way Finance have setup GP.
I don't need to group the TRACKING source and just nominate to create:
Unique_Key | Tracking_Code |
ORDER_A | TRACK_01 |
ORDER_A | TRACK_02 |
ORDER_A | TRACK_03 |
ORDER_A | TRACK_04 |
ORDER_A | TRACK_05 |
ORDER_B | TRACK_06 |
ORDER_B | TRACK_07 |
ORDER_B | TRACK_08 |
ORDER_B | TRACK_09 |
I map the Tracking_Code to the "Tracking Numbers" field in IM.
The relationship between these 3 sources is set using the "Unique_Key" column, HEADER --> LINE_DETAIL and HEADER --> TRACKING.
If I run the integration now it runs to 100% with zero errors - seems OK.
But then I check GP Sales Transaction Entry and find the Tracking Numbers have not been populated.
I have found another thread (https://community.dynamics.com/gp/f/32/t/66493) where Leslie Vail mentions that SOPTYPE needs to be passed to SOP10107 to allow proper integration, but I think that's for custom developed integrations and not MS Integration Manager.
Completely at a loss now, any help will much appreciated.
Kind Regards, Stephen
*This post is locked for comments
Stephen,
Just glad it all worked out for you. You are right, some times, a simple app restart fixes the issue. I just wanted to make sure you had the source query relationships in place :-)
Hi Mariano,
Big thank you for the prompt reply from one of the GP Wizards!
1) Great news - my integration works - Yay.
2) Bad news - I changed nothing and just ran the same integration after leaving it for the weekend - Sorry.
I find that this can happen with IM which seems a bit flaky sometimes, just quitting and restarting can fix unexplained problems.
Tracking numbers do need their own source.
My original post was a bit compressed and I didn't format the message well enough to clearly separate my 3 sources for better readability, but it is there.
Not enough white space, need to improve my forum skills :)
However for anybody else's future reference, I believe Mariano is referring to using 3 sources similar to as shown below (where in my case "ePCR_Location" is the unique identifier for each individual sale to be integrated):
And to make sure that when mapping the Tracking Numbers that the "Options" tab "Rule" is set to "Use Recordset":
Thanks again for your time Mariano, in future I'll try to make sure to "turn it off an on again" before asking for tech support!
Kind Regards - Stephen.
Tracking Numbers are a sub collection (folder) which means you will need a source query for them. You will then relate said source query to the header by Order Number. All in all, you will end up with 3 source queries: HEADER, LINE_DETAIL, TRACKING_NUMBERS.
Finally, make sure the Record Source Options rule for the Tracking Numbers collection is set to Use Source Recordset and that it points to the TRACKING_NUMBERS source query.
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,240 Super User 2024 Season 2
Martin Dráb 230,149 Most Valuable Professional
nmaenpaa 101,156