Can someone tell me how to link the 'Commodity code' (mms041) to an item? I've looked in MMS001 and MMS002 and cannot see where it attaches. Any help is appreciated.
In MMS001 use related option 16 "Item Transportation Information". There you can link an item number to a commodity code
Perfect! Thanks for the help! Exactly what I was looking for.
Is this in MWS001 not MMS001? If you go into browse it then lets you set up o the NMFC number in MMS041
Here is my understanding, others may know more. There are two ways that M3 handles Commodity Codes.
1. MWS001 - Linked from MMS001 option 16 (as Mike noted). This lets you setup a commodity code per item. This method is not referenced by default by the M3 BOL (document 920) based on what I have seen.
2. MMS038 - Commodity code selection table. This is driven by a control table in CMS016. You can decide what fields to use to map commodity codes to items (so you don't need to add a MWS001 record for every item). We use item group and product group. This method can be activated (dispatch policy setting 480) to assign commodity codes to items in packages during packing. The M3 BOL (document 920) will use the data on the package to show commodity info (including LTL class).
Your needs may drive you to one solution or the other.
I was not aware of MMS038, but that may be a better solution for us as well since we have found it difficult to ensure all items have MWS001 records created. Thank you for that information, Jon!
Welcome! Note that there is an API to look up commodity code in MWS001 using MMS200MI_GetItmTrpInf. There is no API for getting an item's commodity code from MWS038. If you want to use an API to look up a commodity code for an item, the MWS038 approach may fall short. An API that uses MWS038 to return the correct commodity for an item would be a nice enhancement.
Please note the the possibility to create your own API on top of the interactive function via the IPS-tool (on-prem/ST I think it was called Web services). These work fine as long as the data volumes are not to large since the performance is basically the interactive plus another layer on-top. If you need higher performance then a XtendM3 API is the solution. Secondly if you only need to retrieving data EXPORTMI, MDBREADMI and CMS100MI (listed in performance from high to lower) are also a good way to go