While the 'Studio Integration Development' documentation (https://docs.infor.com/ln/latest/en-us/lnesolh/default.html?helpcontent=lnstudiointdg/cover.html ) might be a complete reference on BOD development, it has not proven to be useful as a learning tool.
I was once shown a way to create a BOD, which I successfully used to create one for a table with a single field in the primary index ('Items' (tcibd001)), but now I am facing difficulties when using the same process for a table with multiple fields in the primary index ('Job Shop Bill of Material' (tibom300)).
Basic steps:
- LN Studio - Integration
- Create Interface Project
- Create Application
- Import Table from Runtime Repository
- Create default Definition and Implementation
- Update the Implementation Identifier
- On the Interface Definition, change the Type property from 'bde' to 'bod'.
- On the Interface Definition, Modify Events (Sync - Can be Published, Show - Can be Published)
- On the Interface Implementation, Refactor/Remove all Methods, Re-add Protective Methods Show & PublishEvent.
- Implementation -> Generate Infor LN Implementation
This worked fine with a BOD for the 'Items' (tcibd001) table, but for the 'Job Shop Bill of Material' (tibom300) table, I am getting the error 'Multiple identifiers (for addition of the variation ID) found, the Generator cannot determine which one is correct.'.
I believe that the issue is that the Attributes site, product, billOfMaterial, and revision are all configured with 'Is Identifier' = true.
I tried creating an additional Attribute that combines the four fields, making that the identifier and removing the setting from the four fields, but that breaks the connection to the linked root table.
Is the only option to remove the linked root table, use a single identifier, and develop the logic to retrieve the table record and update all attribute values with specific code for this BOD?
Is there a way that keeps this BOD development simple?