The Infor Communities is globally accessed system by
Infor and its customers, please do not post or upload
any content that could be deemed as sensitive, confidential or
subject to any data regulation requirements.
If you are unsure whether or not the content contains sensitive,
confidential or has any data regulation requirements,
please seek the advice of your internal security, legal, and compliance experts.
Our project involves sending customer orders from our eCommerce system to Infor M3 ERP, via the Infor ION Process.SalesOrder API.
The current task is to determine what XML nodes\elements we will use to send these product attributes (color, size, etc) for the sales order line items.
I'm on the technical-integration sub-team for this project, and our implementation-functionality team has not yet determined our functionality and setup in regards to assigning product attributes for customer orders created directly in the Infor application UI, so we don't have any of those details yet.
Our sub-team is trying to determine how the Process.SalesOrder schema and ION API supports product attributes per the customer order line items sent through this API.
Our functionality team did mention we will most likely use the CPQ module and configure the order line items with size, color, etc..
Has anyone transmitted this type of information through this API and done the association into Infor product configuration?
below xml was taken from Process.SalesOrder BOD that is coming from CPQ Sales Portal into Infor LN. Based on this LN creates new derived item from generic item 104110001. This derived item has its own…
I noticed there is a 'ConfigurationComponent' node underneath SalesOrderLine. It looks like this is the specific area of this BOD that we need to understand better. If anyone has further documentation or samples for product attributes being assigned to sales order line items, via the ION API, please let me know.
below xml was taken from Process.SalesOrder BOD that is coming from CPQ Sales Portal into Infor LN. Based on this LN creates new derived item from generic item 104110001. This derived item has its own features and options, based on the output of CPQ Sales Portal Item configuration. How this will work, depends on target application.
You can configure this same generic item directly in LN (not via Sales Portal), and in this case LN calls CPQ service itself (Sales Portal is not needed and Sales Order BOD is not used in this case).
<ItemConfiguration> <ConfigurationComponent> <ConfiguratorLinks> <ConfigurationID>4C6BC41F-71D3-4862-846E-0F03007315CF</ConfigurationID> <ConfigurationDetailID>0a748aae-e7fb-4517-aaf5-39deb5efd429</ConfigurationDetailID> </ConfiguratorLinks> <Sequence>1</Sequence> <Item> <ItemID> <ID>104110001</ID> </ItemID> </Item> <Feature> <Sequence>2</Sequence> <OptionClass type="StringType">Upravljanje</OptionClass> <OptionClassDescription>Select KL 2500 F Control</OptionClassDescription> <Option>KL3</Option> <OptionDescription>Tractor hydraulic control</OptionDescription> <Classification> <Codes /> </Classification> </Feature> <Feature> <Sequence>1</Sequence> <OptionClass type="StringType">Osnova</OptionClass> <OptionClassDescription>Skidding grapple KL 2500 F</OptionClassDescription> <Option>KL2500F</Option> <OptionDescription>Grapple KL 2500 F</OptionDescription> <Classification> <Codes /> </Classification> </Feature> </ConfigurationComponent> </ItemConfiguration>
Thanks for the information.
For our current scenario, the source of our sales order\lines is an external, non-Infor application, so it's been recommended we use the 'BODs-ProcessSalesOrder_866ab8eb.xsd' schema and the '/api/ion/messaging/service/message' endpoint to add these sales order to Infor M3.
I think the external application in our scenario could be aware of the generic items that exist in Infor M3. Would there be a way for our integration layer to lookup the configuration component information in M3, each time we need to add a new sales order\line, since we wouldn't be using the CPQ Sales Portal module as the source of the sales order\line?
For the two scenarios you mentioned, I'm not sure which one of these our scenario is most similar to, and what the most streamlined approach would be.
Without knowing the exact configuration of your Item / Style it's hard to make a recommendation, but I would say look at the data you get back from MMS200MI/LstStyle or MMS200MI/LstItmByItm . The first one gives Style Configuration data, maybe that would help.
When our functional implementation team determines our configuration in this area, I will use the API calls you mention to view the data to analyze.
In the meantime, I've been reading about the integration of the Sales Portal module with ION. Is this Sales Portal a web-based UI only, or does it have API's, SDK's, automation behind it that we may want to leverage in order to integration with generic driving, derived configured items?
I'm hoping to get a high-level understanding of integration tools and interfaces we could potentially use for our needs, so we can determine our integration options, while we wait for our implementation team to finalize our functionality specs and flows.
Sales Portal is web application. It is UI only, you don't have API's, SDK's, etc.. In fact if you need to extend it with some kind of functionality, you have to get ICS services, to develop it. The power of Sales Portal comes into play, when you have complex configurable items and you need CPQ to actually develop questionnaires to build up all options. Sales Portal can work with that and you can give access to your customer network and they can then configure items and send sales orders into your system. I know Sales Portal can integrate to Syteline or LN (both via ION), I'm not sure about M3.
Thanks for further details. Typically we have our internal operations team create and configure the products directly in our ERP system, and I think we'll do the same with Infor M3. Our usual design here is to have our integration layer fetch this information from the ERP system for each sales order line item.
Would we be able to follow our typical design and each line item on the sales order would enter our integration layer with the generic product id, and then the integration layer would fetch the unique identifier for this product's attribute (size, color, etc..) and also the unique identifier for this product's attribute value (Blue, Black, Rec, etc..) and then add those values to the Process.SalesOrder BOD <ConfigurationLinks> section?
If the above is possible, I'm hoping there will be API calls to Infor, to fetch the product attributes and attribute value for each line on the sales order.
I have not worked with the Sales Portal module. There is a document for M3 I use " M3 Business Engine BODs Inbound BOD Mapping and Descriptions" that gives all the BOD elements used and what they tie into. Perhaps there is one for LN as well.
Example from SalesOrder BOD
Thanks for the doco reference.
It looks like HeaderID and ConfigurationID are the only two elements in the ConfigurationLinks section that we need to populate to make the association to the configured product in Infor M3.
Can someone confirm this is the case?
If so, is there an API that we can use to lookup and validate we are using the correct ConfigurationID for the sales order line item's product id and product attributes combination?
I believe on Page 519, it shows the ConfigurationID is CONO, CFIN, and ECVS. You can pull all of those with OIS100MI/GetLine or LstLine. Also, if you know the table you need to get data from, and there is no API available, as a last resort you can always use EXPORTMI to pull a record with the data you need. You will have to split the delimited string, but it's a way.
I should have been more clear on my last post. I'm thinking the Item\Product features-configuration data validation\population needs to be done prior to adding the sales order line items.
The external source system of the sales orders would send the attribute name (Size) and attribute value (XL), and our integration layer would then lookup this configuration in Infor for this specific Item-Size-Color combination, and then add the sales order with the appropriate information so the order fulfillment knows exactly what size and color of the item within Infor M3.
I found MMS019MI (Item-Feature Interface) that looks promising, are there any others that can provide the product configuration key identifiers for an Item\Product, so we can use that information in the configuration section of Process.SalesOrder?
You mentioned page 519, the "M3 Business Engine BODs Mapping - Outbound - M3BEBODMDI_188.8.131.52.pdf" I downloaded only has 91 pages.
I agree that the external system will need to call an API to validate. There are so many APIs the work with different data based on the configuration of M3, I'm not sure which one exactly would give you the data. You can always look on the detail panel in M3 and pull up the Field Information, and find which APIs access that field via Metadata Publisher. ExportMI is always a good fall back too.
As for the document, I was looking at the MT version, 184.108.40.206 dated Feb 2020. It's 627 pages. MT vs ST BOD and API support is very different.
Appreciate the follow-up discussion.
I did find a page and a column that is a good starting point. The PDS055 program lists Features, and the unique identifier for each Feature is the FTID column. I searched for this column in Metadata Repository and it only listed 4 system Programs, however no Tables or Columns were listed. I was expecting this column to be in tables that stores the Features assigned to individual Products.
The Option for the Feature is the PDS056 Program, OPTN column. I searched for this column in Metadata Repository and the result didn't show any Programs or Tables, only other similar column names.
Once I can figure out the tables names for Features, Options, and the Product-Features-Options, I will try out the ExportMI as fallback if I can't find the needed API.
I may have found the tables for Features and Options. I drilled down on PDS055MI in the Metadata Repository, and it lists the MPDFHE (Features) table. The drill-down for PDS056 shows table MPDVOF.
I will use the ExportMI API to get the results of each of these tables.