Skip to main content
Solved

Instead of Trigger program object missing


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil

What can be the reason that I have a view, and I created an IoT for it but when I want to assign it, the program object of this view is nowhere to be found. Is there a setting that perhaps blocks this? 

Because normally every view will gets a TRIGGER_INSTEAD_OF_STATMENT correct?

Best answer by Mark Jongeling

Last few suggestions, does the Control procedure "sql_instead_of_triggers” exists in your work project? It is a generated Control procedure so the prefilter Hide generated has to be turned off to make it visible.

And, can you double check the Use system versioning checkbox via the Grid of the Tables screen to see if that happened to be check for this View? If this is checked, that indeed caused the program object to be not generated. To uncheck it, you can Edit the View in Tables, change its type to Table, uncheck the setting, then change it back to View.

View original
This topic has been closed for comments

Mark Jongeling
Administrator
Forum|alt.badge.img+23

Hi Freddy,

Is the program object still missing after Generating the code group? For every Table(/View), this object should be generated. 
Edit: As long as it is not a system versioned table


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil
  • September 13, 2022
Mark Jongeling wrote:

Hi Freddy,

Is the program object still missing after Generating the code group? For every Table(/View), this object should be generated. 
Edit: As long as it is not a system versioned table

Yeah, generated code groups, the whole project.. but it just doesn't show. 


Mark Jongeling
Administrator
Forum|alt.badge.img+23

Maybe some filtering has taken place causing the object to be out of selection. Could that be it?


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil
  • September 13, 2022
Mark Jongeling wrote:

Maybe some filtering has taken place causing the object to be out of selection. Could that be it?

NO, checked that as well. no filters active


Mark Jongeling
Administrator
Forum|alt.badge.img+23

Only thing I can think of is that you are using the TRIGGERS code group instead of the INSTEAD_OF_TRIGGERS code group; the second being also available to Views. Triggers are only generated for Tables.


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil
  • September 13, 2022
Mark Jongeling wrote:

Only thing I can think of is that you are using the TRIGGERS code group instead of the INSTEAD_OF_TRIGGERS code group; the second being also available to Views. Triggers are only generated for Tables.

Not the case… 


Mark Jongeling
Administrator
Forum|alt.badge.img+23

Have you copied another Control procedure and changed the Code group maybe? (I'm now more guessing as I haven't encountered this issue myself yet). 

Does making a new Control procedure with the Code group INSTEAD_OF_TRIGGERS solve the issue? Otherwise I think it's something vague that we would have to investigate using a model.dat


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil
  • September 13, 2022

I only see that in the full model the view doesn't have the objects generated ..  I think here lies the problem. Only handlers are created, not the Instead of Triggers. 

 


Mark Jongeling
Administrator
Forum|alt.badge.img+23

Last few suggestions, does the Control procedure "sql_instead_of_triggers” exists in your work project? It is a generated Control procedure so the prefilter Hide generated has to be turned off to make it visible.

And, can you double check the Use system versioning checkbox via the Grid of the Tables screen to see if that happened to be check for this View? If this is checked, that indeed caused the program object to be not generated. To uncheck it, you can Edit the View in Tables, change its type to Table, uncheck the setting, then change it back to View.


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil
  • September 13, 2022
Mark Jongeling wrote:

Last few suggestions, does the Control procedure "sql_instead_of_triggers” exists in your work project? It is a generated Control procedure so the prefilter Hide generated has to be turned off to make it visible.

And, can you double check the Use system versioning checkbox via the Grid of the Tables screen to see if that happened to be check for this View? If this is checked, that indeed caused the program object to be not generated. To uncheck it, you can Edit the View in Tables, change its type to Table, uncheck the setting, then change it back to View.

  1. Yes that I checked already system versioning is not active in the checkbox. 

Strange part is I have views with IOT generated and I have a few where this is not the case. 


Freddy
Forum|alt.badge.img+16
  • Thinkwise Local Partner Brasil
  • September 13, 2022
Mark Jongeling wrote:

Last few suggestions, does the Control procedure "sql_instead_of_triggers” exists in your work project? It is a generated Control procedure so the prefilter Hide generated has to be turned off to make it visible.

And, can you double check the Use system versioning checkbox via the Grid of the Tables screen to see if that happened to be check for this View? If this is checked, that indeed caused the program object to be not generated. To uncheck it, you can Edit the View in Tables, change its type to Table, uncheck the setting, then change it back to View.

I found you cannot deselect system versioning and save it as a view a the same time..  so effectively it still had system versioning active..  perhaps a good fix for the SF to not set the system versioning at all when creating a view..  

Solution was to make it a table and SAVE it and subsequently edit it again and save it as a view again. 


Mark Jongeling
Administrator
Forum|alt.badge.img+23

I'll double check and solve it for 2023.1 😁


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