When we select a table as 'Choice Table' in other scope we get errors similar to below message. We can resolve this by adding an attribute called "allow_tables" on the dictionary record of field 'Choice Table'.
Error MessageInvalid 'Choice table' selected on the Input Variables record. The 'ABC' table is in application 'Global', but the current application is 'XYZ' when selecting 'abc' as choice table.
This error message is expected, because the selected table is in global scope. This is not a defect, but the restrictions added to avoid cross scope access of tables.
- Right click on 'Choice table' label on the same page.
- Select 'Configure Dictionary' menu item from context menu. It will navigate you to Dictionary Entry record of Choice table field.
- In the Attributes, add 1 more attribute allow_public=<table_name>. This will allow the table in global scope to be accessed from other scope.
- If you want to add multiple tables, add attribute allow_tables=table1:table2:table3:table4 (here colon is used as a table name separator).For example, if you want to use just 3 tables cmdb_ci, cmdb_group and cmdb, so you need to add allow_tables=cmdb_ci:cmdb_group:cmdb.
- To access all the tables you can use attribute "allow_public=true". Do not add this attribute unless you want to allow all the tables from all scopes.