[Home] [Help]
PACKAGE BODY: APPS.OKL_BCH_PVT
Source
1 Package BODY Okl_Bch_Pvt AS
2 /* $Header: OKLSBCHB.pls 120.3 2007/08/08 12:42:34 arajagop ship $ */
3
4 ---------------------------------------------------------------------------
5 -- Global Variables
6 -- Post-Generation Change
7 -- By RDRAGUIL on 24-APR-2001
8 ---------------------------------------------------------------------------
9 --GLOBAL MESSAGES
10 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKL_UNEXPECTED_ERROR';
11 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKL_NO_PARENT_RECORD';
12 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
13 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_CODE';
14 G_NOT_SAME CONSTANT VARCHAR2(200) := 'OKL_CANNOT_BE_SAME';
15
16 --GLOBAL VARIABLES
17 G_VIEW CONSTANT VARCHAR2(30) := 'OKL_BILLING_CHARGES_V';
18 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
19
20 ---------------------------------------------------------------------------
21 -- FUNCTION get_seq_id
22 ---------------------------------------------------------------------------
23 FUNCTION get_seq_id RETURN NUMBER IS
24 BEGIN
25 RETURN(Okc_P_Util.raw_to_number(sys_guid()));
26 END get_seq_id;
27
28 ---------------------------------------------------------------------------
29 -- PROCEDURE qc
30 ---------------------------------------------------------------------------
31 PROCEDURE qc IS
32 BEGIN
33 NULL;
34 END qc;
35
36 ---------------------------------------------------------------------------
37 -- PROCEDURE change_version
38 ---------------------------------------------------------------------------
39 PROCEDURE change_version IS
40 BEGIN
41 NULL;
42 END change_version;
43
44 ---------------------------------------------------------------------------
45 -- PROCEDURE api_copy
46 ---------------------------------------------------------------------------
47 PROCEDURE api_copy IS
48 BEGIN
49 NULL;
50 END api_copy;
51
52 ---------------------------------------------------------------------------
53 -- PROCEDURE add_language
54 ---------------------------------------------------------------------------
55 PROCEDURE add_language IS
56 BEGIN
57 DELETE FROM OKL_BILLING_CHARGES_TL T
58 WHERE NOT EXISTS (
59 SELECT NULL
60 FROM OKL_BLNG_CHARGES_ALL_B B --fixed bug 3321017 by kmotepal
61 WHERE B.ID = T.ID
62 );
63
64 UPDATE OKL_BILLING_CHARGES_TL T SET (
65 CHARGE_TYPE,
66 DESCRIPTION) = (SELECT
67 B.CHARGE_TYPE,
68 B.DESCRIPTION
69 FROM OKL_BILLING_CHARGES_TL B
70 WHERE B.ID = T.ID
71 AND B.LANGUAGE = T.SOURCE_LANG)
72 WHERE (
73 T.ID,
74 T.LANGUAGE)
75 IN (SELECT
76 SUBT.ID,
77 SUBT.LANGUAGE
78 FROM OKL_BILLING_CHARGES_TL SUBB, OKL_BILLING_CHARGES_TL SUBT
79 WHERE SUBB.ID = SUBT.ID
80 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
81 AND (SUBB.CHARGE_TYPE <> SUBT.CHARGE_TYPE
82 OR SUBB.DESCRIPTION <> SUBT.DESCRIPTION
83 OR (SUBB.CHARGE_TYPE IS NULL AND SUBT.CHARGE_TYPE IS NOT NULL)
84 OR (SUBB.CHARGE_TYPE IS NOT NULL AND SUBT.CHARGE_TYPE IS NULL)
85 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
86 OR (SUBB.DESCRIPTION IS NOT NULL AND SUBT.DESCRIPTION IS NULL)
87 ));
88
89 INSERT INTO OKL_BILLING_CHARGES_TL (
90 ID,
91 LANGUAGE,
92 SOURCE_LANG,
93 SFWT_FLAG,
94 CHARGE_TYPE,
95 DESCRIPTION,
96 CREATED_BY,
97 CREATION_DATE,
98 LAST_UPDATED_BY,
99 LAST_UPDATE_DATE,
100 LAST_UPDATE_LOGIN)
101 SELECT
102 B.ID,
103 L.LANGUAGE_CODE,
104 B.SOURCE_LANG,
105 B.SFWT_FLAG,
106 B.CHARGE_TYPE,
107 B.DESCRIPTION,
108 B.CREATED_BY,
109 B.CREATION_DATE,
110 B.LAST_UPDATED_BY,
111 B.LAST_UPDATE_DATE,
112 B.LAST_UPDATE_LOGIN
113 FROM OKL_BILLING_CHARGES_TL B, FND_LANGUAGES L
114 WHERE L.INSTALLED_FLAG IN ('I', 'B')
115 AND B.LANGUAGE = USERENV('LANG')
116 AND NOT EXISTS(
117 SELECT NULL
118 FROM OKL_BILLING_CHARGES_TL T
119 WHERE T.ID = B.ID
120 AND T.LANGUAGE = L.LANGUAGE_CODE
121 );
122
123 END add_language;
124
125 ---------------------------------------------------------------------------
126 -- FUNCTION get_rec for: OKL_BILLING_CHARGES_B
127 ---------------------------------------------------------------------------
128 FUNCTION get_rec (
129 p_bch_rec IN bch_rec_type,
130 x_no_data_found OUT NOCOPY BOOLEAN
131 ) RETURN bch_rec_type IS
132 CURSOR bch_pk_csr (p_id IN NUMBER) IS
133 SELECT
134 ID,
135 SEQUENCE_NUMBER,
136 BGH_ID,
137 OBJECT_VERSION_NUMBER,
138 CONTRACT_ID,
139 ASSET_ID,
140 CHARGE_DATE,
141 AMOUNT,
142 CURRENCY_CODE,
143 CUSTOMER_ID,
144 CUSTOMER_REF,
145 CUSTOMER_ADDRESS_ID,
146 CUSTOMER_ADDRESS_REF,
147 REQUEST_ID,
148 PROGRAM_APPLICATION_ID,
149 PROGRAM_ID,
150 PROGRAM_UPDATE_DATE,
151 ORG_ID,
152 STY_ID,
153 STY_NAME,
154 ATTRIBUTE_CATEGORY,
155 ATTRIBUTE1,
156 ATTRIBUTE2,
157 ATTRIBUTE3,
158 ATTRIBUTE4,
159 ATTRIBUTE5,
160 ATTRIBUTE6,
161 ATTRIBUTE7,
162 ATTRIBUTE8,
163 ATTRIBUTE9,
164 ATTRIBUTE10,
165 ATTRIBUTE11,
166 ATTRIBUTE12,
167 ATTRIBUTE13,
168 ATTRIBUTE14,
169 ATTRIBUTE15,
170 INTERFACE_ATTRIBUTE1,
171 INTERFACE_ATTRIBUTE2,
172 INTERFACE_ATTRIBUTE3,
173 INTERFACE_ATTRIBUTE4,
174 INTERFACE_ATTRIBUTE5,
175 INTERFACE_ATTRIBUTE6,
176 INTERFACE_ATTRIBUTE7,
177 INTERFACE_ATTRIBUTE8,
178 INTERFACE_ATTRIBUTE9,
179 INTERFACE_ATTRIBUTE10,
180 INTERFACE_ATTRIBUTE11,
181 INTERFACE_ATTRIBUTE12,
182 INTERFACE_ATTRIBUTE13,
183 INTERFACE_ATTRIBUTE14,
184 INTERFACE_ATTRIBUTE15,
185 CREATED_BY,
186 CREATION_DATE,
187 LAST_UPDATED_BY,
188 LAST_UPDATE_DATE,
189 LAST_UPDATE_LOGIN
190 FROM Okl_Billing_Charges_B
191 WHERE okl_billing_charges_b.id = p_id;
192 l_bch_pk bch_pk_csr%ROWTYPE;
193 l_bch_rec bch_rec_type;
194 BEGIN
195 x_no_data_found := TRUE;
196 -- Get current database values
197 OPEN bch_pk_csr (p_bch_rec.id);
198 FETCH bch_pk_csr INTO
199 l_bch_rec.ID,
200 l_bch_rec.SEQUENCE_NUMBER,
201 l_bch_rec.BGH_ID,
202 l_bch_rec.OBJECT_VERSION_NUMBER,
203 l_bch_rec.CONTRACT_ID,
204 l_bch_rec.ASSET_ID,
205 l_bch_rec.CHARGE_DATE,
206 l_bch_rec.AMOUNT,
207 l_bch_rec.CURRENCY_CODE,
208 l_bch_rec.CUSTOMER_ID,
209 l_bch_rec.CUSTOMER_REF,
210 l_bch_rec.CUSTOMER_ADDRESS_ID,
211 l_bch_rec.CUSTOMER_ADDRESS_REF,
212 l_bch_rec.REQUEST_ID,
213 l_bch_rec.PROGRAM_APPLICATION_ID,
214 l_bch_rec.PROGRAM_ID,
215 l_bch_rec.PROGRAM_UPDATE_DATE,
216 l_bch_rec.ORG_ID,
217 l_bch_rec.STY_ID,
218 l_bch_rec.STY_NAME,
219 l_bch_rec.ATTRIBUTE_CATEGORY,
220 l_bch_rec.ATTRIBUTE1,
221 l_bch_rec.ATTRIBUTE2,
222 l_bch_rec.ATTRIBUTE3,
223 l_bch_rec.ATTRIBUTE4,
224 l_bch_rec.ATTRIBUTE5,
225 l_bch_rec.ATTRIBUTE6,
226 l_bch_rec.ATTRIBUTE7,
227 l_bch_rec.ATTRIBUTE8,
228 l_bch_rec.ATTRIBUTE9,
229 l_bch_rec.ATTRIBUTE10,
230 l_bch_rec.ATTRIBUTE11,
231 l_bch_rec.ATTRIBUTE12,
232 l_bch_rec.ATTRIBUTE13,
233 l_bch_rec.ATTRIBUTE14,
234 l_bch_rec.ATTRIBUTE15,
235 l_bch_rec.INTERFACE_ATTRIBUTE1,
236 l_bch_rec.INTERFACE_ATTRIBUTE2,
237 l_bch_rec.INTERFACE_ATTRIBUTE3,
238 l_bch_rec.INTERFACE_ATTRIBUTE4,
239 l_bch_rec.INTERFACE_ATTRIBUTE5,
240 l_bch_rec.INTERFACE_ATTRIBUTE6,
241 l_bch_rec.INTERFACE_ATTRIBUTE7,
242 l_bch_rec.INTERFACE_ATTRIBUTE8,
243 l_bch_rec.INTERFACE_ATTRIBUTE9,
244 l_bch_rec.INTERFACE_ATTRIBUTE10,
245 l_bch_rec.INTERFACE_ATTRIBUTE11,
246 l_bch_rec.INTERFACE_ATTRIBUTE12,
247 l_bch_rec.INTERFACE_ATTRIBUTE13,
248 l_bch_rec.INTERFACE_ATTRIBUTE14,
249 l_bch_rec.INTERFACE_ATTRIBUTE15,
250 l_bch_rec.CREATED_BY,
251 l_bch_rec.CREATION_DATE,
252 l_bch_rec.LAST_UPDATED_BY,
253 l_bch_rec.LAST_UPDATE_DATE,
254 l_bch_rec.LAST_UPDATE_LOGIN;
255 x_no_data_found := bch_pk_csr%NOTFOUND;
256 CLOSE bch_pk_csr;
257 RETURN(l_bch_rec);
258 END get_rec;
259
260 FUNCTION get_rec (
261 p_bch_rec IN bch_rec_type
262 ) RETURN bch_rec_type IS
263 l_row_notfound BOOLEAN := TRUE;
264 BEGIN
265 RETURN(get_rec(p_bch_rec, l_row_notfound));
266 END get_rec;
267 ---------------------------------------------------------------------------
268 -- FUNCTION get_rec for: OKL_BILLING_CHARGES_TL
269 ---------------------------------------------------------------------------
270 FUNCTION get_rec (
271 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
272 x_no_data_found OUT NOCOPY BOOLEAN
273 ) RETURN OklBillingChargesTlRecType IS
274 CURSOR okl_billing_charges_tl_pk_csr (p_id IN NUMBER,
275 p_language IN VARCHAR2) IS
276 SELECT
277 ID,
278 Okl_Billing_Charges_Tl.LANGUAGE,
279 SOURCE_LANG,
280 SFWT_FLAG,
281 CHARGE_TYPE,
282 DESCRIPTION,
283 CREATED_BY,
284 CREATION_DATE,
285 LAST_UPDATED_BY,
286 LAST_UPDATE_DATE,
287 LAST_UPDATE_LOGIN
288 FROM Okl_Billing_Charges_Tl
289 WHERE okl_billing_charges_tl.id = p_id
290 AND okl_billing_charges_tl.LANGUAGE = p_language;
291 l_okl_billing_charges_tl_pk okl_billing_charges_tl_pk_csr%ROWTYPE;
292 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
293 BEGIN
294 x_no_data_found := TRUE;
295 -- Get current database values
296 OPEN okl_billing_charges_tl_pk_csr (p_okl_billing_charges_tl_rec.id,
297 p_okl_billing_charges_tl_rec.LANGUAGE);
298 FETCH okl_billing_charges_tl_pk_csr INTO
299 l_okl_billing_charges_tl_rec.ID,
300 l_okl_billing_charges_tl_rec.LANGUAGE,
301 l_okl_billing_charges_tl_rec.SOURCE_LANG,
302 l_okl_billing_charges_tl_rec.SFWT_FLAG,
303 l_okl_billing_charges_tl_rec.CHARGE_TYPE,
304 l_okl_billing_charges_tl_rec.DESCRIPTION,
305 l_okl_billing_charges_tl_rec.CREATED_BY,
306 l_okl_billing_charges_tl_rec.CREATION_DATE,
307 l_okl_billing_charges_tl_rec.LAST_UPDATED_BY,
308 l_okl_billing_charges_tl_rec.LAST_UPDATE_DATE,
309 l_okl_billing_charges_tl_rec.LAST_UPDATE_LOGIN;
310 x_no_data_found := okl_billing_charges_tl_pk_csr%NOTFOUND;
311 CLOSE okl_billing_charges_tl_pk_csr;
312 RETURN(l_okl_billing_charges_tl_rec);
313 END get_rec;
314
315 FUNCTION get_rec (
316 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType
317 ) RETURN OklBillingChargesTlRecType IS
318 l_row_notfound BOOLEAN := TRUE;
319 BEGIN
320 RETURN(get_rec(p_okl_billing_charges_tl_rec, l_row_notfound));
321 END get_rec;
322 ---------------------------------------------------------------------------
323 -- FUNCTION get_rec for: OKL_BILLING_CHARGES_V
324 ---------------------------------------------------------------------------
325 FUNCTION get_rec (
326 p_bchv_rec IN bchv_rec_type,
327 x_no_data_found OUT NOCOPY BOOLEAN
328 ) RETURN bchv_rec_type IS
329 CURSOR okl_bchv_pk_csr (p_id IN NUMBER) IS
330 SELECT
331 ID,
332 OBJECT_VERSION_NUMBER,
333 SFWT_FLAG,
334 BGH_ID,
335 SEQUENCE_NUMBER,
336 CONTRACT_ID,
337 ASSET_ID,
338 CHARGE_TYPE,
339 CHARGE_DATE,
340 AMOUNT,
341 CURRENCY_CODE,
342 DESCRIPTION,
343 CUSTOMER_ID,
344 CUSTOMER_REF,
345 CUSTOMER_ADDRESS_ID,
346 CUSTOMER_ADDRESS_REF,
347 STY_ID,
348 STY_NAME,
349 ATTRIBUTE_CATEGORY,
350 ATTRIBUTE1,
351 ATTRIBUTE2,
352 ATTRIBUTE3,
353 ATTRIBUTE4,
354 ATTRIBUTE5,
355 ATTRIBUTE6,
356 ATTRIBUTE7,
357 ATTRIBUTE8,
358 ATTRIBUTE9,
359 ATTRIBUTE10,
360 ATTRIBUTE11,
361 ATTRIBUTE12,
362 ATTRIBUTE13,
363 ATTRIBUTE14,
364 ATTRIBUTE15,
365 INTERFACE_ATTRIBUTE1,
366 INTERFACE_ATTRIBUTE2,
367 INTERFACE_ATTRIBUTE3,
368 INTERFACE_ATTRIBUTE4,
369 INTERFACE_ATTRIBUTE5,
370 INTERFACE_ATTRIBUTE6,
374 INTERFACE_ATTRIBUTE10,
371 INTERFACE_ATTRIBUTE7,
372 INTERFACE_ATTRIBUTE8,
373 INTERFACE_ATTRIBUTE9,
375 INTERFACE_ATTRIBUTE11,
376 INTERFACE_ATTRIBUTE12,
377 INTERFACE_ATTRIBUTE13,
378 INTERFACE_ATTRIBUTE14,
379 INTERFACE_ATTRIBUTE15,
380 REQUEST_ID,
381 PROGRAM_APPLICATION_ID,
382 PROGRAM_ID,
383 PROGRAM_UPDATE_DATE,
384 ORG_ID,
385 CREATED_BY,
386 CREATION_DATE,
387 LAST_UPDATED_BY,
388 LAST_UPDATE_DATE,
389 LAST_UPDATE_LOGIN
390 FROM Okl_Billing_Charges_V
391 WHERE okl_billing_charges_v.id = p_id;
392 l_okl_bchv_pk okl_bchv_pk_csr%ROWTYPE;
393 l_bchv_rec bchv_rec_type;
394 BEGIN
395 x_no_data_found := TRUE;
396 -- Get current database values
397 OPEN okl_bchv_pk_csr (p_bchv_rec.id);
398 FETCH okl_bchv_pk_csr INTO
399 l_bchv_rec.ID,
400 l_bchv_rec.OBJECT_VERSION_NUMBER,
401 l_bchv_rec.SFWT_FLAG,
402 l_bchv_rec.BGH_ID,
403 l_bchv_rec.SEQUENCE_NUMBER,
404 l_bchv_rec.CONTRACT_ID,
405 l_bchv_rec.ASSET_ID,
406 l_bchv_rec.CHARGE_TYPE,
407 l_bchv_rec.CHARGE_DATE,
408 l_bchv_rec.AMOUNT,
409 l_bchv_rec.CURRENCY_CODE,
410 l_bchv_rec.DESCRIPTION,
411 l_bchv_rec.CUSTOMER_ID,
412 l_bchv_rec.CUSTOMER_REF,
413 l_bchv_rec.CUSTOMER_ADDRESS_ID,
414 l_bchv_rec.CUSTOMER_ADDRESS_REF,
415 l_bchv_rec.STY_ID,
416 l_bchv_rec.STY_NAME,
417 l_bchv_rec.ATTRIBUTE_CATEGORY,
418 l_bchv_rec.ATTRIBUTE1,
419 l_bchv_rec.ATTRIBUTE2,
420 l_bchv_rec.ATTRIBUTE3,
421 l_bchv_rec.ATTRIBUTE4,
422 l_bchv_rec.ATTRIBUTE5,
423 l_bchv_rec.ATTRIBUTE6,
424 l_bchv_rec.ATTRIBUTE7,
425 l_bchv_rec.ATTRIBUTE8,
426 l_bchv_rec.ATTRIBUTE9,
427 l_bchv_rec.ATTRIBUTE10,
428 l_bchv_rec.ATTRIBUTE11,
429 l_bchv_rec.ATTRIBUTE12,
430 l_bchv_rec.ATTRIBUTE13,
431 l_bchv_rec.ATTRIBUTE14,
432 l_bchv_rec.ATTRIBUTE15,
433 l_bchv_rec.INTERFACE_ATTRIBUTE1,
434 l_bchv_rec.INTERFACE_ATTRIBUTE2,
435 l_bchv_rec.INTERFACE_ATTRIBUTE3,
436 l_bchv_rec.INTERFACE_ATTRIBUTE4,
437 l_bchv_rec.INTERFACE_ATTRIBUTE5,
438 l_bchv_rec.INTERFACE_ATTRIBUTE6,
439 l_bchv_rec.INTERFACE_ATTRIBUTE7,
440 l_bchv_rec.INTERFACE_ATTRIBUTE8,
441 l_bchv_rec.INTERFACE_ATTRIBUTE9,
442 l_bchv_rec.INTERFACE_ATTRIBUTE10,
443 l_bchv_rec.INTERFACE_ATTRIBUTE11,
444 l_bchv_rec.INTERFACE_ATTRIBUTE12,
445 l_bchv_rec.INTERFACE_ATTRIBUTE13,
446 l_bchv_rec.INTERFACE_ATTRIBUTE14,
447 l_bchv_rec.INTERFACE_ATTRIBUTE15,
448 l_bchv_rec.REQUEST_ID,
449 l_bchv_rec.PROGRAM_APPLICATION_ID,
450 l_bchv_rec.PROGRAM_ID,
451 l_bchv_rec.PROGRAM_UPDATE_DATE,
452 l_bchv_rec.ORG_ID,
453 l_bchv_rec.CREATED_BY,
454 l_bchv_rec.CREATION_DATE,
455 l_bchv_rec.LAST_UPDATED_BY,
456 l_bchv_rec.LAST_UPDATE_DATE,
457 l_bchv_rec.LAST_UPDATE_LOGIN;
458 x_no_data_found := okl_bchv_pk_csr%NOTFOUND;
459 CLOSE okl_bchv_pk_csr;
460 RETURN(l_bchv_rec);
461 END get_rec;
462
463 FUNCTION get_rec (
464 p_bchv_rec IN bchv_rec_type
465 ) RETURN bchv_rec_type IS
466 l_row_notfound BOOLEAN := TRUE;
467 BEGIN
468 RETURN(get_rec(p_bchv_rec, l_row_notfound));
469 END get_rec;
470
471 -----------------------------------------------------------
472 -- FUNCTION null_out_defaults for: OKL_BILLING_CHARGES_V --
473 -----------------------------------------------------------
474 FUNCTION null_out_defaults (
475 p_bchv_rec IN bchv_rec_type
476 ) RETURN bchv_rec_type IS
477 l_bchv_rec bchv_rec_type := p_bchv_rec;
478 BEGIN
479 IF (l_bchv_rec.object_version_number = Okl_Api.G_MISS_NUM) THEN
480 l_bchv_rec.object_version_number := NULL;
481 END IF;
482 IF (l_bchv_rec.sfwt_flag = Okl_Api.G_MISS_CHAR) THEN
483 l_bchv_rec.sfwt_flag := NULL;
484 END IF;
485 IF (l_bchv_rec.bgh_id = Okl_Api.G_MISS_NUM) THEN
486 l_bchv_rec.bgh_id := NULL;
487 END IF;
488 IF (l_bchv_rec.sequence_number = Okl_Api.G_MISS_NUM) THEN
489 l_bchv_rec.sequence_number := NULL;
490 END IF;
491 IF (l_bchv_rec.contract_id = Okl_Api.G_MISS_NUM) THEN
492 l_bchv_rec.contract_id := NULL;
493 END IF;
494 IF (l_bchv_rec.asset_id = Okl_Api.G_MISS_NUM) THEN
495 l_bchv_rec.asset_id := NULL;
496 END IF;
497 IF (l_bchv_rec.charge_type = Okl_Api.G_MISS_CHAR) THEN
498 l_bchv_rec.charge_type := NULL;
499 END IF;
503 IF (l_bchv_rec.amount = Okl_Api.G_MISS_NUM) THEN
500 IF (l_bchv_rec.charge_date = Okl_Api.G_MISS_DATE) THEN
501 l_bchv_rec.charge_date := NULL;
502 END IF;
504 l_bchv_rec.amount := NULL;
505 END IF;
506 IF (l_bchv_rec.currency_code = Okl_Api.G_MISS_CHAR) THEN
507 l_bchv_rec.currency_code := NULL;
508 END IF;
509 IF (l_bchv_rec.description = Okl_Api.G_MISS_CHAR) THEN
510 l_bchv_rec.description := NULL;
511 END IF;
512 IF (l_bchv_rec.customer_id = Okl_Api.G_MISS_NUM) THEN
513 l_bchv_rec.customer_id := NULL;
514 END IF;
515 IF (l_bchv_rec.customer_ref = Okl_Api.G_MISS_CHAR) THEN
516 l_bchv_rec.customer_ref := NULL;
517 END IF;
518 IF (l_bchv_rec.customer_address_id = Okl_Api.G_MISS_NUM) THEN
519 l_bchv_rec.customer_address_id := NULL;
520 END IF;
521 IF (l_bchv_rec.customer_address_ref = Okl_Api.G_MISS_CHAR) THEN
522 l_bchv_rec.customer_address_ref := NULL;
523 END IF;
524 IF (l_bchv_rec.sty_id = Okl_Api.G_MISS_NUM) THEN
525 l_bchv_rec.sty_id := NULL;
526 END IF;
527 IF (l_bchv_rec.sty_name = Okl_Api.G_MISS_CHAR) THEN
528 l_bchv_rec.sty_name := NULL;
529 END IF;
530 IF (l_bchv_rec.attribute_category = Okl_Api.G_MISS_CHAR) THEN
531 l_bchv_rec.attribute_category := NULL;
532 END IF;
533 IF (l_bchv_rec.attribute1 = Okl_Api.G_MISS_CHAR) THEN
534 l_bchv_rec.attribute1 := NULL;
535 END IF;
536 IF (l_bchv_rec.attribute2 = Okl_Api.G_MISS_CHAR) THEN
537 l_bchv_rec.attribute2 := NULL;
538 END IF;
539 IF (l_bchv_rec.attribute3 = Okl_Api.G_MISS_CHAR) THEN
540 l_bchv_rec.attribute3 := NULL;
541 END IF;
542 IF (l_bchv_rec.attribute4 = Okl_Api.G_MISS_CHAR) THEN
543 l_bchv_rec.attribute4 := NULL;
544 END IF;
545 IF (l_bchv_rec.attribute5 = Okl_Api.G_MISS_CHAR) THEN
546 l_bchv_rec.attribute5 := NULL;
547 END IF;
548 IF (l_bchv_rec.attribute6 = Okl_Api.G_MISS_CHAR) THEN
549 l_bchv_rec.attribute6 := NULL;
550 END IF;
551 IF (l_bchv_rec.attribute7 = Okl_Api.G_MISS_CHAR) THEN
552 l_bchv_rec.attribute7 := NULL;
553 END IF;
554 IF (l_bchv_rec.attribute8 = Okl_Api.G_MISS_CHAR) THEN
555 l_bchv_rec.attribute8 := NULL;
556 END IF;
557 IF (l_bchv_rec.attribute9 = Okl_Api.G_MISS_CHAR) THEN
558 l_bchv_rec.attribute9 := NULL;
559 END IF;
560 IF (l_bchv_rec.attribute10 = Okl_Api.G_MISS_CHAR) THEN
561 l_bchv_rec.attribute10 := NULL;
562 END IF;
563 IF (l_bchv_rec.attribute11 = Okl_Api.G_MISS_CHAR) THEN
564 l_bchv_rec.attribute11 := NULL;
565 END IF;
566 IF (l_bchv_rec.attribute12 = Okl_Api.G_MISS_CHAR) THEN
567 l_bchv_rec.attribute12 := NULL;
568 END IF;
569 IF (l_bchv_rec.attribute13 = Okl_Api.G_MISS_CHAR) THEN
570 l_bchv_rec.attribute13 := NULL;
571 END IF;
572 IF (l_bchv_rec.attribute14 = Okl_Api.G_MISS_CHAR) THEN
573 l_bchv_rec.attribute14 := NULL;
574 END IF;
575 IF (l_bchv_rec.attribute15 = Okl_Api.G_MISS_CHAR) THEN
576 l_bchv_rec.attribute15 := NULL;
577 END IF;
578 IF (l_bchv_rec.interface_attribute1 = Okl_Api.G_MISS_CHAR) THEN
579 l_bchv_rec.interface_attribute1 := NULL;
580 END IF;
581 IF (l_bchv_rec.interface_attribute2 = Okl_Api.G_MISS_CHAR) THEN
582 l_bchv_rec.interface_attribute2 := NULL;
583 END IF;
584 IF (l_bchv_rec.interface_attribute3 = Okl_Api.G_MISS_CHAR) THEN
585 l_bchv_rec.interface_attribute3 := NULL;
586 END IF;
587 IF (l_bchv_rec.interface_attribute4 = Okl_Api.G_MISS_CHAR) THEN
588 l_bchv_rec.interface_attribute4 := NULL;
589 END IF;
590 IF (l_bchv_rec.interface_attribute5 = Okl_Api.G_MISS_CHAR) THEN
591 l_bchv_rec.interface_attribute5 := NULL;
592 END IF;
593 IF (l_bchv_rec.interface_attribute6 = Okl_Api.G_MISS_CHAR) THEN
594 l_bchv_rec.interface_attribute6 := NULL;
595 END IF;
596 IF (l_bchv_rec.interface_attribute7 = Okl_Api.G_MISS_CHAR) THEN
597 l_bchv_rec.interface_attribute7 := NULL;
598 END IF;
599 IF (l_bchv_rec.interface_attribute8 = Okl_Api.G_MISS_CHAR) THEN
600 l_bchv_rec.interface_attribute8 := NULL;
601 END IF;
602 IF (l_bchv_rec.interface_attribute9 = Okl_Api.G_MISS_CHAR) THEN
603 l_bchv_rec.interface_attribute9 := NULL;
604 END IF;
605 IF (l_bchv_rec.interface_attribute10 = Okl_Api.G_MISS_CHAR) THEN
606 l_bchv_rec.interface_attribute10 := NULL;
607 END IF;
608 IF (l_bchv_rec.interface_attribute11 = Okl_Api.G_MISS_CHAR) THEN
609 l_bchv_rec.interface_attribute11 := NULL;
610 END IF;
611 IF (l_bchv_rec.interface_attribute12 = Okl_Api.G_MISS_CHAR) THEN
612 l_bchv_rec.interface_attribute12 := NULL;
613 END IF;
614 IF (l_bchv_rec.interface_attribute13 = Okl_Api.G_MISS_CHAR) THEN
615 l_bchv_rec.interface_attribute13 := NULL;
616 END IF;
617 IF (l_bchv_rec.interface_attribute14 = Okl_Api.G_MISS_CHAR) THEN
618 l_bchv_rec.interface_attribute14 := NULL;
619 END IF;
620 IF (l_bchv_rec.interface_attribute15 = Okl_Api.G_MISS_CHAR) THEN
621 l_bchv_rec.interface_attribute15 := NULL;
622 END IF;
623 IF (l_bchv_rec.request_id = Okl_Api.G_MISS_NUM) THEN
624 l_bchv_rec.request_id := NULL;
625 END IF;
626 IF (l_bchv_rec.program_application_id = Okl_Api.G_MISS_NUM) THEN
627 l_bchv_rec.program_application_id := NULL;
628 END IF;
629 IF (l_bchv_rec.program_id = Okl_Api.G_MISS_NUM) THEN
630 l_bchv_rec.program_id := NULL;
631 END IF;
632 IF (l_bchv_rec.program_update_date = Okl_Api.G_MISS_DATE) THEN
633 l_bchv_rec.program_update_date := NULL;
634 END IF;
635 IF (l_bchv_rec.org_id = Okl_Api.G_MISS_NUM) THEN
636 l_bchv_rec.org_id := NULL;
637 END IF;
638 IF (l_bchv_rec.created_by = Okl_Api.G_MISS_NUM) THEN
639 l_bchv_rec.created_by := NULL;
640 END IF;
641 IF (l_bchv_rec.creation_date = Okl_Api.G_MISS_DATE) THEN
642 l_bchv_rec.creation_date := NULL;
643 END IF;
644 IF (l_bchv_rec.last_updated_by = Okl_Api.G_MISS_NUM) THEN
645 l_bchv_rec.last_updated_by := NULL;
646 END IF;
647 IF (l_bchv_rec.last_update_date = Okl_Api.G_MISS_DATE) THEN
648 l_bchv_rec.last_update_date := NULL;
649 END IF;
650 IF (l_bchv_rec.last_update_login = Okl_Api.G_MISS_NUM) THEN
651 l_bchv_rec.last_update_login := NULL;
652 END IF;
653 RETURN(l_bchv_rec);
654 END null_out_defaults;
655
656 ---------------------------------------------------------------------------
657 -- PROCEDURE Validate_Id
658 -- Post-Generation Change
659 -- By RDRAGUIL on 24-APR-2001
660 ---------------------------------------------------------------------------
661
662 PROCEDURE Validate_Id (
663 x_return_status OUT NOCOPY VARCHAR2,
664 p_bchv_rec IN bchv_rec_type) IS
665
666 BEGIN
667
668 -- initialize return status
669 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
670
671 -- data is required
672 IF p_bchv_rec.id = Okl_Api.G_MISS_NUM
673 OR p_bchv_rec.id IS NULL
674 THEN
675
676 -- display error message
677 Okl_Api.set_message(
678 p_app_name => G_APP_NAME,
679 p_msg_name => G_REQUIRED_VALUE,
680 p_token1 => G_COL_NAME_TOKEN,
681 p_token1_value => 'id');
682
683 -- notify caller of en error
684 x_return_status := Okl_Api.G_RET_STS_ERROR;
685 -- halt furhter validation of the column
686 RAISE G_EXCEPTION_HALT_VALIDATION;
687
688 END IF;
689
690 EXCEPTION
691
692 WHEN G_EXCEPTION_HALT_VALIDATION THEN
693 -- no processing necessary; continue validation
694 NULL;
695
696 WHEN OTHERS THEN
697 -- display error message
698 Okl_Api.set_message(
699 p_app_name => G_APP_NAME,
700 p_msg_name => G_UNEXPECTED_ERROR,
701 p_token1 => G_SQLCODE_TOKEN,
702 p_token1_value => SQLCODE,
703 p_token2 => G_SQLERRM_TOKEN,
704 p_token2_value => SQLERRM);
705 -- notify caller of an unexpected error
706 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
707
708 END Validate_Id;
709
710 ---------------------------------------------------------------------------
711 -- PROCEDURE Validate_Object_Version_Number
712 -- Post-Generation Change
713 -- By RDRAGUIL on 24-APR-2001
714 ---------------------------------------------------------------------------
715
716 PROCEDURE Validate_Object_Version_Number (
717 x_return_status OUT NOCOPY VARCHAR2,
718 p_bchv_rec IN bchv_rec_type) IS
719
720 BEGIN
721
722 -- initialize return status
723 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
724
725 -- data is required
726 IF p_bchv_rec.object_version_number = Okl_Api.G_MISS_NUM
727 OR p_bchv_rec.object_version_number IS NULL
728 THEN
729
730 -- display error message
731 Okl_Api.set_message(
732 p_app_name => G_APP_NAME,
733 p_msg_name => G_REQUIRED_VALUE,
734 p_token1 => G_COL_NAME_TOKEN,
735 p_token1_value => 'object_version_number');
736
737 -- notify caller of en error
738 x_return_status := Okl_Api.G_RET_STS_ERROR;
739 -- halt furhter validation of the column
740 RAISE G_EXCEPTION_HALT_VALIDATION;
741
742 END IF;
743
744 EXCEPTION
745
746 WHEN G_EXCEPTION_HALT_VALIDATION THEN
747 -- no processing necessary; continue validation
748 NULL;
749
750 WHEN OTHERS THEN
751 -- display error message
752 Okl_Api.set_message(
753 p_app_name => G_APP_NAME,
754 p_msg_name => G_UNEXPECTED_ERROR,
755 p_token1 => G_SQLCODE_TOKEN,
756 p_token1_value => SQLCODE,
757 p_token2 => G_SQLERRM_TOKEN,
758 p_token2_value => SQLERRM);
759 -- notify caller of an unexpected error
760 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
761
762 END Validate_Object_Version_Number;
763
764
765 ---------------------------------------------------------------------------
766 -- PROCEDURE Validate_Bgh_Id
767 -- Post-Generation Change
771 PROCEDURE Validate_Bgh_Id (
768 -- By RDRAGUIL on 24-APR-2001
769 ---------------------------------------------------------------------------
770
772 x_return_status OUT NOCOPY VARCHAR2,
773 p_bchv_rec IN bchv_rec_type) IS
774
775 l_dummy_var VARCHAR2(1) := '?';
776
777 CURSOR l_bchv_csr IS
778 SELECT 'x'
779 FROM okl_bllng_chrg_hdrs_v
780 WHERE id = p_bchv_rec.bgh_id;
781
782 BEGIN
783
784 -- initialize return status
785 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
786
787 -- data is required
788 IF p_bchv_rec.bgh_id = Okl_Api.G_MISS_NUM
789 OR p_bchv_rec.bgh_id IS NULL
790 THEN
791
792 -- display error message
793 Okl_Api.set_message(
794 p_app_name => G_APP_NAME,
795 p_msg_name => G_REQUIRED_VALUE,
796 p_token1 => G_COL_NAME_TOKEN,
797 p_token1_value => 'bgh_id');
798
799 -- notify caller of en error
800 x_return_status := Okl_Api.G_RET_STS_ERROR;
801 -- halt furhter validation of the column
802 RAISE G_EXCEPTION_HALT_VALIDATION;
803
804 END IF;
805
806 -- enforce foreign key
807 OPEN l_bchv_csr;
808 FETCH l_bchv_csr INTO l_dummy_var;
809 CLOSE l_bchv_csr;
810
811 -- if dummy value is still set to default, data was not found
812 IF (l_dummy_var = '?') THEN
813
814 -- display error message
815 Okl_Api.set_message(
816 p_app_name => G_APP_NAME,
817 p_msg_name => G_NO_PARENT_RECORD,
818 p_token1 => G_COL_NAME_TOKEN,
819 p_token1_value => 'bgh_id',
820 p_token2 => G_CHILD_TABLE_TOKEN,
821 p_token2_value => 'OKL_BILLING_CHARGES_V',
822 p_token3 => G_PARENT_TABLE_TOKEN,
823 p_token3_value => 'OKL_BLLNG_CHRG_HDRS_V');
824
825 -- notify caller of en error
826 x_return_status := Okl_Api.G_RET_STS_ERROR;
827
828 END IF;
829
830 EXCEPTION
831
832 WHEN G_EXCEPTION_HALT_VALIDATION THEN
833 -- no processing necessary; continue validation
834 NULL;
835
836 WHEN OTHERS THEN
837 -- display error message
838 Okl_Api.set_message(
839 p_app_name => G_APP_NAME,
840 p_msg_name => G_UNEXPECTED_ERROR,
841 p_token1 => G_SQLCODE_TOKEN,
842 p_token1_value => SQLCODE,
843 p_token2 => G_SQLERRM_TOKEN,
844 p_token2_value => SQLERRM);
845 -- notify caller of an unexpected error
846 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
847 -- verify the cursor is closed
848 IF l_bchv_csr%ISOPEN THEN
849 CLOSE l_bchv_csr;
850 END IF;
851
852 END Validate_Bgh_Id;
853
854 ---------------------------------------------------------------------------
855 -- PROCEDURE Validate_Sequence_Number
856 -- Post-Generation Change
857 -- By RDRAGUIL on 24-APR-2001
858 ---------------------------------------------------------------------------
859
860 PROCEDURE Validate_Sequence_Number (
861 x_return_status OUT NOCOPY VARCHAR2,
862 p_bchv_rec IN bchv_rec_type) IS
863
864 BEGIN
865
866 -- initialize return status
867 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
868
869 -- data is required
870 IF p_bchv_rec.sequence_number = Okl_Api.G_MISS_NUM
871 OR p_bchv_rec.sequence_number IS NULL
872 THEN
873
874 -- display error message
875 Okl_Api.set_message(
876 p_app_name => G_APP_NAME,
877 p_msg_name => G_REQUIRED_VALUE,
878 p_token1 => G_COL_NAME_TOKEN,
879 p_token1_value => 'sequence_number');
880
881 -- notify caller of en error
882 x_return_status := Okl_Api.G_RET_STS_ERROR;
883 -- halt furhter validation of the column
884 RAISE G_EXCEPTION_HALT_VALIDATION;
885
886 END IF;
887
888 EXCEPTION
889
890 WHEN G_EXCEPTION_HALT_VALIDATION THEN
891 -- no processing necessary; continue validation
892 NULL;
893
894 WHEN OTHERS THEN
895 -- display error message
896 Okl_Api.set_message(
897 p_app_name => G_APP_NAME,
898 p_msg_name => G_UNEXPECTED_ERROR,
899 p_token1 => G_SQLCODE_TOKEN,
900 p_token1_value => SQLCODE,
901 p_token2 => G_SQLERRM_TOKEN,
902 p_token2_value => SQLERRM);
903 -- notify caller of an unexpected error
904 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
905
906 END Validate_Sequence_Number;
907
908 ---------------------------------------------------------------------------
909 -- PROCEDURE Validate_Org_Id
910 -- Post-Generation Change
911 -- By RDRAGUIL on 24-APR-2001
912 ---------------------------------------------------------------------------
913
914 PROCEDURE Validate_Org_Id (
915 x_return_status OUT NOCOPY VARCHAR2,
916 p_bchv_rec IN bchv_rec_type) IS
917
918 BEGIN
919
920 -- initialize return status
921 x_return_status := Okl_Api.G_RET_STS_SUCCESS;
922
923 -- check value
924 --IF p_bchv_rec.org_id <> OKL_API.G_MISS_NUM
925 --AND p_bchv_rec.org_id IS NOT NULL
926 --THEN
927 x_return_status := Okl_Util.check_org_id (p_bchv_rec.org_id);
928 --END IF;
929
930 EXCEPTION
931
932 WHEN OTHERS THEN
933 -- display error message
934 Okl_Api.set_message(
935 p_app_name => G_APP_NAME,
936 p_msg_name => G_UNEXPECTED_ERROR,
937 p_token1 => G_SQLCODE_TOKEN,
938 p_token1_value => SQLCODE,
939 p_token2 => G_SQLERRM_TOKEN,
940 p_token2_value => SQLERRM);
941 -- notify caller of an unexpected error
942 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
943
944 END Validate_Org_Id;
945
946 ---------------------------------------------------------------------------
947 -- PROCEDURE Is_Unique
948 -- Post-Generation Change
949 -- By RDRAGUIL on 24-APR-2001
950 ---------------------------------------------------------------------------
951 FUNCTION Is_Unique (
952 p_bchv_rec IN bchv_rec_type
953 ) RETURN VARCHAR2 IS
954
955 CURSOR l_bchv_csr IS
956 SELECT 'x'
957 FROM okl_billing_charges_v
958 WHERE bgh_id = p_bchv_rec.bgh_id
959 AND sequence_number = p_bchv_rec.sequence_number
960 AND id <> NVL (p_bchv_rec.id, -99999);
961
962 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
963 l_dummy VARCHAR2(1);
964 l_found BOOLEAN;
965
966 BEGIN
967
968 -- check for unique BGH_ID + SEQUENCE_NUMBER
969 OPEN l_bchv_csr;
970 FETCH l_bchv_csr INTO l_dummy;
971 l_found := l_bchv_csr%FOUND;
972 CLOSE l_bchv_csr;
973
974 IF (l_found) THEN
975
976 -- display error message
977 Okl_Api.set_message(
978 p_app_name => G_APP_NAME,
979 p_msg_name => G_NOT_SAME,
980 p_token1 => 'BGH_ID',
981 p_token1_value => p_bchv_rec.bgh_id,
982 p_token2 => 'SEQUENCE_NUMBER',
983 p_token2_value => p_bchv_rec.sequence_number);
984
985 -- notify caller of an error
986 l_return_status := Okl_Api.G_RET_STS_ERROR;
987
988 END IF;
989
990 -- return status to the caller
991 RETURN l_return_status;
992
993 EXCEPTION
994
995 WHEN OTHERS THEN
996 -- display error message
997 Okl_Api.set_message(
998 p_app_name => G_APP_NAME,
999 p_msg_name => G_UNEXPECTED_ERROR,
1000 p_token1 => G_SQLCODE_TOKEN,
1001 p_token1_value => SQLCODE,
1002 p_token2 => G_SQLERRM_TOKEN,
1003 p_token2_value => SQLERRM);
1004 -- notify caller of an unexpected error
1005 l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
1006 -- verify the cursor is closed
1007 IF l_bchv_csr%ISOPEN THEN
1008 CLOSE l_bchv_csr;
1009 END IF;
1010 -- return status to the caller
1011 RETURN l_return_status;
1012
1013 END Is_Unique;
1014
1015 ---------------------------------------------------------------------------
1016 -- PROCEDURE Validate_Attributes
1017 -- Post-Generation Change
1018 -- By RDRAGUIL on 24-APR-2001
1019 ---------------------------------------------------------------------------
1020 ---------------------------------------------------
1021 -- Validate_Attributes for:OKL_BILLING_CHARGES_V --
1022 ---------------------------------------------------
1023 FUNCTION Validate_Attributes (
1024 p_bchv_rec IN bchv_rec_type
1025 ) RETURN VARCHAR2 IS
1026
1027 x_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1028 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1029
1030 BEGIN
1031
1032 -- call each column-level validation
1033
1034 validate_id (
1035 x_return_status => l_return_status,
1036 p_bchv_rec => p_bchv_rec);
1037
1038 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
1039 IF (x_return_status <> Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1040 x_return_status := l_return_status;
1041 END IF;
1042 END IF;
1043
1044 validate_object_version_number (
1045 x_return_status => l_return_status,
1046 p_bchv_rec => p_bchv_rec);
1047
1048 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
1049 IF (x_return_status <> Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1050 x_return_status := l_return_status;
1051 END IF;
1052 END IF;
1053
1054 validate_bgh_id (
1055 x_return_status => l_return_status,
1056 p_bchv_rec => p_bchv_rec);
1057
1058 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
1059 IF (x_return_status <> Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1060 x_return_status := l_return_status;
1061 END IF;
1062 END IF;
1063
1064 validate_sequence_number (
1065 x_return_status => l_return_status,
1066 p_bchv_rec => p_bchv_rec);
1067
1068 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
1069 IF (x_return_status <> Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1070 x_return_status := l_return_status;
1071 END IF;
1072 END IF;
1073
1074 validate_org_id (
1075 x_return_status => l_return_status,
1076 p_bchv_rec => p_bchv_rec);
1077
1078 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
1079 IF (x_return_status <> Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1080 x_return_status := l_return_status;
1081 END IF;
1082 END IF;
1083
1084 RETURN x_return_status;
1085
1086 EXCEPTION
1087
1088 WHEN OTHERS THEN
1089 -- display error message
1090 Okl_Api.set_message(
1091 p_app_name => G_APP_NAME,
1092 p_msg_name => G_UNEXPECTED_ERROR,
1093 p_token1 => G_SQLCODE_TOKEN,
1094 p_token1_value => SQLCODE,
1095 p_token2 => G_SQLERRM_TOKEN,
1096 p_token2_value => SQLERRM);
1097 -- notify caller of an unexpected error
1098 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
1099 -- return status to the caller
1100 RETURN x_return_status;
1101
1102 END Validate_Attributes;
1103
1104 ---------------------------------------------------------------------------
1105 -- PROCEDURE Validate_Record
1106 -- Post-Generation Change
1107 -- By RDRAGUIL on 24-APR-2001
1108 ---------------------------------------------------------------------------
1109 -----------------------------------------------
1110 -- Validate_Record for:OKL_BILLING_CHARGES_V --
1111 -----------------------------------------------
1112 FUNCTION Validate_Record (
1113 p_bchv_rec IN bchv_rec_type
1114 ) RETURN VARCHAR2 IS
1115 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1116 x_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1117 BEGIN
1118
1119 -- call each record-level validation
1120 l_return_status := is_unique (p_bchv_rec);
1121
1122 IF (l_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
1123 IF (x_return_status <> Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1124 x_return_status := l_return_status;
1125 END IF;
1126 END IF;
1127
1128 RETURN x_return_status;
1129
1130 EXCEPTION
1131
1132 WHEN OTHERS THEN
1133 -- display error message
1134 Okl_Api.set_message(
1135 p_app_name => G_APP_NAME,
1136 p_msg_name => G_UNEXPECTED_ERROR,
1137 p_token1 => G_SQLCODE_TOKEN,
1138 p_token1_value => SQLCODE,
1139 p_token2 => G_SQLERRM_TOKEN,
1140 p_token2_value => SQLERRM);
1141 -- notify caller of an unexpected error
1142 x_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
1146 END Validate_Record;
1143 -- return status to the caller
1144 RETURN x_return_status;
1145
1147
1148 ---------------------------------------------------------------------------
1149 -- PROCEDURE Migrate
1150 ---------------------------------------------------------------------------
1151 PROCEDURE migrate (
1152 p_from IN bchv_rec_type,
1153 p_to IN OUT NOCOPY bch_rec_type
1154 ) IS
1155 BEGIN
1156 p_to.id := p_from.id;
1157 p_to.sequence_number := p_from.sequence_number;
1158 p_to.bgh_id := p_from.bgh_id;
1159 p_to.object_version_number := p_from.object_version_number;
1160 p_to.contract_id := p_from.contract_id;
1161 p_to.asset_id := p_from.asset_id;
1162 p_to.charge_date := p_from.charge_date;
1163 p_to.amount := p_from.amount;
1164 p_to.currency_code := p_from.currency_code;
1165 p_to.customer_id := p_from.customer_id;
1166 p_to.customer_ref := p_from.customer_ref;
1167 p_to.customer_address_id := p_from.customer_address_id;
1168 p_to.customer_address_ref := p_from.customer_address_ref;
1169 p_to.request_id := p_from.request_id;
1170 p_to.program_application_id := p_from.program_application_id;
1171 p_to.program_id := p_from.program_id;
1172 p_to.program_update_date := p_from.program_update_date;
1173 p_to.org_id := p_from.org_id;
1174 p_to.sty_id := p_from.sty_id;
1175 p_to.sty_name := p_from.sty_name;
1176 p_to.attribute_category := p_from.attribute_category;
1177 p_to.attribute1 := p_from.attribute1;
1178 p_to.attribute2 := p_from.attribute2;
1179 p_to.attribute3 := p_from.attribute3;
1180 p_to.attribute4 := p_from.attribute4;
1181 p_to.attribute5 := p_from.attribute5;
1182 p_to.attribute6 := p_from.attribute6;
1183 p_to.attribute7 := p_from.attribute7;
1184 p_to.attribute8 := p_from.attribute8;
1185 p_to.attribute9 := p_from.attribute9;
1186 p_to.attribute10 := p_from.attribute10;
1187 p_to.attribute11 := p_from.attribute11;
1188 p_to.attribute12 := p_from.attribute12;
1189 p_to.attribute13 := p_from.attribute13;
1190 p_to.attribute14 := p_from.attribute14;
1191 p_to.attribute15 := p_from.attribute15;
1192 p_to.interface_attribute1 := p_from.interface_attribute1;
1193 p_to.interface_attribute2 := p_from.interface_attribute2;
1194 p_to.interface_attribute3 := p_from.interface_attribute3;
1195 p_to.interface_attribute4 := p_from.interface_attribute4;
1196 p_to.interface_attribute5 := p_from.interface_attribute5;
1197 p_to.interface_attribute6 := p_from.interface_attribute6;
1198 p_to.interface_attribute7 := p_from.interface_attribute7;
1199 p_to.interface_attribute8 := p_from.interface_attribute8;
1200 p_to.interface_attribute9 := p_from.interface_attribute9;
1201 p_to.interface_attribute10 := p_from.interface_attribute10;
1202 p_to.interface_attribute11 := p_from.interface_attribute11;
1203 p_to.interface_attribute12 := p_from.interface_attribute12;
1204 p_to.interface_attribute13 := p_from.interface_attribute13;
1205 p_to.interface_attribute14 := p_from.interface_attribute14;
1206 p_to.interface_attribute15 := p_from.interface_attribute15;
1207 p_to.created_by := p_from.created_by;
1208 p_to.creation_date := p_from.creation_date;
1209 p_to.last_updated_by := p_from.last_updated_by;
1210 p_to.last_update_date := p_from.last_update_date;
1211 p_to.last_update_login := p_from.last_update_login;
1212 END migrate;
1213 PROCEDURE migrate (
1214 p_from IN bch_rec_type,
1215 p_to IN OUT NOCOPY bchv_rec_type
1216 ) IS
1217 BEGIN
1218 p_to.id := p_from.id;
1219 p_to.sequence_number := p_from.sequence_number;
1220 p_to.bgh_id := p_from.bgh_id;
1221 p_to.object_version_number := p_from.object_version_number;
1222 p_to.contract_id := p_from.contract_id;
1223 p_to.asset_id := p_from.asset_id;
1224 p_to.charge_date := p_from.charge_date;
1225 p_to.amount := p_from.amount;
1226 p_to.currency_code := p_from.currency_code;
1227 p_to.customer_id := p_from.customer_id;
1228 p_to.customer_ref := p_from.customer_ref;
1229 p_to.customer_address_id := p_from.customer_address_id;
1230 p_to.customer_address_ref := p_from.customer_address_ref;
1231 p_to.request_id := p_from.request_id;
1232 p_to.program_application_id := p_from.program_application_id;
1233 p_to.program_id := p_from.program_id;
1234 p_to.program_update_date := p_from.program_update_date;
1235 p_to.org_id := p_from.org_id;
1236 p_to.sty_id := p_from.sty_id;
1237 p_to.sty_name := p_from.sty_name;
1238 p_to.attribute_category := p_from.attribute_category;
1239 p_to.attribute1 := p_from.attribute1;
1240 p_to.attribute2 := p_from.attribute2;
1241 p_to.attribute3 := p_from.attribute3;
1242 p_to.attribute4 := p_from.attribute4;
1243 p_to.attribute5 := p_from.attribute5;
1244 p_to.attribute6 := p_from.attribute6;
1245 p_to.attribute7 := p_from.attribute7;
1246 p_to.attribute8 := p_from.attribute8;
1247 p_to.attribute9 := p_from.attribute9;
1248 p_to.attribute10 := p_from.attribute10;
1249 p_to.attribute11 := p_from.attribute11;
1250 p_to.attribute12 := p_from.attribute12;
1251 p_to.attribute13 := p_from.attribute13;
1252 p_to.attribute14 := p_from.attribute14;
1253 p_to.attribute15 := p_from.attribute15;
1254 p_to.interface_attribute1 := p_from.interface_attribute1;
1255 p_to.interface_attribute2 := p_from.interface_attribute2;
1259 p_to.interface_attribute6 := p_from.interface_attribute6;
1256 p_to.interface_attribute3 := p_from.interface_attribute3;
1257 p_to.interface_attribute4 := p_from.interface_attribute4;
1258 p_to.interface_attribute5 := p_from.interface_attribute5;
1260 p_to.interface_attribute7 := p_from.interface_attribute7;
1261 p_to.interface_attribute8 := p_from.interface_attribute8;
1262 p_to.interface_attribute9 := p_from.interface_attribute9;
1263 p_to.interface_attribute10 := p_from.interface_attribute10;
1264 p_to.interface_attribute11 := p_from.interface_attribute11;
1265 p_to.interface_attribute12 := p_from.interface_attribute12;
1266 p_to.interface_attribute13 := p_from.interface_attribute13;
1267 p_to.interface_attribute14 := p_from.interface_attribute14;
1268 p_to.interface_attribute15 := p_from.interface_attribute15;
1269 p_to.created_by := p_from.created_by;
1270 p_to.creation_date := p_from.creation_date;
1271 p_to.last_updated_by := p_from.last_updated_by;
1272 p_to.last_update_date := p_from.last_update_date;
1273 p_to.last_update_login := p_from.last_update_login;
1274 END migrate;
1275 PROCEDURE migrate (
1276 p_from IN bchv_rec_type,
1277 p_to IN OUT NOCOPY OklBillingChargesTlRecType
1278 ) IS
1279 BEGIN
1280 p_to.id := p_from.id;
1281 p_to.sfwt_flag := p_from.sfwt_flag;
1282 p_to.charge_type := p_from.charge_type;
1283 p_to.description := p_from.description;
1284 p_to.created_by := p_from.created_by;
1285 p_to.creation_date := p_from.creation_date;
1286 p_to.last_updated_by := p_from.last_updated_by;
1287 p_to.last_update_date := p_from.last_update_date;
1288 p_to.last_update_login := p_from.last_update_login;
1289 END migrate;
1290 PROCEDURE migrate (
1291 p_from IN OklBillingChargesTlRecType,
1292 p_to IN OUT NOCOPY bchv_rec_type
1293 ) IS
1294 BEGIN
1295 p_to.id := p_from.id;
1296 p_to.sfwt_flag := p_from.sfwt_flag;
1297 p_to.charge_type := p_from.charge_type;
1298 p_to.description := p_from.description;
1299 p_to.created_by := p_from.created_by;
1300 p_to.creation_date := p_from.creation_date;
1301 p_to.last_updated_by := p_from.last_updated_by;
1302 p_to.last_update_date := p_from.last_update_date;
1303 p_to.last_update_login := p_from.last_update_login;
1304 END migrate;
1305
1306 ---------------------------------------------------------------------------
1307 -- PROCEDURE validate_row
1308 ---------------------------------------------------------------------------
1309 --------------------------------------------
1310 -- validate_row for:OKL_BILLING_CHARGES_V --
1311 --------------------------------------------
1312 PROCEDURE validate_row(
1313 p_api_version IN NUMBER,
1314 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1315 x_return_status OUT NOCOPY VARCHAR2,
1316 x_msg_count OUT NOCOPY NUMBER,
1317 x_msg_data OUT NOCOPY VARCHAR2,
1318 p_bchv_rec IN bchv_rec_type) IS
1319
1320 l_api_version CONSTANT NUMBER := 1;
1321 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1322 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1323 l_bchv_rec bchv_rec_type := p_bchv_rec;
1324 l_bch_rec bch_rec_type;
1325 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
1326 BEGIN
1327 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1328 G_PKG_NAME,
1329 p_init_msg_list,
1330 l_api_version,
1331 p_api_version,
1332 '_PVT',
1333 x_return_status);
1334 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1335 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1336 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1337 RAISE Okl_Api.G_EXCEPTION_ERROR;
1338 END IF;
1339 --- Validate all non-missing attributes (Item Level Validation)
1340 l_return_status := Validate_Attributes(l_bchv_rec);
1341 --- If any errors happen abort API
1342 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1343 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1344 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1345 RAISE Okl_Api.G_EXCEPTION_ERROR;
1346 END IF;
1347 l_return_status := Validate_Record(l_bchv_rec);
1348 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1349 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1350 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1351 RAISE Okl_Api.G_EXCEPTION_ERROR;
1352 END IF;
1353 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1354 EXCEPTION
1355 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1356 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1357 (
1358 l_api_name,
1359 G_PKG_NAME,
1360 'OKL_API.G_RET_STS_ERROR',
1361 x_msg_count,
1362 x_msg_data,
1363 '_PVT'
1364 );
1365 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1366 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1367 (
1368 l_api_name,
1369 G_PKG_NAME,
1370 'OKL_API.G_RET_STS_UNEXP_ERROR',
1371 x_msg_count,
1372 x_msg_data,
1373 '_PVT'
1374 );
1375 WHEN OTHERS THEN
1376 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1377 (
1378 l_api_name,
1379 G_PKG_NAME,
1380 'OTHERS',
1381 x_msg_count,
1382 x_msg_data,
1383 '_PVT'
1384 );
1385 END validate_row;
1386 ------------------------------------------
1387 -- PL/SQL TBL validate_row for:BCHV_TBL --
1388 ------------------------------------------
1389 PROCEDURE validate_row(
1390 p_api_version IN NUMBER,
1391 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1392 x_return_status OUT NOCOPY VARCHAR2,
1393 x_msg_count OUT NOCOPY NUMBER,
1394 x_msg_data OUT NOCOPY VARCHAR2,
1395 p_bchv_tbl IN bchv_tbl_type) IS
1396
1397 l_api_version CONSTANT NUMBER := 1;
1398 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1399 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1400 i NUMBER := 0;
1401 -- Begin Post-Generation Change
1402 -- overall error status
1403 l_overall_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1404 -- End Post-Generation Change
1405
1406 BEGIN
1407 Okl_Api.init_msg_list(p_init_msg_list);
1408 -- Make sure PL/SQL table has records in it before passing
1409 IF (p_bchv_tbl.COUNT > 0) THEN
1410 i := p_bchv_tbl.FIRST;
1411 LOOP
1412 validate_row (
1413 p_api_version => p_api_version,
1414 p_init_msg_list => Okc_Api.G_FALSE,
1415 x_return_status => x_return_status,
1416 x_msg_count => x_msg_count,
1417 x_msg_data => x_msg_data,
1418 p_bchv_rec => p_bchv_tbl(i));
1419 -- Begin Post-Generation Change
1420 -- store the highest degree of error
1421 IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
1422 IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
1423 l_overall_status := x_return_status;
1424 END IF;
1425 END IF;
1426 -- End Post-Generation Change
1427 EXIT WHEN (i = p_bchv_tbl.LAST);
1428 i := p_bchv_tbl.NEXT(i);
1429 END LOOP;
1430 -- Begin Post-Generation Change
1431 -- return overall status
1432 x_return_status := l_overall_status;
1433 -- End Post-Generation Change
1434 END IF;
1435 EXCEPTION
1436 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1437 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1438 (
1439 l_api_name,
1440 G_PKG_NAME,
1441 'OKL_API.G_RET_STS_ERROR',
1442 x_msg_count,
1443 x_msg_data,
1444 '_PVT'
1445 );
1446 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1447 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1448 (
1449 l_api_name,
1450 G_PKG_NAME,
1451 'OKL_API.G_RET_STS_UNEXP_ERROR',
1452 x_msg_count,
1453 x_msg_data,
1454 '_PVT'
1455 );
1456 WHEN OTHERS THEN
1457 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1458 (
1459 l_api_name,
1460 G_PKG_NAME,
1461 'OTHERS',
1462 x_msg_count,
1463 x_msg_data,
1464 '_PVT'
1465 );
1466 END validate_row;
1467
1468 ---------------------------------------------------------------------------
1469 -- PROCEDURE insert_row
1470 ---------------------------------------------------------------------------
1471 ------------------------------------------
1472 -- insert_row for:OKL_BILLING_CHARGES_B --
1473 ------------------------------------------
1474 PROCEDURE insert_row(
1475 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1476 x_return_status OUT NOCOPY VARCHAR2,
1477 x_msg_count OUT NOCOPY NUMBER,
1478 x_msg_data OUT NOCOPY VARCHAR2,
1479 p_bch_rec IN bch_rec_type,
1480 x_bch_rec OUT NOCOPY bch_rec_type) IS
1481
1482 l_api_version CONSTANT NUMBER := 1;
1483 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1484 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1485 l_bch_rec bch_rec_type := p_bch_rec;
1486 l_def_bch_rec bch_rec_type;
1487 ----------------------------------------------
1488 -- Set_Attributes for:OKL_BILLING_CHARGES_B --
1489 ----------------------------------------------
1490 FUNCTION Set_Attributes (
1491 p_bch_rec IN bch_rec_type,
1492 x_bch_rec OUT NOCOPY bch_rec_type
1493 ) RETURN VARCHAR2 IS
1494 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1498 END Set_Attributes;
1495 BEGIN
1496 x_bch_rec := p_bch_rec;
1497 RETURN(l_return_status);
1499 BEGIN
1500 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1501 p_init_msg_list,
1502 '_PVT',
1503 x_return_status);
1504 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1505 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1506 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1507 RAISE Okl_Api.G_EXCEPTION_ERROR;
1508 END IF;
1509 --- Setting item attributes
1510 l_return_status := Set_Attributes(
1511 p_bch_rec, -- IN
1512 l_bch_rec); -- OUT
1513 --- If any errors happen abort API
1514 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1515 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1516 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1517 RAISE Okl_Api.G_EXCEPTION_ERROR;
1518 END IF;
1519 INSERT INTO OKL_BILLING_CHARGES_B(
1520 id,
1521 sequence_number,
1522 bgh_id,
1523 object_version_number,
1524 contract_id,
1525 asset_id,
1526 charge_date,
1527 amount,
1528 currency_code,
1529 customer_id,
1530 customer_ref,
1531 customer_address_id,
1532 customer_address_ref,
1533 request_id,
1534 program_application_id,
1535 program_id,
1536 program_update_date,
1537 org_id,
1538 sty_id,
1539 sty_name,
1540 attribute_category,
1541 attribute1,
1542 attribute2,
1543 attribute3,
1544 attribute4,
1545 attribute5,
1546 attribute6,
1547 attribute7,
1548 attribute8,
1549 attribute9,
1550 attribute10,
1551 attribute11,
1552 attribute12,
1553 attribute13,
1554 attribute14,
1555 attribute15,
1556 interface_attribute1,
1557 interface_attribute2,
1558 interface_attribute3,
1559 interface_attribute4,
1560 interface_attribute5,
1561 interface_attribute6,
1562 interface_attribute7,
1563 interface_attribute8,
1564 interface_attribute9,
1565 interface_attribute10,
1566 interface_attribute11,
1567 interface_attribute12,
1568 interface_attribute13,
1569 interface_attribute14,
1570 interface_attribute15,
1571 created_by,
1572 creation_date,
1573 last_updated_by,
1574 last_update_date,
1575 last_update_login)
1576 VALUES (
1577 l_bch_rec.id,
1578 l_bch_rec.sequence_number,
1579 l_bch_rec.bgh_id,
1580 l_bch_rec.object_version_number,
1581 l_bch_rec.contract_id,
1582 l_bch_rec.asset_id,
1583 l_bch_rec.charge_date,
1584 l_bch_rec.amount,
1585 l_bch_rec.currency_code,
1586 l_bch_rec.customer_id,
1587 l_bch_rec.customer_ref,
1588 l_bch_rec.customer_address_id,
1589 l_bch_rec.customer_address_ref,
1590 l_bch_rec.request_id,
1591 l_bch_rec.program_application_id,
1592 l_bch_rec.program_id,
1593 l_bch_rec.program_update_date,
1594 l_bch_rec.org_id,
1595 l_bch_rec.sty_id,
1596 l_bch_rec.sty_name,
1597 l_bch_rec.attribute_category,
1598 l_bch_rec.attribute1,
1599 l_bch_rec.attribute2,
1600 l_bch_rec.attribute3,
1601 l_bch_rec.attribute4,
1602 l_bch_rec.attribute5,
1603 l_bch_rec.attribute6,
1604 l_bch_rec.attribute7,
1605 l_bch_rec.attribute8,
1606 l_bch_rec.attribute9,
1607 l_bch_rec.attribute10,
1608 l_bch_rec.attribute11,
1609 l_bch_rec.attribute12,
1610 l_bch_rec.attribute13,
1611 l_bch_rec.attribute14,
1612 l_bch_rec.attribute15,
1613 l_bch_rec.interface_attribute1,
1614 l_bch_rec.interface_attribute2,
1615 l_bch_rec.interface_attribute3,
1616 l_bch_rec.interface_attribute4,
1617 l_bch_rec.interface_attribute5,
1618 l_bch_rec.interface_attribute6,
1619 l_bch_rec.interface_attribute7,
1620 l_bch_rec.interface_attribute8,
1621 l_bch_rec.interface_attribute9,
1622 l_bch_rec.interface_attribute10,
1623 l_bch_rec.interface_attribute11,
1624 l_bch_rec.interface_attribute12,
1625 l_bch_rec.interface_attribute13,
1626 l_bch_rec.interface_attribute14,
1627 l_bch_rec.interface_attribute15,
1628 l_bch_rec.created_by,
1629 l_bch_rec.creation_date,
1630 l_bch_rec.last_updated_by,
1631 l_bch_rec.last_update_date,
1632 l_bch_rec.last_update_login);
1633 -- Set OUT values
1634 x_bch_rec := l_bch_rec;
1635 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1636 EXCEPTION
1637 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1638 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1639 (
1643 x_msg_count,
1640 l_api_name,
1641 G_PKG_NAME,
1642 'OKL_API.G_RET_STS_ERROR',
1644 x_msg_data,
1645 '_PVT'
1646 );
1647 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1648 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1649 (
1650 l_api_name,
1651 G_PKG_NAME,
1652 'OKL_API.G_RET_STS_UNEXP_ERROR',
1653 x_msg_count,
1654 x_msg_data,
1655 '_PVT'
1656 );
1657 WHEN OTHERS THEN
1658 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1659 (
1660 l_api_name,
1661 G_PKG_NAME,
1662 'OTHERS',
1663 x_msg_count,
1664 x_msg_data,
1665 '_PVT'
1666 );
1667 END insert_row;
1668 -------------------------------------------
1669 -- insert_row for:OKL_BILLING_CHARGES_TL --
1670 -------------------------------------------
1671 PROCEDURE insert_row(
1672 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1673 x_return_status OUT NOCOPY VARCHAR2,
1674 x_msg_count OUT NOCOPY NUMBER,
1675 x_msg_data OUT NOCOPY VARCHAR2,
1676 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
1677 x_okl_billing_charges_tl_rec OUT NOCOPY OklBillingChargesTlRecType) IS
1678
1679 l_api_version CONSTANT NUMBER := 1;
1680 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
1681 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1682 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType := p_okl_billing_charges_tl_rec;
1683 ldefoklbillingchargestlrec OklBillingChargesTlRecType;
1684 CURSOR get_languages IS
1685 SELECT *
1686 FROM FND_LANGUAGES
1687 WHERE INSTALLED_FLAG IN ('I', 'B');
1688 -----------------------------------------------
1689 -- Set_Attributes for:OKL_BILLING_CHARGES_TL --
1690 -----------------------------------------------
1691 FUNCTION Set_Attributes (
1692 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
1693 x_okl_billing_charges_tl_rec OUT NOCOPY OklBillingChargesTlRecType
1694 ) RETURN VARCHAR2 IS
1695 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1696 BEGIN
1697 x_okl_billing_charges_tl_rec := p_okl_billing_charges_tl_rec;
1698 x_okl_billing_charges_tl_rec.LANGUAGE := USERENV('LANG');
1699 x_okl_billing_charges_tl_rec.SOURCE_LANG := USERENV('LANG');
1700 RETURN(l_return_status);
1701 END Set_Attributes;
1702 BEGIN
1703 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1704 p_init_msg_list,
1705 '_PVT',
1706 x_return_status);
1707 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1708 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1709 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1710 RAISE Okl_Api.G_EXCEPTION_ERROR;
1711 END IF;
1712 --- Setting item attributes
1713 l_return_status := Set_Attributes(
1714 p_okl_billing_charges_tl_rec, -- IN
1715 l_okl_billing_charges_tl_rec); -- OUT
1716 --- If any errors happen abort API
1717 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1718 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1719 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1720 RAISE Okl_Api.G_EXCEPTION_ERROR;
1721 END IF;
1722 FOR l_lang_rec IN get_languages LOOP
1723 l_okl_billing_charges_tl_rec.LANGUAGE := l_lang_rec.language_code;
1724 INSERT INTO OKL_BILLING_CHARGES_TL(
1725 id,
1726 LANGUAGE,
1727 source_lang,
1728 sfwt_flag,
1729 charge_type,
1730 description,
1731 created_by,
1732 creation_date,
1733 last_updated_by,
1734 last_update_date,
1735 last_update_login)
1736 VALUES (
1737 l_okl_billing_charges_tl_rec.id,
1738 l_okl_billing_charges_tl_rec.LANGUAGE,
1739 l_okl_billing_charges_tl_rec.source_lang,
1740 l_okl_billing_charges_tl_rec.sfwt_flag,
1741 l_okl_billing_charges_tl_rec.charge_type,
1742 l_okl_billing_charges_tl_rec.description,
1743 l_okl_billing_charges_tl_rec.created_by,
1744 l_okl_billing_charges_tl_rec.creation_date,
1745 l_okl_billing_charges_tl_rec.last_updated_by,
1746 l_okl_billing_charges_tl_rec.last_update_date,
1747 l_okl_billing_charges_tl_rec.last_update_login);
1748 END LOOP;
1749 -- Set OUT values
1750 x_okl_billing_charges_tl_rec := l_okl_billing_charges_tl_rec;
1751 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1752 EXCEPTION
1753 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1754 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1755 (
1756 l_api_name,
1757 G_PKG_NAME,
1758 'OKL_API.G_RET_STS_ERROR',
1759 x_msg_count,
1760 x_msg_data,
1761 '_PVT'
1762 );
1763 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1764 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1765 (
1766 l_api_name,
1770 x_msg_data,
1767 G_PKG_NAME,
1768 'OKL_API.G_RET_STS_UNEXP_ERROR',
1769 x_msg_count,
1771 '_PVT'
1772 );
1773 WHEN OTHERS THEN
1774 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1775 (
1776 l_api_name,
1777 G_PKG_NAME,
1778 'OTHERS',
1779 x_msg_count,
1780 x_msg_data,
1781 '_PVT'
1782 );
1783 END insert_row;
1784 ------------------------------------------
1785 -- insert_row for:OKL_BILLING_CHARGES_V --
1786 ------------------------------------------
1787 PROCEDURE insert_row(
1788 p_api_version IN NUMBER,
1789 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1790 x_return_status OUT NOCOPY VARCHAR2,
1791 x_msg_count OUT NOCOPY NUMBER,
1792 x_msg_data OUT NOCOPY VARCHAR2,
1793 p_bchv_rec IN bchv_rec_type,
1794 x_bchv_rec OUT NOCOPY bchv_rec_type) IS
1795
1796 l_api_version CONSTANT NUMBER := 1;
1797 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1798 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1799 l_bchv_rec bchv_rec_type;
1800 l_def_bchv_rec bchv_rec_type;
1801 l_bch_rec bch_rec_type;
1802 lx_bch_rec bch_rec_type;
1803 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
1804 lx_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
1805 -------------------------------
1806 -- FUNCTION fill_who_columns --
1807 -------------------------------
1808 FUNCTION fill_who_columns (
1809 p_bchv_rec IN bchv_rec_type
1810 ) RETURN bchv_rec_type IS
1811 l_bchv_rec bchv_rec_type := p_bchv_rec;
1812 BEGIN
1813 l_bchv_rec.CREATION_DATE := SYSDATE;
1814 l_bchv_rec.CREATED_BY := Fnd_Global.USER_ID;
1815 l_bchv_rec.LAST_UPDATE_DATE := l_bchv_rec.CREATION_DATE;
1816 l_bchv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
1817 l_bchv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1818 RETURN(l_bchv_rec);
1819 END fill_who_columns;
1820 ----------------------------------------------
1821 -- Set_Attributes for:OKL_BILLING_CHARGES_V --
1822 ----------------------------------------------
1823 FUNCTION Set_Attributes (
1824 p_bchv_rec IN bchv_rec_type,
1825 x_bchv_rec OUT NOCOPY bchv_rec_type
1826 ) RETURN VARCHAR2 IS
1827 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1828 BEGIN
1829 x_bchv_rec := p_bchv_rec;
1830 x_bchv_rec.OBJECT_VERSION_NUMBER := 1;
1831 x_bchv_rec.SFWT_FLAG := 'N';
1832 -- Begin Post-Generation Change
1833 SELECT
1834 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
1835 DECODE(Fnd_Global.PROG_APPL_ID, -1,NULL,Fnd_Global.PROG_APPL_ID),
1836 DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
1837 DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE)
1838 INTO
1839 x_bchv_rec.request_id,
1840 x_bchv_rec.program_application_id,
1841 x_bchv_rec.program_id,
1842 x_bchv_rec.program_update_date
1843 FROM dual;
1844 -- End Post-Generation Change
1845 RETURN(l_return_status);
1846 END Set_Attributes;
1847 BEGIN
1848 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1849 G_PKG_NAME,
1850 p_init_msg_list,
1851 l_api_version,
1852 p_api_version,
1853 '_PVT',
1854 x_return_status);
1855 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1856 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1857 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1858 RAISE Okl_Api.G_EXCEPTION_ERROR;
1859 END IF;
1860 l_bchv_rec := null_out_defaults(p_bchv_rec);
1861 -- Set primary key value
1862 l_bchv_rec.ID := get_seq_id;
1863 --- Setting item attributes
1864 l_return_status := Set_Attributes(
1865 l_bchv_rec, -- IN
1866 l_def_bchv_rec); -- OUT
1867 --- If any errors happen abort API
1868 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1869 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1870 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1871 RAISE Okl_Api.G_EXCEPTION_ERROR;
1872 END IF;
1873 l_def_bchv_rec := fill_who_columns(l_def_bchv_rec);
1874 --- Validate all non-missing attributes (Item Level Validation)
1875 l_return_status := Validate_Attributes(l_def_bchv_rec);
1876 --- If any errors happen abort API
1877 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1878 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1879 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1880 RAISE Okl_Api.G_EXCEPTION_ERROR;
1881 END IF;
1882 l_return_status := Validate_Record(l_def_bchv_rec);
1883 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1887 END IF;
1884 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1885 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1886 RAISE Okl_Api.G_EXCEPTION_ERROR;
1888 --------------------------------------
1889 -- Move VIEW record to "Child" records
1890 --------------------------------------
1891 migrate(l_def_bchv_rec, l_bch_rec);
1892 migrate(l_def_bchv_rec, l_okl_billing_charges_tl_rec);
1893 --------------------------------------------
1894 -- Call the INSERT_ROW for each child record
1895 --------------------------------------------
1896 insert_row(
1897 p_init_msg_list,
1898 x_return_status,
1899 x_msg_count,
1900 x_msg_data,
1901 l_bch_rec,
1902 lx_bch_rec
1903 );
1904 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1905 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1906 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1907 RAISE Okl_Api.G_EXCEPTION_ERROR;
1908 END IF;
1909 migrate(lx_bch_rec, l_def_bchv_rec);
1910 insert_row(
1911 p_init_msg_list,
1912 x_return_status,
1913 x_msg_count,
1914 x_msg_data,
1915 l_okl_billing_charges_tl_rec,
1916 lx_okl_billing_charges_tl_rec
1917 );
1918 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1919 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1920 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1921 RAISE Okl_Api.G_EXCEPTION_ERROR;
1922 END IF;
1923 migrate(lx_okl_billing_charges_tl_rec, l_def_bchv_rec);
1924 -- Set OUT values
1925 x_bchv_rec := l_def_bchv_rec;
1926 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1927 EXCEPTION
1928 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1929 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1930 (
1931 l_api_name,
1932 G_PKG_NAME,
1933 'OKL_API.G_RET_STS_ERROR',
1934 x_msg_count,
1935 x_msg_data,
1936 '_PVT'
1937 );
1938 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1939 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1940 (
1941 l_api_name,
1942 G_PKG_NAME,
1943 'OKL_API.G_RET_STS_UNEXP_ERROR',
1944 x_msg_count,
1945 x_msg_data,
1946 '_PVT'
1947 );
1948 WHEN OTHERS THEN
1949 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1950 (
1951 l_api_name,
1952 G_PKG_NAME,
1953 'OTHERS',
1954 x_msg_count,
1955 x_msg_data,
1956 '_PVT'
1957 );
1958 END insert_row;
1959 ----------------------------------------
1960 -- PL/SQL TBL insert_row for:BCHV_TBL --
1961 ----------------------------------------
1962 PROCEDURE insert_row(
1963 p_api_version IN NUMBER,
1964 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
1965 x_return_status OUT NOCOPY VARCHAR2,
1966 x_msg_count OUT NOCOPY NUMBER,
1967 x_msg_data OUT NOCOPY VARCHAR2,
1968 p_bchv_tbl IN bchv_tbl_type,
1969 x_bchv_tbl OUT NOCOPY bchv_tbl_type) IS
1970
1971 l_api_version CONSTANT NUMBER := 1;
1972 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1973 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1974 i NUMBER := 0;
1975 -- Begin Post-Generation Change
1976 -- overall error status
1977 l_overall_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1978 -- End Post-Generation Change
1979
1980 BEGIN
1981 Okl_Api.init_msg_list(p_init_msg_list);
1982 -- Make sure PL/SQL table has records in it before passing
1983 IF (p_bchv_tbl.COUNT > 0) THEN
1984 i := p_bchv_tbl.FIRST;
1985 LOOP
1986 insert_row (
1987 p_api_version => p_api_version,
1988 p_init_msg_list => Okc_Api.G_FALSE,
1989 x_return_status => x_return_status,
1990 x_msg_count => x_msg_count,
1991 x_msg_data => x_msg_data,
1992 p_bchv_rec => p_bchv_tbl(i),
1993 x_bchv_rec => x_bchv_tbl(i));
1994 -- Begin Post-Generation Change
1995 -- store the highest degree of error
1996 IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
1997 IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
1998 l_overall_status := x_return_status;
1999 END IF;
2000 END IF;
2001 -- End Post-Generation Change
2002 EXIT WHEN (i = p_bchv_tbl.LAST);
2003 i := p_bchv_tbl.NEXT(i);
2004 END LOOP;
2005 -- Begin Post-Generation Change
2006 -- return overall status
2007 x_return_status := l_overall_status;
2008 -- End Post-Generation Change
2009 END IF;
2010 EXCEPTION
2011 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2012 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2013 (
2014 l_api_name,
2015 G_PKG_NAME,
2016 'OKL_API.G_RET_STS_ERROR',
2017 x_msg_count,
2018 x_msg_data,
2022 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2019 '_PVT'
2020 );
2021 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2023 (
2024 l_api_name,
2025 G_PKG_NAME,
2026 'OKL_API.G_RET_STS_UNEXP_ERROR',
2027 x_msg_count,
2028 x_msg_data,
2029 '_PVT'
2030 );
2031 WHEN OTHERS THEN
2032 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2033 (
2034 l_api_name,
2035 G_PKG_NAME,
2036 'OTHERS',
2037 x_msg_count,
2038 x_msg_data,
2039 '_PVT'
2040 );
2041 END insert_row;
2042
2043 ---------------------------------------------------------------------------
2044 -- PROCEDURE lock_row
2045 ---------------------------------------------------------------------------
2046 ----------------------------------------
2047 -- lock_row for:OKL_BILLING_CHARGES_B --
2048 ----------------------------------------
2049 PROCEDURE lock_row(
2050 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2051 x_return_status OUT NOCOPY VARCHAR2,
2052 x_msg_count OUT NOCOPY NUMBER,
2053 x_msg_data OUT NOCOPY VARCHAR2,
2054 p_bch_rec IN bch_rec_type) IS
2055
2056 E_Resource_Busy EXCEPTION;
2057 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2058 CURSOR lock_csr (p_bch_rec IN bch_rec_type) IS
2059 SELECT OBJECT_VERSION_NUMBER
2060 FROM OKL_BILLING_CHARGES_B
2061 WHERE ID = p_bch_rec.id
2062 AND OBJECT_VERSION_NUMBER = p_bch_rec.object_version_number
2063 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2064
2065 CURSOR lchk_csr (p_bch_rec IN bch_rec_type) IS
2066 SELECT OBJECT_VERSION_NUMBER
2067 FROM OKL_BILLING_CHARGES_B
2068 WHERE ID = p_bch_rec.id;
2069 l_api_version CONSTANT NUMBER := 1;
2070 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
2071 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2072 l_object_version_number OKL_BILLING_CHARGES_B.OBJECT_VERSION_NUMBER%TYPE;
2073 lc_object_version_number OKL_BILLING_CHARGES_B.OBJECT_VERSION_NUMBER%TYPE;
2074 l_row_notfound BOOLEAN := FALSE;
2075 lc_row_notfound BOOLEAN := FALSE;
2076 BEGIN
2077 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2078 p_init_msg_list,
2079 '_PVT',
2080 x_return_status);
2081 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2082 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2083 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2084 RAISE Okl_Api.G_EXCEPTION_ERROR;
2085 END IF;
2086 BEGIN
2087 OPEN lock_csr(p_bch_rec);
2088 FETCH lock_csr INTO l_object_version_number;
2089 l_row_notfound := lock_csr%NOTFOUND;
2090 CLOSE lock_csr;
2091 EXCEPTION
2092 WHEN E_Resource_Busy THEN
2093 IF (lock_csr%ISOPEN) THEN
2094 CLOSE lock_csr;
2095 END IF;
2096 Okl_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2097 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
2098 END;
2099
2100 IF ( l_row_notfound ) THEN
2101 OPEN lchk_csr(p_bch_rec);
2102 FETCH lchk_csr INTO lc_object_version_number;
2103 lc_row_notfound := lchk_csr%NOTFOUND;
2104 CLOSE lchk_csr;
2105 END IF;
2106 IF (lc_row_notfound) THEN
2107 Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2108 RAISE Okl_Api.G_EXCEPTION_ERROR;
2109 ELSIF lc_object_version_number > p_bch_rec.object_version_number THEN
2110 Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2111 RAISE Okl_Api.G_EXCEPTION_ERROR;
2112 ELSIF lc_object_version_number <> p_bch_rec.object_version_number THEN
2113 Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2114 RAISE Okl_Api.G_EXCEPTION_ERROR;
2115 ELSIF lc_object_version_number = -1 THEN
2116 Okl_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2117 RAISE Okl_Api.G_EXCEPTION_ERROR;
2118 END IF;
2119 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2120 EXCEPTION
2121 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2122 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2123 (
2124 l_api_name,
2125 G_PKG_NAME,
2126 'OKL_API.G_RET_STS_ERROR',
2127 x_msg_count,
2128 x_msg_data,
2129 '_PVT'
2130 );
2131 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2132 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2133 (
2134 l_api_name,
2135 G_PKG_NAME,
2136 'OKL_API.G_RET_STS_UNEXP_ERROR',
2137 x_msg_count,
2138 x_msg_data,
2139 '_PVT'
2140 );
2141 WHEN OTHERS THEN
2142 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2143 (
2144 l_api_name,
2145 G_PKG_NAME,
2146 'OTHERS',
2147 x_msg_count,
2148 x_msg_data,
2149 '_PVT'
2150 );
2151 END lock_row;
2152 -----------------------------------------
2153 -- lock_row for:OKL_BILLING_CHARGES_TL --
2154 -----------------------------------------
2158 x_msg_count OUT NOCOPY NUMBER,
2155 PROCEDURE lock_row(
2156 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2157 x_return_status OUT NOCOPY VARCHAR2,
2159 x_msg_data OUT NOCOPY VARCHAR2,
2160 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType) IS
2161
2162 E_Resource_Busy EXCEPTION;
2163 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2164 CURSOR lock_csr (p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType) IS
2165 SELECT *
2166 FROM OKL_BILLING_CHARGES_TL
2167 WHERE ID = p_okl_billing_charges_tl_rec.id
2168 FOR UPDATE NOWAIT;
2169
2170 l_api_version CONSTANT NUMBER := 1;
2171 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
2172 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2173 l_lock_var lock_csr%ROWTYPE;
2174 l_row_notfound BOOLEAN := FALSE;
2175 lc_row_notfound BOOLEAN := FALSE;
2176 BEGIN
2177 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2178 p_init_msg_list,
2179 '_PVT',
2180 x_return_status);
2181 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2182 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2183 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2184 RAISE Okl_Api.G_EXCEPTION_ERROR;
2185 END IF;
2186 BEGIN
2187 OPEN lock_csr(p_okl_billing_charges_tl_rec);
2188 FETCH lock_csr INTO l_lock_var;
2189 l_row_notfound := lock_csr%NOTFOUND;
2190 CLOSE lock_csr;
2191 EXCEPTION
2192 WHEN E_Resource_Busy THEN
2193 IF (lock_csr%ISOPEN) THEN
2194 CLOSE lock_csr;
2195 END IF;
2196 Okl_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2197 RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
2198 END;
2199
2200 IF ( l_row_notfound ) THEN
2201 Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2202 RAISE Okl_Api.G_EXCEPTION_ERROR;
2203 END IF;
2204 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2205 EXCEPTION
2206 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2207 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2208 (
2209 l_api_name,
2210 G_PKG_NAME,
2211 'OKL_API.G_RET_STS_ERROR',
2212 x_msg_count,
2213 x_msg_data,
2214 '_PVT'
2215 );
2216 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2217 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2218 (
2219 l_api_name,
2220 G_PKG_NAME,
2221 'OKL_API.G_RET_STS_UNEXP_ERROR',
2222 x_msg_count,
2223 x_msg_data,
2224 '_PVT'
2225 );
2226 WHEN OTHERS THEN
2227 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2228 (
2229 l_api_name,
2230 G_PKG_NAME,
2231 'OTHERS',
2232 x_msg_count,
2233 x_msg_data,
2234 '_PVT'
2235 );
2236 END lock_row;
2237 ----------------------------------------
2238 -- lock_row for:OKL_BILLING_CHARGES_V --
2239 ----------------------------------------
2240 PROCEDURE lock_row(
2241 p_api_version IN NUMBER,
2242 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2243 x_return_status OUT NOCOPY VARCHAR2,
2244 x_msg_count OUT NOCOPY NUMBER,
2245 x_msg_data OUT NOCOPY VARCHAR2,
2246 p_bchv_rec IN bchv_rec_type) IS
2247
2248 l_api_version CONSTANT NUMBER := 1;
2249 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2250 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2251 l_bch_rec bch_rec_type;
2252 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
2253 BEGIN
2254 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2255 G_PKG_NAME,
2256 p_init_msg_list,
2257 l_api_version,
2258 p_api_version,
2259 '_PVT',
2260 x_return_status);
2261 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2262 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2263 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2264 RAISE Okl_Api.G_EXCEPTION_ERROR;
2265 END IF;
2266 --------------------------------------
2267 -- Move VIEW record to "Child" records
2268 --------------------------------------
2269 migrate(p_bchv_rec, l_bch_rec);
2270 migrate(p_bchv_rec, l_okl_billing_charges_tl_rec);
2271 --------------------------------------------
2272 -- Call the LOCK_ROW for each child record
2273 --------------------------------------------
2274 lock_row(
2275 p_init_msg_list,
2276 x_return_status,
2277 x_msg_count,
2278 x_msg_data,
2279 l_bch_rec
2280 );
2281 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2285 END IF;
2282 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2283 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2284 RAISE Okl_Api.G_EXCEPTION_ERROR;
2286 lock_row(
2287 p_init_msg_list,
2288 x_return_status,
2289 x_msg_count,
2290 x_msg_data,
2291 l_okl_billing_charges_tl_rec
2292 );
2293 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2294 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2295 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2296 RAISE Okl_Api.G_EXCEPTION_ERROR;
2297 END IF;
2298 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2299 EXCEPTION
2300 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2301 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2302 (
2303 l_api_name,
2304 G_PKG_NAME,
2305 'OKL_API.G_RET_STS_ERROR',
2306 x_msg_count,
2307 x_msg_data,
2308 '_PVT'
2309 );
2310 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2311 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2312 (
2313 l_api_name,
2314 G_PKG_NAME,
2315 'OKL_API.G_RET_STS_UNEXP_ERROR',
2316 x_msg_count,
2317 x_msg_data,
2318 '_PVT'
2319 );
2320 WHEN OTHERS THEN
2321 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2322 (
2323 l_api_name,
2324 G_PKG_NAME,
2325 'OTHERS',
2326 x_msg_count,
2327 x_msg_data,
2328 '_PVT'
2329 );
2330 END lock_row;
2331 --------------------------------------
2332 -- PL/SQL TBL lock_row for:BCHV_TBL --
2333 --------------------------------------
2334 PROCEDURE lock_row(
2335 p_api_version IN NUMBER,
2336 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2337 x_return_status OUT NOCOPY VARCHAR2,
2338 x_msg_count OUT NOCOPY NUMBER,
2339 x_msg_data OUT NOCOPY VARCHAR2,
2340 p_bchv_tbl IN bchv_tbl_type) IS
2341
2342 l_api_version CONSTANT NUMBER := 1;
2343 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2344 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2345 i NUMBER := 0;
2346 -- Begin Post-Generation Change
2347 -- overall error status
2348 l_overall_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2349 -- End Post-Generation Change
2350
2351 BEGIN
2352 Okl_Api.init_msg_list(p_init_msg_list);
2353 -- Make sure PL/SQL table has records in it before passing
2354 IF (p_bchv_tbl.COUNT > 0) THEN
2355 i := p_bchv_tbl.FIRST;
2356 LOOP
2357 lock_row (
2358 p_api_version => p_api_version,
2359 p_init_msg_list => Okc_Api.G_FALSE,
2360 x_return_status => x_return_status,
2361 x_msg_count => x_msg_count,
2362 x_msg_data => x_msg_data,
2363 p_bchv_rec => p_bchv_tbl(i));
2364 -- Begin Post-Generation Change
2365 -- store the highest degree of error
2366 IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
2367 IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
2368 l_overall_status := x_return_status;
2369 END IF;
2370 END IF;
2371 -- End Post-Generation Change
2372 EXIT WHEN (i = p_bchv_tbl.LAST);
2373 i := p_bchv_tbl.NEXT(i);
2374 END LOOP;
2375 -- Begin Post-Generation Change
2376 -- return overall status
2377 x_return_status := l_overall_status;
2378 -- End Post-Generation Change
2379 END IF;
2380 EXCEPTION
2381 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2382 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2383 (
2384 l_api_name,
2385 G_PKG_NAME,
2386 'OKL_API.G_RET_STS_ERROR',
2387 x_msg_count,
2388 x_msg_data,
2389 '_PVT'
2390 );
2391 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2392 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2393 (
2394 l_api_name,
2395 G_PKG_NAME,
2396 'OKL_API.G_RET_STS_UNEXP_ERROR',
2397 x_msg_count,
2398 x_msg_data,
2399 '_PVT'
2400 );
2401 WHEN OTHERS THEN
2402 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2403 (
2404 l_api_name,
2405 G_PKG_NAME,
2406 'OTHERS',
2407 x_msg_count,
2408 x_msg_data,
2409 '_PVT'
2410 );
2411 END lock_row;
2412
2413 ---------------------------------------------------------------------------
2414 -- PROCEDURE update_row
2415 ---------------------------------------------------------------------------
2416 ------------------------------------------
2417 -- update_row for:OKL_BILLING_CHARGES_B --
2418 ------------------------------------------
2419 PROCEDURE update_row(
2420 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2421 x_return_status OUT NOCOPY VARCHAR2,
2425 x_bch_rec OUT NOCOPY bch_rec_type) IS
2422 x_msg_count OUT NOCOPY NUMBER,
2423 x_msg_data OUT NOCOPY VARCHAR2,
2424 p_bch_rec IN bch_rec_type,
2426
2427 l_api_version CONSTANT NUMBER := 1;
2428 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
2429 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2430 l_bch_rec bch_rec_type := p_bch_rec;
2431 l_def_bch_rec bch_rec_type;
2432 l_row_notfound BOOLEAN := TRUE;
2433 ----------------------------------
2434 -- FUNCTION populate_new_record --
2435 ----------------------------------
2436 FUNCTION populate_new_record (
2437 p_bch_rec IN bch_rec_type,
2438 x_bch_rec OUT NOCOPY bch_rec_type
2439 ) RETURN VARCHAR2 IS
2440 l_bch_rec bch_rec_type;
2441 l_row_notfound BOOLEAN := TRUE;
2442 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2443 BEGIN
2444 x_bch_rec := p_bch_rec;
2445 -- Get current database values
2446 l_bch_rec := get_rec(p_bch_rec, l_row_notfound);
2447 IF (l_row_notfound) THEN
2448 l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
2449 END IF;
2450 IF (x_bch_rec.id = Okl_Api.G_MISS_NUM)
2451 THEN
2452 x_bch_rec.id := l_bch_rec.id;
2453 END IF;
2454 IF (x_bch_rec.sequence_number = Okl_Api.G_MISS_NUM)
2455 THEN
2456 x_bch_rec.sequence_number := l_bch_rec.sequence_number;
2457 END IF;
2458 IF (x_bch_rec.bgh_id = Okl_Api.G_MISS_NUM)
2459 THEN
2460 x_bch_rec.bgh_id := l_bch_rec.bgh_id;
2461 END IF;
2462 IF (x_bch_rec.object_version_number = Okl_Api.G_MISS_NUM)
2463 THEN
2464 x_bch_rec.object_version_number := l_bch_rec.object_version_number;
2465 END IF;
2466 IF (x_bch_rec.contract_id = Okl_Api.G_MISS_NUM)
2467 THEN
2468 x_bch_rec.contract_id := l_bch_rec.contract_id;
2469 END IF;
2470 IF (x_bch_rec.asset_id = Okl_Api.G_MISS_NUM)
2471 THEN
2472 x_bch_rec.asset_id := l_bch_rec.asset_id;
2473 END IF;
2474 IF (x_bch_rec.charge_date = Okl_Api.G_MISS_DATE)
2475 THEN
2476 x_bch_rec.charge_date := l_bch_rec.charge_date;
2477 END IF;
2478 IF (x_bch_rec.amount = Okl_Api.G_MISS_NUM)
2479 THEN
2480 x_bch_rec.amount := l_bch_rec.amount;
2481 END IF;
2482 IF (x_bch_rec.currency_code = Okl_Api.G_MISS_CHAR)
2483 THEN
2484 x_bch_rec.currency_code := l_bch_rec.currency_code;
2485 END IF;
2486 IF (x_bch_rec.customer_id = Okl_Api.G_MISS_NUM)
2487 THEN
2488 x_bch_rec.customer_id := l_bch_rec.customer_id;
2489 END IF;
2490 IF (x_bch_rec.customer_ref = Okl_Api.G_MISS_CHAR)
2491 THEN
2492 x_bch_rec.customer_ref := l_bch_rec.customer_ref;
2493 END IF;
2494 IF (x_bch_rec.customer_address_id = Okl_Api.G_MISS_NUM)
2495 THEN
2496 x_bch_rec.customer_address_id := l_bch_rec.customer_address_id;
2497 END IF;
2498 IF (x_bch_rec.customer_address_ref = Okl_Api.G_MISS_CHAR)
2499 THEN
2500 x_bch_rec.customer_address_ref := l_bch_rec.customer_address_ref;
2501 END IF;
2502 IF (x_bch_rec.request_id = Okl_Api.G_MISS_NUM)
2503 THEN
2504 x_bch_rec.request_id := l_bch_rec.request_id;
2505 END IF;
2506 IF (x_bch_rec.program_application_id = Okl_Api.G_MISS_NUM)
2507 THEN
2508 x_bch_rec.program_application_id := l_bch_rec.program_application_id;
2509 END IF;
2510 IF (x_bch_rec.program_id = Okl_Api.G_MISS_NUM)
2511 THEN
2512 x_bch_rec.program_id := l_bch_rec.program_id;
2513 END IF;
2514 IF (x_bch_rec.program_update_date = Okl_Api.G_MISS_DATE)
2515 THEN
2516 x_bch_rec.program_update_date := l_bch_rec.program_update_date;
2517 END IF;
2518 IF (x_bch_rec.org_id = Okl_Api.G_MISS_NUM)
2519 THEN
2520 x_bch_rec.org_id := l_bch_rec.org_id;
2521 END IF;
2522 IF (x_bch_rec.sty_id = Okl_Api.G_MISS_NUM)
2523 THEN
2524 x_bch_rec.sty_id := l_bch_rec.sty_id;
2525 END IF;
2526 IF (x_bch_rec.sty_name = Okl_Api.G_MISS_CHAR)
2527 THEN
2528 x_bch_rec.sty_name := l_bch_rec.sty_name;
2529 END IF;
2530 IF (x_bch_rec.attribute_category = Okl_Api.G_MISS_CHAR)
2531 THEN
2532 x_bch_rec.attribute_category := l_bch_rec.attribute_category;
2533 END IF;
2534 IF (x_bch_rec.attribute1 = Okl_Api.G_MISS_CHAR)
2535 THEN
2536 x_bch_rec.attribute1 := l_bch_rec.attribute1;
2537 END IF;
2538 IF (x_bch_rec.attribute2 = Okl_Api.G_MISS_CHAR)
2539 THEN
2540 x_bch_rec.attribute2 := l_bch_rec.attribute2;
2541 END IF;
2542 IF (x_bch_rec.attribute3 = Okl_Api.G_MISS_CHAR)
2543 THEN
2544 x_bch_rec.attribute3 := l_bch_rec.attribute3;
2545 END IF;
2546 IF (x_bch_rec.attribute4 = Okl_Api.G_MISS_CHAR)
2547 THEN
2548 x_bch_rec.attribute4 := l_bch_rec.attribute4;
2549 END IF;
2550 IF (x_bch_rec.attribute5 = Okl_Api.G_MISS_CHAR)
2554 IF (x_bch_rec.attribute6 = Okl_Api.G_MISS_CHAR)
2551 THEN
2552 x_bch_rec.attribute5 := l_bch_rec.attribute5;
2553 END IF;
2555 THEN
2556 x_bch_rec.attribute6 := l_bch_rec.attribute6;
2557 END IF;
2558 IF (x_bch_rec.attribute7 = Okl_Api.G_MISS_CHAR)
2559 THEN
2560 x_bch_rec.attribute7 := l_bch_rec.attribute7;
2561 END IF;
2562 IF (x_bch_rec.attribute8 = Okl_Api.G_MISS_CHAR)
2563 THEN
2564 x_bch_rec.attribute8 := l_bch_rec.attribute8;
2565 END IF;
2566 IF (x_bch_rec.attribute9 = Okl_Api.G_MISS_CHAR)
2567 THEN
2568 x_bch_rec.attribute9 := l_bch_rec.attribute9;
2569 END IF;
2570 IF (x_bch_rec.attribute10 = Okl_Api.G_MISS_CHAR)
2571 THEN
2572 x_bch_rec.attribute10 := l_bch_rec.attribute10;
2573 END IF;
2574 IF (x_bch_rec.attribute11 = Okl_Api.G_MISS_CHAR)
2575 THEN
2576 x_bch_rec.attribute11 := l_bch_rec.attribute11;
2577 END IF;
2578 IF (x_bch_rec.attribute12 = Okl_Api.G_MISS_CHAR)
2579 THEN
2580 x_bch_rec.attribute12 := l_bch_rec.attribute12;
2581 END IF;
2582 IF (x_bch_rec.attribute13 = Okl_Api.G_MISS_CHAR)
2583 THEN
2584 x_bch_rec.attribute13 := l_bch_rec.attribute13;
2585 END IF;
2586 IF (x_bch_rec.attribute14 = Okl_Api.G_MISS_CHAR)
2587 THEN
2588 x_bch_rec.attribute14 := l_bch_rec.attribute14;
2589 END IF;
2590 IF (x_bch_rec.attribute15 = Okl_Api.G_MISS_CHAR)
2591 THEN
2592 x_bch_rec.attribute15 := l_bch_rec.attribute15;
2593 END IF;
2594 IF (x_bch_rec.interface_attribute1 = Okl_Api.G_MISS_CHAR)
2595 THEN
2596 x_bch_rec.interface_attribute1 := l_bch_rec.interface_attribute1;
2597 END IF;
2598 IF (x_bch_rec.interface_attribute2 = Okl_Api.G_MISS_CHAR)
2599 THEN
2600 x_bch_rec.interface_attribute2 := l_bch_rec.interface_attribute2;
2601 END IF;
2602 IF (x_bch_rec.interface_attribute3 = Okl_Api.G_MISS_CHAR)
2603 THEN
2604 x_bch_rec.interface_attribute3 := l_bch_rec.interface_attribute3;
2605 END IF;
2606 IF (x_bch_rec.interface_attribute4 = Okl_Api.G_MISS_CHAR)
2607 THEN
2608 x_bch_rec.interface_attribute4 := l_bch_rec.interface_attribute4;
2609 END IF;
2610 IF (x_bch_rec.interface_attribute5 = Okl_Api.G_MISS_CHAR)
2611 THEN
2612 x_bch_rec.interface_attribute5 := l_bch_rec.interface_attribute5;
2613 END IF;
2614 IF (x_bch_rec.interface_attribute6 = Okl_Api.G_MISS_CHAR)
2615 THEN
2616 x_bch_rec.interface_attribute6 := l_bch_rec.interface_attribute6;
2617 END IF;
2618 IF (x_bch_rec.interface_attribute7 = Okl_Api.G_MISS_CHAR)
2619 THEN
2620 x_bch_rec.interface_attribute7 := l_bch_rec.interface_attribute7;
2621 END IF;
2622 IF (x_bch_rec.interface_attribute8 = Okl_Api.G_MISS_CHAR)
2623 THEN
2624 x_bch_rec.interface_attribute8 := l_bch_rec.interface_attribute8;
2625 END IF;
2626 IF (x_bch_rec.interface_attribute9 = Okl_Api.G_MISS_CHAR)
2627 THEN
2628 x_bch_rec.interface_attribute9 := l_bch_rec.interface_attribute9;
2629 END IF;
2630 IF (x_bch_rec.interface_attribute10 = Okl_Api.G_MISS_CHAR)
2631 THEN
2632 x_bch_rec.interface_attribute10 := l_bch_rec.interface_attribute10;
2633 END IF;
2634 IF (x_bch_rec.interface_attribute11 = Okl_Api.G_MISS_CHAR)
2635 THEN
2636 x_bch_rec.interface_attribute11 := l_bch_rec.interface_attribute11;
2637 END IF;
2638 IF (x_bch_rec.interface_attribute12 = Okl_Api.G_MISS_CHAR)
2639 THEN
2640 x_bch_rec.interface_attribute12 := l_bch_rec.interface_attribute12;
2641 END IF;
2642 IF (x_bch_rec.interface_attribute13 = Okl_Api.G_MISS_CHAR)
2643 THEN
2644 x_bch_rec.interface_attribute13 := l_bch_rec.interface_attribute13;
2645 END IF;
2646 IF (x_bch_rec.interface_attribute14 = Okl_Api.G_MISS_CHAR)
2647 THEN
2648 x_bch_rec.interface_attribute14 := l_bch_rec.interface_attribute14;
2649 END IF;
2650 IF (x_bch_rec.interface_attribute15 = Okl_Api.G_MISS_CHAR)
2651 THEN
2652 x_bch_rec.interface_attribute15 := l_bch_rec.interface_attribute15;
2653 END IF;
2654 IF (x_bch_rec.created_by = Okl_Api.G_MISS_NUM)
2655 THEN
2656 x_bch_rec.created_by := l_bch_rec.created_by;
2657 END IF;
2658 IF (x_bch_rec.creation_date = Okl_Api.G_MISS_DATE)
2659 THEN
2660 x_bch_rec.creation_date := l_bch_rec.creation_date;
2661 END IF;
2662 IF (x_bch_rec.last_updated_by = Okl_Api.G_MISS_NUM)
2663 THEN
2664 x_bch_rec.last_updated_by := l_bch_rec.last_updated_by;
2665 END IF;
2666 IF (x_bch_rec.last_update_date = Okl_Api.G_MISS_DATE)
2667 THEN
2668 x_bch_rec.last_update_date := l_bch_rec.last_update_date;
2669 END IF;
2670 IF (x_bch_rec.last_update_login = Okl_Api.G_MISS_NUM)
2671 THEN
2672 x_bch_rec.last_update_login := l_bch_rec.last_update_login;
2673 END IF;
2674 RETURN(l_return_status);
2675 END populate_new_record;
2676 ----------------------------------------------
2677 -- Set_Attributes for:OKL_BILLING_CHARGES_B --
2678 ----------------------------------------------
2679 FUNCTION Set_Attributes (
2683 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2680 p_bch_rec IN bch_rec_type,
2681 x_bch_rec OUT NOCOPY bch_rec_type
2682 ) RETURN VARCHAR2 IS
2684 BEGIN
2685 x_bch_rec := p_bch_rec;
2686 RETURN(l_return_status);
2687 END Set_Attributes;
2688 BEGIN
2689 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2690 p_init_msg_list,
2691 '_PVT',
2692 x_return_status);
2693 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2694 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2695 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2696 RAISE Okl_Api.G_EXCEPTION_ERROR;
2697 END IF;
2698 --- Setting item attributes
2699 l_return_status := Set_Attributes(
2700 p_bch_rec, -- IN
2701 l_bch_rec); -- OUT
2702 --- If any errors happen abort API
2703 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2704 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2705 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2706 RAISE Okl_Api.G_EXCEPTION_ERROR;
2707 END IF;
2708 l_return_status := populate_new_record(l_bch_rec, l_def_bch_rec);
2709 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2710 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2711 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2712 RAISE Okl_Api.G_EXCEPTION_ERROR;
2713 END IF;
2714 UPDATE OKL_BILLING_CHARGES_B
2715 SET SEQUENCE_NUMBER = l_def_bch_rec.sequence_number,
2716 BGH_ID = l_def_bch_rec.bgh_id,
2717 OBJECT_VERSION_NUMBER = l_def_bch_rec.object_version_number,
2718 CONTRACT_ID = l_def_bch_rec.contract_id,
2719 ASSET_ID = l_def_bch_rec.asset_id,
2720 CHARGE_DATE = l_def_bch_rec.charge_date,
2721 AMOUNT = l_def_bch_rec.amount,
2722 CURRENCY_CODE = l_def_bch_rec.currency_code,
2723 CUSTOMER_ID = l_def_bch_rec.customer_id,
2724 CUSTOMER_REF = l_def_bch_rec.customer_ref,
2725 CUSTOMER_ADDRESS_ID = l_def_bch_rec.customer_address_id,
2726 CUSTOMER_ADDRESS_REF = l_def_bch_rec.customer_address_ref,
2727 REQUEST_ID = l_def_bch_rec.request_id,
2728 PROGRAM_APPLICATION_ID = l_def_bch_rec.program_application_id,
2729 PROGRAM_ID = l_def_bch_rec.program_id,
2730 PROGRAM_UPDATE_DATE = l_def_bch_rec.program_update_date,
2731 ORG_ID = l_def_bch_rec.org_id,
2732 STY_ID = l_def_bch_rec.sty_id,
2733 STY_NAME = l_def_bch_rec.sty_name,
2734 ATTRIBUTE_CATEGORY = l_def_bch_rec.attribute_category,
2735 ATTRIBUTE1 = l_def_bch_rec.attribute1,
2736 ATTRIBUTE2 = l_def_bch_rec.attribute2,
2737 ATTRIBUTE3 = l_def_bch_rec.attribute3,
2738 ATTRIBUTE4 = l_def_bch_rec.attribute4,
2739 ATTRIBUTE5 = l_def_bch_rec.attribute5,
2740 ATTRIBUTE6 = l_def_bch_rec.attribute6,
2741 ATTRIBUTE7 = l_def_bch_rec.attribute7,
2742 ATTRIBUTE8 = l_def_bch_rec.attribute8,
2743 ATTRIBUTE9 = l_def_bch_rec.attribute9,
2744 ATTRIBUTE10 = l_def_bch_rec.attribute10,
2745 ATTRIBUTE11 = l_def_bch_rec.attribute11,
2746 ATTRIBUTE12 = l_def_bch_rec.attribute12,
2747 ATTRIBUTE13 = l_def_bch_rec.attribute13,
2748 ATTRIBUTE14 = l_def_bch_rec.attribute14,
2749 ATTRIBUTE15 = l_def_bch_rec.attribute15,
2750 interface_attribute1 = l_def_bch_rec.interface_attribute1,
2751 interface_attribute2 = l_def_bch_rec.interface_attribute2,
2752 interface_attribute3 = l_def_bch_rec.interface_attribute3,
2753 interface_attribute4 = l_def_bch_rec.interface_attribute4,
2754 interface_attribute5 = l_def_bch_rec.interface_attribute5,
2755 interface_attribute6 = l_def_bch_rec.interface_attribute6,
2756 interface_attribute7 = l_def_bch_rec.interface_attribute7,
2757 interface_attribute8 = l_def_bch_rec.interface_attribute8,
2758 interface_attribute9 = l_def_bch_rec.interface_attribute9,
2759 interface_attribute10 = l_def_bch_rec.interface_attribute10,
2760 interface_attribute11 = l_def_bch_rec.interface_attribute11,
2761 interface_attribute12 = l_def_bch_rec.interface_attribute12,
2762 interface_attribute13 = l_def_bch_rec.interface_attribute13,
2763 interface_attribute14 = l_def_bch_rec.interface_attribute14,
2764 interface_attribute15 = l_def_bch_rec.interface_attribute15,
2765 CREATED_BY = l_def_bch_rec.created_by,
2766 CREATION_DATE = l_def_bch_rec.creation_date,
2767 LAST_UPDATED_BY = l_def_bch_rec.last_updated_by,
2768 LAST_UPDATE_DATE = l_def_bch_rec.last_update_date,
2769 LAST_UPDATE_LOGIN = l_def_bch_rec.last_update_login
2770 WHERE ID = l_def_bch_rec.id;
2771
2772 x_bch_rec := l_def_bch_rec;
2773 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2774 EXCEPTION
2775 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2776 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2777 (
2778 l_api_name,
2779 G_PKG_NAME,
2780 'OKL_API.G_RET_STS_ERROR',
2781 x_msg_count,
2782 x_msg_data,
2783 '_PVT'
2784 );
2785 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2786 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2787 (
2788 l_api_name,
2789 G_PKG_NAME,
2793 '_PVT'
2790 'OKL_API.G_RET_STS_UNEXP_ERROR',
2791 x_msg_count,
2792 x_msg_data,
2794 );
2795 WHEN OTHERS THEN
2796 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2797 (
2798 l_api_name,
2799 G_PKG_NAME,
2800 'OTHERS',
2801 x_msg_count,
2802 x_msg_data,
2803 '_PVT'
2804 );
2805 END update_row;
2806 -------------------------------------------
2807 -- update_row for:OKL_BILLING_CHARGES_TL --
2808 -------------------------------------------
2809 PROCEDURE update_row(
2810 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2811 x_return_status OUT NOCOPY VARCHAR2,
2812 x_msg_count OUT NOCOPY NUMBER,
2813 x_msg_data OUT NOCOPY VARCHAR2,
2814 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
2815 x_okl_billing_charges_tl_rec OUT NOCOPY OklBillingChargesTlRecType) IS
2816
2817 l_api_version CONSTANT NUMBER := 1;
2818 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
2819 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2820 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType := p_okl_billing_charges_tl_rec;
2821 ldefoklbillingchargestlrec OklBillingChargesTlRecType;
2822 l_row_notfound BOOLEAN := TRUE;
2823 ----------------------------------
2824 -- FUNCTION populate_new_record --
2825 ----------------------------------
2826 FUNCTION populate_new_record (
2827 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
2828 x_okl_billing_charges_tl_rec OUT NOCOPY OklBillingChargesTlRecType
2829 ) RETURN VARCHAR2 IS
2830 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
2831 l_row_notfound BOOLEAN := TRUE;
2832 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2833 BEGIN
2834 x_okl_billing_charges_tl_rec := p_okl_billing_charges_tl_rec;
2835 -- Get current database values
2836 l_okl_billing_charges_tl_rec := get_rec(p_okl_billing_charges_tl_rec, l_row_notfound);
2837 IF (l_row_notfound) THEN
2838 l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
2839 END IF;
2840 IF (x_okl_billing_charges_tl_rec.id = Okl_Api.G_MISS_NUM)
2841 THEN
2842 x_okl_billing_charges_tl_rec.id := l_okl_billing_charges_tl_rec.id;
2843 END IF;
2844 IF (x_okl_billing_charges_tl_rec.LANGUAGE = Okl_Api.G_MISS_CHAR)
2845 THEN
2846 x_okl_billing_charges_tl_rec.LANGUAGE := l_okl_billing_charges_tl_rec.LANGUAGE;
2847 END IF;
2848 IF (x_okl_billing_charges_tl_rec.source_lang = Okl_Api.G_MISS_CHAR)
2849 THEN
2850 x_okl_billing_charges_tl_rec.source_lang := l_okl_billing_charges_tl_rec.source_lang;
2851 END IF;
2852 IF (x_okl_billing_charges_tl_rec.sfwt_flag = Okl_Api.G_MISS_CHAR)
2853 THEN
2854 x_okl_billing_charges_tl_rec.sfwt_flag := l_okl_billing_charges_tl_rec.sfwt_flag;
2855 END IF;
2856 IF (x_okl_billing_charges_tl_rec.charge_type = Okl_Api.G_MISS_CHAR)
2857 THEN
2858 x_okl_billing_charges_tl_rec.charge_type := l_okl_billing_charges_tl_rec.charge_type;
2859 END IF;
2860 IF (x_okl_billing_charges_tl_rec.description = Okl_Api.G_MISS_CHAR)
2861 THEN
2862 x_okl_billing_charges_tl_rec.description := l_okl_billing_charges_tl_rec.description;
2863 END IF;
2864 IF (x_okl_billing_charges_tl_rec.created_by = Okl_Api.G_MISS_NUM)
2865 THEN
2866 x_okl_billing_charges_tl_rec.created_by := l_okl_billing_charges_tl_rec.created_by;
2867 END IF;
2868 IF (x_okl_billing_charges_tl_rec.creation_date = Okl_Api.G_MISS_DATE)
2869 THEN
2870 x_okl_billing_charges_tl_rec.creation_date := l_okl_billing_charges_tl_rec.creation_date;
2871 END IF;
2872 IF (x_okl_billing_charges_tl_rec.last_updated_by = Okl_Api.G_MISS_NUM)
2873 THEN
2874 x_okl_billing_charges_tl_rec.last_updated_by := l_okl_billing_charges_tl_rec.last_updated_by;
2875 END IF;
2876 IF (x_okl_billing_charges_tl_rec.last_update_date = Okl_Api.G_MISS_DATE)
2877 THEN
2878 x_okl_billing_charges_tl_rec.last_update_date := l_okl_billing_charges_tl_rec.last_update_date;
2879 END IF;
2880 IF (x_okl_billing_charges_tl_rec.last_update_login = Okl_Api.G_MISS_NUM)
2881 THEN
2882 x_okl_billing_charges_tl_rec.last_update_login := l_okl_billing_charges_tl_rec.last_update_login;
2883 END IF;
2884 RETURN(l_return_status);
2885 END populate_new_record;
2886 -----------------------------------------------
2887 -- Set_Attributes for:OKL_BILLING_CHARGES_TL --
2888 -----------------------------------------------
2889 FUNCTION Set_Attributes (
2890 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
2891 x_okl_billing_charges_tl_rec OUT NOCOPY OklBillingChargesTlRecType
2892 ) RETURN VARCHAR2 IS
2893 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2894 BEGIN
2895 x_okl_billing_charges_tl_rec := p_okl_billing_charges_tl_rec;
2896 x_okl_billing_charges_tl_rec.LANGUAGE := USERENV('LANG');
2897 x_okl_billing_charges_tl_rec.SOURCE_LANG := USERENV('LANG');
2898 RETURN(l_return_status);
2899 END Set_Attributes;
2903 '_PVT',
2900 BEGIN
2901 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2902 p_init_msg_list,
2904 x_return_status);
2905 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2906 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2907 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2908 RAISE Okl_Api.G_EXCEPTION_ERROR;
2909 END IF;
2910 --- Setting item attributes
2911 l_return_status := Set_Attributes(
2912 p_okl_billing_charges_tl_rec, -- IN
2913 l_okl_billing_charges_tl_rec); -- OUT
2914 --- If any errors happen abort API
2915 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2916 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2917 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2918 RAISE Okl_Api.G_EXCEPTION_ERROR;
2919 END IF;
2920 l_return_status := populate_new_record(l_okl_billing_charges_tl_rec, ldefoklbillingchargestlrec);
2921 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2922 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2923 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2924 RAISE Okl_Api.G_EXCEPTION_ERROR;
2925 END IF;
2926 UPDATE OKL_BILLING_CHARGES_TL
2927 SET CHARGE_TYPE = ldefoklbillingchargestlrec.charge_type,
2928 DESCRIPTION = ldefoklbillingchargestlrec.description,
2929 CREATED_BY = ldefoklbillingchargestlrec.created_by,
2930 CREATION_DATE = ldefoklbillingchargestlrec.creation_date,
2931 LAST_UPDATED_BY = ldefoklbillingchargestlrec.last_updated_by,
2932 LAST_UPDATE_DATE = ldefoklbillingchargestlrec.last_update_date,
2933 LAST_UPDATE_LOGIN = ldefoklbillingchargestlrec.last_update_login
2934 WHERE ID = ldefoklbillingchargestlrec.id
2935 --AND SOURCE_LANG = USERENV('LANG');
2936 AND USERENV('LANG') in (SOURCE_LANG, LANGUAGE);
2937
2938 UPDATE OKL_BILLING_CHARGES_TL
2939 SET SFWT_FLAG = 'Y'
2940 WHERE ID = ldefoklbillingchargestlrec.id
2941 AND SOURCE_LANG <> USERENV('LANG');
2942
2943 x_okl_billing_charges_tl_rec := ldefoklbillingchargestlrec;
2944 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2945 EXCEPTION
2946 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2947 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2948 (
2949 l_api_name,
2950 G_PKG_NAME,
2951 'OKL_API.G_RET_STS_ERROR',
2952 x_msg_count,
2953 x_msg_data,
2954 '_PVT'
2955 );
2956 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2957 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2958 (
2959 l_api_name,
2960 G_PKG_NAME,
2961 'OKL_API.G_RET_STS_UNEXP_ERROR',
2962 x_msg_count,
2963 x_msg_data,
2964 '_PVT'
2965 );
2966 WHEN OTHERS THEN
2967 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2968 (
2969 l_api_name,
2970 G_PKG_NAME,
2971 'OTHERS',
2972 x_msg_count,
2973 x_msg_data,
2974 '_PVT'
2975 );
2976 END update_row;
2977 ------------------------------------------
2978 -- update_row for:OKL_BILLING_CHARGES_V --
2979 ------------------------------------------
2980 PROCEDURE update_row(
2981 p_api_version IN NUMBER,
2982 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
2983 x_return_status OUT NOCOPY VARCHAR2,
2984 x_msg_count OUT NOCOPY NUMBER,
2985 x_msg_data OUT NOCOPY VARCHAR2,
2986 p_bchv_rec IN bchv_rec_type,
2987 x_bchv_rec OUT NOCOPY bchv_rec_type) IS
2988
2989 l_api_version CONSTANT NUMBER := 1;
2990 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
2991 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2992 l_bchv_rec bchv_rec_type := p_bchv_rec;
2993 l_def_bchv_rec bchv_rec_type;
2994 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
2995 lx_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
2996 l_bch_rec bch_rec_type;
2997 lx_bch_rec bch_rec_type;
2998 -------------------------------
2999 -- FUNCTION fill_who_columns --
3000 -------------------------------
3001 FUNCTION fill_who_columns (
3002 p_bchv_rec IN bchv_rec_type
3003 ) RETURN bchv_rec_type IS
3004 l_bchv_rec bchv_rec_type := p_bchv_rec;
3005 BEGIN
3006 l_bchv_rec.LAST_UPDATE_DATE := SYSDATE;
3007 l_bchv_rec.LAST_UPDATED_BY := Fnd_Global.USER_ID;
3008 l_bchv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
3009 RETURN(l_bchv_rec);
3010 END fill_who_columns;
3011 ----------------------------------
3012 -- FUNCTION populate_new_record --
3013 ----------------------------------
3014 FUNCTION populate_new_record (
3015 p_bchv_rec IN bchv_rec_type,
3016 x_bchv_rec OUT NOCOPY bchv_rec_type
3017 ) RETURN VARCHAR2 IS
3018 l_bchv_rec bchv_rec_type;
3019 l_row_notfound BOOLEAN := TRUE;
3020 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3024 l_bchv_rec := get_rec(p_bchv_rec, l_row_notfound);
3021 BEGIN
3022 x_bchv_rec := p_bchv_rec;
3023 -- Get current database values
3025 IF (l_row_notfound) THEN
3026 l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
3027 END IF;
3028 IF (x_bchv_rec.id = Okl_Api.G_MISS_NUM)
3029 THEN
3030 x_bchv_rec.id := l_bchv_rec.id;
3031 END IF;
3032 IF (x_bchv_rec.object_version_number = Okl_Api.G_MISS_NUM)
3033 THEN
3034 x_bchv_rec.object_version_number := l_bchv_rec.object_version_number;
3035 END IF;
3036 IF (x_bchv_rec.sfwt_flag = Okl_Api.G_MISS_CHAR)
3037 THEN
3038 x_bchv_rec.sfwt_flag := l_bchv_rec.sfwt_flag;
3039 END IF;
3040 IF (x_bchv_rec.bgh_id = Okl_Api.G_MISS_NUM)
3041 THEN
3042 x_bchv_rec.bgh_id := l_bchv_rec.bgh_id;
3043 END IF;
3044 IF (x_bchv_rec.sequence_number = Okl_Api.G_MISS_NUM)
3045 THEN
3046 x_bchv_rec.sequence_number := l_bchv_rec.sequence_number;
3047 END IF;
3048 IF (x_bchv_rec.contract_id = Okl_Api.G_MISS_NUM)
3049 THEN
3050 x_bchv_rec.contract_id := l_bchv_rec.contract_id;
3051 END IF;
3052 IF (x_bchv_rec.asset_id = Okl_Api.G_MISS_NUM)
3053 THEN
3054 x_bchv_rec.asset_id := l_bchv_rec.asset_id;
3055 END IF;
3056 IF (x_bchv_rec.charge_type = Okl_Api.G_MISS_CHAR)
3057 THEN
3058 x_bchv_rec.charge_type := l_bchv_rec.charge_type;
3059 END IF;
3060 IF (x_bchv_rec.charge_date = Okl_Api.G_MISS_DATE)
3061 THEN
3062 x_bchv_rec.charge_date := l_bchv_rec.charge_date;
3063 END IF;
3064 IF (x_bchv_rec.amount = Okl_Api.G_MISS_NUM)
3065 THEN
3066 x_bchv_rec.amount := l_bchv_rec.amount;
3067 END IF;
3068 IF (x_bchv_rec.currency_code = Okl_Api.G_MISS_CHAR)
3069 THEN
3070 x_bchv_rec.currency_code := l_bchv_rec.currency_code;
3071 END IF;
3072 IF (x_bchv_rec.description = Okl_Api.G_MISS_CHAR)
3073 THEN
3074 x_bchv_rec.description := l_bchv_rec.description;
3075 END IF;
3076 IF (x_bchv_rec.customer_id = Okl_Api.G_MISS_NUM)
3077 THEN
3078 x_bchv_rec.customer_id := l_bchv_rec.customer_id;
3079 END IF;
3080 IF (x_bchv_rec.customer_ref = Okl_Api.G_MISS_CHAR)
3081 THEN
3082 x_bchv_rec.customer_ref := l_bchv_rec.customer_ref;
3083 END IF;
3084 IF (x_bchv_rec.customer_address_id = Okl_Api.G_MISS_NUM)
3085 THEN
3086 x_bchv_rec.customer_address_id := l_bchv_rec.customer_address_id;
3087 END IF;
3088 IF (x_bchv_rec.customer_address_ref = Okl_Api.G_MISS_CHAR)
3089 THEN
3090 x_bchv_rec.customer_address_ref := l_bchv_rec.customer_address_ref;
3091 END IF;
3092 IF (x_bchv_rec.sty_id = Okl_Api.G_MISS_NUM)
3093 THEN
3094 x_bchv_rec.sty_id := l_bchv_rec.sty_id;
3095 END IF;
3096 IF (x_bchv_rec.sty_name = Okl_Api.G_MISS_CHAR)
3097 THEN
3098 x_bchv_rec.sty_name := l_bchv_rec.sty_name;
3099 END IF;
3100 IF (x_bchv_rec.attribute_category = Okl_Api.G_MISS_CHAR)
3101 THEN
3102 x_bchv_rec.attribute_category := l_bchv_rec.attribute_category;
3103 END IF;
3104 IF (x_bchv_rec.attribute1 = Okl_Api.G_MISS_CHAR)
3105 THEN
3106 x_bchv_rec.attribute1 := l_bchv_rec.attribute1;
3107 END IF;
3108 IF (x_bchv_rec.attribute2 = Okl_Api.G_MISS_CHAR)
3109 THEN
3110 x_bchv_rec.attribute2 := l_bchv_rec.attribute2;
3111 END IF;
3112 IF (x_bchv_rec.attribute3 = Okl_Api.G_MISS_CHAR)
3113 THEN
3114 x_bchv_rec.attribute3 := l_bchv_rec.attribute3;
3115 END IF;
3116 IF (x_bchv_rec.attribute4 = Okl_Api.G_MISS_CHAR)
3117 THEN
3118 x_bchv_rec.attribute4 := l_bchv_rec.attribute4;
3119 END IF;
3120 IF (x_bchv_rec.attribute5 = Okl_Api.G_MISS_CHAR)
3121 THEN
3122 x_bchv_rec.attribute5 := l_bchv_rec.attribute5;
3123 END IF;
3124 IF (x_bchv_rec.attribute6 = Okl_Api.G_MISS_CHAR)
3125 THEN
3126 x_bchv_rec.attribute6 := l_bchv_rec.attribute6;
3127 END IF;
3128 IF (x_bchv_rec.attribute7 = Okl_Api.G_MISS_CHAR)
3129 THEN
3130 x_bchv_rec.attribute7 := l_bchv_rec.attribute7;
3131 END IF;
3132 IF (x_bchv_rec.attribute8 = Okl_Api.G_MISS_CHAR)
3133 THEN
3134 x_bchv_rec.attribute8 := l_bchv_rec.attribute8;
3135 END IF;
3136 IF (x_bchv_rec.attribute9 = Okl_Api.G_MISS_CHAR)
3137 THEN
3138 x_bchv_rec.attribute9 := l_bchv_rec.attribute9;
3139 END IF;
3140 IF (x_bchv_rec.attribute10 = Okl_Api.G_MISS_CHAR)
3141 THEN
3142 x_bchv_rec.attribute10 := l_bchv_rec.attribute10;
3143 END IF;
3144 IF (x_bchv_rec.attribute11 = Okl_Api.G_MISS_CHAR)
3145 THEN
3146 x_bchv_rec.attribute11 := l_bchv_rec.attribute11;
3147 END IF;
3148 IF (x_bchv_rec.attribute12 = Okl_Api.G_MISS_CHAR)
3149 THEN
3150 x_bchv_rec.attribute12 := l_bchv_rec.attribute12;
3151 END IF;
3152 IF (x_bchv_rec.attribute13 = Okl_Api.G_MISS_CHAR)
3153 THEN
3157 THEN
3154 x_bchv_rec.attribute13 := l_bchv_rec.attribute13;
3155 END IF;
3156 IF (x_bchv_rec.attribute14 = Okl_Api.G_MISS_CHAR)
3158 x_bchv_rec.attribute14 := l_bchv_rec.attribute14;
3159 END IF;
3160 IF (x_bchv_rec.attribute15 = Okl_Api.G_MISS_CHAR)
3161 THEN
3162 x_bchv_rec.attribute15 := l_bchv_rec.attribute15;
3163 END IF;
3164 IF (x_bchv_rec.interface_attribute1 = Okl_Api.G_MISS_CHAR)
3165 THEN
3166 x_bchv_rec.interface_attribute1 := l_bchv_rec.interface_attribute1;
3167 END IF;
3168 IF (x_bchv_rec.interface_attribute2 = Okl_Api.G_MISS_CHAR)
3169 THEN
3170 x_bchv_rec.interface_attribute2 := l_bchv_rec.interface_attribute2;
3171 END IF;
3172 IF (x_bchv_rec.interface_attribute3 = Okl_Api.G_MISS_CHAR)
3173 THEN
3174 x_bchv_rec.interface_attribute3 := l_bchv_rec.interface_attribute3;
3175 END IF;
3176 IF (x_bchv_rec.interface_attribute4 = Okl_Api.G_MISS_CHAR)
3177 THEN
3178 x_bchv_rec.interface_attribute4 := l_bchv_rec.interface_attribute4;
3179 END IF;
3180 IF (x_bchv_rec.interface_attribute5 = Okl_Api.G_MISS_CHAR)
3181 THEN
3182 x_bchv_rec.interface_attribute5 := l_bchv_rec.interface_attribute5;
3183 END IF;
3184 IF (x_bchv_rec.interface_attribute6 = Okl_Api.G_MISS_CHAR)
3185 THEN
3186 x_bchv_rec.interface_attribute6 := l_bchv_rec.interface_attribute6;
3187 END IF;
3188 IF (x_bchv_rec.interface_attribute7 = Okl_Api.G_MISS_CHAR)
3189 THEN
3190 x_bchv_rec.interface_attribute7 := l_bchv_rec.interface_attribute7;
3191 END IF;
3192 IF (x_bchv_rec.interface_attribute8 = Okl_Api.G_MISS_CHAR)
3193 THEN
3194 x_bchv_rec.interface_attribute8 := l_bchv_rec.interface_attribute8;
3195 END IF;
3196 IF (x_bchv_rec.interface_attribute9 = Okl_Api.G_MISS_CHAR)
3197 THEN
3198 x_bchv_rec.interface_attribute9 := l_bchv_rec.interface_attribute9;
3199 END IF;
3200 IF (x_bchv_rec.interface_attribute10 = Okl_Api.G_MISS_CHAR)
3201 THEN
3202 x_bchv_rec.interface_attribute10 := l_bchv_rec.interface_attribute10;
3203 END IF;
3204 IF (x_bchv_rec.interface_attribute11 = Okl_Api.G_MISS_CHAR)
3205 THEN
3206 x_bchv_rec.interface_attribute11 := l_bchv_rec.interface_attribute11;
3207 END IF;
3208 IF (x_bchv_rec.interface_attribute12 = Okl_Api.G_MISS_CHAR)
3209 THEN
3210 x_bchv_rec.interface_attribute12 := l_bchv_rec.interface_attribute12;
3211 END IF;
3212 IF (x_bchv_rec.interface_attribute13 = Okl_Api.G_MISS_CHAR)
3213 THEN
3214 x_bchv_rec.interface_attribute13 := l_bchv_rec.interface_attribute13;
3215 END IF;
3216 IF (x_bchv_rec.interface_attribute14 = Okl_Api.G_MISS_CHAR)
3217 THEN
3218 x_bchv_rec.interface_attribute14 := l_bchv_rec.interface_attribute14;
3219 END IF;
3220 IF (x_bchv_rec.interface_attribute15 = Okl_Api.G_MISS_CHAR)
3221 THEN
3222 x_bchv_rec.interface_attribute15 := l_bchv_rec.interface_attribute15;
3223 END IF;
3224 IF (x_bchv_rec.request_id = Okl_Api.G_MISS_NUM)
3225 THEN
3226 x_bchv_rec.request_id := l_bchv_rec.request_id;
3227 END IF;
3228 IF (x_bchv_rec.program_application_id = Okl_Api.G_MISS_NUM)
3229 THEN
3230 x_bchv_rec.program_application_id := l_bchv_rec.program_application_id;
3231 END IF;
3232 IF (x_bchv_rec.program_id = Okl_Api.G_MISS_NUM)
3233 THEN
3234 x_bchv_rec.program_id := l_bchv_rec.program_id;
3235 END IF;
3236 IF (x_bchv_rec.program_update_date = Okl_Api.G_MISS_DATE)
3237 THEN
3238 x_bchv_rec.program_update_date := l_bchv_rec.program_update_date;
3239 END IF;
3240 IF (x_bchv_rec.org_id = Okl_Api.G_MISS_NUM)
3241 THEN
3242 x_bchv_rec.org_id := l_bchv_rec.org_id;
3243 END IF;
3244 IF (x_bchv_rec.created_by = Okl_Api.G_MISS_NUM)
3245 THEN
3246 x_bchv_rec.created_by := l_bchv_rec.created_by;
3247 END IF;
3248 IF (x_bchv_rec.creation_date = Okl_Api.G_MISS_DATE)
3249 THEN
3250 x_bchv_rec.creation_date := l_bchv_rec.creation_date;
3251 END IF;
3252 IF (x_bchv_rec.last_updated_by = Okl_Api.G_MISS_NUM)
3253 THEN
3254 x_bchv_rec.last_updated_by := l_bchv_rec.last_updated_by;
3255 END IF;
3256 IF (x_bchv_rec.last_update_date = Okl_Api.G_MISS_DATE)
3257 THEN
3258 x_bchv_rec.last_update_date := l_bchv_rec.last_update_date;
3259 END IF;
3260 IF (x_bchv_rec.last_update_login = Okl_Api.G_MISS_NUM)
3261 THEN
3262 x_bchv_rec.last_update_login := l_bchv_rec.last_update_login;
3263 END IF;
3264 RETURN(l_return_status);
3265 END populate_new_record;
3266 ----------------------------------------------
3267 -- Set_Attributes for:OKL_BILLING_CHARGES_V --
3268 ----------------------------------------------
3269 FUNCTION Set_Attributes (
3270 p_bchv_rec IN bchv_rec_type,
3271 x_bchv_rec OUT NOCOPY bchv_rec_type
3272 ) RETURN VARCHAR2 IS
3273 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3274 BEGIN
3275 x_bchv_rec := p_bchv_rec;
3276 x_bchv_rec.OBJECT_VERSION_NUMBER := NVL(x_bchv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
3277 -- Begin Post-Generation Change
3281 NVL(DECODE(Fnd_Global.PROG_APPL_ID, -1,NULL,Fnd_Global.PROG_APPL_ID),
3278 SELECT
3279 NVL(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,Fnd_Global.CONC_REQUEST_ID),
3280 x_bchv_rec.request_id),
3282 x_bchv_rec.program_application_id),
3283 NVL(DECODE(Fnd_Global.CONC_PROGRAM_ID,-1,NULL,Fnd_Global.CONC_PROGRAM_ID),
3284 x_bchv_rec.program_id),
3285 DECODE(DECODE(Fnd_Global.CONC_REQUEST_ID,-1,NULL,SYSDATE),
3286 NULL,x_bchv_rec.program_update_date,SYSDATE)
3287 INTO
3288 x_bchv_rec.request_id,
3289 x_bchv_rec.program_application_id,
3290 x_bchv_rec.program_id,
3291 x_bchv_rec.program_update_date
3292 FROM dual;
3293 -- End Post-Generation Change
3294 RETURN(l_return_status);
3295 END Set_Attributes;
3296 BEGIN
3297 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
3298 G_PKG_NAME,
3299 p_init_msg_list,
3300 l_api_version,
3301 p_api_version,
3302 '_PVT',
3303 x_return_status);
3304 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3305 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3306 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3307 RAISE Okl_Api.G_EXCEPTION_ERROR;
3308 END IF;
3309 --- Setting item attributes
3310 l_return_status := Set_Attributes(
3311 p_bchv_rec, -- IN
3312 l_bchv_rec); -- OUT
3313 --- If any errors happen abort API
3314 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3315 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3316 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3317 RAISE Okl_Api.G_EXCEPTION_ERROR;
3318 END IF;
3319 l_return_status := populate_new_record(l_bchv_rec, l_def_bchv_rec);
3320 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3321 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3322 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3323 RAISE Okl_Api.G_EXCEPTION_ERROR;
3324 END IF;
3325 l_def_bchv_rec := fill_who_columns(l_def_bchv_rec);
3326 --- Validate all non-missing attributes (Item Level Validation)
3327 l_return_status := Validate_Attributes(l_def_bchv_rec);
3328 --- If any errors happen abort API
3329 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3330 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3331 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3332 RAISE Okl_Api.G_EXCEPTION_ERROR;
3333 END IF;
3334 l_return_status := Validate_Record(l_def_bchv_rec);
3335 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3336 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3337 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3338 RAISE Okl_Api.G_EXCEPTION_ERROR;
3339 END IF;
3340
3341 --------------------------------------
3342 -- Move VIEW record to "Child" records
3343 --------------------------------------
3344 migrate(l_def_bchv_rec, l_okl_billing_charges_tl_rec);
3345 migrate(l_def_bchv_rec, l_bch_rec);
3346 --------------------------------------------
3347 -- Call the UPDATE_ROW for each child record
3348 --------------------------------------------
3349 update_row(
3350 p_init_msg_list,
3351 x_return_status,
3352 x_msg_count,
3353 x_msg_data,
3354 l_okl_billing_charges_tl_rec,
3355 lx_okl_billing_charges_tl_rec
3356 );
3357 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3358 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3359 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3360 RAISE Okl_Api.G_EXCEPTION_ERROR;
3361 END IF;
3362 migrate(lx_okl_billing_charges_tl_rec, l_def_bchv_rec);
3363 update_row(
3364 p_init_msg_list,
3365 x_return_status,
3366 x_msg_count,
3367 x_msg_data,
3368 l_bch_rec,
3369 lx_bch_rec
3370 );
3371 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3372 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3373 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3374 RAISE Okl_Api.G_EXCEPTION_ERROR;
3375 END IF;
3376 migrate(lx_bch_rec, l_def_bchv_rec);
3377 x_bchv_rec := l_def_bchv_rec;
3378 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3379 EXCEPTION
3380 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
3381 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
3382 (
3383 l_api_name,
3384 G_PKG_NAME,
3385 'OKL_API.G_RET_STS_ERROR',
3386 x_msg_count,
3387 x_msg_data,
3388 '_PVT'
3389 );
3390 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3391 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3392 (
3393 l_api_name,
3394 G_PKG_NAME,
3395 'OKL_API.G_RET_STS_UNEXP_ERROR',
3396 x_msg_count,
3397 x_msg_data,
3398 '_PVT'
3399 );
3400 WHEN OTHERS THEN
3401 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3402 (
3403 l_api_name,
3404 G_PKG_NAME,
3408 '_PVT'
3405 'OTHERS',
3406 x_msg_count,
3407 x_msg_data,
3409 );
3410 END update_row;
3411 ----------------------------------------
3412 -- PL/SQL TBL update_row for:BCHV_TBL --
3413 ----------------------------------------
3414 PROCEDURE update_row(
3415 p_api_version IN NUMBER,
3416 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3417 x_return_status OUT NOCOPY VARCHAR2,
3418 x_msg_count OUT NOCOPY NUMBER,
3419 x_msg_data OUT NOCOPY VARCHAR2,
3420 p_bchv_tbl IN bchv_tbl_type,
3421 x_bchv_tbl OUT NOCOPY bchv_tbl_type) IS
3422
3423 l_api_version CONSTANT NUMBER := 1;
3424 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3425 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3426 i NUMBER := 0;
3427 -- Begin Post-Generation Change
3428 -- overall error status
3429 l_overall_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3430 -- End Post-Generation Change
3431
3432 BEGIN
3433 Okl_Api.init_msg_list(p_init_msg_list);
3434 -- Make sure PL/SQL table has records in it before passing
3435 IF (p_bchv_tbl.COUNT > 0) THEN
3436 i := p_bchv_tbl.FIRST;
3437 LOOP
3438 update_row (
3439 p_api_version => p_api_version,
3440 p_init_msg_list => Okc_Api.G_FALSE,
3441 x_return_status => x_return_status,
3442 x_msg_count => x_msg_count,
3443 x_msg_data => x_msg_data,
3444 p_bchv_rec => p_bchv_tbl(i),
3445 x_bchv_rec => x_bchv_tbl(i));
3446 -- Begin Post-Generation Change
3447 -- store the highest degree of error
3448 IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
3449 IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
3450 l_overall_status := x_return_status;
3451 END IF;
3452 END IF;
3453 -- End Post-Generation Change
3454 EXIT WHEN (i = p_bchv_tbl.LAST);
3455 i := p_bchv_tbl.NEXT(i);
3456 END LOOP;
3457 -- Begin Post-Generation Change
3458 -- return overall status
3459 x_return_status := l_overall_status;
3460 -- End Post-Generation Change
3461 END IF;
3462 EXCEPTION
3463 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
3464 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
3465 (
3466 l_api_name,
3467 G_PKG_NAME,
3468 'OKL_API.G_RET_STS_ERROR',
3469 x_msg_count,
3470 x_msg_data,
3471 '_PVT'
3472 );
3473 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3474 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3475 (
3476 l_api_name,
3477 G_PKG_NAME,
3478 'OKL_API.G_RET_STS_UNEXP_ERROR',
3479 x_msg_count,
3480 x_msg_data,
3481 '_PVT'
3482 );
3483 WHEN OTHERS THEN
3484 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3485 (
3486 l_api_name,
3487 G_PKG_NAME,
3488 'OTHERS',
3489 x_msg_count,
3490 x_msg_data,
3491 '_PVT'
3492 );
3493 END update_row;
3494
3495 ---------------------------------------------------------------------------
3496 -- PROCEDURE delete_row
3497 ---------------------------------------------------------------------------
3498 ------------------------------------------
3499 -- delete_row for:OKL_BILLING_CHARGES_B --
3500 ------------------------------------------
3501 PROCEDURE delete_row(
3502 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3503 x_return_status OUT NOCOPY VARCHAR2,
3504 x_msg_count OUT NOCOPY NUMBER,
3505 x_msg_data OUT NOCOPY VARCHAR2,
3506 p_bch_rec IN bch_rec_type) IS
3507
3508 l_api_version CONSTANT NUMBER := 1;
3509 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
3510 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3511 l_bch_rec bch_rec_type:= p_bch_rec;
3512 l_row_notfound BOOLEAN := TRUE;
3513 BEGIN
3514 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
3515 p_init_msg_list,
3516 '_PVT',
3517 x_return_status);
3518 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3519 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3520 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3521 RAISE Okl_Api.G_EXCEPTION_ERROR;
3522 END IF;
3523 DELETE FROM OKL_BILLING_CHARGES_B
3524 WHERE ID = l_bch_rec.id;
3525
3526 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3527 EXCEPTION
3528 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
3529 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
3530 (
3531 l_api_name,
3532 G_PKG_NAME,
3533 'OKL_API.G_RET_STS_ERROR',
3534 x_msg_count,
3538 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3535 x_msg_data,
3536 '_PVT'
3537 );
3539 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3540 (
3541 l_api_name,
3542 G_PKG_NAME,
3543 'OKL_API.G_RET_STS_UNEXP_ERROR',
3544 x_msg_count,
3545 x_msg_data,
3546 '_PVT'
3547 );
3548 WHEN OTHERS THEN
3549 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3550 (
3551 l_api_name,
3552 G_PKG_NAME,
3553 'OTHERS',
3554 x_msg_count,
3555 x_msg_data,
3556 '_PVT'
3557 );
3558 END delete_row;
3559 -------------------------------------------
3560 -- delete_row for:OKL_BILLING_CHARGES_TL --
3561 -------------------------------------------
3562 PROCEDURE delete_row(
3563 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3564 x_return_status OUT NOCOPY VARCHAR2,
3565 x_msg_count OUT NOCOPY NUMBER,
3566 x_msg_data OUT NOCOPY VARCHAR2,
3567 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType) IS
3568
3569 l_api_version CONSTANT NUMBER := 1;
3570 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
3571 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3572 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType:= p_okl_billing_charges_tl_rec;
3573 l_row_notfound BOOLEAN := TRUE;
3574 -----------------------------------------------
3575 -- Set_Attributes for:OKL_BILLING_CHARGES_TL --
3576 -----------------------------------------------
3577 FUNCTION Set_Attributes (
3578 p_okl_billing_charges_tl_rec IN OklBillingChargesTlRecType,
3579 x_okl_billing_charges_tl_rec OUT NOCOPY OklBillingChargesTlRecType
3580 ) RETURN VARCHAR2 IS
3581 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3582 BEGIN
3583 x_okl_billing_charges_tl_rec := p_okl_billing_charges_tl_rec;
3584 x_okl_billing_charges_tl_rec.LANGUAGE := USERENV('LANG');
3585 RETURN(l_return_status);
3586 END Set_Attributes;
3587 BEGIN
3588 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
3589 p_init_msg_list,
3590 '_PVT',
3591 x_return_status);
3592 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3593 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3594 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3595 RAISE Okl_Api.G_EXCEPTION_ERROR;
3596 END IF;
3597 --- Setting item attributes
3598 l_return_status := Set_Attributes(
3599 p_okl_billing_charges_tl_rec, -- IN
3600 l_okl_billing_charges_tl_rec); -- OUT
3601 --- If any errors happen abort API
3602 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3603 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3604 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3605 RAISE Okl_Api.G_EXCEPTION_ERROR;
3606 END IF;
3607 DELETE FROM OKL_BILLING_CHARGES_TL
3608 WHERE ID = l_okl_billing_charges_tl_rec.id;
3609
3610 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3611 EXCEPTION
3612 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
3613 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
3614 (
3615 l_api_name,
3616 G_PKG_NAME,
3617 'OKL_API.G_RET_STS_ERROR',
3618 x_msg_count,
3619 x_msg_data,
3620 '_PVT'
3621 );
3622 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3623 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3624 (
3625 l_api_name,
3626 G_PKG_NAME,
3627 'OKL_API.G_RET_STS_UNEXP_ERROR',
3628 x_msg_count,
3629 x_msg_data,
3630 '_PVT'
3631 );
3632 WHEN OTHERS THEN
3633 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3634 (
3635 l_api_name,
3636 G_PKG_NAME,
3637 'OTHERS',
3638 x_msg_count,
3639 x_msg_data,
3640 '_PVT'
3641 );
3642 END delete_row;
3643 ------------------------------------------
3644 -- delete_row for:OKL_BILLING_CHARGES_V --
3645 ------------------------------------------
3646 PROCEDURE delete_row(
3647 p_api_version IN NUMBER,
3648 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3649 x_return_status OUT NOCOPY VARCHAR2,
3650 x_msg_count OUT NOCOPY NUMBER,
3651 x_msg_data OUT NOCOPY VARCHAR2,
3652 p_bchv_rec IN bchv_rec_type) IS
3653
3654 l_api_version CONSTANT NUMBER := 1;
3655 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3656 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3657 l_bchv_rec bchv_rec_type := p_bchv_rec;
3658 l_okl_billing_charges_tl_rec OklBillingChargesTlRecType;
3659 l_bch_rec bch_rec_type;
3660 BEGIN
3661 l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
3662 G_PKG_NAME,
3666 '_PVT',
3663 p_init_msg_list,
3664 l_api_version,
3665 p_api_version,
3667 x_return_status);
3668 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3669 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3670 ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3671 RAISE Okl_Api.G_EXCEPTION_ERROR;
3672 END IF;
3673 --------------------------------------
3674 -- Move VIEW record to "Child" records
3675 --------------------------------------
3676 migrate(l_bchv_rec, l_okl_billing_charges_tl_rec);
3677 migrate(l_bchv_rec, l_bch_rec);
3678 --------------------------------------------
3679 -- Call the DELETE_ROW for each child record
3680 --------------------------------------------
3681 delete_row(
3682 p_init_msg_list,
3683 x_return_status,
3684 x_msg_count,
3685 x_msg_data,
3686 l_okl_billing_charges_tl_rec
3687 );
3688 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3689 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3690 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3691 RAISE Okl_Api.G_EXCEPTION_ERROR;
3692 END IF;
3693 delete_row(
3694 p_init_msg_list,
3695 x_return_status,
3696 x_msg_count,
3697 x_msg_data,
3698 l_bch_rec
3699 );
3700 IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
3701 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
3702 ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
3703 RAISE Okl_Api.G_EXCEPTION_ERROR;
3704 END IF;
3705 Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
3706 EXCEPTION
3707 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
3708 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
3709 (
3710 l_api_name,
3711 G_PKG_NAME,
3712 'OKL_API.G_RET_STS_ERROR',
3713 x_msg_count,
3714 x_msg_data,
3715 '_PVT'
3716 );
3717 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3718 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3719 (
3720 l_api_name,
3721 G_PKG_NAME,
3722 'OKL_API.G_RET_STS_UNEXP_ERROR',
3723 x_msg_count,
3724 x_msg_data,
3725 '_PVT'
3726 );
3727 WHEN OTHERS THEN
3728 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3729 (
3730 l_api_name,
3731 G_PKG_NAME,
3732 'OTHERS',
3733 x_msg_count,
3734 x_msg_data,
3735 '_PVT'
3736 );
3737 END delete_row;
3738 ----------------------------------------
3739 -- PL/SQL TBL delete_row for:BCHV_TBL --
3740 ----------------------------------------
3741 PROCEDURE delete_row(
3742 p_api_version IN NUMBER,
3743 p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE,
3744 x_return_status OUT NOCOPY VARCHAR2,
3745 x_msg_count OUT NOCOPY NUMBER,
3746 x_msg_data OUT NOCOPY VARCHAR2,
3747 p_bchv_tbl IN bchv_tbl_type) IS
3748
3749 l_api_version CONSTANT NUMBER := 1;
3750 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3751 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3752 i NUMBER := 0;
3753 -- Begin Post-Generation Change
3754 -- overall error status
3755 l_overall_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
3756 -- End Post-Generation Change
3757
3758 BEGIN
3759 Okl_Api.init_msg_list(p_init_msg_list);
3760 -- Make sure PL/SQL table has records in it before passing
3761 IF (p_bchv_tbl.COUNT > 0) THEN
3762 i := p_bchv_tbl.FIRST;
3763 LOOP
3764 delete_row (
3765 p_api_version => p_api_version,
3766 p_init_msg_list => Okc_Api.G_FALSE,
3767 x_return_status => x_return_status,
3768 x_msg_count => x_msg_count,
3769 x_msg_data => x_msg_data,
3770 p_bchv_rec => p_bchv_tbl(i));
3771 -- Begin Post-Generation Change
3772 -- store the highest degree of error
3773 IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
3774 IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
3775 l_overall_status := x_return_status;
3776 END IF;
3777 END IF;
3778 -- End Post-Generation Change
3779 EXIT WHEN (i = p_bchv_tbl.LAST);
3780 i := p_bchv_tbl.NEXT(i);
3781 END LOOP;
3782 -- Begin Post-Generation Change
3783 -- return overall status
3784 x_return_status := l_overall_status;
3785 -- End Post-Generation Change
3786 END IF;
3787 EXCEPTION
3788 WHEN Okl_Api.G_EXCEPTION_ERROR THEN
3789 x_return_status := Okl_Api.HANDLE_EXCEPTIONS
3790 (
3791 l_api_name,
3792 G_PKG_NAME,
3793 'OKL_API.G_RET_STS_ERROR',
3794 x_msg_count,
3795 x_msg_data,
3796 '_PVT'
3797 );
3798 WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
3799 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3800 (
3801 l_api_name,
3802 G_PKG_NAME,
3803 'OKL_API.G_RET_STS_UNEXP_ERROR',
3804 x_msg_count,
3805 x_msg_data,
3806 '_PVT'
3807 );
3808 WHEN OTHERS THEN
3809 x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
3810 (
3811 l_api_name,
3812 G_PKG_NAME,
3813 'OTHERS',
3814 x_msg_count,
3815 x_msg_data,
3816 '_PVT'
3817 );
3818 END delete_row;
3819 END Okl_Bch_Pvt;