Skip to main content

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?

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


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. 


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


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


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.


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… 


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


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. 

 


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.


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. 


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. 


I'll double check and solve it for 2023.1 😁