************************************************************************************************************************************************ Main Select %Select( MW_PLSQL_NAME, RECNAME, SQLTEXT) SELECT MW_PLSQL_NAME, RECNAME, TRIGGERCODE FROM PS_MW_PLSQL WHERE ENABLED = 'Y' AND MW_PLSQL_TYPE = 'T' AND %Bind( MW_TRIGGERS_FLAG ) = 'Y' ORDER BY MW_PLSQL_NAME ************************************************************************************************************************************************ Component File &PS_SQLFile; Component File &ESB_SQLFile; Component string &UpdateText; Local string &TriggerOK; &UpdateText = ""; SQLExec(SQL.MW_TRIGGER_OK, MW_PLSQL_AET.ITEMNAME, &TriggerOK); If None(&TriggerOK) Or MW_PLSQL_AET.MW_RECREATE_FLAG = "Y" Then If MW_PLSQL_AET.MW_RECREATE_FLAG = "Y" Then MessageBox(0, "", 23001, 5, "Recreating Trigger %1 as specified on the run control", MW_PLSQL_AET.ITEMNAME); MW_PLSQL_AET.AE_APPSTATUS = 1; Else MessageBox(0, "", 23001, 6, "Trigger %1 is not up to date", MW_PLSQL_AET.ITEMNAME); MW_PLSQL_AET.AE_APPSTATUS = 1; End-If; &UpdateText = ""; &PS_SQLFile.WriteLine(MW_PLSQL_AET.SQLTEXT); &UpdateText = &UpdateText | "update PS_MW_PLSQL "; &UpdateText = &UpdateText | " set LASTINSTALLED = ( select LAST_DDL_TIME from USER_OBJECTS where OBJECT_TYPE = 'TRIGGER' and OBJECT_NAME = '" | MW_PLSQL_AET.MW_PLSQL_NAME | "' ) "; &UpdateText = &UpdateText | " where MW_PLSQL_NAME = '" | MW_PLSQL_AET.MW_PLSQL_NAME | "'; "; &PS_SQLFile.WriteLine(&UpdateText); &PS_SQLFile.WriteLine(""); Exit 0; Else Exit 1; End-If; ************************************************************************************************************************************************ MW_TRIGGER_OK SELECT 'Y' FROM PS_MW_PLSQL S, ALL_OBJECTS O, ALL_TRIGGERS T WHERE S.ITEMNAME = :1 AND S.ITEM_TYPE = 'T' AND S.LASTINSTALLED > S.LASTUPDDTTM AND O.LAST_DDL_TIME = S.LASTINSTALLED AND O.OBJECT_TYPE = 'TRIGGER' AND O.OBJECT_NAME = S.ITEMNAME AND O.LAST_DDL_TIME = S.LASTINSTALLED AND O.STATUS = 'VALID' AND T.TRIGGER_NAME = O.OBJECT_NAME AND T.STATUS = 'ENABLED' ************************************************************************************************************************************************ Component File &PS_SQLFile; Component File &ESB_SQLFile; Component string &UpdateText; If All(&UpdateText) Then SQLExec(&UpdateText); End-If;