BPT - Oracle Trigger error

  

I am building a set of business processes using the BPT features in OutSystems.

I've created some Entity events that trigger OnCreate and OnUpdate, one of which is on the "CompanyPlan" entity.

Then, I decided to DELETE these entity events ... BUT ... I am not getting this error:

ORA-04098: trigger 'OSADMIN_OSDEV1.OSTRG_EI__OSUSR_HFZ_COMPANYP' is invalid and failed re-validation


It looks like the trigger might still be in there and OutSystems is not cleaning it up??


HELP!

Hi Bruce,


The triggers are created/updated then there are changes to the entity and then the "Expose events" property is modified. They are not changed by new/removed usages of the OnCreate/OnUpdates.

Is your entity still exposing the events or did you also changed the "Expose events" to false?


Regards, 

João Rosado

João Rosado wrote:

Hi Bruce,


The triggers are created/updated then there are changes to the entity and then the "Expose events" property is modified. They are not changed by new/removed usages of the OnCreate/OnUpdates.

Is your entity still exposing the events or did you also changed the "Expose events" to false?


Regards, 

João Rosado

Joao, I am having trouble locating which BPT component (process, activity, entity) that is creating this trigger.

I have a number of BPT rules on entities - many with "Company" in the name. How can I tell which Entity or Process or Activity that this trigger error is associated with?

Doesn't the error stack of the error log enough to see the complete name of the entity that is causing the error?

Like I said, the trigger creation is not affected by the "Process or Activity" using it. Only the entity is relevant.


Regards,
João Rosado

Joao, okay I found that it is definately the "CompanyPlan" entity that is the issue.

BUT, what do I do now? I don't think I have any "On" BPT events on the CompanyPlan entity anymore.

Yes, the CompanyPlan entity has the "Expose Process Events" checked. I am attaching a screenshot of the Advanced tab for the CompanyPlan ... do I have it set correctly?

Also, below I am pasting the stack trace - maybe I am missing something in there?


Message:ORA-04098: trigger 'OSADMIN_OSDEV1.OSTRG_EI__OSUSR_HFZ_COMPANYP' is invalid and failed re-validation
Environment InformationeSpaceVer: 1593 (Id=4267, PubId=4457, CompiledWith=10.0.200.0)
RequestUrl: https://rbcadc-dev.outsystemsenterprise.com/Sales/Opportunity_Show_WIN_PopupEditor.aspx?_ts=1495598455769 (Method: POST)
AppDomain: /LM/W3SVC/1/ROOT/Sales-325-131400713532426487
FilePath: d:\OutSystems\Platform Server\running\Sales.1178791663\Opportunity_Show_WIN_PopupEditor.aspx
ClientIp: 75.181.131.76
Locale: en-US
DateFormat: MM/dd/yyyy
PID: 1848 ('w3wp', Started='5/12/2017 10:21:26 PM', Priv=1106Mb, Virt=9970Mb)
TID: 124
Thread Name:
.NET: 4.0.30319.42000
Stack:ORA-04098: trigger 'OSADMIN_OSDEV1.OSTRG_EI__OSUSR_HFZ_COMPANYP' is invalid and failed re-validation
   at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
   at OracleInternal.ServiceObjects.OracleCommandImpl.VerifyExecution(OracleConnectionImpl connectionImpl, Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, OracleException& exceptionForArrayBindDML, Boolean bFirstIterationDone)
   at OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, OracleException& exceptionForArrayBindDML, Boolean isFromEF)
   at Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
   at OutSystems.HubEdition.Extensibility.Data.ExecutionService.BaseExecutionService.ExecuteNonQuery(IDbCommand cmd)
   at OutSystems.Internal.Db.Command.ExecuteNonQuery(String description, Boolean isApplication, Boolean skipLog, Boolean applyTransformationsToParameters)
   at ssSales.ExtendedActions.CreateCompanyPlan(HeContext heContext, RCCompanyPlanRecord inParamSource, Int64& outParamId)
   at ssSales.Actions.ActionOpportunity_WON(HeContext heContext, Int32 inParamOpportunityId)
   at ssSales.Flows.FlowMainFlow.ScrnOpportunity_Show_WIN_PopupEditor.CommandYes(HeContext heContext)

Still no luck, I am going to submit a support ticket ... DEV is totally stuck now.

I removed the BPT "On" event on the CompanyPlan entity and still getting this error:

ORA-04098: trigger 'OSADMIN_OSDEV1.OSTRG_EI__OSUSR_HFZ_COMPANYP' is invalid and failed re-validation

At this point, there should be NO trigger on the table ... I need to figure out how to manually delete the trigger and/or figure out if I am missing something else.

Ug!

To delete the trigger you only need to uncheck the Expose Process Events checkbox in your entity.

But yes, he support ticket is always the best to identiy why it is happening and if there is a problem in the product to fix it instead of workaround.


Regards,

João Rosado

Solution

João Rosado wrote:

To delete the trigger you only need to uncheck the Expose Process Events checkbox in your entity.

But yes, he support ticket is always the best to identiy why it is happening and if there is a problem in the product to fix it instead of workaround.


Regards,

João Rosado

Thanks, I will keep that in mind (uncheck the Expose Process Events). First, I spoke with support and they are working on it so I will let it alone for now.

Again, thanks Joao!


Solution