[Home] [Help]
PACKAGE BODY: APPS.CS_CONTRACTTYPE_PVT
Source
1 PACKAGE BODY CS_CONTRACTTYPE_PVT AS
2 /* $Header: csctctyb.pls 115.1 99/07/16 08:51:48 porting ship $ */
3 FUNCTION get_seq_id RETURN NUMBER IS
4 CURSOR get_seq_id_csr IS
5 SELECT CS_CONTRACT_TYPES_S.nextval FROM SYS.DUAL;
6 l_seq_id NUMBER := 0;
7 BEGIN
8 OPEN get_seq_id_csr;
9 FETCH get_seq_id_csr INTO l_seq_id;
10 CLOSE get_seq_id_csr;
11 RETURN(l_seq_id);
12 END get_seq_id;
13
14
15 -- Validation
16 FUNCTION Validate_Item_Attributes
17 (
18 p_contracttype_rec IN ContractType_Rec_Type
19 )
20 RETURN VARCHAR2
21 IS
22 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
23 BEGIN
24 IF p_contracttype_rec.name = TAPI_DEV_KIT.G_MISS_CHAR OR
25 p_contracttype_rec.name IS NULL
26 THEN
27 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'name');
28 l_return_status := FND_API.G_RET_STS_ERROR;
29 ELSIF p_contracttype_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE OR
30 p_contracttype_rec.last_update_date IS NULL
31 THEN
32 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
33 l_return_status := FND_API.G_RET_STS_ERROR;
34 ELSIF p_contracttype_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM OR
35 p_contracttype_rec.last_updated_by IS NULL
36 THEN
37 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
38 l_return_status := FND_API.G_RET_STS_ERROR;
39 ELSIF p_contracttype_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
40 p_contracttype_rec.creation_date IS NULL
41 THEN
42 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
43 l_return_status := FND_API.G_RET_STS_ERROR;
44 ELSIF p_contracttype_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
45 p_contracttype_rec.created_by IS NULL
46 THEN
47 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
48 l_return_status := FND_API.G_RET_STS_ERROR;
49 END IF;
50 RETURN(l_return_status);
51 END Validate_Item_Attributes;
52
53
54 ----- Default
55 FUNCTION Default_Item_Attributes
56 (
57 p_contracttype_rec IN ContractType_Rec_Type,
58 l_def_contracttype_rec OUT ContractType_Rec_Type
59 )
60 RETURN VARCHAR2
61 IS
62 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
63 BEGIN
64 l_def_contracttype_rec := p_contracttype_rec;
65 l_def_contracttype_rec.OBJECT_VERSION_NUMBER := NVL(l_def_contracttype_rec.OBJECT_VERSION_NUMBER, 0) + 1;
66 RETURN(l_return_status);
67 End Default_Item_attributes;
68
69
70 FUNCTION Validate_Item_Record (
71 p_contracttype_rec IN ContractType_Rec_Type
72 )
73 RETURN VARCHAR2 IS
74 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
75 FUNCTION validate_foreign_keys (
76 p_contracttype_rec IN ContractType_Rec_Type
77 )
78 RETURN VARCHAR2 IS
79 item_not_found_error EXCEPTION;
80 CURSOR ra_cust_trx_types_pk_csr (p_cust_trx_type_id IN NUMBER) IS
81 SELECT *
82 FROM Ra_Cust_Trx_Types
83 WHERE ra_cust_trx_types.cust_trx_type_id = p_cust_trx_type_id;
84 l_ra_cust_trx_types_pk ra_cust_trx_types_pk_csr%ROWTYPE;
85 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
86 l_row_notfound BOOLEAN := TRUE;
87 BEGIN
88 IF (p_contracttype_rec.CUST_TRX_TYPE_ID IS NOT NULL)
89 THEN
90 OPEN ra_cust_trx_types_pk_csr(p_contracttype_rec.CUST_TRX_TYPE_ID);
91 FETCH ra_cust_trx_types_pk_csr INTO l_ra_cust_trx_types_pk;
92 l_row_notfound := ra_cust_trx_types_pk_csr%NOTFOUND;
93 CLOSE ra_cust_trx_types_pk_csr;
94 IF (l_row_notfound) THEN
95 TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'CUST_TRX_TYPE_ID');
96 RAISE item_not_found_error;
97 END IF;
98 END IF;
99 RETURN (l_return_status);
100 EXCEPTION
101 WHEN item_not_found_error THEN
102 l_return_status := FND_API.G_RET_STS_ERROR;
103 RETURN (l_return_status);
104 END validate_foreign_keys;
105 BEGIN
106 l_return_status := validate_foreign_keys (p_contracttype_rec);
107 RETURN (l_return_status);
108 END Validate_Item_Record;
109
110
111 PROCEDURE migrate (
112 p_from IN ContractType_Val_Rec_Type,
113 p_to OUT ContractType_Rec_Type
114 ) IS
115 BEGIN
116 p_to.contract_type_id := p_from.contract_type_id;
117 p_to.name := p_from.name;
118 p_to.description := p_from.description;
119 p_to.cust_trx_type_id := p_from.cust_trx_type_id;
120 p_to.last_update_date := p_from.last_update_date;
121 p_to.last_updated_by := p_from.last_updated_by;
122 p_to.creation_date := p_from.creation_date;
123 p_to.created_by := p_from.created_by;
124 p_to.last_update_login := p_from.last_update_login;
125 p_to.start_date_active := p_from.start_date_active;
126 p_to.end_date_active := p_from.end_date_active;
127 p_to.attribute1 := p_from.attribute1;
128 p_to.attribute2 := p_from.attribute2;
129 p_to.attribute3 := p_from.attribute3;
130 p_to.attribute4 := p_from.attribute4;
131 p_to.attribute5 := p_from.attribute5;
132 p_to.attribute6 := p_from.attribute6;
133 p_to.attribute7 := p_from.attribute7;
134 p_to.attribute8 := p_from.attribute8;
135 p_to.attribute9 := p_from.attribute9;
136 p_to.attribute10 := p_from.attribute10;
137 p_to.attribute11 := p_from.attribute11;
138 p_to.attribute12 := p_from.attribute12;
139 p_to.attribute13 := p_from.attribute13;
140 p_to.attribute14 := p_from.attribute14;
141 p_to.attribute15 := p_from.attribute15;
142 p_to.context := p_from.context;
143 p_to.object_version_number := p_from.object_version_number;
144 END migrate;
145 PROCEDURE migrate (
146 p_from IN ContractType_Rec_Type,
147 p_to OUT ContractType_Val_Rec_Type
148 ) IS
149 BEGIN
150 p_to.contract_type_id := p_from.contract_type_id;
151 p_to.name := p_from.name;
152 p_to.description := p_from.description;
153 p_to.cust_trx_type_id := p_from.cust_trx_type_id;
154 p_to.last_update_date := p_from.last_update_date;
155 p_to.last_updated_by := p_from.last_updated_by;
156 p_to.creation_date := p_from.creation_date;
157 p_to.created_by := p_from.created_by;
158 p_to.last_update_login := p_from.last_update_login;
159 p_to.start_date_active := p_from.start_date_active;
160 p_to.end_date_active := p_from.end_date_active;
161 p_to.attribute1 := p_from.attribute1;
162 p_to.attribute2 := p_from.attribute2;
163 p_to.attribute3 := p_from.attribute3;
164 p_to.attribute4 := p_from.attribute4;
165 p_to.attribute5 := p_from.attribute5;
166 p_to.attribute6 := p_from.attribute6;
167 p_to.attribute7 := p_from.attribute7;
168 p_to.attribute8 := p_from.attribute8;
169 p_to.attribute9 := p_from.attribute9;
170 p_to.attribute10 := p_from.attribute10;
171 p_to.attribute11 := p_from.attribute11;
172 p_to.attribute12 := p_from.attribute12;
173 p_to.attribute13 := p_from.attribute13;
174 p_to.attribute14 := p_from.attribute14;
175 p_to.attribute15 := p_from.attribute15;
176 p_to.context := p_from.context;
177 p_to.object_version_number := p_from.object_version_number;
178 END migrate;
179 PROCEDURE insert_row
180 (
181 p_api_version IN NUMBER,
182 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
183 p_validation_level IN NUMBER,
184 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
185 x_return_status OUT VARCHAR2,
186 x_msg_count OUT NUMBER,
187 x_msg_data OUT VARCHAR2,
188 p_contracttype_rec IN ContractType_Rec_Type := G_MISS_CONTRACTTYPE_REC,
189 x_contract_type_id OUT NUMBER,
190 x_object_version_number OUT NUMBER) IS
191 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
192 l_api_version CONSTANT NUMBER := 1;
193 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
194 l_contracttype_rec ContractType_Rec_Type;
195 l_def_contracttype_rec ContractType_Rec_Type;
196 BEGIN
197 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
198 G_PKG_NAME,
199 l_api_version,
200 p_api_version,
201 p_init_msg_list,
202 '_Pvt',
203 x_return_status);
204 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
205 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
206 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
207 RAISE FND_API.G_EXC_ERROR;
208 END IF;
209 l_contracttype_rec := p_contracttype_rec;
210 --- Validate all non-missing attributes (Item Level Validation)
211 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
212 l_return_status := Validate_Item_Attributes
213 (
214 l_contracttype_rec ---- IN
215 );
216 --- If any errors happen abort API
217 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
218 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
219 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
220 RAISE FND_API.G_EXC_ERROR;
221 END IF;
222 END IF;
223 --- Defaulting item attributes
224 l_return_status := Default_Item_Attributes
225 (
226 l_contracttype_rec, ---- IN
227 l_def_contracttype_rec
228 );
229 --- If any errors happen abort API
230 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
231 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
232 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
233 RAISE FND_API.G_EXC_ERROR;
234 END IF;
235 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
236 l_return_status := Validate_Item_Record(l_def_contracttype_rec);
237 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
238 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
239 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
240 RAISE FND_API.G_EXC_ERROR;
241 END IF;
242 END IF;
243 -- Set primary key value
244 l_def_contracttype_rec.contract_type_id := get_seq_id;
245 INSERT INTO CS_CONTRACT_TYPES(
246 contract_type_id,
247 name,
248 description,
249 cust_trx_type_id,
250 last_update_date,
251 last_updated_by,
252 creation_date,
253 created_by,
254 last_update_login,
255 start_date_active,
256 end_date_active,
257 attribute1,
258 attribute2,
259 attribute3,
260 attribute4,
261 attribute5,
262 attribute6,
263 attribute7,
264 attribute8,
265 attribute9,
266 attribute10,
267 attribute11,
268 attribute12,
269 attribute13,
270 attribute14,
271 attribute15,
272 context,
273 object_version_number)
274 VALUES (
275 l_def_contracttype_rec.contract_type_id,
276 l_def_contracttype_rec.name,
277 l_def_contracttype_rec.description,
278 l_def_contracttype_rec.cust_trx_type_id,
279 l_def_contracttype_rec.last_update_date,
280 l_def_contracttype_rec.last_updated_by,
281 l_def_contracttype_rec.creation_date,
282 l_def_contracttype_rec.created_by,
283 l_def_contracttype_rec.last_update_login,
284 l_def_contracttype_rec.start_date_active,
285 l_def_contracttype_rec.end_date_active,
286 l_def_contracttype_rec.attribute1,
287 l_def_contracttype_rec.attribute2,
288 l_def_contracttype_rec.attribute3,
289 l_def_contracttype_rec.attribute4,
290 l_def_contracttype_rec.attribute5,
291 l_def_contracttype_rec.attribute6,
292 l_def_contracttype_rec.attribute7,
293 l_def_contracttype_rec.attribute8,
294 l_def_contracttype_rec.attribute9,
295 l_def_contracttype_rec.attribute10,
296 l_def_contracttype_rec.attribute11,
297 l_def_contracttype_rec.attribute12,
298 l_def_contracttype_rec.attribute13,
299 l_def_contracttype_rec.attribute14,
300 l_def_contracttype_rec.attribute15,
301 l_def_contracttype_rec.context,
302 l_def_contracttype_rec.object_version_number);
303 -- Set OUT values
304 x_contract_type_id := l_def_contracttype_rec.contract_type_id;
305 x_object_version_number := l_def_contracttype_rec.OBJECT_VERSION_NUMBER;
306 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
307 EXCEPTION
308 WHEN FND_API.G_EXC_ERROR THEN
309 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
310 (
311 l_api_name,
312 G_PKG_NAME,
313 'FND_API.G_RET_STS_ERROR',
314 x_msg_count,
315 x_msg_data,
316 '_Pvt'
317 );
318 APP_EXCEPTION.RAISE_EXCEPTION;
319 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
320 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
321 (
322 l_api_name,
323 G_PKG_NAME,
324 'FND_API.G_RET_STS_UNEXP_ERROR',
325 x_msg_count,
326 x_msg_data,
327 '_Pvt'
328 );
329 APP_EXCEPTION.RAISE_EXCEPTION;
330 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
331 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
332 (
333 l_api_name,
334 G_PKG_NAME,
335 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
336 x_msg_count,
337 x_msg_data,
338 '_Pvt'
339 );
340 APP_EXCEPTION.RAISE_EXCEPTION;
341 END insert_row;
342 PROCEDURE insert_row
343 (
344 p_api_version IN NUMBER,
345 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
346 p_validation_level IN NUMBER,
347 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
348 x_return_status OUT VARCHAR2,
349 x_msg_count OUT NUMBER,
350 x_msg_data OUT VARCHAR2,
351 p_name IN CS_CONTRACT_TYPES.NAME%TYPE := NULL,
352 p_description IN CS_CONTRACT_TYPES.DESCRIPTION%TYPE := NULL,
353 p_cust_trx_type_id IN NUMBER := NULL,
354 p_last_update_date IN CS_CONTRACT_TYPES.LAST_UPDATE_DATE%TYPE := NULL,
355 p_last_updated_by IN NUMBER := NULL,
356 p_creation_date IN CS_CONTRACT_TYPES.CREATION_DATE%TYPE := NULL,
357 p_created_by IN NUMBER := NULL,
358 p_last_update_login IN NUMBER := NULL,
359 p_start_date_active IN CS_CONTRACT_TYPES.START_DATE_ACTIVE%TYPE := NULL,
360 p_end_date_active IN CS_CONTRACT_TYPES.END_DATE_ACTIVE%TYPE := NULL,
364 p_attribute4 IN CS_CONTRACT_TYPES.ATTRIBUTE4%TYPE := NULL,
361 p_attribute1 IN CS_CONTRACT_TYPES.ATTRIBUTE1%TYPE := NULL,
362 p_attribute2 IN CS_CONTRACT_TYPES.ATTRIBUTE2%TYPE := NULL,
363 p_attribute3 IN CS_CONTRACT_TYPES.ATTRIBUTE3%TYPE := NULL,
365 p_attribute5 IN CS_CONTRACT_TYPES.ATTRIBUTE5%TYPE := NULL,
366 p_attribute6 IN CS_CONTRACT_TYPES.ATTRIBUTE6%TYPE := NULL,
367 p_attribute7 IN CS_CONTRACT_TYPES.ATTRIBUTE7%TYPE := NULL,
368 p_attribute8 IN CS_CONTRACT_TYPES.ATTRIBUTE8%TYPE := NULL,
369 p_attribute9 IN CS_CONTRACT_TYPES.ATTRIBUTE9%TYPE := NULL,
370 p_attribute10 IN CS_CONTRACT_TYPES.ATTRIBUTE10%TYPE := NULL,
371 p_attribute11 IN CS_CONTRACT_TYPES.ATTRIBUTE11%TYPE := NULL,
372 p_attribute12 IN CS_CONTRACT_TYPES.ATTRIBUTE12%TYPE := NULL,
373 p_attribute13 IN CS_CONTRACT_TYPES.ATTRIBUTE13%TYPE := NULL,
374 p_attribute14 IN CS_CONTRACT_TYPES.ATTRIBUTE14%TYPE := NULL,
375 p_attribute15 IN CS_CONTRACT_TYPES.ATTRIBUTE15%TYPE := NULL,
376 p_context IN CS_CONTRACT_TYPES.CONTEXT%TYPE := NULL,
377 p_object_version_number IN NUMBER := NULL,
378 x_contract_type_id OUT NUMBER,
379 x_object_version_number OUT NUMBER) IS
380 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
381 l_api_version CONSTANT NUMBER := 1;
382 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
383 l_contracttype_rec ContractType_Rec_Type;
384 BEGIN
385 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
386 G_PKG_NAME,
387 l_api_version,
388 p_api_version,
389 p_init_msg_list,
390 '_Pvt',
391 x_return_status);
392 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
393 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
394 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
395 RAISE FND_API.G_EXC_ERROR;
396 END IF;
397 l_contracttype_rec.NAME := p_name;
398 l_contracttype_rec.DESCRIPTION := p_description;
399 l_contracttype_rec.CUST_TRX_TYPE_ID := p_cust_trx_type_id;
400 l_contracttype_rec.LAST_UPDATE_DATE := p_last_update_date;
401 l_contracttype_rec.LAST_UPDATED_BY := p_last_updated_by;
402 l_contracttype_rec.CREATION_DATE := p_creation_date;
403 l_contracttype_rec.CREATED_BY := p_created_by;
404 l_contracttype_rec.LAST_UPDATE_LOGIN := p_last_update_login;
405 l_contracttype_rec.START_DATE_ACTIVE := p_start_date_active;
406 l_contracttype_rec.END_DATE_ACTIVE := p_end_date_active;
407 l_contracttype_rec.ATTRIBUTE1 := p_attribute1;
408 l_contracttype_rec.ATTRIBUTE2 := p_attribute2;
409 l_contracttype_rec.ATTRIBUTE3 := p_attribute3;
410 l_contracttype_rec.ATTRIBUTE4 := p_attribute4;
411 l_contracttype_rec.ATTRIBUTE5 := p_attribute5;
412 l_contracttype_rec.ATTRIBUTE6 := p_attribute6;
413 l_contracttype_rec.ATTRIBUTE7 := p_attribute7;
414 l_contracttype_rec.ATTRIBUTE8 := p_attribute8;
415 l_contracttype_rec.ATTRIBUTE9 := p_attribute9;
416 l_contracttype_rec.ATTRIBUTE10 := p_attribute10;
417 l_contracttype_rec.ATTRIBUTE11 := p_attribute11;
418 l_contracttype_rec.ATTRIBUTE12 := p_attribute12;
419 l_contracttype_rec.ATTRIBUTE13 := p_attribute13;
420 l_contracttype_rec.ATTRIBUTE14 := p_attribute14;
421 l_contracttype_rec.ATTRIBUTE15 := p_attribute15;
422 l_contracttype_rec.CONTEXT := p_context;
423 l_contracttype_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
424 insert_row(
425 p_api_version,
426 p_init_msg_list,
427 p_validation_level,
428 p_commit,
429 x_return_status,
430 x_msg_count,
431 x_msg_data,
432 l_contracttype_rec,
433 x_contract_type_id,
434 x_object_version_number
435 );
436 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
437 EXCEPTION
438 WHEN FND_API.G_EXC_ERROR THEN
439 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
440 (
441 l_api_name,
442 G_PKG_NAME,
443 'FND_API.G_RET_STS_ERROR',
444 x_msg_count,
445 x_msg_data,
446 '_Pvt'
447 );
448 APP_EXCEPTION.RAISE_EXCEPTION;
449 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
450 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
451 (
452 l_api_name,
453 G_PKG_NAME,
454 'FND_API.G_RET_STS_UNEXP_ERROR',
455 x_msg_count,
456 x_msg_data,
457 '_Pvt'
458 );
459 APP_EXCEPTION.RAISE_EXCEPTION;
460 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
461 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
462 (
463 l_api_name,
464 G_PKG_NAME,
465 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
466 x_msg_count,
467 x_msg_data,
468 '_Pvt'
469 );
470 APP_EXCEPTION.RAISE_EXCEPTION;
471 END insert_row;
472 Procedure lock_row
473 (
474 p_api_version IN NUMBER,
475 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
476 p_validation_level IN NUMBER,
477 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
478 x_return_status OUT VARCHAR2,
479 x_msg_count OUT NUMBER,
480 x_msg_data OUT VARCHAR2,
484 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
481 p_contract_type_id IN NUMBER,
482 p_object_version_number IN NUMBER) IS
483 E_Resource_Busy EXCEPTION;
485 CURSOR lock_csr IS
486 SELECT OBJECT_VERSION_NUMBER
487 FROM CS_CONTRACT_TYPES
488 WHERE
489 CONTRACT_TYPE_ID = p_contract_type_id AND
490 OBJECT_VERSION_NUMBER = p_object_version_number
491 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
492
493 CURSOR lchk_csr IS
494 SELECT OBJECT_VERSION_NUMBER
495 FROM CS_CONTRACT_TYPES
496 WHERE
497 CONTRACT_TYPE_ID = p_contract_type_id
498 ;
499 l_api_name CONSTANT VARCHAR2(30) := 'lock_row';
500 l_api_version CONSTANT NUMBER := 1;
501 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
502 l_object_version_number CS_CONTRACT_TYPES.OBJECT_VERSION_NUMBER%TYPE;
503 lc_object_version_number CS_CONTRACT_TYPES.OBJECT_VERSION_NUMBER%TYPE;
504 l_row_notfound BOOLEAN := FALSE;
505 lc_row_notfound BOOLEAN := FALSE;
506 BEGIN
507 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
508 G_PKG_NAME,
509 l_api_version,
510 p_api_version,
511 p_init_msg_list,
512 '_Pvt',
513 x_return_status);
514 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
515 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
516 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
517 RAISE FND_API.G_EXC_ERROR;
518 END IF;
519 BEGIN
520 OPEN lock_csr;
521 FETCH lock_csr INTO l_object_version_number;
522 l_row_notfound := lock_csr%NOTFOUND;
523 CLOSE lock_csr;
524 EXCEPTION
525 WHEN E_Resource_Busy THEN
526 IF (lock_csr%ISOPEN) THEN
527 CLOSE lock_csr;
528 END IF;
529 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
530 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
531 END;
532
533 IF ( l_row_notfound ) THEN
534 OPEN lchk_csr;
535 FETCH lchk_csr INTO lc_object_version_number;
536 lc_row_notfound := lchk_csr%NOTFOUND;
537 CLOSE lchk_csr;
538 END IF;
539 IF (lc_row_notfound) THEN
540 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
541 RAISE FND_API.G_EXC_ERROR;
542 ELSIF lc_object_version_number > p_object_version_number THEN
543 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
544 RAISE FND_API.G_EXC_ERROR;
545 ELSIF lc_object_version_number <> p_object_version_number THEN
546 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
547 RAISE FND_API.G_EXC_ERROR;
548 ELSIF lc_object_version_number = -1 THEN
549 TAPI_DEV_KIT.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
550 RAISE FND_API.G_EXC_ERROR;
551 END IF;
552 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
553 EXCEPTION
554 WHEN FND_API.G_EXC_ERROR THEN
555 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
556 (
557 l_api_name,
558 G_PKG_NAME,
559 'FND_API.G_RET_STS_ERROR',
560 x_msg_count,
561 x_msg_data,
562 '_Pvt'
563 );
564 APP_EXCEPTION.RAISE_EXCEPTION;
565 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
566 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
567 (
568 l_api_name,
569 G_PKG_NAME,
570 'FND_API.G_RET_STS_UNEXP_ERROR',
571 x_msg_count,
572 x_msg_data,
573 '_Pvt'
574 );
575 APP_EXCEPTION.RAISE_EXCEPTION;
576 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
577 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
578 (
579 l_api_name,
580 G_PKG_NAME,
581 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
582 x_msg_count,
583 x_msg_data,
584 '_Pvt'
585 );
586 APP_EXCEPTION.RAISE_EXCEPTION;
587 END lock_row;
588 Procedure update_row
589 (
590 p_api_version IN NUMBER,
591 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
592 p_validation_level IN NUMBER,
593 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
594 x_return_status OUT VARCHAR2,
595 x_msg_count OUT NUMBER,
596 x_msg_data OUT VARCHAR2,
597 p_contracttype_val_rec IN ContractType_Val_Rec_Type := G_MISS_CONTRACTTYPE_VAL_REC,
598 x_object_version_number OUT NUMBER) IS
599 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
600 l_api_version CONSTANT NUMBER := 1;
601 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
602 l_contracttype_rec ContractType_Rec_Type;
603 l_def_contracttype_rec ContractType_Rec_Type;
604 FUNCTION populate_new_record (
605 p_contracttype_rec IN ContractType_Rec_Type,
606 x_contracttype_rec OUT ContractType_Rec_Type
607 ) RETURN VARCHAR2 IS
608 CURSOR cs_contract_types_pk_csr (p_contract_type_id IN NUMBER) IS
609 SELECT *
610 FROM Cs_Contract_Types
611 WHERE cs_contract_types.contract_type_id = p_contract_type_id;
612 l_cs_contract_types_pk cs_contract_types_pk_csr%ROWTYPE;
613 l_row_notfound BOOLEAN := TRUE;
614 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
618 OPEN cs_contract_types_pk_csr (p_contracttype_rec.contract_type_id);
615 BEGIN
616 x_contracttype_rec := p_contracttype_rec;
617 -- Get current database values
619 FETCH cs_contract_types_pk_csr INTO l_cs_contract_types_pk;
620 l_row_notfound := cs_contract_types_pk_csr%NOTFOUND;
621 CLOSE cs_contract_types_pk_csr;
622 IF (l_row_notfound) THEN
623 l_return_status := FND_API.G_RET_STS_ERROR;
624 END IF;
625 IF (x_contracttype_rec.contract_type_id = TAPI_DEV_KIT.G_MISS_NUM)
626 THEN
627 x_contracttype_rec.contract_type_id := l_cs_contract_types_pk.contract_type_id;
628 END IF;
629 IF (x_contracttype_rec.name = TAPI_DEV_KIT.G_MISS_CHAR)
630 THEN
631 x_contracttype_rec.name := l_cs_contract_types_pk.name;
632 END IF;
633 IF (x_contracttype_rec.description = TAPI_DEV_KIT.G_MISS_CHAR)
634 THEN
635 x_contracttype_rec.description := l_cs_contract_types_pk.description;
636 END IF;
637 IF (x_contracttype_rec.cust_trx_type_id = TAPI_DEV_KIT.G_MISS_NUM)
638 THEN
639 x_contracttype_rec.cust_trx_type_id := l_cs_contract_types_pk.cust_trx_type_id;
640 END IF;
641 IF (x_contracttype_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE)
642 THEN
643 x_contracttype_rec.last_update_date := l_cs_contract_types_pk.last_update_date;
644 END IF;
645 IF (x_contracttype_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM)
646 THEN
647 x_contracttype_rec.last_updated_by := l_cs_contract_types_pk.last_updated_by;
648 END IF;
649 IF (x_contracttype_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
650 THEN
651 x_contracttype_rec.creation_date := l_cs_contract_types_pk.creation_date;
652 END IF;
653 IF (x_contracttype_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
654 THEN
655 x_contracttype_rec.created_by := l_cs_contract_types_pk.created_by;
656 END IF;
657 IF (x_contracttype_rec.last_update_login = TAPI_DEV_KIT.G_MISS_NUM)
658 THEN
659 x_contracttype_rec.last_update_login := l_cs_contract_types_pk.last_update_login;
660 END IF;
661 IF (x_contracttype_rec.start_date_active = TAPI_DEV_KIT.G_MISS_DATE)
662 THEN
663 x_contracttype_rec.start_date_active := l_cs_contract_types_pk.start_date_active;
664 END IF;
665 IF (x_contracttype_rec.end_date_active = TAPI_DEV_KIT.G_MISS_DATE)
666 THEN
667 x_contracttype_rec.end_date_active := l_cs_contract_types_pk.end_date_active;
668 END IF;
669 IF (x_contracttype_rec.attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
670 THEN
671 x_contracttype_rec.attribute1 := l_cs_contract_types_pk.attribute1;
672 END IF;
673 IF (x_contracttype_rec.attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
674 THEN
675 x_contracttype_rec.attribute2 := l_cs_contract_types_pk.attribute2;
676 END IF;
677 IF (x_contracttype_rec.attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
678 THEN
679 x_contracttype_rec.attribute3 := l_cs_contract_types_pk.attribute3;
680 END IF;
681 IF (x_contracttype_rec.attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
682 THEN
683 x_contracttype_rec.attribute4 := l_cs_contract_types_pk.attribute4;
684 END IF;
685 IF (x_contracttype_rec.attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
686 THEN
687 x_contracttype_rec.attribute5 := l_cs_contract_types_pk.attribute5;
688 END IF;
689 IF (x_contracttype_rec.attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
690 THEN
691 x_contracttype_rec.attribute6 := l_cs_contract_types_pk.attribute6;
692 END IF;
693 IF (x_contracttype_rec.attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
694 THEN
695 x_contracttype_rec.attribute7 := l_cs_contract_types_pk.attribute7;
696 END IF;
697 IF (x_contracttype_rec.attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
698 THEN
699 x_contracttype_rec.attribute8 := l_cs_contract_types_pk.attribute8;
700 END IF;
701 IF (x_contracttype_rec.attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
702 THEN
703 x_contracttype_rec.attribute9 := l_cs_contract_types_pk.attribute9;
704 END IF;
705 IF (x_contracttype_rec.attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
706 THEN
707 x_contracttype_rec.attribute10 := l_cs_contract_types_pk.attribute10;
708 END IF;
709 IF (x_contracttype_rec.attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
710 THEN
711 x_contracttype_rec.attribute11 := l_cs_contract_types_pk.attribute11;
712 END IF;
713 IF (x_contracttype_rec.attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
714 THEN
715 x_contracttype_rec.attribute12 := l_cs_contract_types_pk.attribute12;
716 END IF;
717 IF (x_contracttype_rec.attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
718 THEN
719 x_contracttype_rec.attribute13 := l_cs_contract_types_pk.attribute13;
720 END IF;
721 IF (x_contracttype_rec.attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
722 THEN
723 x_contracttype_rec.attribute14 := l_cs_contract_types_pk.attribute14;
724 END IF;
725 IF (x_contracttype_rec.attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
726 THEN
727 x_contracttype_rec.attribute15 := l_cs_contract_types_pk.attribute15;
728 END IF;
729 IF (x_contracttype_rec.context = TAPI_DEV_KIT.G_MISS_CHAR)
730 THEN
731 x_contracttype_rec.context := l_cs_contract_types_pk.context;
732 END IF;
733 IF (x_contracttype_rec.object_version_number = TAPI_DEV_KIT.G_MISS_NUM)
734 THEN
735 x_contracttype_rec.object_version_number := l_cs_contract_types_pk.object_version_number;
736 END IF;
737 RETURN(l_return_status);
738 END populate_new_record;
739 BEGIN
743 p_api_version,
740 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
741 G_PKG_NAME,
742 l_api_version,
744 p_init_msg_list,
745 '_Pvt',
746 x_return_status);
747 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
748 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
749 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
750 RAISE FND_API.G_EXC_ERROR;
751 END IF;
752 migrate(p_contracttype_val_rec, l_contracttype_rec);
753 --- Defaulting item attributes
754 l_return_status := Default_Item_Attributes
755 (
756 l_contracttype_rec, ---- IN
757 l_def_contracttype_rec
758 );
759 --- If any errors happen abort API
760 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
761 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
762 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
763 RAISE FND_API.G_EXC_ERROR;
764 END IF;
765 l_return_status := populate_new_record(l_def_contracttype_rec, l_def_contracttype_rec);
766 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
767 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
768 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
769 RAISE FND_API.G_EXC_ERROR;
770 END IF;
771 --- Validate all non-missing attributes (Item Level Validation)
772 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
773 l_return_status := Validate_Item_Attributes
774 (
775 l_def_contracttype_rec ---- IN
776 );
777 --- If any errors happen abort API
778 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
779 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
780 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
781 RAISE FND_API.G_EXC_ERROR;
782 END IF;
783 END IF;
784 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
785 l_return_status := Validate_Item_Record(l_def_contracttype_rec);
786 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
787 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
788 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
789 RAISE FND_API.G_EXC_ERROR;
790 END IF;
791 END IF;
792 UPDATE CS_CONTRACT_TYPES
793 SET
794 CONTRACT_TYPE_ID = l_def_contracttype_rec.contract_type_id ,
795 NAME = l_def_contracttype_rec.name ,
796 DESCRIPTION = l_def_contracttype_rec.description ,
797 CUST_TRX_TYPE_ID = l_def_contracttype_rec.cust_trx_type_id ,
798 LAST_UPDATE_DATE = l_def_contracttype_rec.last_update_date ,
799 LAST_UPDATED_BY = l_def_contracttype_rec.last_updated_by ,
800 CREATION_DATE = l_def_contracttype_rec.creation_date ,
801 CREATED_BY = l_def_contracttype_rec.created_by ,
802 LAST_UPDATE_LOGIN = l_def_contracttype_rec.last_update_login ,
803 START_DATE_ACTIVE = l_def_contracttype_rec.start_date_active ,
804 END_DATE_ACTIVE = l_def_contracttype_rec.end_date_active ,
805 ATTRIBUTE1 = l_def_contracttype_rec.attribute1 ,
806 ATTRIBUTE2 = l_def_contracttype_rec.attribute2 ,
807 ATTRIBUTE3 = l_def_contracttype_rec.attribute3 ,
808 ATTRIBUTE4 = l_def_contracttype_rec.attribute4 ,
809 ATTRIBUTE5 = l_def_contracttype_rec.attribute5 ,
810 ATTRIBUTE6 = l_def_contracttype_rec.attribute6 ,
811 ATTRIBUTE7 = l_def_contracttype_rec.attribute7 ,
812 ATTRIBUTE8 = l_def_contracttype_rec.attribute8 ,
813 ATTRIBUTE9 = l_def_contracttype_rec.attribute9 ,
814 ATTRIBUTE10 = l_def_contracttype_rec.attribute10 ,
815 ATTRIBUTE11 = l_def_contracttype_rec.attribute11 ,
816 ATTRIBUTE12 = l_def_contracttype_rec.attribute12 ,
817 ATTRIBUTE13 = l_def_contracttype_rec.attribute13 ,
818 ATTRIBUTE14 = l_def_contracttype_rec.attribute14 ,
819 ATTRIBUTE15 = l_def_contracttype_rec.attribute15 ,
820 CONTEXT = l_def_contracttype_rec.context ,
821 OBJECT_VERSION_NUMBER = l_def_contracttype_rec.object_version_number
822 WHERE
823 CONTRACT_TYPE_ID = l_def_contracttype_rec.contract_type_id
824 ;
825 x_object_version_number := l_def_contracttype_rec.OBJECT_VERSION_NUMBER;
826 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
827 EXCEPTION
828 WHEN FND_API.G_EXC_ERROR THEN
829 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
830 (
831 l_api_name,
832 G_PKG_NAME,
833 'FND_API.G_RET_STS_ERROR',
834 x_msg_count,
835 x_msg_data,
836 '_Pvt'
837 );
838 APP_EXCEPTION.RAISE_EXCEPTION;
839 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
840 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
841 (
842 l_api_name,
843 G_PKG_NAME,
844 'FND_API.G_RET_STS_UNEXP_ERROR',
845 x_msg_count,
846 x_msg_data,
847 '_Pvt'
848 );
849 APP_EXCEPTION.RAISE_EXCEPTION;
850 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
851 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
852 (
853 l_api_name,
854 G_PKG_NAME,
855 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
856 x_msg_count,
857 x_msg_data,
858 '_Pvt'
859 );
860 APP_EXCEPTION.RAISE_EXCEPTION;
861 END update_row;
862 Procedure update_row
863 (
864 p_api_version IN NUMBER,
865 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
866 p_validation_level IN NUMBER,
870 x_msg_data OUT VARCHAR2,
867 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
868 x_return_status OUT VARCHAR2,
869 x_msg_count OUT NUMBER,
871 p_contract_type_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
872 p_name IN CS_CONTRACT_TYPES.NAME%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
873 p_description IN CS_CONTRACT_TYPES.DESCRIPTION%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
874 p_cust_trx_type_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
875 p_last_update_date IN CS_CONTRACT_TYPES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
876 p_last_updated_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
877 p_creation_date IN CS_CONTRACT_TYPES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
878 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
879 p_last_update_login IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
880 p_start_date_active IN CS_CONTRACT_TYPES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
881 p_end_date_active IN CS_CONTRACT_TYPES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
882 p_attribute1 IN CS_CONTRACT_TYPES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
883 p_attribute2 IN CS_CONTRACT_TYPES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
884 p_attribute3 IN CS_CONTRACT_TYPES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
885 p_attribute4 IN CS_CONTRACT_TYPES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
886 p_attribute5 IN CS_CONTRACT_TYPES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
887 p_attribute6 IN CS_CONTRACT_TYPES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
888 p_attribute7 IN CS_CONTRACT_TYPES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
889 p_attribute8 IN CS_CONTRACT_TYPES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
890 p_attribute9 IN CS_CONTRACT_TYPES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
891 p_attribute10 IN CS_CONTRACT_TYPES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
892 p_attribute11 IN CS_CONTRACT_TYPES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
893 p_attribute12 IN CS_CONTRACT_TYPES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
894 p_attribute13 IN CS_CONTRACT_TYPES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
895 p_attribute14 IN CS_CONTRACT_TYPES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
896 p_attribute15 IN CS_CONTRACT_TYPES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
897 p_context IN CS_CONTRACT_TYPES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
898 p_object_version_number IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
899 x_object_version_number OUT NUMBER) IS
900 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
901 l_api_version CONSTANT NUMBER := 1;
902 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
903 l_contracttype_rec ContractType_Val_Rec_Type;
904 BEGIN
905 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
906 G_PKG_NAME,
907 l_api_version,
908 p_api_version,
909 p_init_msg_list,
910 '_Pvt',
911 x_return_status);
912 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
913 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
914 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
915 RAISE FND_API.G_EXC_ERROR;
916 END IF;
917 l_contracttype_rec.CONTRACT_TYPE_ID := p_contract_type_id;
918 l_contracttype_rec.NAME := p_name;
919 l_contracttype_rec.DESCRIPTION := p_description;
920 l_contracttype_rec.CUST_TRX_TYPE_ID := p_cust_trx_type_id;
921 l_contracttype_rec.LAST_UPDATE_DATE := p_last_update_date;
922 l_contracttype_rec.LAST_UPDATED_BY := p_last_updated_by;
923 l_contracttype_rec.CREATION_DATE := p_creation_date;
924 l_contracttype_rec.CREATED_BY := p_created_by;
925 l_contracttype_rec.LAST_UPDATE_LOGIN := p_last_update_login;
926 l_contracttype_rec.START_DATE_ACTIVE := p_start_date_active;
927 l_contracttype_rec.END_DATE_ACTIVE := p_end_date_active;
928 l_contracttype_rec.ATTRIBUTE1 := p_attribute1;
929 l_contracttype_rec.ATTRIBUTE2 := p_attribute2;
930 l_contracttype_rec.ATTRIBUTE3 := p_attribute3;
931 l_contracttype_rec.ATTRIBUTE4 := p_attribute4;
932 l_contracttype_rec.ATTRIBUTE5 := p_attribute5;
933 l_contracttype_rec.ATTRIBUTE6 := p_attribute6;
934 l_contracttype_rec.ATTRIBUTE7 := p_attribute7;
935 l_contracttype_rec.ATTRIBUTE8 := p_attribute8;
936 l_contracttype_rec.ATTRIBUTE9 := p_attribute9;
937 l_contracttype_rec.ATTRIBUTE10 := p_attribute10;
938 l_contracttype_rec.ATTRIBUTE11 := p_attribute11;
939 l_contracttype_rec.ATTRIBUTE12 := p_attribute12;
940 l_contracttype_rec.ATTRIBUTE13 := p_attribute13;
941 l_contracttype_rec.ATTRIBUTE14 := p_attribute14;
942 l_contracttype_rec.ATTRIBUTE15 := p_attribute15;
943 l_contracttype_rec.CONTEXT := p_context;
944 l_contracttype_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
945 update_row(
946 p_api_version,
947 p_init_msg_list,
948 p_validation_level,
949 p_commit,
950 x_return_status,
951 x_msg_count,
952 x_msg_data,
953 l_contracttype_rec,
954 x_object_version_number
955 );
956 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
957 EXCEPTION
958 WHEN FND_API.G_EXC_ERROR THEN
959 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
960 (
961 l_api_name,
962 G_PKG_NAME,
966 '_Pvt'
963 'FND_API.G_RET_STS_ERROR',
964 x_msg_count,
965 x_msg_data,
967 );
968 APP_EXCEPTION.RAISE_EXCEPTION;
969 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
970 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
971 (
972 l_api_name,
973 G_PKG_NAME,
974 'FND_API.G_RET_STS_UNEXP_ERROR',
975 x_msg_count,
976 x_msg_data,
977 '_Pvt'
978 );
979 APP_EXCEPTION.RAISE_EXCEPTION;
980 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
981 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
982 (
983 l_api_name,
984 G_PKG_NAME,
985 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
986 x_msg_count,
987 x_msg_data,
988 '_Pvt'
989 );
990 APP_EXCEPTION.RAISE_EXCEPTION;
991 END update_row;
992 Procedure delete_row
993 (
994 p_api_version IN NUMBER,
995 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
996 p_validation_level IN NUMBER,
997 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
998 x_return_status OUT VARCHAR2,
999 x_msg_count OUT NUMBER,
1000 x_msg_data OUT VARCHAR2,
1001 p_contract_type_id IN NUMBER) IS
1002 l_api_name CONSTANT VARCHAR2(30) := 'delete_row';
1003 l_api_version CONSTANT NUMBER := 1;
1004 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1005 BEGIN
1006 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1007 G_PKG_NAME,
1008 l_api_version,
1009 p_api_version,
1010 p_init_msg_list,
1011 '_Pvt',
1012 x_return_status);
1013 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1014 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1015 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1016 RAISE FND_API.G_EXC_ERROR;
1017 END IF;
1018 DELETE FROM CS_CONTRACT_TYPES
1019 WHERE
1020 CONTRACT_TYPE_ID = p_contract_type_id
1021 ;
1022 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1023 EXCEPTION
1024 WHEN FND_API.G_EXC_ERROR THEN
1025 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1026 (
1027 l_api_name,
1028 G_PKG_NAME,
1029 'FND_API.G_RET_STS_ERROR',
1030 x_msg_count,
1031 x_msg_data,
1032 '_Pvt'
1033 );
1034 APP_EXCEPTION.RAISE_EXCEPTION;
1035 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1036 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1037 (
1038 l_api_name,
1039 G_PKG_NAME,
1040 'FND_API.G_RET_STS_UNEXP_ERROR',
1041 x_msg_count,
1042 x_msg_data,
1043 '_Pvt'
1044 );
1045 APP_EXCEPTION.RAISE_EXCEPTION;
1046 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1047 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1048 (
1049 l_api_name,
1050 G_PKG_NAME,
1051 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1052 x_msg_count,
1053 x_msg_data,
1054 '_Pvt'
1055 );
1056 APP_EXCEPTION.RAISE_EXCEPTION;
1057 END delete_row;
1058 PROCEDURE validate_row
1059 (
1060 p_api_version IN NUMBER,
1061 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1062 p_validation_level IN NUMBER,
1063 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1064 x_return_status OUT VARCHAR2,
1065 x_msg_count OUT NUMBER,
1066 x_msg_data OUT VARCHAR2,
1067 p_contracttype_val_rec IN ContractType_Val_Rec_Type := G_MISS_CONTRACTTYPE_VAL_REC) IS
1068 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
1069 l_api_version CONSTANT NUMBER := 1;
1070 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1071 l_contracttype_rec ContractType_Rec_Type;
1072 l_def_contracttype_rec ContractType_Rec_Type;
1073 BEGIN
1074 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1075 G_PKG_NAME,
1076 l_api_version,
1077 p_api_version,
1078 p_init_msg_list,
1079 '_Pvt',
1080 x_return_status);
1081 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1082 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1083 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1084 RAISE FND_API.G_EXC_ERROR;
1085 END IF;
1086 migrate(p_contracttype_val_rec, l_contracttype_rec);
1087 --- Validate all non-missing attributes (Item Level Validation)
1088 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1089 l_return_status := Validate_Item_Attributes
1090 (
1091 l_contracttype_rec ---- IN
1092 );
1093 --- If any errors happen abort API
1094 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1095 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1096 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1097 RAISE FND_API.G_EXC_ERROR;
1098 END IF;
1099 END IF;
1100 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1104 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1101 l_return_status := Validate_Item_Record(l_def_contracttype_rec);
1102 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1103 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1105 RAISE FND_API.G_EXC_ERROR;
1106 END IF;
1107 END IF;
1108 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1109 EXCEPTION
1110 WHEN FND_API.G_EXC_ERROR THEN
1111 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1112 (
1113 l_api_name,
1114 G_PKG_NAME,
1115 'FND_API.G_RET_STS_ERROR',
1116 x_msg_count,
1117 x_msg_data,
1118 '_Pvt'
1119 );
1120 APP_EXCEPTION.RAISE_EXCEPTION;
1121 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1122 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1123 (
1124 l_api_name,
1125 G_PKG_NAME,
1126 'FND_API.G_RET_STS_UNEXP_ERROR',
1127 x_msg_count,
1128 x_msg_data,
1129 '_Pvt'
1130 );
1131 APP_EXCEPTION.RAISE_EXCEPTION;
1132 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1133 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1134 (
1135 l_api_name,
1136 G_PKG_NAME,
1137 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1138 x_msg_count,
1139 x_msg_data,
1140 '_Pvt'
1141 );
1142 APP_EXCEPTION.RAISE_EXCEPTION;
1143 END validate_row;
1144 PROCEDURE validate_row
1145 (
1146 p_api_version IN NUMBER,
1147 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1148 p_validation_level IN NUMBER,
1149 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1150 x_return_status OUT VARCHAR2,
1151 x_msg_count OUT NUMBER,
1152 x_msg_data OUT VARCHAR2,
1153 p_contract_type_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1154 p_name IN CS_CONTRACT_TYPES.NAME%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1155 p_description IN CS_CONTRACT_TYPES.DESCRIPTION%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1156 p_cust_trx_type_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1157 p_last_update_date IN CS_CONTRACT_TYPES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1158 p_last_updated_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1159 p_creation_date IN CS_CONTRACT_TYPES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1160 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1161 p_last_update_login IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1162 p_start_date_active IN CS_CONTRACT_TYPES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1163 p_end_date_active IN CS_CONTRACT_TYPES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1164 p_attribute1 IN CS_CONTRACT_TYPES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1165 p_attribute2 IN CS_CONTRACT_TYPES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1166 p_attribute3 IN CS_CONTRACT_TYPES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1167 p_attribute4 IN CS_CONTRACT_TYPES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1168 p_attribute5 IN CS_CONTRACT_TYPES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1169 p_attribute6 IN CS_CONTRACT_TYPES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1170 p_attribute7 IN CS_CONTRACT_TYPES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1171 p_attribute8 IN CS_CONTRACT_TYPES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1172 p_attribute9 IN CS_CONTRACT_TYPES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1173 p_attribute10 IN CS_CONTRACT_TYPES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1174 p_attribute11 IN CS_CONTRACT_TYPES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1175 p_attribute12 IN CS_CONTRACT_TYPES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1176 p_attribute13 IN CS_CONTRACT_TYPES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1177 p_attribute14 IN CS_CONTRACT_TYPES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1178 p_attribute15 IN CS_CONTRACT_TYPES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1179 p_context IN CS_CONTRACT_TYPES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1180 p_object_version_number IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
1181 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
1182 l_api_version CONSTANT NUMBER := 1;
1183 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1184 l_contracttype_rec ContractType_Val_Rec_Type;
1185 BEGIN
1186 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1187 G_PKG_NAME,
1188 l_api_version,
1189 p_api_version,
1190 p_init_msg_list,
1191 '_Pvt',
1192 x_return_status);
1193 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1194 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1195 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1196 RAISE FND_API.G_EXC_ERROR;
1197 END IF;
1198 l_contracttype_rec.CONTRACT_TYPE_ID := p_contract_type_id;
1199 l_contracttype_rec.NAME := p_name;
1200 l_contracttype_rec.DESCRIPTION := p_description;
1201 l_contracttype_rec.CUST_TRX_TYPE_ID := p_cust_trx_type_id;
1202 l_contracttype_rec.LAST_UPDATE_DATE := p_last_update_date;
1203 l_contracttype_rec.LAST_UPDATED_BY := p_last_updated_by;
1204 l_contracttype_rec.CREATION_DATE := p_creation_date;
1205 l_contracttype_rec.CREATED_BY := p_created_by;
1206 l_contracttype_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1207 l_contracttype_rec.START_DATE_ACTIVE := p_start_date_active;
1208 l_contracttype_rec.END_DATE_ACTIVE := p_end_date_active;
1209 l_contracttype_rec.ATTRIBUTE1 := p_attribute1;
1210 l_contracttype_rec.ATTRIBUTE2 := p_attribute2;
1211 l_contracttype_rec.ATTRIBUTE3 := p_attribute3;
1212 l_contracttype_rec.ATTRIBUTE4 := p_attribute4;
1213 l_contracttype_rec.ATTRIBUTE5 := p_attribute5;
1214 l_contracttype_rec.ATTRIBUTE6 := p_attribute6;
1215 l_contracttype_rec.ATTRIBUTE7 := p_attribute7;
1216 l_contracttype_rec.ATTRIBUTE8 := p_attribute8;
1217 l_contracttype_rec.ATTRIBUTE9 := p_attribute9;
1218 l_contracttype_rec.ATTRIBUTE10 := p_attribute10;
1219 l_contracttype_rec.ATTRIBUTE11 := p_attribute11;
1220 l_contracttype_rec.ATTRIBUTE12 := p_attribute12;
1221 l_contracttype_rec.ATTRIBUTE13 := p_attribute13;
1222 l_contracttype_rec.ATTRIBUTE14 := p_attribute14;
1223 l_contracttype_rec.ATTRIBUTE15 := p_attribute15;
1224 l_contracttype_rec.CONTEXT := p_context;
1225 l_contracttype_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1226 validate_row(
1227 p_api_version,
1228 p_init_msg_list,
1229 p_validation_level,
1230 p_commit,
1231 x_return_status,
1232 x_msg_count,
1233 x_msg_data,
1234 l_contracttype_rec
1235 );
1236 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1237 EXCEPTION
1238 WHEN FND_API.G_EXC_ERROR THEN
1239 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1240 (
1241 l_api_name,
1242 G_PKG_NAME,
1243 'FND_API.G_RET_STS_ERROR',
1244 x_msg_count,
1245 x_msg_data,
1246 '_Pvt'
1247 );
1248 APP_EXCEPTION.RAISE_EXCEPTION;
1249 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1250 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1251 (
1252 l_api_name,
1253 G_PKG_NAME,
1254 'FND_API.G_RET_STS_UNEXP_ERROR',
1255 x_msg_count,
1256 x_msg_data,
1257 '_Pvt'
1258 );
1259 APP_EXCEPTION.RAISE_EXCEPTION;
1260 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1261 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1262 (
1263 l_api_name,
1264 G_PKG_NAME,
1265 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1266 x_msg_count,
1267 x_msg_data,
1268 '_Pvt'
1269 );
1270 APP_EXCEPTION.RAISE_EXCEPTION;
1271 END validate_row;
1272 END CS_CONTRACTTYPE_PVT;