DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_ADJ_PVT

Source


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