16: RAISE INVALID_DATE_EXCEPTION;
17: END IF;
18:
19: /* Validate if end data is null and request is not for truncate */
20: IF(P_END_DATE IS NULL AND P_TRUNCATE_TABLE= GMO_CONSTANTS_GRP.NO) THEN
21: fnd_message.set_name('GMO', 'GMO_INVALID_INPUT_PARAM');
22: FND_MSG_PUB.ADD;
23: RAISE INVALID_PARAM_EXCEPTION;
24: END IF ;
22: FND_MSG_PUB.ADD;
23: RAISE INVALID_PARAM_EXCEPTION;
24: END IF ;
25:
26: IF(P_TRUNCATE_TABLE = GMO_CONSTANTS_GRP.YES) THEN
27: execute immediate 'truncate table GMO_DEVICE_RESPONSES_T';
28: execute immediate 'truncate table GMO_DEVICE_REQUESTS_T';
29: RETURN;
30: END IF;
37: WHERE CREATION_DATE <= P_END_DATE );
38:
39: DELETE FROM GMO_DEVICE_REQUESTS_T WHERE CREATION_DATE <= P_END_DATE;
40:
41: IF(P_COMMIT = GMO_CONSTANTS_GRP.YES) THEN
42: COMMIT;
43: END IF;
44: EXCEPTION
45: WHEN OTHERS THEN
70: RAISE INVALID_DATE_EXCEPTION;
71: END IF;
72:
73: /* Validate if end data is null and request is not for truncate */
74: IF(P_END_DATE IS NULL AND P_TRUNCATE_TABLE = GMO_CONSTANTS_GRP.NO) THEN
75: fnd_message.set_name('GMO', 'GMO_INVALID_INPUT_PARAM');
76: FND_MSG_PUB.ADD;
77: RAISE INVALID_PARAM_EXCEPTION;
78: END IF ;
76: FND_MSG_PUB.ADD;
77: RAISE INVALID_PARAM_EXCEPTION;
78: END IF ;
79:
80: IF(P_TRUNCATE_TABLE = GMO_CONSTANTS_GRP.YES) THEN
81: /* Truncate Definition temporary tables */
82: execute immediate 'truncate table GMO_INSTR_APPR_DEFN_T';
83: execute immediate 'truncate table GMO_INSTR_DEFN_T';
84: execute immediate 'truncate table GMO_INSTR_SET_DEFN_T';
105:
106: /* Truncate Attributes table in the end */
107: delete GMO_INSTR_ATTRIBUTES_T where LAST_UPDATE_DATE <= P_END_DATE;
108:
109: IF(P_COMMIT = GMO_CONSTANTS_GRP.YES) THEN
110: COMMIT;
111: END IF;
112:
113: EXCEPTION
137: RAISE INVALID_DATE_EXCEPTION;
138: END IF;
139:
140: /* Validate if end data is null and request is not for truncate */
141: IF(P_END_DATE IS NULL AND P_TRUNCATE_TABLE = GMO_CONSTANTS_GRP.NO) THEN
142: fnd_message.set_name('GMO', 'GMO_INVALID_INPUT_PARAM');
143: FND_MSG_PUB.ADD;
144: RAISE INVALID_PARAM_EXCEPTION;
145: END IF ;
146:
147:
148: PURGE_DEVICE_DATA(P_END_DATE => P_END_DATE,
149: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
150: P_COMMIT => GMO_CONSTANTS_GRP.NO);
151:
152:
153: PURGE_INSTRUCTION_DATA(P_END_DATE => P_END_DATE,
154: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
151:
152:
153: PURGE_INSTRUCTION_DATA(P_END_DATE => P_END_DATE,
154: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
155: P_COMMIT => GMO_CONSTANTS_GRP.NO);
156:
157: IF(P_COMMIT = GMO_CONSTANTS_GRP.YES) THEN
158: COMMIT;
159: END IF;
153: PURGE_INSTRUCTION_DATA(P_END_DATE => P_END_DATE,
154: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
155: P_COMMIT => GMO_CONSTANTS_GRP.NO);
156:
157: IF(P_COMMIT = GMO_CONSTANTS_GRP.YES) THEN
158: COMMIT;
159: END IF;
160:
161: EXCEPTION
174: PROCEDURE PURGE_ALL(ERRBUF OUT NOCOPY VARCHAR2,
175: RETCODE OUT NOCOPY VARCHAR2,
176: P_MODULE_NAME IN VARCHAR2 DEFAULT NULL,
177: P_AGE IN VARCHAR2 ,
178: P_TRUNCATE_TABLE IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.NO)
179: IS
180: l_end_date date;
181: l_err_msg VARCHAR2(4000);
182: BEGIN
193:
194: IF(P_MODULE_NAME is null) THEN
195: PURGE_ALL(P_END_DATE => l_end_date,
196: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
197: P_COMMIT => GMO_CONSTANTS_GRP.YES);
198: ELSIF (P_MODULE_NAME = 'DEVICE') THEN
199: PURGE_DEVICE_DATA(P_END_DATE => l_end_date,
200: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
201: P_COMMIT => GMO_CONSTANTS_GRP.YES);
197: P_COMMIT => GMO_CONSTANTS_GRP.YES);
198: ELSIF (P_MODULE_NAME = 'DEVICE') THEN
199: PURGE_DEVICE_DATA(P_END_DATE => l_end_date,
200: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
201: P_COMMIT => GMO_CONSTANTS_GRP.YES);
202: ELSIF (P_MODULE_NAME='INSTRUCTION') THEN
203: PURGE_INSTRUCTION_DATA(P_END_DATE => l_end_date,
204: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
205: P_COMMIT => GMO_CONSTANTS_GRP.YES);
201: P_COMMIT => GMO_CONSTANTS_GRP.YES);
202: ELSIF (P_MODULE_NAME='INSTRUCTION') THEN
203: PURGE_INSTRUCTION_DATA(P_END_DATE => l_end_date,
204: P_TRUNCATE_TABLE => P_TRUNCATE_TABLE,
205: P_COMMIT => GMO_CONSTANTS_GRP.YES);
206: END IF;
207:
208: fnd_message.set_name('GMO', 'GMO_PURGE_TOTAL_END');
209: fnd_file.put_line(fnd_file.output, fnd_message.get);