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