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