I'm on a team moving an on-prem installation to the cloud. I'm looking for some discussion or best practice suggestions around customizing BOD's (or more accurately, IEC/MEC mappings) and will start with some customization we did. I feel like we went down the wrong path, but I'm looking to fully understand the pro's and con's to each approach before doing any rework, and if there are accepted best practices we should be following.
The technical situation...
We use Local.ly / LSP for regulatory requirements. The relevant detail is that LSP consumes a Sync.Invoice BOD from M3.
We also have a custom integration to a third party application. This integration also uses the Sync.Invoice BOD, but required some additional information that was not populated by the standard IEC map.
We ended up creating a custom IEC map for M3BOD_InvoiceCommon_Sync_Out that populates additional information in UserArea tags. We still publish a Sync.Invoice BOD, but our custom map includes the additional information required by our third party integration.
The issue...
The standard Invoice Common IEC map was updated for LSP. Since we were running our custom map for this BOD, integration to LSP began to fail after the update. We have to scramble to re-customize the new standard Invoice map so both the LSP and third party integrations are functional again. Fortunately, we are not yet live.
I'm trying to determine if it would be best to continue with this arrangement, or create a custom BOD / Map for our third party integration? Perhaps I'm missing other alternatives? It seems like it should be somewhat common for integrations to require adding supplemental information to the standard BODs, wondering what other's have done and the lessons they have learned?
Discussion Points...
- Am I missing any best practice documentation around this type of customization? KB 2059952 (Infor M3 CE Custom BOD's) has a lot of great information, but doesn't really touch on how the monthly updates relate to BOD / IEC map customizations.
- I haven't been able to locate a good source of information for detailed BOD / IEC map changes in the monthly updates. Is it possible to get the updated standard IEC maps (.zap files) prior to the monthly update? This would give us time to re-customize and test prior to the update occurring.
- It seems to me that if you have a custom IEC map for a standard BOD, then anytime the standard IEC map is updated it could break any out of the box Infor Integrations (LSP, Factory Track, etc...) that expects the updates to be present, and I don't see a good way to stay on top of this.
- As an alternative, we could create a custom Sync.Invoice BOD and IEC map (Sync.MyInvoice for example) for our third party integration, but what are the downsides to this approach?
- We would increase our document publishing. We would generate a standard Sync.Invoice for LSP, and then also our InvoiceCustom BOD. These BOD's would be almost exact duplicates. (Could be limited somewhat in BOD Processer Administration by division)
- Over time, our custom BOD would diverge from the standard, making it difficult to incorporate standard changes back into our custom BOD if the need eventually arose.
- Our custom IEC map would also be sensitive to changes to how INVBODMI functions, possibly forcing a re-customization.
- Going forward, I'm leaning towards saying "Never customize a standard BOD / IEC map. If the standard does not meet requirements, we must create a customized copy of the BOD/ IEC map." Is this a practice others have implemented? Thoughts?
Or to summarize the main points...
- Is customizing the standard IEC map but keeping the standard BOD ever advisable? When a standard IEC map / BOD is missing information required for a third party integration, what have others done? What are the maintenance implications?
- How to stay on top of incoming BOD changes, so we have time to review our customizations and take action if necessary? Including getting copies of the updated IEC maps prior to the update?
Thank you,
-Sean