Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. create or replace PROCEDURE BIZLOGIC_DELETEDATAS
  2. (
  3. P_I_ID IN NUMBER
  4. , P_T_ID IN NUMBER
  5. , TABLE_NAME IN VARCHAR2
  6. , P_NAME IN VARCHAR2
  7. , MONITOR_DS_VALUE IN VARCHAR2
  8. , HUMAN_WORK_STEPS IN NUMBER
  9. , IS_MONITORING IN NUMBER
  10. , HAS_VOTE IN NUMBER
  11. , HAS_MESSAGE IN NUMBER
  12. , COLLABORATION_ENABLED IN NUMBER
  13. , DELETE_EVENTS IN NUMBER
  14. ) AS
  15. sql_stmt VARCHAR2(256);
  16. BEGIN
  17.  
  18. sql_stmt := 'DELETE FROM '|| TABLE_NAME ||' WHERE PROCESS_INSTANCE_ID = :1';
  19. EXECUTE IMMEDIATE sql_stmt USING P_I_ID;
  20.  
  21. DELETE FROM BIZLOGIC_TIMERACTION WHERE "PROCESS_INSTANCE_ID" = P_I_ID;
  22. DELETE FROM BIZLOGIC_SUBPROCESSINSTANCE WHERE SUBPROCESS_INSTANCE_ID = P_I_ID;
  23.  
  24. IF HUMAN_WORK_STEPS <> 0 THEN
  25. DELETE FROM BIZLOGIC_AVAILABLEWORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
  26. END IF;
  27.  
  28. DELETE FROM BIZLOGIC_WORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
  29. DELETE FROM BIZLOGIC_WAITWORKSTEP WHERE PROCESS_INSTANCE_ID = P_I_ID;
  30. DELETE FROM BIZLOGIC_WORKSTEPINSTANCE WHERE PROCESS_INSTANCE_ID = P_I_ID;
  31. DELETE FROM BIZLOGIC_SUBPROCESSINSTANCE WHERE PROCESS_INSTANCE_ID = P_I_ID;
  32. DELETE FROM BIZLOGIC_WORKITEM_PERFORMER WHERE PROCESS_INSTANCE_ID = P_I_ID;
  33.  
  34. IF DELETE_EVENTS <> 0 THEN
  35. DELETE FROM MONITORING_WAIT_WORKSTEP WHERE PROCESS_INSTANCE_ID = P_I_ID;
  36. DELETE FROM BIZEVENT_EXTERNAL WHERE "PROCESS_NAME" = P_NAME AND EXTERNAL_INSTANCE_ID = MONITOR_DS_VALUE AND IS_PROCESSED = 0;
  37. DELETE FROM MONITOR_PROCESS_EIID WHERE PROCESS_TEMPLATE_ID = P_T_ID AND EXTERNAL_INSTANCE_ID = MONITOR_DS_VALUE;
  38. END IF;
  39.  
  40. DELETE FROM BIZLOGIC_EXCLUDE_PERFORMER WHERE PROCESS_INSTANCE_ID = P_I_ID;
  41. DELETE FROM BIZLOGIC_PROCESS_NOTES WHERE PROCESS_INSTANCE_ID = P_I_ID;
  42.  
  43. IF HAS_VOTE <> 0 THEN
  44. DELETE FROM BIZLOGIC_VOTE WHERE PROCESS_INSTANCE_ID = P_I_ID;
  45. END IF;
  46.  
  47. IF HAS_MESSAGE <> 0 THEN
  48. DELETE FROM BIZLOGIC_WORKSTEP_MESSAGES WHERE PROCESS_INSTANCE_ID = P_I_ID;
  49. DELETE FROM BIZLOGIC_MESSAGES WHERE MESSAGE_ID NOT IN (SELECT DISTINCT MESSAGE_ID FROM BIZLOGIC_WORKSTEP_MESSAGES);
  50. END IF;
  51.  
  52. IF COLLABORATION_ENABLED <> 0 THEN
  53. DELETE FROM BIZLOGIC_CWORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
  54. DELETE FROM BIZLOGIC_AVAILABLE_CWORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
  55. DELETE FROM BIZLOGIC_CSTEP_DS WHERE PROCESS_INSTANCE_ID = P_I_ID;
  56. END IF;
  57.  
  58. END BIZLOGIC_DELETEDATAS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement