2: --$Header: igwvsuib.pls 115.5 2002/11/15 00:50:28 ashkumar ship $
3:
4:
5: PROCEDURE CREATE_SUBJECT_INFORMATION
6: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7: , p_commit IN VARCHAR2 := FND_API.G_FALSE
8: , p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9: , p_study_title_id IN NUMBER
10: , p_subject_type_code IN VARCHAR2
3:
4:
5: PROCEDURE CREATE_SUBJECT_INFORMATION
6: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7: , p_commit IN VARCHAR2 := FND_API.G_FALSE
8: , p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9: , p_study_title_id IN NUMBER
10: , p_subject_type_code IN VARCHAR2
11: , p_subject_race_code IN VARCHAR2
4:
5: PROCEDURE CREATE_SUBJECT_INFORMATION
6: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
7: , p_commit IN VARCHAR2 := FND_API.G_FALSE
8: , p_validate_only IN VARCHAR2 := FND_API.G_TRUE
9: , p_study_title_id IN NUMBER
10: , p_subject_type_code IN VARCHAR2
11: , p_subject_race_code IN VARCHAR2
12: , p_subject_ethnicity_code IN VARCHAR2
24: l_data VARCHAR2(250);
25: l_msg_index_out NUMBER;
26:
27: BEGIN
28: IF p_commit = FND_API.G_TRUE THEN
29: SAVEPOINT create_subject_information;
30: END IF;
31:
32: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
28: IF p_commit = FND_API.G_TRUE THEN
29: SAVEPOINT create_subject_information;
30: END IF;
31:
32: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
33: fnd_msg_pub.initialize;
34: end if;
35:
36:
50: If l_msg_count > 0 THEN
51: x_msg_count := l_msg_count;
52: If l_msg_count = 1 THEN
53: fnd_msg_pub.get
54: (p_encoded => FND_API.G_TRUE ,
55: p_msg_index => 1,
56: p_data => l_data,
57: p_msg_index_out => l_msg_index_out );
58: x_msg_data := l_data;
56: p_data => l_data,
57: p_msg_index_out => l_msg_index_out );
58: x_msg_data := l_data;
59: End if;
60: RAISE FND_API.G_EXC_ERROR;
61: End if;
62: x_return_status := FND_API.G_RET_STS_SUCCESS;
63: EXCEPTION
64:
58: x_msg_data := l_data;
59: End if;
60: RAISE FND_API.G_EXC_ERROR;
61: End if;
62: x_return_status := FND_API.G_RET_STS_SUCCESS;
63: EXCEPTION
64:
65: when fnd_api.g_exc_unexpected_error then
66: if p_commit = fnd_api.g_true then
61: End if;
62: x_return_status := FND_API.G_RET_STS_SUCCESS;
63: EXCEPTION
64:
65: when fnd_api.g_exc_unexpected_error then
66: if p_commit = fnd_api.g_true then
67: rollback to create_subject_information;
68: end if;
69: x_return_status := fnd_api.g_ret_sts_unexp_error;
62: x_return_status := FND_API.G_RET_STS_SUCCESS;
63: EXCEPTION
64:
65: when fnd_api.g_exc_unexpected_error then
66: if p_commit = fnd_api.g_true then
67: rollback to create_subject_information;
68: end if;
69: x_return_status := fnd_api.g_ret_sts_unexp_error;
70:
65: when fnd_api.g_exc_unexpected_error then
66: if p_commit = fnd_api.g_true then
67: rollback to create_subject_information;
68: end if;
69: x_return_status := fnd_api.g_ret_sts_unexp_error;
70:
71: Fnd_Msg_Pub.Count_And_Get
72: ( p_count => x_msg_count,
73: p_data => x_msg_data);
72: ( p_count => x_msg_count,
73: p_data => x_msg_data);
74:
75:
76: when fnd_api.g_exc_error then
77: IF p_commit = fnd_api.g_true then
78: rollback TO create_subject_information;
79: end if;
80: x_return_status := 'E';
73: p_data => x_msg_data);
74:
75:
76: when fnd_api.g_exc_error then
77: IF p_commit = fnd_api.g_true then
78: rollback TO create_subject_information;
79: end if;
80: x_return_status := 'E';
81: Fnd_Msg_Pub.Count_And_Get
82: ( p_count => x_msg_count,
83: p_data => x_msg_data);
84:
85: when others then
86: if p_commit = fnd_api.g_true then
87: rollback to create_subject_information;
88: end if;
89: x_return_status := fnd_api.g_ret_sts_unexp_error;
90: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
85: when others then
86: if p_commit = fnd_api.g_true then
87: rollback to create_subject_information;
88: end if;
89: x_return_status := fnd_api.g_ret_sts_unexp_error;
90: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
91: p_procedure_name => 'CREATE_SUBJECT_INFORMATION');
92:
93: Fnd_Msg_Pub.Count_And_Get
98:
99: ------------------------------------------------------------------------------------------------
100:
101: PROCEDURE UPDATE_SUBJECT_INFORMATION
102: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
103: , p_commit IN VARCHAR2 := FND_API.G_FALSE
104: , p_validate_only IN VARCHAR2 := FND_API.G_TRUE
105: , p_study_title_id IN NUMBER
106: , p_subject_type_code IN VARCHAR2
99: ------------------------------------------------------------------------------------------------
100:
101: PROCEDURE UPDATE_SUBJECT_INFORMATION
102: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
103: , p_commit IN VARCHAR2 := FND_API.G_FALSE
104: , p_validate_only IN VARCHAR2 := FND_API.G_TRUE
105: , p_study_title_id IN NUMBER
106: , p_subject_type_code IN VARCHAR2
107: , p_subject_race_code IN VARCHAR2
100:
101: PROCEDURE UPDATE_SUBJECT_INFORMATION
102: (p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
103: , p_commit IN VARCHAR2 := FND_API.G_FALSE
104: , p_validate_only IN VARCHAR2 := FND_API.G_TRUE
105: , p_study_title_id IN NUMBER
106: , p_subject_type_code IN VARCHAR2
107: , p_subject_race_code IN VARCHAR2
108: , p_subject_ethnicity_code IN VARCHAR2
122:
123:
124: BEGIN
125:
126: IF p_commit = FND_API.G_TRUE THEN
127: SAVEPOINT update_study_title;
128: END IF;
129:
130: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
126: IF p_commit = FND_API.G_TRUE THEN
127: SAVEPOINT update_study_title;
128: END IF;
129:
130: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
131: fnd_msg_pub.initialize;
132: end if;
133:
134: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
130: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
131: fnd_msg_pub.initialize;
132: end if;
133:
134: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
135:
136: CHECK_LOCK(p_rowid
137: ,p_record_version_number
138: ,x_return_status );
141: If l_msg_count > 0 THEN
142: x_msg_count := l_msg_count;
143: If l_msg_count = 1 THEN
144: fnd_msg_pub.get
145: (p_encoded => FND_API.G_TRUE ,
146: p_msg_index => 1,
147: p_data => l_data,
148: p_msg_index_out => l_msg_index_out );
149:
148: p_msg_index_out => l_msg_index_out );
149:
150: x_msg_data := l_data;
151: End if;
152: RAISE FND_API.G_EXC_ERROR;
153: End if;
154:
155: IGW_SUBJECT_INFORMATION_TBH.UPDATE_ROW (
156: X_ROWID => p_rowid,
171: If l_msg_count > 0 THEN
172: x_msg_count := l_msg_count;
173: If l_msg_count = 1 THEN
174: fnd_msg_pub.get
175: (p_encoded => FND_API.G_TRUE ,
176: p_msg_index => 1,
177: p_data => l_data,
178: p_msg_index_out => l_msg_index_out );
179:
178: p_msg_index_out => l_msg_index_out );
179:
180: x_msg_data := l_data;
181: End if;
182: RAISE FND_API.G_EXC_ERROR;
183: End if;
184:
185: -- standard check of p_commit
186: if fnd_api.to_boolean(p_commit) then
182: RAISE FND_API.G_EXC_ERROR;
183: End if;
184:
185: -- standard check of p_commit
186: if fnd_api.to_boolean(p_commit) then
187: commit work;
188: end if;
189:
190: x_return_status := FND_API.G_RET_STS_SUCCESS;
186: if fnd_api.to_boolean(p_commit) then
187: commit work;
188: end if;
189:
190: x_return_status := FND_API.G_RET_STS_SUCCESS;
191: EXCEPTION
192: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
193: IF p_commit = FND_API.G_TRUE THEN
194: ROLLBACK TO update_study_title;
188: end if;
189:
190: x_return_status := FND_API.G_RET_STS_SUCCESS;
191: EXCEPTION
192: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
193: IF p_commit = FND_API.G_TRUE THEN
194: ROLLBACK TO update_study_title;
195: END IF;
196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
189:
190: x_return_status := FND_API.G_RET_STS_SUCCESS;
191: EXCEPTION
192: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
193: IF p_commit = FND_API.G_TRUE THEN
194: ROLLBACK TO update_study_title;
195: END IF;
196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
197: Fnd_Msg_Pub.Count_And_Get
192: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
193: IF p_commit = FND_API.G_TRUE THEN
194: ROLLBACK TO update_study_title;
195: END IF;
196: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
197: Fnd_Msg_Pub.Count_And_Get
198: ( p_count => x_msg_count,
199: p_data => x_msg_data);
200:
197: Fnd_Msg_Pub.Count_And_Get
198: ( p_count => x_msg_count,
199: p_data => x_msg_data);
200:
201: WHEN FND_API.G_EXC_ERROR THEN
202: IF p_commit = FND_API.G_TRUE THEN
203: ROLLBACK TO update_study_title;
204: END IF;
205: x_return_status := 'E';
198: ( p_count => x_msg_count,
199: p_data => x_msg_data);
200:
201: WHEN FND_API.G_EXC_ERROR THEN
202: IF p_commit = FND_API.G_TRUE THEN
203: ROLLBACK TO update_study_title;
204: END IF;
205: x_return_status := 'E';
206: Fnd_Msg_Pub.Count_And_Get
207: ( p_count => x_msg_count,
208: p_data => x_msg_data);
209:
210: WHEN OTHERS THEN
211: IF p_commit = FND_API.G_TRUE THEN
212: ROLLBACK TO update_study_title;
213: END IF;
214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
215: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
210: WHEN OTHERS THEN
211: IF p_commit = FND_API.G_TRUE THEN
212: ROLLBACK TO update_study_title;
213: END IF;
214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
215: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
216: p_procedure_name => 'UPDATE_SUBJECT_INFORMATION');
217: Fnd_Msg_Pub.Count_And_Get
218: ( p_count => x_msg_count,
220:
221: END UPDATE_SUBJECT_INFORMATION;
222: -------------------------------------------------------------------------------------------
223: PROCEDURE DELETE_SUBJECT_INFORMATION (
224: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
225: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
226: ,p_validate_only IN VARCHAR2 := FND_API.G_FALSE
227: ,x_rowid IN VARCHAR2
228: ,p_study_title_id IN NUMBER
221: END UPDATE_SUBJECT_INFORMATION;
222: -------------------------------------------------------------------------------------------
223: PROCEDURE DELETE_SUBJECT_INFORMATION (
224: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
225: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
226: ,p_validate_only IN VARCHAR2 := FND_API.G_FALSE
227: ,x_rowid IN VARCHAR2
228: ,p_study_title_id IN NUMBER
229: ,p_record_version_number IN NUMBER
222: -------------------------------------------------------------------------------------------
223: PROCEDURE DELETE_SUBJECT_INFORMATION (
224: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
225: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
226: ,p_validate_only IN VARCHAR2 := FND_API.G_FALSE
227: ,x_rowid IN VARCHAR2
228: ,p_study_title_id IN NUMBER
229: ,p_record_version_number IN NUMBER
230: ,x_return_status OUT NOCOPY VARCHAR2
238:
239:
240: BEGIN
241: -- create savepoint
242: IF p_commit = FND_API.G_TRUE THEN
243: SAVEPOINT delete_study_title;
244: END IF;
245:
246: -- initialize message list if p_init_msg_list is set to true
243: SAVEPOINT delete_study_title;
244: END IF;
245:
246: -- initialize message list if p_init_msg_list is set to true
247: if FND_API.to_boolean(nvl(p_init_msg_list, FND_API.G_FALSE)) then
248: fnd_msg_pub.initialize;
249: end if;
250:
251: CHECK_LOCK (x_rowid => x_rowid
256: If l_msg_count > 0 THEN
257: x_msg_count := l_msg_count;
258: If l_msg_count = 1 THEN
259: fnd_msg_pub.get
260: (p_encoded => FND_API.G_TRUE ,
261: p_msg_index => 1,
262: p_data => l_data,
263: p_msg_index_out => l_msg_index_out );
264:
263: p_msg_index_out => l_msg_index_out );
264:
265: x_msg_data := l_data;
266: End if;
267: RAISE FND_API.G_EXC_ERROR;
268: End if;
269:
270: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
271:
266: End if;
267: RAISE FND_API.G_EXC_ERROR;
268: End if;
269:
270: if (NOT FND_API.TO_BOOLEAN (p_validate_only)) then
271:
272: IGW_SUBJECT_INFORMATION_TBH.DELETE_ROW(
273: x_rowid => x_rowid,
274: x_record_version_number => p_record_version_number,
280: If l_msg_count > 0 THEN
281: x_msg_count := l_msg_count;
282: If l_msg_count = 1 THEN
283: fnd_msg_pub.get
284: (p_encoded => FND_API.G_TRUE ,
285: p_msg_index => 1,
286: p_data => l_data,
287: p_msg_index_out => l_msg_index_out );
288:
287: p_msg_index_out => l_msg_index_out );
288:
289: x_msg_data := l_data;
290: End if;
291: RAISE FND_API.G_EXC_ERROR;
292: End if;
293:
294:
295: -- standard check of p_commit
292: End if;
293:
294:
295: -- standard check of p_commit
296: if fnd_api.to_boolean(p_commit) then
297: commit work;
298: end if;
299:
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
296: if fnd_api.to_boolean(p_commit) then
297: commit work;
298: end if;
299:
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: EXCEPTION
303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
304: IF p_commit = FND_API.G_TRUE THEN
299:
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: EXCEPTION
303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
304: IF p_commit = FND_API.G_TRUE THEN
305: ROLLBACK TO delete_study_title;
306: END IF;
307: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
300: x_return_status := FND_API.G_RET_STS_SUCCESS;
301:
302: EXCEPTION
303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
304: IF p_commit = FND_API.G_TRUE THEN
305: ROLLBACK TO delete_study_title;
306: END IF;
307: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
308: Fnd_Msg_Pub.Count_And_Get
303: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
304: IF p_commit = FND_API.G_TRUE THEN
305: ROLLBACK TO delete_study_title;
306: END IF;
307: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
308: Fnd_Msg_Pub.Count_And_Get
309: ( p_count => x_msg_count,
310: p_data => x_msg_data);
311:
308: Fnd_Msg_Pub.Count_And_Get
309: ( p_count => x_msg_count,
310: p_data => x_msg_data);
311:
312: WHEN FND_API.G_EXC_ERROR THEN
313: IF p_commit = FND_API.G_TRUE THEN
314: ROLLBACK TO update_study_title;
315: END IF;
316: x_return_status := 'E';
309: ( p_count => x_msg_count,
310: p_data => x_msg_data);
311:
312: WHEN FND_API.G_EXC_ERROR THEN
313: IF p_commit = FND_API.G_TRUE THEN
314: ROLLBACK TO update_study_title;
315: END IF;
316: x_return_status := 'E';
317: Fnd_Msg_Pub.Count_And_Get
318: ( p_count => x_msg_count,
319: p_data => x_msg_data);
320:
321: WHEN OTHERS THEN
322: IF p_commit = FND_API.G_TRUE THEN
323: ROLLBACK TO update_study_title;
324: END IF;
325: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
326: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
321: WHEN OTHERS THEN
322: IF p_commit = FND_API.G_TRUE THEN
323: ROLLBACK TO update_study_title;
324: END IF;
325: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
326: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
327: p_procedure_name => 'DELETE_SUBJECT_INFORMATION');
328: Fnd_Msg_Pub.Count_And_Get
329: ( p_count => x_msg_count,
345: and record_version_number = p_record_version_number;
346:
347: EXCEPTION
348: WHEN NO_DATA_FOUND THEN
349: x_return_status := FND_API.G_RET_STS_ERROR;
350: FND_MESSAGE.SET_NAME('IGW','IGW_SS_RECORD_CHANGED');
351: FND_MSG_PUB.Add;
352: raise fnd_api.g_exc_error;
353:
348: WHEN NO_DATA_FOUND THEN
349: x_return_status := FND_API.G_RET_STS_ERROR;
350: FND_MESSAGE.SET_NAME('IGW','IGW_SS_RECORD_CHANGED');
351: FND_MSG_PUB.Add;
352: raise fnd_api.g_exc_error;
353:
354: WHEN OTHERS THEN
355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
351: FND_MSG_PUB.Add;
352: raise fnd_api.g_exc_error;
353:
354: WHEN OTHERS THEN
355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
357: p_procedure_name => 'CHECK_LOCK');
358: raise fnd_api.g_exc_unexpected_error;
359:
354: WHEN OTHERS THEN
355: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
356: fnd_msg_pub.add_exc_msg(p_pkg_name => 'IGW_SUBJECT_INFORMATION_PVT',
357: p_procedure_name => 'CHECK_LOCK');
358: raise fnd_api.g_exc_unexpected_error;
359:
360:
361: END CHECK_LOCK;
362: