You are viewing limited content. For full access, please sign in.

Question

Question

[LFF337-NoTableorStoredProcedureAssigned] -- again

asked on July 20, 2021 Show version history

See the attached images, which show the error that occurs in Forms when assigning a process to a data source that connects to Oracle.  The account we are using actually has many tables and views in its schema.

Supposedly this bug was fixed in Forms 10.4 according to this list of fixes:  https://support.laserfiche.com/kb/1013981/list-of-changes-for-laserfiche-forms-10-4

However, I just encountered the same error using Forms 10.4.5.282.  Is there a workaround for this?

Thanks.

 

Untitled_1.jpg
Untitled_2.jpg
Untitled_1.jpg (62.54 KB)
Untitled_2.jpg (69.79 KB)
0 0

Replies

replied on July 21, 2021

Hi Pete,

Could you firstly check whether there is any table/view listed by switching to the 'Offline Lookup Tables' and click 'Add/remove offline lookup tables' for the oracle data source?

If not, could you try click 'Refresh' button and check again? 

0 0
replied on July 22, 2021

Yes, there are errors in the event log under Forms > App > Operational, but it's only what I already know:

There must be at least one table or stored procedure in the SQL database to assign it to a business process. [LFF337-NoTableorStoredProcedureAssigned]

Details:
URL: /Forms/api/datasource/process
Error: NoTableorStoredProcedureAssigned
Date: 7/20/2021 9:12:27 PM (Pacific Standard Time)
HTTP Status Code: 400
Business Process ID: 0
User: CITYOFSALEM\Pwohlken
IP: 172.31.13.219
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36
Business Process Name: 

Stack Trace:
Caught exception: Laserfiche.Forms.CommonUtils.Exceptions.LFFormsException
Message: There must be at least one table or stored procedure in the SQL database to assign it to a business process. [LFF337-NoTableorStoredProcedureAssigned]
   at E_Forms.Controllers.AuthorizationController.DataSourceAddRemoveProcess(Int32[] bpIds, Int32 sourceId)
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__4()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult)

replied on July 21, 2021 Show version history

Hi Ziyan -- thanks for replying.

The Add/Remove button returns this error:

 

The Refresh button puts up a "Loading" message, and then Forms becomes unresponsive:

 

0 0
replied on July 21, 2021 Show version history

So looks like the issue is that Forms never fetch table/view list from the data source with the user successfully (a different issue from the fixed bug), perhaps because there are large number of table/view. Is there any error logged in Forms windows log after Refresh button is hit? (Forms windows log is under Applications and Services Logs -> Laserfiche -> Forms -> App -> Admin/Operational)

One workaround may be to use a user with less table/view in the oracle database.

0 0
replied on July 22, 2021

Yes, there are errors in the event log under Forms > App > Operational, but it's only what I already know:

There must be at least one table or stored procedure in the SQL database to assign it to a business process. [LFF337-NoTableorStoredProcedureAssigned]

Details:
URL: /Forms/api/datasource/process
Error: NoTableorStoredProcedureAssigned
Date: 7/20/2021 9:12:27 PM (Pacific Standard Time)
HTTP Status Code: 400
Business Process ID: 0
User: CITYOFSALEM\Pwohlken
IP: 172.31.13.219
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36
Business Process Name: 

Stack Trace:
Caught exception: Laserfiche.Forms.CommonUtils.Exceptions.LFFormsException
Message: There must be at least one table or stored procedure in the SQL database to assign it to a business process. [LFF337-NoTableorStoredProcedureAssigned]
   at E_Forms.Controllers.AuthorizationController.DataSourceAddRemoveProcess(Int32[] bpIds, Int32 sourceId)
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.<InvokeActionMethodFilterAsynchronouslyRecursive>b__0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__4()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult)

0 0
replied on July 21, 2021

PS -- one thing that would be a big improvement for the database lookups would be the ability to paste a query, instead of having to select from a list of tables and views.  We use a product called Oracle e-Business Suite, and the account we are using has access to literally tens of thousands of tables and views.  With tools like SQL Developer, we avoid expanding long lists of tables or views because it can take a long time.

Most products that access a SQL database allow you to use queries instead of picking from tables and views-- including other Laserfiche products such as Quick Fields.

0 0
replied on July 22, 2021 Show version history

Ziyan -- can you please put in an enhancement request to have Forms revised to allow the user to enter a query?  Since other Laserfiche apps already support this, it makes Forms seem weak by comparison.

Thanks.

1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.