Skip to main content
Solved

Tasks - Why is a (Default) Procedure needed for every Task?

  • December 27, 2021
  • 2 replies
  • 141 views

Arie V
Community Manager
Forum|alt.badge.img+12
  • Community Manager
  • 1030 replies

I am the Product Owner in our Thinkwise project, I usually don't work too much with the SF, except for Subject & Role-related settings. Tonight I am ‘hobbying’ around and trying to get a Task + Process Flow working to mimic Deeplinking behavior from within the Universal GUI. 

I got it working, but only after some frustrating debugging. I was encountering an error in the GUI and then found this error in the Indicium log:

2021-12-27T20:10:21.4545130+00:00 800011ab-0000-a700-b63f-84710c7967bb [ERR] TSFMessagesMiddleware: An unhandled exception occurred while processing the request. (fffadd8a)
Microsoft.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'def_deeplink'.

Let me walk through my line of reasoning/debugging and explain why it feels not intuitive at all to have to add a Stored Procedure to get any random Task working:

  1. I didn't think I'd need any kind of Default logic, so first I reviewed my Task Settings and noticed that Task logic type was set to Template. I figured it might make more sense to set this to None, which I did
  2. I still got the error, and noticed in the Task Settings > Performance that ‘Use concept’ Default was checked. I unchecked this setting, but still the error remained
  3. I went to Functionality and decided to create a Control procedure def_deeplink, but still got the error
  4. I created a Template with a single line of code ‘select 1’ (I got this idea by reviewing tasks from my colleagues), but still the error occurred
  5. I decided to Assign the program object, then run Generate definition & Execute, and after these actions the Task finally worked
  6. Next up, I changed the Task name from deeplink to poc_deeplink. Again I got a similar error in the Indicium log.
  7. I re-assigned the def_deeplink Template to the newly created Program object default_poc_deeplink instead of default_deeplink, then ran Generate definition & Execute, and after these actions the Task worked again

Is there anyone who could explain to me why this Control Procedure + Template + Assigning + Generate definition + Execute is needed?

It doesn't add any value to the Task and it complicates the Low Code concept of creating a simple (Table) Task with some Task parameters...

Best answer by Arie V

Just heard that it is apparently due to some of our own logic, that's a relief 😊

“A dynamic model of ours set the default check on the task eventhough it should not have done that.”

View original
Did this topic help you find an answer to your question?

2 replies

Forum|alt.badge.img+17
  • Moderator
  • 767 replies
  • December 28, 2021

Template is the default when creating a new task. It's up to the developer to change this when the task has a different use. 
The default tickbox is automatically set when either a task with the default concept is copied, or when a default is created for the task (by default this tickbox is unticked). 
The error "Could not find stored procedure 'def_deeplink'" is related to the end product database. When you create a default in the software factory there still is no default on the database until deployed. When renaming a task you also havo to amend the database code otherwise the model names and database names for the procedures won't match. 

Control procedure: is a collection of templates.
Template: is a code template which can either be a stand alone piece of code or part of a bigger whole.
Assigning: you can assign 1 template to multiple objects of the same type (tasks, defaults etc.). This way you can use a code template multiple times. Or assign multiple templates to a object.
Generate: Generating the code makes a complete program object to be deployed on the database. 
Execute: this deploys the code on the end product database

Please check the documentation for a more detailed description of control procedures, templates, assigning and generation.

https://docs.thinkwisesoftware.com/docs/sf/functionality/  


Arie V
Community Manager
Forum|alt.badge.img+12
  • Author
  • Community Manager
  • 1030 replies
  • Answer
  • December 28, 2021

Just heard that it is apparently due to some of our own logic, that's a relief 😊

“A dynamic model of ours set the default check on the task eventhough it should not have done that.”


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings