Question

FSM Studio screen creation issue

  • 1 October 2019
  • 3 replies
  • 329 views

Userlevel 6
Badge +20
When adding a new screen using on a custom table, following error returned while searching for records in the new screen.
"Unrecognized business object 'YourCustomTableName'. Contact your system administrator for assistance"

3 replies

Userlevel 3
Badge +2
Go to custom metadata of your custom table and check for Table Namespace. And check the customassembilies are having an entity for the table with correct name space, and it is correctly referred in
FSM Server Web config in ApplicationExtension section.
Userlevel 5
Badge +17
As Dilan said, if you have a custom namespace for your custom table defined in metadata, you will need to have the entities class and a policy class for the system to be aware of your table.

HOWEVER, it is not necessary to have custom assemblies for your custom tables unless you are writing custom policy code, which we recommend you avoid if possible.

A custom table requires only two things:
1) a database object - an actual table or view
2) custom metadata defined for table and columns

The error you are getting is because the system is 'unaware' of the definition - usually missing metadata - of your custom table. If you are using custom code, then you need the following to all be completely synchronized - to the letter:
1) web.config ApplicationExtension node
2) Custom metadata values (namespace, policy class name)
3) namespaces and identifiers in C#.Net source code
If all 3 of these are not exactly matched, and you're trying to implement custom code for your custom table (which you should AVOID), it will generate the error your reported.
Userlevel 6
Badge +14

Custom tables are registered from Custom metadata. So, you need to create custom metadata first(you have already done this part). 

If you wish to do any code-level customizations with this custom table, then you should define the Namespaces for Table & Policy, Policy name. (refer below screenshot)

As above replies, you need to add the table schema to the entitites in your project and replace build DLLs into the CustomAssemblies. Then make sure there’s no mismatch in Web.config

 

But if you do nothing in code-level for this table, no need to define these fields. You can just register your custom table by creating metadata(with column & relationships, depend on your requirement).

Create SQL script(if SQL db server) and deploy it to the database. (purpose is, creating the actual table in the db)

Unrecognized business object(table, view, etc) mean, the application can’t find your table.

As summary, you problem can be,

  1. You haven’t deploy the script into the db. (no actual table in the database)
  2. You have defined namespaces and not included DataTable Schema into the entities in your project.

If you can’t resolve your issue anymore, try to create new custom table without any namespaces as the screenshot for testing purposes and make sure that you can use it for screen. Still, you have the issue, clear caches in application, restart the app pool in IIS and try it. (There might be cache related issues, and can solve it with these steps :P)

This would be help for you.

Reply