Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create or replace PROCEDURE BIZLOGIC_DELETEDATAS
- (
- P_I_ID IN NUMBER
- , P_T_ID IN NUMBER
- , TABLE_NAME IN VARCHAR2
- , P_NAME IN VARCHAR2
- , MONITOR_DS_VALUE IN VARCHAR2
- , HUMAN_WORK_STEPS IN NUMBER
- , IS_MONITORING IN NUMBER
- , HAS_VOTE IN NUMBER
- , HAS_MESSAGE IN NUMBER
- , COLLABORATION_ENABLED IN NUMBER
- , DELETE_EVENTS IN NUMBER
- ) AS
- sql_stmt VARCHAR2(256);
- BEGIN
- sql_stmt := 'DELETE FROM '|| TABLE_NAME ||' WHERE PROCESS_INSTANCE_ID = :1';
- EXECUTE IMMEDIATE sql_stmt USING P_I_ID;
- DELETE FROM BIZLOGIC_TIMERACTION WHERE "PROCESS_INSTANCE_ID" = P_I_ID;
- DELETE FROM BIZLOGIC_SUBPROCESSINSTANCE WHERE SUBPROCESS_INSTANCE_ID = P_I_ID;
- IF HUMAN_WORK_STEPS <> 0 THEN
- DELETE FROM BIZLOGIC_AVAILABLEWORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
- END IF;
- DELETE FROM BIZLOGIC_WORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_WAITWORKSTEP WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_WORKSTEPINSTANCE WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_SUBPROCESSINSTANCE WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_WORKITEM_PERFORMER WHERE PROCESS_INSTANCE_ID = P_I_ID;
- IF DELETE_EVENTS <> 0 THEN
- DELETE FROM MONITORING_WAIT_WORKSTEP WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZEVENT_EXTERNAL WHERE "PROCESS_NAME" = P_NAME AND EXTERNAL_INSTANCE_ID = MONITOR_DS_VALUE AND IS_PROCESSED = 0;
- DELETE FROM MONITOR_PROCESS_EIID WHERE PROCESS_TEMPLATE_ID = P_T_ID AND EXTERNAL_INSTANCE_ID = MONITOR_DS_VALUE;
- END IF;
- DELETE FROM BIZLOGIC_EXCLUDE_PERFORMER WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_PROCESS_NOTES WHERE PROCESS_INSTANCE_ID = P_I_ID;
- IF HAS_VOTE <> 0 THEN
- DELETE FROM BIZLOGIC_VOTE WHERE PROCESS_INSTANCE_ID = P_I_ID;
- END IF;
- IF HAS_MESSAGE <> 0 THEN
- DELETE FROM BIZLOGIC_WORKSTEP_MESSAGES WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_MESSAGES WHERE MESSAGE_ID NOT IN (SELECT DISTINCT MESSAGE_ID FROM BIZLOGIC_WORKSTEP_MESSAGES);
- END IF;
- IF COLLABORATION_ENABLED <> 0 THEN
- DELETE FROM BIZLOGIC_CWORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_AVAILABLE_CWORKITEM WHERE PROCESS_INSTANCE_ID = P_I_ID;
- DELETE FROM BIZLOGIC_CSTEP_DS WHERE PROCESS_INSTANCE_ID = P_I_ID;
- END IF;
- END BIZLOGIC_DELETEDATAS;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement