From Infor Support
When executing API's CMS100MI, MDBREADMI and EXPORTMI transactions, M3 BE security is used to check if the MEC user (MECSVC) is authorized to retrieve data from this particular table.
The above API transactions are all based on a specific table. For CMS100MI the (Master) table can be found in CMS010 or CMS015. For MDBREADMI the table is included in the transaction name and for EXPORTMI, the table is the one you enter in the SQRY parameter.
For each table there is a Browse program connected to it which can be found in 'Table. Open' (MNS120). The security that has been setup for this specific Browse program will be checked when executing the MI transaction.
1. In 'Function. Open' (MNS110) check if parameter 'Authority required' is enabled for the Browse program (Function).
2. If 'Authority required' is enabled it requires that there is a record in 'Function. Connect Authorization per Role' (SES400) for this function.
3. The MEC user must be connected to the Role for this record in SES400 to get permission to access this. That is done in 'Roles per User. Connect' (MNS410).
4. User permissions to programs/functions can be viewed in 'Authorization by User. Display' (SES401).
5. Also verify in 'User. Access per Company & Division' (MNS151) that the user has access to the correct companies and divisions.
More information about M3 BE Security can be found in the M3 Application Foundation Guide (https://docs.infor.com/m3udi/16.x/en-us/m3beud/default.html)