[Home] [Help]
PACKAGE BODY: APPS.CS_CONTINTF_PVT
Source
1 PACKAGE BODY CS_CONTINTF_PVT AS
2 /* $Header: csctcbib.pls 115.1 99/07/16 08:49:03 porting ship $ */
3 FUNCTION get_seq_id RETURN NUMBER IS
4 CURSOR get_seq_id_csr IS
5 SELECT CS_CONT_BILL_IFACE_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_contintf_rec IN ContIntf_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_contintf_rec.cp_service_transaction_id = TAPI_DEV_KIT.G_MISS_NUM OR
25 p_contintf_rec.cp_service_transaction_id IS NULL
26 THEN
27 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cp_service_transaction_id');
28 l_return_status := FND_API.G_RET_STS_ERROR;
29 ELSIF p_contintf_rec.cp_service_id = TAPI_DEV_KIT.G_MISS_NUM OR
30 p_contintf_rec.cp_service_id IS NULL
31 THEN
32 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cp_service_id');
33 l_return_status := FND_API.G_RET_STS_ERROR;
34 ELSIF p_contintf_rec.contract_id = TAPI_DEV_KIT.G_MISS_NUM OR
35 p_contintf_rec.contract_id IS NULL
36 THEN
37 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'contract_id');
38 l_return_status := FND_API.G_RET_STS_ERROR;
39 ELSIF p_contintf_rec.ar_trx_type = TAPI_DEV_KIT.G_MISS_CHAR OR
40 p_contintf_rec.ar_trx_type IS NULL
41 THEN
42 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'ar_trx_type');
43 l_return_status := FND_API.G_RET_STS_ERROR;
44 ELSIF p_contintf_rec.trx_start_date = TAPI_DEV_KIT.G_MISS_DATE OR
45 p_contintf_rec.trx_start_date IS NULL
46 THEN
47 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_start_date');
48 l_return_status := FND_API.G_RET_STS_ERROR;
49 ELSIF p_contintf_rec.trx_end_date = TAPI_DEV_KIT.G_MISS_DATE OR
50 p_contintf_rec.trx_end_date IS NULL
51 THEN
52 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_end_date');
53 l_return_status := FND_API.G_RET_STS_ERROR;
54 ELSIF p_contintf_rec.trx_date = TAPI_DEV_KIT.G_MISS_DATE OR
55 p_contintf_rec.trx_date IS NULL
56 THEN
57 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_date');
58 l_return_status := FND_API.G_RET_STS_ERROR;
59 ELSIF p_contintf_rec.trx_amount = TAPI_DEV_KIT.G_MISS_NUM OR
60 p_contintf_rec.trx_amount IS NULL
61 THEN
62 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'trx_amount');
63 l_return_status := FND_API.G_RET_STS_ERROR;
64 ELSIF p_contintf_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
65 p_contintf_rec.created_by IS NULL
66 THEN
67 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
68 l_return_status := FND_API.G_RET_STS_ERROR;
69 ELSIF p_contintf_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
70 p_contintf_rec.creation_date IS NULL
71 THEN
72 TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
73 l_return_status := FND_API.G_RET_STS_ERROR;
74 END IF;
75 RETURN(l_return_status);
76 END Validate_Item_Attributes;
77
78
79 ----- Default
80 FUNCTION Default_Item_Attributes
81 (
82 p_contintf_rec IN ContIntf_Rec_Type,
83 l_def_contintf_rec OUT ContIntf_Rec_Type
84 )
85 RETURN VARCHAR2
86 IS
87 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
88 BEGIN
89 l_def_contintf_rec := p_contintf_rec;
90 l_def_contintf_rec.OBJECT_VERSION_NUMBER := NVL(l_def_contintf_rec.OBJECT_VERSION_NUMBER, 0) + 1;
91 RETURN(l_return_status);
92 End Default_Item_attributes;
93
94
95 FUNCTION Validate_Item_Record (
96 p_contintf_rec IN ContIntf_Rec_Type
97 )
98 RETURN VARCHAR2 IS
99 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
100 BEGIN
101 RETURN (l_return_status);
102 END Validate_Item_Record;
103
104
105 PROCEDURE migrate (
106 p_from IN ContIntf_Val_Rec_Type,
107 p_to OUT ContIntf_Rec_Type
108 ) IS
109 BEGIN
110 p_to.contracts_interface_id := p_from.contracts_interface_id;
111 p_to.cp_service_transaction_id := p_from.cp_service_transaction_id;
112 p_to.cp_service_id := p_from.cp_service_id;
113 p_to.contract_id := p_from.contract_id;
114 p_to.ar_trx_type := p_from.ar_trx_type;
115 p_to.trx_start_date := p_from.trx_start_date;
116 p_to.trx_end_date := p_from.trx_end_date;
117 p_to.trx_date := p_from.trx_date;
118 p_to.trx_amount := p_from.trx_amount;
119 p_to.reason_code := p_from.reason_code;
120 p_to.reason_comments := p_from.reason_comments;
121 p_to.contract_billing_id := p_from.contract_billing_id;
122 p_to.cp_quantity := p_from.cp_quantity;
123 p_to.concurrent_process_id := p_from.concurrent_process_id;
124 p_to.created_by := p_from.created_by;
125 p_to.creation_date := p_from.creation_date;
126 p_to.object_version_number := p_from.object_version_number;
127 END migrate;
128 PROCEDURE migrate (
129 p_from IN ContIntf_Rec_Type,
130 p_to OUT ContIntf_Val_Rec_Type
131 ) IS
132 BEGIN
133 p_to.contracts_interface_id := p_from.contracts_interface_id;
134 p_to.cp_service_transaction_id := p_from.cp_service_transaction_id;
135 p_to.cp_service_id := p_from.cp_service_id;
136 p_to.contract_id := p_from.contract_id;
137 p_to.ar_trx_type := p_from.ar_trx_type;
138 p_to.trx_start_date := p_from.trx_start_date;
139 p_to.trx_end_date := p_from.trx_end_date;
140 p_to.trx_date := p_from.trx_date;
141 p_to.trx_amount := p_from.trx_amount;
142 p_to.reason_code := p_from.reason_code;
143 p_to.reason_comments := p_from.reason_comments;
144 p_to.contract_billing_id := p_from.contract_billing_id;
145 p_to.cp_quantity := p_from.cp_quantity;
146 p_to.concurrent_process_id := p_from.concurrent_process_id;
147 p_to.created_by := p_from.created_by;
148 p_to.creation_date := p_from.creation_date;
149 p_to.object_version_number := p_from.object_version_number;
150 END migrate;
151 PROCEDURE insert_row
152 (
153 p_api_version IN NUMBER,
154 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
155 p_validation_level IN NUMBER,
156 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
157 x_return_status OUT VARCHAR2,
158 x_msg_count OUT NUMBER,
159 x_msg_data OUT VARCHAR2,
160 p_contintf_rec IN ContIntf_Rec_Type := G_MISS_CONTINTF_REC,
161 x_contracts_interface_id OUT NUMBER,
162 x_object_version_number OUT NUMBER) IS
163 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
164 l_api_version CONSTANT NUMBER := 1;
165 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
166 l_contintf_rec ContIntf_Rec_Type;
167 l_def_contintf_rec ContIntf_Rec_Type;
168 BEGIN
169 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
170 G_PKG_NAME,
171 l_api_version,
172 p_api_version,
173 p_init_msg_list,
174 '_Pvt',
175 x_return_status);
176 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
177 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
178 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
179 RAISE FND_API.G_EXC_ERROR;
180 END IF;
181 l_contintf_rec := p_contintf_rec;
182 --- Validate all non-missing attributes (Item Level Validation)
183 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
184 l_return_status := Validate_Item_Attributes
185 (
186 l_contintf_rec ---- IN
187 );
188 --- If any errors happen abort API
189 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
190 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
191 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
192 RAISE FND_API.G_EXC_ERROR;
193 END IF;
194 END IF;
195 --- Defaulting item attributes
196 l_return_status := Default_Item_Attributes
197 (
198 l_contintf_rec, ---- IN
199 l_def_contintf_rec
200 );
201 --- If any errors happen abort API
202 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
203 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
204 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
205 RAISE FND_API.G_EXC_ERROR;
206 END IF;
207 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
208 l_return_status := Validate_Item_Record(l_def_contintf_rec);
209 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
210 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
211 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
212 RAISE FND_API.G_EXC_ERROR;
213 END IF;
214 END IF;
215 -- Set primary key value
216 l_def_contintf_rec.contracts_interface_id := get_seq_id;
217 INSERT INTO CS_CONT_BILL_IFACE(
218 contracts_interface_id,
219 cp_service_transaction_id,
220 cp_service_id,
221 contract_id,
222 ar_trx_type,
223 trx_start_date,
224 trx_end_date,
225 trx_date,
226 trx_amount,
227 reason_code,
228 reason_comments,
229 contract_billing_id,
230 cp_quantity,
231 concurrent_process_id,
232 created_by,
233 creation_date,
234 object_version_number)
235 VALUES (
236 l_def_contintf_rec.contracts_interface_id,
237 l_def_contintf_rec.cp_service_transaction_id,
238 l_def_contintf_rec.cp_service_id,
239 l_def_contintf_rec.contract_id,
240 l_def_contintf_rec.ar_trx_type,
241 l_def_contintf_rec.trx_start_date,
242 l_def_contintf_rec.trx_end_date,
243 l_def_contintf_rec.trx_date,
244 l_def_contintf_rec.trx_amount,
245 l_def_contintf_rec.reason_code,
246 l_def_contintf_rec.reason_comments,
247 l_def_contintf_rec.contract_billing_id,
248 l_def_contintf_rec.cp_quantity,
249 l_def_contintf_rec.concurrent_process_id,
250 l_def_contintf_rec.created_by,
251 l_def_contintf_rec.creation_date,
252 l_def_contintf_rec.object_version_number);
253 -- Set OUT values
254 x_contracts_interface_id := l_def_contintf_rec.contracts_interface_id;
255 x_object_version_number := l_def_contintf_rec.OBJECT_VERSION_NUMBER;
256 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
257 EXCEPTION
258 WHEN FND_API.G_EXC_ERROR THEN
259 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
260 (
261 l_api_name,
262 G_PKG_NAME,
263 'FND_API.G_RET_STS_ERROR',
264 x_msg_count,
265 x_msg_data,
266 '_Pvt'
267 );
268 APP_EXCEPTION.RAISE_EXCEPTION;
269 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
270 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
271 (
272 l_api_name,
273 G_PKG_NAME,
274 'FND_API.G_RET_STS_UNEXP_ERROR',
275 x_msg_count,
276 x_msg_data,
277 '_Pvt'
278 );
279 APP_EXCEPTION.RAISE_EXCEPTION;
280 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
281 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
282 (
283 l_api_name,
284 G_PKG_NAME,
285 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
286 x_msg_count,
287 x_msg_data,
288 '_Pvt'
289 );
290 APP_EXCEPTION.RAISE_EXCEPTION;
291 END insert_row;
292 PROCEDURE insert_row
293 (
294 p_api_version IN NUMBER,
295 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
296 p_validation_level IN NUMBER,
297 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
298 x_return_status OUT VARCHAR2,
299 x_msg_count OUT NUMBER,
300 x_msg_data OUT VARCHAR2,
301 p_cp_service_transaction_id IN NUMBER := NULL,
302 p_cp_service_id IN NUMBER := NULL,
303 p_contract_id IN NUMBER := NULL,
304 p_ar_trx_type IN CS_CONT_BILL_IFACE.AR_TRX_TYPE%TYPE := NULL,
305 p_trx_start_date IN CS_CONT_BILL_IFACE.TRX_START_DATE%TYPE := NULL,
306 p_trx_end_date IN CS_CONT_BILL_IFACE.TRX_END_DATE%TYPE := NULL,
307 p_trx_date IN CS_CONT_BILL_IFACE.TRX_DATE%TYPE := NULL,
308 p_trx_amount IN NUMBER := NULL,
309 p_reason_code IN CS_CONT_BILL_IFACE.REASON_CODE%TYPE := NULL,
310 p_reason_comments IN CS_CONT_BILL_IFACE.REASON_COMMENTS%TYPE := NULL,
311 p_contract_billing_id IN NUMBER := NULL,
312 p_cp_quantity IN NUMBER := NULL,
313 p_concurrent_process_id IN NUMBER := NULL,
314 p_created_by IN NUMBER := NULL,
315 p_creation_date IN CS_CONT_BILL_IFACE.CREATION_DATE%TYPE := NULL,
316 p_object_version_number IN NUMBER := NULL,
317 x_contracts_interface_id OUT NUMBER,
318 x_object_version_number OUT NUMBER) IS
319 l_api_name CONSTANT VARCHAR2(30) := 'insert_row';
320 l_api_version CONSTANT NUMBER := 1;
321 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
322 l_contintf_rec ContIntf_Rec_Type;
323 BEGIN
324 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
325 G_PKG_NAME,
326 l_api_version,
327 p_api_version,
331 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
328 p_init_msg_list,
329 '_Pvt',
330 x_return_status);
332 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
333 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
334 RAISE FND_API.G_EXC_ERROR;
335 END IF;
336 l_contintf_rec.CP_SERVICE_TRANSACTION_ID := p_cp_service_transaction_id;
337 l_contintf_rec.CP_SERVICE_ID := p_cp_service_id;
338 l_contintf_rec.CONTRACT_ID := p_contract_id;
339 l_contintf_rec.AR_TRX_TYPE := p_ar_trx_type;
340 l_contintf_rec.TRX_START_DATE := p_trx_start_date;
341 l_contintf_rec.TRX_END_DATE := p_trx_end_date;
342 l_contintf_rec.TRX_DATE := p_trx_date;
343 l_contintf_rec.TRX_AMOUNT := p_trx_amount;
344 l_contintf_rec.REASON_CODE := p_reason_code;
345 l_contintf_rec.REASON_COMMENTS := p_reason_comments;
346 l_contintf_rec.CONTRACT_BILLING_ID := p_contract_billing_id;
347 l_contintf_rec.CP_QUANTITY := p_cp_quantity;
348 l_contintf_rec.CONCURRENT_PROCESS_ID := p_concurrent_process_id;
349 l_contintf_rec.CREATED_BY := p_created_by;
350 l_contintf_rec.CREATION_DATE := p_creation_date;
351 l_contintf_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
352 insert_row(
353 p_api_version,
354 p_init_msg_list,
355 p_validation_level,
356 p_commit,
357 x_return_status,
358 x_msg_count,
359 x_msg_data,
360 l_contintf_rec,
361 x_contracts_interface_id,
362 x_object_version_number
363 );
364 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
365 EXCEPTION
366 WHEN FND_API.G_EXC_ERROR THEN
367 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
368 (
369 l_api_name,
370 G_PKG_NAME,
371 'FND_API.G_RET_STS_ERROR',
372 x_msg_count,
373 x_msg_data,
374 '_Pvt'
375 );
376 APP_EXCEPTION.RAISE_EXCEPTION;
377 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
378 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
379 (
380 l_api_name,
381 G_PKG_NAME,
382 'FND_API.G_RET_STS_UNEXP_ERROR',
383 x_msg_count,
384 x_msg_data,
385 '_Pvt'
386 );
387 APP_EXCEPTION.RAISE_EXCEPTION;
388 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
389 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
390 (
391 l_api_name,
392 G_PKG_NAME,
393 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
394 x_msg_count,
395 x_msg_data,
396 '_Pvt'
397 );
398 APP_EXCEPTION.RAISE_EXCEPTION;
399 END insert_row;
400 Procedure lock_row
401 (
402 p_api_version IN NUMBER,
403 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
404 p_validation_level IN NUMBER,
405 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
406 x_return_status OUT VARCHAR2,
407 x_msg_count OUT NUMBER,
408 x_msg_data OUT VARCHAR2,
409 p_contracts_interface_id IN NUMBER,
410 p_object_version_number IN NUMBER) IS
411 E_Resource_Busy EXCEPTION;
412 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
413 CURSOR lock_csr IS
414 SELECT OBJECT_VERSION_NUMBER
415 FROM CS_CONT_BILL_IFACE
416 WHERE
417 CONTRACTS_INTERFACE_ID = p_contracts_interface_id AND
418 OBJECT_VERSION_NUMBER = p_object_version_number
419 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
420
421 CURSOR lchk_csr IS
422 SELECT OBJECT_VERSION_NUMBER
423 FROM CS_CONT_BILL_IFACE
424 WHERE
425 CONTRACTS_INTERFACE_ID = p_contracts_interface_id
426 ;
427 l_api_name CONSTANT VARCHAR2(30) := 'lock_row';
428 l_api_version CONSTANT NUMBER := 1;
429 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
430 l_object_version_number CS_CONT_BILL_IFACE.OBJECT_VERSION_NUMBER%TYPE;
431 lc_object_version_number CS_CONT_BILL_IFACE.OBJECT_VERSION_NUMBER%TYPE;
432 l_row_notfound BOOLEAN := FALSE;
433 lc_row_notfound BOOLEAN := FALSE;
434 BEGIN
435 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
436 G_PKG_NAME,
437 l_api_version,
438 p_api_version,
439 p_init_msg_list,
440 '_Pvt',
441 x_return_status);
442 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
443 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
444 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
445 RAISE FND_API.G_EXC_ERROR;
446 END IF;
447 BEGIN
448 OPEN lock_csr;
449 FETCH lock_csr INTO l_object_version_number;
450 l_row_notfound := lock_csr%NOTFOUND;
451 CLOSE lock_csr;
452 EXCEPTION
453 WHEN E_Resource_Busy THEN
454 IF (lock_csr%ISOPEN) THEN
455 CLOSE lock_csr;
456 END IF;
457 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
458 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
459 END;
460
461 IF ( l_row_notfound ) THEN
462 OPEN lchk_csr;
463 FETCH lchk_csr INTO lc_object_version_number;
464 lc_row_notfound := lchk_csr%NOTFOUND;
465 CLOSE lchk_csr;
466 END IF;
470 ELSIF lc_object_version_number > p_object_version_number THEN
467 IF (lc_row_notfound) THEN
468 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
469 RAISE FND_API.G_EXC_ERROR;
471 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
472 RAISE FND_API.G_EXC_ERROR;
473 ELSIF lc_object_version_number <> p_object_version_number THEN
474 TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
475 RAISE FND_API.G_EXC_ERROR;
476 ELSIF lc_object_version_number = -1 THEN
477 TAPI_DEV_KIT.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
478 RAISE FND_API.G_EXC_ERROR;
479 END IF;
480 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
481 EXCEPTION
482 WHEN FND_API.G_EXC_ERROR THEN
483 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
484 (
485 l_api_name,
486 G_PKG_NAME,
487 'FND_API.G_RET_STS_ERROR',
488 x_msg_count,
489 x_msg_data,
490 '_Pvt'
491 );
492 APP_EXCEPTION.RAISE_EXCEPTION;
493 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
494 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
495 (
496 l_api_name,
497 G_PKG_NAME,
498 'FND_API.G_RET_STS_UNEXP_ERROR',
499 x_msg_count,
500 x_msg_data,
501 '_Pvt'
502 );
503 APP_EXCEPTION.RAISE_EXCEPTION;
504 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
505 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
506 (
507 l_api_name,
508 G_PKG_NAME,
509 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
510 x_msg_count,
511 x_msg_data,
512 '_Pvt'
513 );
514 APP_EXCEPTION.RAISE_EXCEPTION;
515 END lock_row;
516 Procedure update_row
517 (
518 p_api_version IN NUMBER,
519 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
520 p_validation_level IN NUMBER,
521 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
522 x_return_status OUT VARCHAR2,
523 x_msg_count OUT NUMBER,
524 x_msg_data OUT VARCHAR2,
525 p_contintf_val_rec IN ContIntf_Val_Rec_Type := G_MISS_CONTINTF_VAL_REC,
526 x_object_version_number OUT NUMBER) IS
527 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
528 l_api_version CONSTANT NUMBER := 1;
529 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
530 l_contintf_rec ContIntf_Rec_Type;
531 l_def_contintf_rec ContIntf_Rec_Type;
532 FUNCTION populate_new_record (
533 p_contintf_rec IN ContIntf_Rec_Type,
534 x_contintf_rec OUT ContIntf_Rec_Type
535 ) RETURN VARCHAR2 IS
536 CURSOR oco_26638_csr (p_contracts_interface_id IN NUMBER) IS
537 SELECT *
538 FROM Cs_Cont_Bill_Iface
539 WHERE cs_cont_bill_iface.contracts_interface_id = p_contracts_interface_id;
540 l_oco_26638 oco_26638_csr%ROWTYPE;
541 l_row_notfound BOOLEAN := TRUE;
542 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
543 BEGIN
544 x_contintf_rec := p_contintf_rec;
545 -- Get current database values
546 OPEN oco_26638_csr (p_contintf_rec.contracts_interface_id);
547 FETCH oco_26638_csr INTO l_oco_26638;
548 l_row_notfound := oco_26638_csr%NOTFOUND;
549 CLOSE oco_26638_csr;
550 IF (l_row_notfound) THEN
551 l_return_status := FND_API.G_RET_STS_ERROR;
552 END IF;
553 IF (x_contintf_rec.contracts_interface_id = TAPI_DEV_KIT.G_MISS_NUM)
554 THEN
555 x_contintf_rec.contracts_interface_id := l_oco_26638.contracts_interface_id;
556 END IF;
557 IF (x_contintf_rec.cp_service_transaction_id = TAPI_DEV_KIT.G_MISS_NUM)
558 THEN
559 x_contintf_rec.cp_service_transaction_id := l_oco_26638.cp_service_transaction_id;
560 END IF;
561 IF (x_contintf_rec.cp_service_id = TAPI_DEV_KIT.G_MISS_NUM)
562 THEN
563 x_contintf_rec.cp_service_id := l_oco_26638.cp_service_id;
564 END IF;
565 IF (x_contintf_rec.contract_id = TAPI_DEV_KIT.G_MISS_NUM)
566 THEN
567 x_contintf_rec.contract_id := l_oco_26638.contract_id;
568 END IF;
569 IF (x_contintf_rec.ar_trx_type = TAPI_DEV_KIT.G_MISS_CHAR)
570 THEN
571 x_contintf_rec.ar_trx_type := l_oco_26638.ar_trx_type;
572 END IF;
573 IF (x_contintf_rec.trx_start_date = TAPI_DEV_KIT.G_MISS_DATE)
574 THEN
575 x_contintf_rec.trx_start_date := l_oco_26638.trx_start_date;
576 END IF;
577 IF (x_contintf_rec.trx_end_date = TAPI_DEV_KIT.G_MISS_DATE)
578 THEN
579 x_contintf_rec.trx_end_date := l_oco_26638.trx_end_date;
580 END IF;
581 IF (x_contintf_rec.trx_date = TAPI_DEV_KIT.G_MISS_DATE)
582 THEN
583 x_contintf_rec.trx_date := l_oco_26638.trx_date;
584 END IF;
585 IF (x_contintf_rec.trx_amount = TAPI_DEV_KIT.G_MISS_NUM)
586 THEN
587 x_contintf_rec.trx_amount := l_oco_26638.trx_amount;
588 END IF;
589 IF (x_contintf_rec.reason_code = TAPI_DEV_KIT.G_MISS_CHAR)
590 THEN
591 x_contintf_rec.reason_code := l_oco_26638.reason_code;
592 END IF;
593 IF (x_contintf_rec.reason_comments = TAPI_DEV_KIT.G_MISS_CHAR)
594 THEN
595 x_contintf_rec.reason_comments := l_oco_26638.reason_comments;
596 END IF;
597 IF (x_contintf_rec.contract_billing_id = TAPI_DEV_KIT.G_MISS_NUM)
598 THEN
599 x_contintf_rec.contract_billing_id := l_oco_26638.contract_billing_id;
600 END IF;
604 END IF;
601 IF (x_contintf_rec.cp_quantity = TAPI_DEV_KIT.G_MISS_NUM)
602 THEN
603 x_contintf_rec.cp_quantity := l_oco_26638.cp_quantity;
605 IF (x_contintf_rec.concurrent_process_id = TAPI_DEV_KIT.G_MISS_NUM)
606 THEN
607 x_contintf_rec.concurrent_process_id := l_oco_26638.concurrent_process_id;
608 END IF;
609 IF (x_contintf_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
610 THEN
611 x_contintf_rec.created_by := l_oco_26638.created_by;
612 END IF;
613 IF (x_contintf_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
614 THEN
615 x_contintf_rec.creation_date := l_oco_26638.creation_date;
616 END IF;
617 IF (x_contintf_rec.object_version_number = TAPI_DEV_KIT.G_MISS_NUM)
618 THEN
619 x_contintf_rec.object_version_number := l_oco_26638.object_version_number;
620 END IF;
621 RETURN(l_return_status);
622 END populate_new_record;
623 BEGIN
624 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
625 G_PKG_NAME,
626 l_api_version,
627 p_api_version,
628 p_init_msg_list,
629 '_Pvt',
630 x_return_status);
631 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
632 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
633 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
634 RAISE FND_API.G_EXC_ERROR;
635 END IF;
636 migrate(p_contintf_val_rec, l_contintf_rec);
637 --- Defaulting item attributes
638 l_return_status := Default_Item_Attributes
639 (
640 l_contintf_rec, ---- IN
641 l_def_contintf_rec
642 );
643 --- If any errors happen abort API
644 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
645 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
646 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
647 RAISE FND_API.G_EXC_ERROR;
648 END IF;
649 l_return_status := populate_new_record(l_def_contintf_rec, l_def_contintf_rec);
650 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
651 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
652 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
653 RAISE FND_API.G_EXC_ERROR;
654 END IF;
655 --- Validate all non-missing attributes (Item Level Validation)
656 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
657 l_return_status := Validate_Item_Attributes
658 (
659 l_def_contintf_rec ---- IN
660 );
661 --- If any errors happen abort API
662 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
663 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
664 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
665 RAISE FND_API.G_EXC_ERROR;
666 END IF;
667 END IF;
668 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
669 l_return_status := Validate_Item_Record(l_def_contintf_rec);
670 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
671 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
672 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
673 RAISE FND_API.G_EXC_ERROR;
674 END IF;
675 END IF;
676 UPDATE CS_CONT_BILL_IFACE
677 SET
678 CONTRACTS_INTERFACE_ID = l_def_contintf_rec.contracts_interface_id ,
679 CP_SERVICE_TRANSACTION_ID = l_def_contintf_rec.cp_service_transaction_id ,
680 CP_SERVICE_ID = l_def_contintf_rec.cp_service_id ,
681 CONTRACT_ID = l_def_contintf_rec.contract_id ,
682 AR_TRX_TYPE = l_def_contintf_rec.ar_trx_type ,
683 TRX_START_DATE = l_def_contintf_rec.trx_start_date ,
684 TRX_END_DATE = l_def_contintf_rec.trx_end_date ,
685 TRX_DATE = l_def_contintf_rec.trx_date ,
686 TRX_AMOUNT = l_def_contintf_rec.trx_amount ,
687 REASON_CODE = l_def_contintf_rec.reason_code ,
688 REASON_COMMENTS = l_def_contintf_rec.reason_comments ,
689 CONTRACT_BILLING_ID = l_def_contintf_rec.contract_billing_id ,
690 CP_QUANTITY = l_def_contintf_rec.cp_quantity ,
691 CONCURRENT_PROCESS_ID = l_def_contintf_rec.concurrent_process_id ,
692 CREATED_BY = l_def_contintf_rec.created_by ,
693 CREATION_DATE = l_def_contintf_rec.creation_date ,
694 OBJECT_VERSION_NUMBER = l_def_contintf_rec.object_version_number
695 WHERE
696 CONTRACTS_INTERFACE_ID = l_def_contintf_rec.contracts_interface_id
697 ;
698 x_object_version_number := l_def_contintf_rec.OBJECT_VERSION_NUMBER;
699 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
700 EXCEPTION
701 WHEN FND_API.G_EXC_ERROR THEN
702 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
703 (
704 l_api_name,
705 G_PKG_NAME,
706 'FND_API.G_RET_STS_ERROR',
707 x_msg_count,
708 x_msg_data,
709 '_Pvt'
710 );
711 APP_EXCEPTION.RAISE_EXCEPTION;
712 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
713 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
714 (
715 l_api_name,
716 G_PKG_NAME,
717 'FND_API.G_RET_STS_UNEXP_ERROR',
718 x_msg_count,
719 x_msg_data,
720 '_Pvt'
721 );
722 APP_EXCEPTION.RAISE_EXCEPTION;
723 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
724 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
725 (
726 l_api_name,
727 G_PKG_NAME,
728 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
729 x_msg_count,
730 x_msg_data,
731 '_Pvt'
735 Procedure update_row
732 );
733 APP_EXCEPTION.RAISE_EXCEPTION;
734 END update_row;
736 (
737 p_api_version IN NUMBER,
738 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
739 p_validation_level IN NUMBER,
740 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
741 x_return_status OUT VARCHAR2,
742 x_msg_count OUT NUMBER,
743 x_msg_data OUT VARCHAR2,
744 p_contracts_interface_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
745 p_cp_service_transaction_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
746 p_cp_service_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
747 p_contract_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
748 p_ar_trx_type IN CS_CONT_BILL_IFACE.AR_TRX_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
749 p_trx_start_date IN CS_CONT_BILL_IFACE.TRX_START_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
750 p_trx_end_date IN CS_CONT_BILL_IFACE.TRX_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
751 p_trx_date IN CS_CONT_BILL_IFACE.TRX_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
752 p_trx_amount IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
753 p_reason_code IN CS_CONT_BILL_IFACE.REASON_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
754 p_reason_comments IN CS_CONT_BILL_IFACE.REASON_COMMENTS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
755 p_contract_billing_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
756 p_cp_quantity IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
757 p_concurrent_process_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
758 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
759 p_creation_date IN CS_CONT_BILL_IFACE.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
760 p_object_version_number IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
761 x_object_version_number OUT NUMBER) IS
762 l_api_name CONSTANT VARCHAR2(30) := 'update_row';
763 l_api_version CONSTANT NUMBER := 1;
764 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
765 l_contintf_rec ContIntf_Val_Rec_Type;
766 BEGIN
767 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
768 G_PKG_NAME,
769 l_api_version,
770 p_api_version,
771 p_init_msg_list,
772 '_Pvt',
773 x_return_status);
774 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
775 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
776 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
777 RAISE FND_API.G_EXC_ERROR;
778 END IF;
779 l_contintf_rec.CONTRACTS_INTERFACE_ID := p_contracts_interface_id;
780 l_contintf_rec.CP_SERVICE_TRANSACTION_ID := p_cp_service_transaction_id;
781 l_contintf_rec.CP_SERVICE_ID := p_cp_service_id;
782 l_contintf_rec.CONTRACT_ID := p_contract_id;
783 l_contintf_rec.AR_TRX_TYPE := p_ar_trx_type;
784 l_contintf_rec.TRX_START_DATE := p_trx_start_date;
785 l_contintf_rec.TRX_END_DATE := p_trx_end_date;
786 l_contintf_rec.TRX_DATE := p_trx_date;
787 l_contintf_rec.TRX_AMOUNT := p_trx_amount;
788 l_contintf_rec.REASON_CODE := p_reason_code;
789 l_contintf_rec.REASON_COMMENTS := p_reason_comments;
790 l_contintf_rec.CONTRACT_BILLING_ID := p_contract_billing_id;
791 l_contintf_rec.CP_QUANTITY := p_cp_quantity;
792 l_contintf_rec.CONCURRENT_PROCESS_ID := p_concurrent_process_id;
793 l_contintf_rec.CREATED_BY := p_created_by;
794 l_contintf_rec.CREATION_DATE := p_creation_date;
795 l_contintf_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
796 update_row(
797 p_api_version,
798 p_init_msg_list,
799 p_validation_level,
800 p_commit,
801 x_return_status,
802 x_msg_count,
803 x_msg_data,
804 l_contintf_rec,
805 x_object_version_number
806 );
807 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
808 EXCEPTION
809 WHEN FND_API.G_EXC_ERROR THEN
810 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
811 (
812 l_api_name,
813 G_PKG_NAME,
814 'FND_API.G_RET_STS_ERROR',
815 x_msg_count,
816 x_msg_data,
817 '_Pvt'
818 );
819 APP_EXCEPTION.RAISE_EXCEPTION;
820 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
821 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
822 (
823 l_api_name,
824 G_PKG_NAME,
825 'FND_API.G_RET_STS_UNEXP_ERROR',
826 x_msg_count,
827 x_msg_data,
828 '_Pvt'
829 );
830 APP_EXCEPTION.RAISE_EXCEPTION;
831 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
832 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
833 (
834 l_api_name,
835 G_PKG_NAME,
836 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
837 x_msg_count,
838 x_msg_data,
839 '_Pvt'
840 );
841 APP_EXCEPTION.RAISE_EXCEPTION;
842 END update_row;
843 Procedure delete_row
844 (
845 p_api_version IN NUMBER,
846 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
847 p_validation_level IN NUMBER,
848 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
849 x_return_status OUT VARCHAR2,
850 x_msg_count OUT NUMBER,
851 x_msg_data OUT VARCHAR2,
855 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
852 p_contracts_interface_id IN NUMBER) IS
853 l_api_name CONSTANT VARCHAR2(30) := 'delete_row';
854 l_api_version CONSTANT NUMBER := 1;
856 BEGIN
857 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
858 G_PKG_NAME,
859 l_api_version,
860 p_api_version,
861 p_init_msg_list,
862 '_Pvt',
863 x_return_status);
864 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
865 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
866 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
867 RAISE FND_API.G_EXC_ERROR;
868 END IF;
869 DELETE FROM CS_CONT_BILL_IFACE
870 WHERE
871 CONTRACTS_INTERFACE_ID = p_contracts_interface_id
872 ;
873 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
874 EXCEPTION
875 WHEN FND_API.G_EXC_ERROR THEN
876 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
877 (
878 l_api_name,
879 G_PKG_NAME,
880 'FND_API.G_RET_STS_ERROR',
881 x_msg_count,
882 x_msg_data,
883 '_Pvt'
884 );
885 APP_EXCEPTION.RAISE_EXCEPTION;
886 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
887 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
888 (
889 l_api_name,
890 G_PKG_NAME,
891 'FND_API.G_RET_STS_UNEXP_ERROR',
892 x_msg_count,
893 x_msg_data,
894 '_Pvt'
895 );
896 APP_EXCEPTION.RAISE_EXCEPTION;
897 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
898 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
899 (
900 l_api_name,
901 G_PKG_NAME,
902 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
903 x_msg_count,
904 x_msg_data,
905 '_Pvt'
906 );
907 APP_EXCEPTION.RAISE_EXCEPTION;
908 END delete_row;
909 PROCEDURE validate_row
910 (
911 p_api_version IN NUMBER,
912 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
913 p_validation_level IN NUMBER,
914 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
915 x_return_status OUT VARCHAR2,
916 x_msg_count OUT NUMBER,
917 x_msg_data OUT VARCHAR2,
918 p_contintf_val_rec IN ContIntf_Val_Rec_Type := G_MISS_CONTINTF_VAL_REC) IS
919 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
920 l_api_version CONSTANT NUMBER := 1;
921 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
922 l_contintf_rec ContIntf_Rec_Type;
923 l_def_contintf_rec ContIntf_Rec_Type;
924 BEGIN
925 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
926 G_PKG_NAME,
927 l_api_version,
928 p_api_version,
929 p_init_msg_list,
930 '_Pvt',
931 x_return_status);
932 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
933 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
934 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
935 RAISE FND_API.G_EXC_ERROR;
936 END IF;
937 migrate(p_contintf_val_rec, l_contintf_rec);
938 --- Validate all non-missing attributes (Item Level Validation)
939 IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
940 l_return_status := Validate_Item_Attributes
941 (
942 l_contintf_rec ---- IN
943 );
944 --- If any errors happen abort API
945 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
946 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
947 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
948 RAISE FND_API.G_EXC_ERROR;
949 END IF;
950 END IF;
951 IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
952 l_return_status := Validate_Item_Record(l_def_contintf_rec);
953 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
954 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
955 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
956 RAISE FND_API.G_EXC_ERROR;
957 END IF;
958 END IF;
959 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
960 EXCEPTION
961 WHEN FND_API.G_EXC_ERROR THEN
962 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
963 (
964 l_api_name,
965 G_PKG_NAME,
966 'FND_API.G_RET_STS_ERROR',
967 x_msg_count,
968 x_msg_data,
969 '_Pvt'
970 );
971 APP_EXCEPTION.RAISE_EXCEPTION;
972 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
973 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
974 (
975 l_api_name,
976 G_PKG_NAME,
977 'FND_API.G_RET_STS_UNEXP_ERROR',
978 x_msg_count,
979 x_msg_data,
980 '_Pvt'
981 );
982 APP_EXCEPTION.RAISE_EXCEPTION;
983 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
984 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
985 (
986 l_api_name,
987 G_PKG_NAME,
988 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
989 x_msg_count,
993 APP_EXCEPTION.RAISE_EXCEPTION;
990 x_msg_data,
991 '_Pvt'
992 );
994 END validate_row;
995 PROCEDURE validate_row
996 (
997 p_api_version IN NUMBER,
998 p_init_msg_list IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
999 p_validation_level IN NUMBER,
1000 p_commit IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1001 x_return_status OUT VARCHAR2,
1002 x_msg_count OUT NUMBER,
1003 x_msg_data OUT VARCHAR2,
1004 p_contracts_interface_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1005 p_cp_service_transaction_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1006 p_cp_service_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1007 p_contract_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1008 p_ar_trx_type IN CS_CONT_BILL_IFACE.AR_TRX_TYPE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1009 p_trx_start_date IN CS_CONT_BILL_IFACE.TRX_START_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1010 p_trx_end_date IN CS_CONT_BILL_IFACE.TRX_END_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1011 p_trx_date IN CS_CONT_BILL_IFACE.TRX_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1012 p_trx_amount IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1013 p_reason_code IN CS_CONT_BILL_IFACE.REASON_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1014 p_reason_comments IN CS_CONT_BILL_IFACE.REASON_COMMENTS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1015 p_contract_billing_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1016 p_cp_quantity IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1017 p_concurrent_process_id IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1018 p_created_by IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1019 p_creation_date IN CS_CONT_BILL_IFACE.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1020 p_object_version_number IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
1021 l_api_name CONSTANT VARCHAR2(30) := 'validate_row';
1022 l_api_version CONSTANT NUMBER := 1;
1023 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1024 l_contintf_rec ContIntf_Val_Rec_Type;
1025 BEGIN
1026 l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1027 G_PKG_NAME,
1028 l_api_version,
1029 p_api_version,
1030 p_init_msg_list,
1031 '_Pvt',
1032 x_return_status);
1033 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1034 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1035 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1036 RAISE FND_API.G_EXC_ERROR;
1037 END IF;
1038 l_contintf_rec.CONTRACTS_INTERFACE_ID := p_contracts_interface_id;
1039 l_contintf_rec.CP_SERVICE_TRANSACTION_ID := p_cp_service_transaction_id;
1040 l_contintf_rec.CP_SERVICE_ID := p_cp_service_id;
1041 l_contintf_rec.CONTRACT_ID := p_contract_id;
1042 l_contintf_rec.AR_TRX_TYPE := p_ar_trx_type;
1043 l_contintf_rec.TRX_START_DATE := p_trx_start_date;
1044 l_contintf_rec.TRX_END_DATE := p_trx_end_date;
1045 l_contintf_rec.TRX_DATE := p_trx_date;
1046 l_contintf_rec.TRX_AMOUNT := p_trx_amount;
1047 l_contintf_rec.REASON_CODE := p_reason_code;
1048 l_contintf_rec.REASON_COMMENTS := p_reason_comments;
1049 l_contintf_rec.CONTRACT_BILLING_ID := p_contract_billing_id;
1050 l_contintf_rec.CP_QUANTITY := p_cp_quantity;
1051 l_contintf_rec.CONCURRENT_PROCESS_ID := p_concurrent_process_id;
1052 l_contintf_rec.CREATED_BY := p_created_by;
1053 l_contintf_rec.CREATION_DATE := p_creation_date;
1054 l_contintf_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1055 validate_row(
1056 p_api_version,
1057 p_init_msg_list,
1058 p_validation_level,
1059 p_commit,
1060 x_return_status,
1061 x_msg_count,
1062 x_msg_data,
1063 l_contintf_rec
1064 );
1065 TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1066 EXCEPTION
1067 WHEN FND_API.G_EXC_ERROR THEN
1068 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1069 (
1070 l_api_name,
1071 G_PKG_NAME,
1072 'FND_API.G_RET_STS_ERROR',
1073 x_msg_count,
1074 x_msg_data,
1075 '_Pvt'
1076 );
1077 APP_EXCEPTION.RAISE_EXCEPTION;
1078 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1079 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1080 (
1081 l_api_name,
1082 G_PKG_NAME,
1083 'FND_API.G_RET_STS_UNEXP_ERROR',
1084 x_msg_count,
1085 x_msg_data,
1086 '_Pvt'
1087 );
1088 APP_EXCEPTION.RAISE_EXCEPTION;
1089 WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1090 x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1091 (
1092 l_api_name,
1093 G_PKG_NAME,
1094 'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1095 x_msg_count,
1096 x_msg_data,
1097 '_Pvt'
1098 );
1099 APP_EXCEPTION.RAISE_EXCEPTION;
1100 END validate_row;
1101 END CS_CONTINTF_PVT;