DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_AJL_PVT

Source


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