DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_CAH_PVT

Source


1 PACKAGE BODY Okl_Cah_Pvt AS
2 /* $Header: OKLSCAHB.pls 120.2 2006/07/11 10:11:09 dkagrawa noship $ */
3   ---------------------------------------------------------------------------
4   -- FUNCTION get_seq_id
5   ---------------------------------------------------------------------------
6   FUNCTION get_seq_id RETURN NUMBER IS
7   BEGIN
8     RETURN(Okc_P_Util.raw_to_number(sys_guid()));
9   END get_seq_id;
10 
11   ---------------------------------------------------------------------------
12   -- PROCEDURE qc
13   ---------------------------------------------------------------------------
14   PROCEDURE qc IS
15   BEGIN
16     NULL;
17   END qc;
18 
19   ---------------------------------------------------------------------------
20   -- PROCEDURE change_version
21   ---------------------------------------------------------------------------
22   PROCEDURE change_version IS
23   BEGIN
24     NULL;
25   END change_version;
26 
27   ---------------------------------------------------------------------------
28   -- PROCEDURE api_copy
29   ---------------------------------------------------------------------------
30   PROCEDURE api_copy IS
31   BEGIN
32     NULL;
33   END api_copy;
34 
35   ---------------------------------------------------------------------------
36   -- FUNCTION get_rec for: OKL_CSH_ALLCT_SRCHS
37   ---------------------------------------------------------------------------
38   FUNCTION get_rec (
39     p_cah_rec                      IN cah_rec_type,
40     x_no_data_found                OUT NOCOPY BOOLEAN
41   ) RETURN cah_rec_type IS
42     CURSOR cah_pk_csr (p_id                 IN NUMBER) IS
43     SELECT
44             ID,
45             NAME,
46             SEQUENCE_NUMBER,
47             CASH_SEARCH_TYPE,
48             OBJECT_VERSION_NUMBER,
49             DESCRIPTION,
50             ATTRIBUTE_CATEGORY,
51             ATTRIBUTE1,
52             ATTRIBUTE2,
53             ATTRIBUTE3,
54             ATTRIBUTE4,
55             ATTRIBUTE5,
56             ATTRIBUTE6,
57             ATTRIBUTE7,
58             ATTRIBUTE8,
59             ATTRIBUTE9,
60             ATTRIBUTE10,
61             ATTRIBUTE11,
62             ATTRIBUTE12,
63             ATTRIBUTE13,
64             ATTRIBUTE14,
65             ATTRIBUTE15,
66             ORG_ID,
67             CREATED_BY,
68             CREATION_DATE,
69             LAST_UPDATED_BY,
70             LAST_UPDATE_DATE,
71             LAST_UPDATE_LOGIN
72       FROM Okl_Csh_Allct_Srchs
73      WHERE okl_csh_allct_srchs.id = p_id;
74     l_cah_pk                       cah_pk_csr%ROWTYPE;
75     l_cah_rec                      cah_rec_type;
76   BEGIN
77     x_no_data_found := TRUE;
78     -- Get current database values
79     OPEN cah_pk_csr (p_cah_rec.id);
80     FETCH cah_pk_csr INTO
81               l_cah_rec.ID,
82               l_cah_rec.NAME,
83               l_cah_rec.SEQUENCE_NUMBER,
84               l_cah_rec.CASH_SEARCH_TYPE,
85               l_cah_rec.OBJECT_VERSION_NUMBER,
86               l_cah_rec.DESCRIPTION,
87               l_cah_rec.ATTRIBUTE_CATEGORY,
88               l_cah_rec.ATTRIBUTE1,
89               l_cah_rec.ATTRIBUTE2,
90               l_cah_rec.ATTRIBUTE3,
91               l_cah_rec.ATTRIBUTE4,
92               l_cah_rec.ATTRIBUTE5,
93               l_cah_rec.ATTRIBUTE6,
94               l_cah_rec.ATTRIBUTE7,
95               l_cah_rec.ATTRIBUTE8,
96               l_cah_rec.ATTRIBUTE9,
97               l_cah_rec.ATTRIBUTE10,
98               l_cah_rec.ATTRIBUTE11,
99               l_cah_rec.ATTRIBUTE12,
100               l_cah_rec.ATTRIBUTE13,
101               l_cah_rec.ATTRIBUTE14,
102               l_cah_rec.ATTRIBUTE15,
103               l_cah_rec.ORG_ID,
104               l_cah_rec.CREATED_BY,
105               l_cah_rec.CREATION_DATE,
106               l_cah_rec.LAST_UPDATED_BY,
107               l_cah_rec.LAST_UPDATE_DATE,
108               l_cah_rec.LAST_UPDATE_LOGIN;
109     x_no_data_found := cah_pk_csr%NOTFOUND;
110     CLOSE cah_pk_csr;
111     RETURN(l_cah_rec);
112   END get_rec;
113 
114   FUNCTION get_rec (
115     p_cah_rec                      IN cah_rec_type
116   ) RETURN cah_rec_type IS
117     l_row_notfound                 BOOLEAN := TRUE;
118   BEGIN
119     RETURN(get_rec(p_cah_rec, l_row_notfound));
120   END get_rec;
121   ---------------------------------------------------------------------------
122   -- FUNCTION get_rec for: OKL_CSH_ALLCT_SRCHS_V
123   ---------------------------------------------------------------------------
124   FUNCTION get_rec (
125     p_cahv_rec                     IN cahv_rec_type,
126     x_no_data_found                OUT NOCOPY BOOLEAN
127   ) RETURN cahv_rec_type IS
128     CURSOR okl_cahv_pk_csr (p_id                 IN NUMBER) IS
129     SELECT
130             ID,
131             OBJECT_VERSION_NUMBER,
132             NAME,
133             DESCRIPTION,
134             SEQUENCE_NUMBER,
135             ATTRIBUTE_CATEGORY,
136             ATTRIBUTE1,
137             ATTRIBUTE2,
138             ATTRIBUTE3,
139             ATTRIBUTE4,
140             ATTRIBUTE5,
141             ATTRIBUTE6,
142             ATTRIBUTE7,
143             ATTRIBUTE8,
144             ATTRIBUTE9,
145             ATTRIBUTE10,
146             ATTRIBUTE11,
147             ATTRIBUTE12,
148             ATTRIBUTE13,
149             ATTRIBUTE14,
150             ATTRIBUTE15,
151             ORG_ID,
152             CASH_SEARCH_TYPE,
153             CREATED_BY,
154             CREATION_DATE,
155             LAST_UPDATED_BY,
156             LAST_UPDATE_DATE,
157             LAST_UPDATE_LOGIN
158       FROM OKL_CSH_ALLCT_SRCHS
159      WHERE OKL_CSH_ALLCT_SRCHS.id = p_id;
160     l_okl_cahv_pk                  okl_cahv_pk_csr%ROWTYPE;
161     l_cahv_rec                     cahv_rec_type;
162   BEGIN
163     x_no_data_found := TRUE;
164     -- Get current database values
165     OPEN okl_cahv_pk_csr (p_cahv_rec.id);
166     FETCH okl_cahv_pk_csr INTO
167               l_cahv_rec.ID,
168               l_cahv_rec.OBJECT_VERSION_NUMBER,
169               l_cahv_rec.NAME,
170               l_cahv_rec.DESCRIPTION,
171               l_cahv_rec.SEQUENCE_NUMBER,
172               l_cahv_rec.ATTRIBUTE_CATEGORY,
173               l_cahv_rec.ATTRIBUTE1,
174               l_cahv_rec.ATTRIBUTE2,
175               l_cahv_rec.ATTRIBUTE3,
176               l_cahv_rec.ATTRIBUTE4,
177               l_cahv_rec.ATTRIBUTE5,
178               l_cahv_rec.ATTRIBUTE6,
179               l_cahv_rec.ATTRIBUTE7,
180               l_cahv_rec.ATTRIBUTE8,
181               l_cahv_rec.ATTRIBUTE9,
182               l_cahv_rec.ATTRIBUTE10,
183               l_cahv_rec.ATTRIBUTE11,
184               l_cahv_rec.ATTRIBUTE12,
185               l_cahv_rec.ATTRIBUTE13,
186               l_cahv_rec.ATTRIBUTE14,
187               l_cahv_rec.ATTRIBUTE15,
188               l_cahv_rec.ORG_ID,
189               l_cahv_rec.CASH_SEARCH_TYPE,
190               l_cahv_rec.CREATED_BY,
191               l_cahv_rec.CREATION_DATE,
192               l_cahv_rec.LAST_UPDATED_BY,
193               l_cahv_rec.LAST_UPDATE_DATE,
194               l_cahv_rec.LAST_UPDATE_LOGIN;
195     x_no_data_found := okl_cahv_pk_csr%NOTFOUND;
196     CLOSE okl_cahv_pk_csr;
197     RETURN(l_cahv_rec);
198   END get_rec;
199 
200   FUNCTION get_rec (
201     p_cahv_rec                     IN cahv_rec_type
202   ) RETURN cahv_rec_type IS
203     l_row_notfound                 BOOLEAN := TRUE;
204   BEGIN
205     RETURN(get_rec(p_cahv_rec, l_row_notfound));
206   END get_rec;
207 
208   -----------------------------------------------------------
209   -- FUNCTION null_out_defaults for: OKL_CSH_ALLCT_SRCHS_V --
210   -----------------------------------------------------------
211   FUNCTION null_out_defaults (
212     p_cahv_rec	IN cahv_rec_type
213   ) RETURN cahv_rec_type IS
214     l_cahv_rec	cahv_rec_type := p_cahv_rec;
215   BEGIN
216     IF (l_cahv_rec.object_version_number = Okl_Api.G_MISS_NUM) THEN
217       l_cahv_rec.object_version_number := NULL;
218     END IF;
219     IF (l_cahv_rec.name = Okl_Api.G_MISS_CHAR) THEN
220       l_cahv_rec.name := NULL;
221     END IF;
222     IF (l_cahv_rec.description = Okl_Api.G_MISS_CHAR) THEN
223       l_cahv_rec.description := NULL;
224     END IF;
225     IF (l_cahv_rec.sequence_number = Okl_Api.G_MISS_NUM) THEN
226       l_cahv_rec.sequence_number := NULL;
227     END IF;
228     IF (l_cahv_rec.attribute_category = Okl_Api.G_MISS_CHAR) THEN
229       l_cahv_rec.attribute_category := NULL;
230     END IF;
231     IF (l_cahv_rec.attribute1 = Okl_Api.G_MISS_CHAR) THEN
232       l_cahv_rec.attribute1 := NULL;
233     END IF;
234     IF (l_cahv_rec.attribute2 = Okl_Api.G_MISS_CHAR) THEN
235       l_cahv_rec.attribute2 := NULL;
236     END IF;
237     IF (l_cahv_rec.attribute3 = Okl_Api.G_MISS_CHAR) THEN
238       l_cahv_rec.attribute3 := NULL;
239     END IF;
240     IF (l_cahv_rec.attribute4 = Okl_Api.G_MISS_CHAR) THEN
241       l_cahv_rec.attribute4 := NULL;
242     END IF;
243     IF (l_cahv_rec.attribute5 = Okl_Api.G_MISS_CHAR) THEN
244       l_cahv_rec.attribute5 := NULL;
245     END IF;
246     IF (l_cahv_rec.attribute6 = Okl_Api.G_MISS_CHAR) THEN
247       l_cahv_rec.attribute6 := NULL;
248     END IF;
249     IF (l_cahv_rec.attribute7 = Okl_Api.G_MISS_CHAR) THEN
250       l_cahv_rec.attribute7 := NULL;
251     END IF;
252     IF (l_cahv_rec.attribute8 = Okl_Api.G_MISS_CHAR) THEN
253       l_cahv_rec.attribute8 := NULL;
254     END IF;
255     IF (l_cahv_rec.attribute9 = Okl_Api.G_MISS_CHAR) THEN
256       l_cahv_rec.attribute9 := NULL;
257     END IF;
258     IF (l_cahv_rec.attribute10 = Okl_Api.G_MISS_CHAR) THEN
259       l_cahv_rec.attribute10 := NULL;
260     END IF;
261     IF (l_cahv_rec.attribute11 = Okl_Api.G_MISS_CHAR) THEN
262       l_cahv_rec.attribute11 := NULL;
263     END IF;
264     IF (l_cahv_rec.attribute12 = Okl_Api.G_MISS_CHAR) THEN
265       l_cahv_rec.attribute12 := NULL;
266     END IF;
267     IF (l_cahv_rec.attribute13 = Okl_Api.G_MISS_CHAR) THEN
268       l_cahv_rec.attribute13 := NULL;
269     END IF;
270     IF (l_cahv_rec.attribute14 = Okl_Api.G_MISS_CHAR) THEN
271       l_cahv_rec.attribute14 := NULL;
272     END IF;
273     IF (l_cahv_rec.attribute15 = Okl_Api.G_MISS_CHAR) THEN
274       l_cahv_rec.attribute15 := NULL;
275     END IF;
276     IF (l_cahv_rec.org_id = Okl_Api.G_MISS_NUM) THEN
277       l_cahv_rec.org_id := NULL;
278     END IF;
279     IF (l_cahv_rec.cash_search_type = Okl_Api.G_MISS_CHAR) THEN
280       l_cahv_rec.cash_search_type := NULL;
281     END IF;
282     IF (l_cahv_rec.created_by = Okl_Api.G_MISS_NUM) THEN
283       l_cahv_rec.created_by := NULL;
284     END IF;
285     IF (l_cahv_rec.creation_date = Okl_Api.G_MISS_DATE) THEN
286       l_cahv_rec.creation_date := NULL;
287     END IF;
288     IF (l_cahv_rec.last_updated_by = Okl_Api.G_MISS_NUM) THEN
289       l_cahv_rec.last_updated_by := NULL;
290     END IF;
291     IF (l_cahv_rec.last_update_date = Okl_Api.G_MISS_DATE) THEN
292       l_cahv_rec.last_update_date := NULL;
293     END IF;
294     IF (l_cahv_rec.last_update_login = Okl_Api.G_MISS_NUM) THEN
295       l_cahv_rec.last_update_login := NULL;
296     END IF;
297     RETURN(l_cahv_rec);
298   END null_out_defaults;
299 
300    ---------------------------------------------------------------------------
301   -- POST TAPI CODE  04/23/2001
302   ---------------------------------------------------------------------------
303 
304 -- Start of comments
305 -- Procedure Name  : validate_name
306 -- Description     :
307 -- Business Rules  :
308 -- Parameters      :
309 -- Version         : 1.0
310 -- End of comments
311 
312 PROCEDURE validate_name(p_cahv_rec 		    IN 	cahv_rec_type,
313                         x_return_status 	OUT NOCOPY VARCHAR2) IS
314 
315  BEGIN
316 
317    x_return_status:=Okl_Api.G_RET_STS_SUCCESS;
318    --check not null
319     IF (p_cahv_rec.name IS NULL) OR (p_cahv_rec.name = Okl_Api.G_MISS_CHAR) OR
320        (p_cahv_rec.sequence_number IS NULL) OR (p_cahv_rec.sequence_number = Okl_Api.G_MISS_NUM) THEN
321 
322         Okl_Api.SET_MESSAGE(p_app_name       => 'OKL'
323                            ,p_msg_name       => 'OKL_BPD_MISSING_FIELDS');
324 
325         RAISE G_EXCEPTION_HALT_VALIDATION;
326         -- x_return_status    := Okl_Api.G_RET_STS_ERROR;
327 
328     END IF;
329 
330   END validate_name;
331 
332   FUNCTION IS_UNIQUE (p_cahv_rec cahv_rec_type) RETURN VARCHAR2
333   IS
334     CURSOR l_chr_csr IS
335 		 SELECT 'x'
336 		 FROM okl_csh_allct_srchs
337 		 WHERE name = p_cahv_rec.name
338 		 AND   id <> NVL(p_cahv_rec.id,-99999);
339 
340     l_return_status     VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
341     l_dummy             VARCHAR2(1);
342     l_found             BOOLEAN;
343 
344   BEGIN
345     -- check for unique name
346     OPEN l_chr_csr;
347     FETCH l_chr_csr INTO l_dummy;
348 	CLOSE l_chr_csr;
349 
350     IF l_dummy = 'x' THEN
351   	    Okl_Api.SET_MESSAGE(p_app_name       => 'OKL'
352                           ,p_msg_name        => 'OKL_BPD_DUP_COMBI_NAME');
353 
354        l_return_status    := Okl_Api.G_RET_STS_ERROR;
355     END IF;
356 
357     RETURN (l_return_status);
358 
359   END IS_UNIQUE;
360   ---------------------------------------------------------------------------
361   -- PROCEDURE Validate_Attributes
362   ---------------------------------------------------------------------------
363   ---------------------------------------------------
364   -- Validate_Attributes for:OKL_CSH_ALLCT_SRCHS_V --
365   ---------------------------------------------------
366   FUNCTION Validate_Attributes (
367     p_cahv_rec IN  cahv_rec_type
368   ) RETURN VARCHAR2 IS
369     l_return_status	VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
370     -- Added 04/23/2001 -- Bruno Vaghela
371     x_return_status	VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
372 
373   BEGIN
374 
375   --Added 04/23/2001 Bruno Vaghela ---
376 
377     validate_name(p_cahv_rec, x_return_status);
378 	IF (x_return_status <> Okl_Api.G_RET_STS_SUCCESS) THEN
379       IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
380         l_return_status := x_return_status;
381         RAISE G_EXCEPTION_HALT_VALIDATION;
382       ELSE
383         l_return_status := x_return_status;   -- record that there was an error
384       END IF;
385     END IF;
386 
387   --END 04/23/2001 Bruno Vaghela ---
388 
389     IF p_cahv_rec.id = Okl_Api.G_MISS_NUM OR
390        p_cahv_rec.id IS NULL
391     THEN
392       Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
393       l_return_status := Okl_Api.G_RET_STS_ERROR;
394     ELSIF p_cahv_rec.object_version_number = Okl_Api.G_MISS_NUM OR
395           p_cahv_rec.object_version_number IS NULL
396     THEN
397       Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
398       l_return_status := Okl_Api.G_RET_STS_ERROR;
399     ELSIF p_cahv_rec.name = Okl_Api.G_MISS_CHAR OR
400           p_cahv_rec.name IS NULL
401     THEN
402       Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'name');
403       l_return_status := Okl_Api.G_RET_STS_ERROR;
404     ELSIF p_cahv_rec.sequence_number = Okl_Api.G_MISS_NUM OR
405           p_cahv_rec.sequence_number IS NULL
406     THEN
407       Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'sequence_number');
408       l_return_status := Okl_Api.G_RET_STS_ERROR;
412       Okl_Api.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'cash_search_type');
409     ELSIF p_cahv_rec.cash_search_type = Okl_Api.G_MISS_CHAR OR
410           p_cahv_rec.cash_search_type IS NULL
411     THEN
413       l_return_status := Okl_Api.G_RET_STS_ERROR;
414     END IF;
415     RETURN(l_return_status);
416   END Validate_Attributes;
417 
418   ---------------------------------------------------------------------------
419   -- PROCEDURE Validate_Record
420   ---------------------------------------------------------------------------
421   -----------------------------------------------
422   -- Validate_Record for:OKL_CSH_ALLCT_SRCHS_V --
423   -----------------------------------------------
424 
425   --Added 04/23/2001 Bruno Vaghela ---
426 
427   FUNCTION Validate_Record (
428     p_cahv_rec IN cahv_rec_type
429   ) RETURN VARCHAR2 IS
430     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
431   BEGIN
432 
433     l_return_status := IS_UNIQUE(p_cahv_rec);
434 
435     RETURN (l_return_status);
436 
437   END Validate_Record;
438 
439   --END 04/23/2001 Bruno Vaghela ---
440 
441   ---------------------------------------------------------------------------
442   -- PROCEDURE Migrate
443   ---------------------------------------------------------------------------
444   PROCEDURE migrate (
445     p_from	IN cahv_rec_type,
446     p_to	IN OUT NOCOPY cah_rec_type
447   ) IS
448   BEGIN
449     p_to.id := p_from.id;
450     p_to.name := p_from.name;
451     p_to.sequence_number := p_from.sequence_number;
452     p_to.cash_search_type := p_from.cash_search_type;
453     p_to.object_version_number := p_from.object_version_number;
454     p_to.description := p_from.description;
455     p_to.attribute_category := p_from.attribute_category;
456     p_to.attribute1 := p_from.attribute1;
457     p_to.attribute2 := p_from.attribute2;
458     p_to.attribute3 := p_from.attribute3;
459     p_to.attribute4 := p_from.attribute4;
460     p_to.attribute5 := p_from.attribute5;
461     p_to.attribute6 := p_from.attribute6;
462     p_to.attribute7 := p_from.attribute7;
463     p_to.attribute8 := p_from.attribute8;
464     p_to.attribute9 := p_from.attribute9;
465     p_to.attribute10 := p_from.attribute10;
466     p_to.attribute11 := p_from.attribute11;
467     p_to.attribute12 := p_from.attribute12;
468     p_to.attribute13 := p_from.attribute13;
469     p_to.attribute14 := p_from.attribute14;
470     p_to.attribute15 := p_from.attribute15;
471     p_to.org_id := p_from.org_id;
472     p_to.created_by := p_from.created_by;
473     p_to.creation_date := p_from.creation_date;
474     p_to.last_updated_by := p_from.last_updated_by;
475     p_to.last_update_date := p_from.last_update_date;
476     p_to.last_update_login := p_from.last_update_login;
477   END migrate;
478   PROCEDURE migrate (
479     p_from	IN cah_rec_type,
480     p_to	IN OUT NOCOPY cahv_rec_type
481   ) IS
482   BEGIN
483     p_to.id := p_from.id;
484     p_to.name := p_from.name;
485     p_to.sequence_number := p_from.sequence_number;
486     p_to.cash_search_type := p_from.cash_search_type;
487     p_to.object_version_number := p_from.object_version_number;
488     p_to.description := p_from.description;
489     p_to.attribute_category := p_from.attribute_category;
490     p_to.attribute1 := p_from.attribute1;
491     p_to.attribute2 := p_from.attribute2;
492     p_to.attribute3 := p_from.attribute3;
493     p_to.attribute4 := p_from.attribute4;
494     p_to.attribute5 := p_from.attribute5;
495     p_to.attribute6 := p_from.attribute6;
496     p_to.attribute7 := p_from.attribute7;
497     p_to.attribute8 := p_from.attribute8;
498     p_to.attribute9 := p_from.attribute9;
499     p_to.attribute10 := p_from.attribute10;
500     p_to.attribute11 := p_from.attribute11;
501     p_to.attribute12 := p_from.attribute12;
502     p_to.attribute13 := p_from.attribute13;
503     p_to.attribute14 := p_from.attribute14;
504     p_to.attribute15 := p_from.attribute15;
505     p_to.org_id := p_from.org_id;
506     p_to.created_by := p_from.created_by;
507     p_to.creation_date := p_from.creation_date;
508     p_to.last_updated_by := p_from.last_updated_by;
509     p_to.last_update_date := p_from.last_update_date;
510     p_to.last_update_login := p_from.last_update_login;
511   END migrate;
512 /*  -- history tables not supported -- 04 APR 2002
513   PROCEDURE migrate (
514     p_from	IN cah_rec_type,
515     p_to	IN OUT NOCOPY okl_csh_allct_srchs_h_rec_type
516   ) IS
517   BEGIN
518     p_to.id := p_from.id;
519     p_to.name := p_from.name;
520     p_to.sequence_number := p_from.sequence_number;
521     p_to.cash_search_type := p_from.cash_search_type;
522     p_to.object_version_number := p_from.object_version_number;
523     p_to.description := p_from.description;
524     p_to.attribute_category := p_from.attribute_category;
525     p_to.attribute1 := p_from.attribute1;
526     p_to.attribute2 := p_from.attribute2;
527     p_to.attribute3 := p_from.attribute3;
528     p_to.attribute4 := p_from.attribute4;
529     p_to.attribute5 := p_from.attribute5;
530     p_to.attribute6 := p_from.attribute6;
531     p_to.attribute7 := p_from.attribute7;
532     p_to.attribute8 := p_from.attribute8;
533     p_to.attribute9 := p_from.attribute9;
534     p_to.attribute10 := p_from.attribute10;
538     p_to.attribute14 := p_from.attribute14;
535     p_to.attribute11 := p_from.attribute11;
536     p_to.attribute12 := p_from.attribute12;
537     p_to.attribute13 := p_from.attribute13;
539     p_to.attribute15 := p_from.attribute15;
540     p_to.created_by := p_from.created_by;
541     p_to.creation_date := p_from.creation_date;
542     p_to.last_updated_by := p_from.last_updated_by;
543     p_to.last_update_date := p_from.last_update_date;
544     p_to.last_update_login := p_from.last_update_login;
545   END migrate;
546 */  -- history tables not supported -- 04 APR 2002
547   ---------------------------------------------------------------------------
548   -- PROCEDURE validate_row
549   ---------------------------------------------------------------------------
550   --------------------------------------------
551   -- validate_row for:OKL_CSH_ALLCT_SRCHS_V --
552   --------------------------------------------
553   PROCEDURE validate_row(
554     p_api_version                  IN NUMBER,
555     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
556     x_return_status                OUT NOCOPY VARCHAR2,
557     x_msg_count                    OUT NOCOPY NUMBER,
558     x_msg_data                     OUT NOCOPY VARCHAR2,
559     p_cahv_rec                     IN cahv_rec_type) IS
560 
561     l_api_version                 CONSTANT NUMBER := 1;
562     l_api_name                     CONSTANT VARCHAR2(30) := 'V_validate_row';
563     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
564     l_cahv_rec                     cahv_rec_type := p_cahv_rec;
565     l_cah_rec                      cah_rec_type;
566   BEGIN
567     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
568                                               G_PKG_NAME,
569                                               p_init_msg_list,
570                                               l_api_version,
571                                               p_api_version,
572                                               '_PVT',
573                                               x_return_status);
574     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
575       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
576     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
577       RAISE Okl_Api.G_EXCEPTION_ERROR;
578     END IF;
579     --- Validate all non-missing attributes (Item Level Validation)
580     l_return_status := Validate_Attributes(l_cahv_rec);
581     --- If any errors happen abort API
582     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
583       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
584     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
585       RAISE Okl_Api.G_EXCEPTION_ERROR;
586     END IF;
587     l_return_status := Validate_Record(l_cahv_rec);
588     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
589       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
590     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
591       RAISE Okl_Api.G_EXCEPTION_ERROR;
592     END IF;
593     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
594   EXCEPTION
595     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
596       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
597       (
598         l_api_name,
599         G_PKG_NAME,
600         'Okl_Api.G_RET_STS_ERROR',
601         x_msg_count,
602         x_msg_data,
603         '_PVT'
604       );
605     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
606       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
607       (
608         l_api_name,
609         G_PKG_NAME,
610         'Okl_Api.G_RET_STS_UNEXP_ERROR',
611         x_msg_count,
612         x_msg_data,
613         '_PVT'
614       );
615     WHEN OTHERS THEN
616       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
617       (
618         l_api_name,
619         G_PKG_NAME,
620         'OTHERS',
621         x_msg_count,
622         x_msg_data,
623         '_PVT'
624       );
625   END validate_row;
626   ------------------------------------------
627   -- PL/SQL TBL validate_row for:CAHV_TBL --
628   ------------------------------------------
629   PROCEDURE validate_row(
630     p_api_version                  IN NUMBER,
631     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
632     x_return_status                OUT NOCOPY VARCHAR2,
633     x_msg_count                    OUT NOCOPY NUMBER,
634     x_msg_data                     OUT NOCOPY VARCHAR2,
635     p_cahv_tbl                     IN cahv_tbl_type) IS
636 
637     l_api_version                 CONSTANT NUMBER := 1;
638     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
639     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
640     i                              NUMBER := 0;
641 	-- Begin Post-Generation Change
642     -- overall error status
643     l_overall_status               VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
644     -- End Post-Generation Change
645   BEGIN
646     Okl_Api.init_msg_list(p_init_msg_list);
647     -- Make sure PL/SQL table has records in it before passing
648     IF (p_cahv_tbl.COUNT > 0) THEN
649       i := p_cahv_tbl.FIRST;
650       LOOP
651         validate_row (
652           p_api_version                  => p_api_version,
653           p_init_msg_list                => Okl_Api.G_FALSE,
657           p_cahv_rec                     => p_cahv_tbl(i));
654           x_return_status                => x_return_status,
655           x_msg_count                    => x_msg_count,
656           x_msg_data                     => x_msg_data,
658 
659 		  -- Begin Post-Generation Change
660           -- store the highest degree of error
661           IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
662              IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
663                 l_overall_status := x_return_status;
664              END IF;
665           END IF;
666           -- End Post-Generation Change
667 
668         EXIT WHEN (i = p_cahv_tbl.LAST);
669         i := p_cahv_tbl.NEXT(i);
670       END LOOP;
671 
672 	  -- Begin Post-Generation Change
673       -- return overall status
674       x_return_status := l_overall_status;
675       -- End Post-Generation Change
676 
677     END IF;
678   EXCEPTION
679     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
680       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
681       (
682         l_api_name,
683         G_PKG_NAME,
684         'Okl_Api.G_RET_STS_ERROR',
685         x_msg_count,
686         x_msg_data,
687         '_PVT'
688       );
689     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
690       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
691       (
692         l_api_name,
693         G_PKG_NAME,
694         'Okl_Api.G_RET_STS_UNEXP_ERROR',
695         x_msg_count,
696         x_msg_data,
697         '_PVT'
698       );
699     WHEN OTHERS THEN
700       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
701       (
702         l_api_name,
703         G_PKG_NAME,
704         'OTHERS',
705         x_msg_count,
706         x_msg_data,
707         '_PVT'
708       );
709   END validate_row;
710 
711   ---------------------------------------------------------------------------
712   -- PROCEDURE insert_row
713   ---------------------------------------------------------------------------
714   ------------------------------------------
715   -- insert_row for:OKL_CSH_ALLCT_SRCHS_H --
716   ------------------------------------------
717 /*  -- history tables not supported -- 04 APR 2002
718   PROCEDURE insert_row(
719     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
720     x_return_status                OUT NOCOPY VARCHAR2,
721     x_msg_count                    OUT NOCOPY NUMBER,
722     x_msg_data                     OUT NOCOPY VARCHAR2,
723     p_okl_csh_allct_srchs_h_rec    IN okl_csh_allct_srchs_h_rec_type,
724     x_okl_csh_allct_srchs_h_rec    OUT NOCOPY okl_csh_allct_srchs_h_rec_type) IS
725 
726     l_api_version                 CONSTANT NUMBER := 1;
727     l_api_name                     CONSTANT VARCHAR2(30) := 'H_insert_row';
728     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
729     l_okl_csh_allct_srchs_h_rec    okl_csh_allct_srchs_h_rec_type := p_okl_csh_allct_srchs_h_rec;
730     ldefoklcshallctsrchshrec       okl_csh_allct_srchs_h_rec_type;
731     ----------------------------------------------
732     -- Set_Attributes for:OKL_CSH_ALLCT_SRCHS_H --
733     ----------------------------------------------
734     FUNCTION Set_Attributes (
735       p_okl_csh_allct_srchs_h_rec IN  okl_csh_allct_srchs_h_rec_type,
736       x_okl_csh_allct_srchs_h_rec OUT NOCOPY okl_csh_allct_srchs_h_rec_type
737     ) RETURN VARCHAR2 IS
738       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
739     BEGIN
740       x_okl_csh_allct_srchs_h_rec := p_okl_csh_allct_srchs_h_rec;
741       RETURN(l_return_status);
742     END Set_Attributes;
743   BEGIN
744     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
745                                               p_init_msg_list,
746                                               '_PVT',
747                                               x_return_status);
748     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
749       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
750     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
751       RAISE Okl_Api.G_EXCEPTION_ERROR;
752     END IF;
753     --- Setting item attributes
754     l_return_status := Set_Attributes(
755       p_okl_csh_allct_srchs_h_rec,       -- IN
756       l_okl_csh_allct_srchs_h_rec);      -- OUT
757     --- If any errors happen abort API
758     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
759       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
760     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
761       RAISE Okl_Api.G_EXCEPTION_ERROR;
762     END IF;
763 
764    ---------------------------------------------
765    --Condition added by PB Suresh for Bug 2482011
766    ---------------------------------------------
767     l_return_status := Validate_Record(l_def_cahv_rec);
768     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
769       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
770     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
771       RAISE Okl_Api.G_EXCEPTION_ERROR;
772     END IF;
773     INSERT INTO OKL_CSH_ALLCT_SRCHS_H(
774         id,
775         major_version,
776         name,
777         sequence_number,
778         cash_search_type,
779         object_version_number,
780         description,
781         attribute_category,
785         attribute4,
782         attribute1,
783         attribute2,
784         attribute3,
786         attribute5,
787         attribute6,
788         attribute7,
789         attribute8,
790         attribute9,
791         attribute10,
792         attribute11,
793         attribute12,
794         attribute13,
795         attribute14,
796         attribute15,
797         created_by,
798         creation_date,
799         last_updated_by,
800         last_update_date,
801         last_update_login)
802       VALUES (
803         l_okl_csh_allct_srchs_h_rec.id,
804         l_okl_csh_allct_srchs_h_rec.major_version,
805         l_okl_csh_allct_srchs_h_rec.name,
806         l_okl_csh_allct_srchs_h_rec.sequence_number,
807         l_okl_csh_allct_srchs_h_rec.cash_search_type,
808         l_okl_csh_allct_srchs_h_rec.object_version_number,
809         l_okl_csh_allct_srchs_h_rec.description,
810         l_okl_csh_allct_srchs_h_rec.attribute_category,
811         l_okl_csh_allct_srchs_h_rec.attribute1,
812         l_okl_csh_allct_srchs_h_rec.attribute2,
813         l_okl_csh_allct_srchs_h_rec.attribute3,
814         l_okl_csh_allct_srchs_h_rec.attribute4,
815         l_okl_csh_allct_srchs_h_rec.attribute5,
816         l_okl_csh_allct_srchs_h_rec.attribute6,
817         l_okl_csh_allct_srchs_h_rec.attribute7,
818         l_okl_csh_allct_srchs_h_rec.attribute8,
819         l_okl_csh_allct_srchs_h_rec.attribute9,
820         l_okl_csh_allct_srchs_h_rec.attribute10,
821         l_okl_csh_allct_srchs_h_rec.attribute11,
822         l_okl_csh_allct_srchs_h_rec.attribute12,
823         l_okl_csh_allct_srchs_h_rec.attribute13,
824         l_okl_csh_allct_srchs_h_rec.attribute14,
825         l_okl_csh_allct_srchs_h_rec.attribute15,
826         l_okl_csh_allct_srchs_h_rec.created_by,
827         l_okl_csh_allct_srchs_h_rec.creation_date,
828         l_okl_csh_allct_srchs_h_rec.last_updated_by,
829         l_okl_csh_allct_srchs_h_rec.last_update_date,
830         l_okl_csh_allct_srchs_h_rec.last_update_login);
831     -- Set OUT values
832     x_okl_csh_allct_srchs_h_rec := l_okl_csh_allct_srchs_h_rec;
833     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
834   EXCEPTION
835     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
836       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
837       (
838         l_api_name,
839         G_PKG_NAME,
840         'Okl_Api.G_RET_STS_ERROR',
841         x_msg_count,
842         x_msg_data,
843         '_PVT'
844       );
845     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
846       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
847       (
848         l_api_name,
849         G_PKG_NAME,
850         'Okl_Api.G_RET_STS_UNEXP_ERROR',
851         x_msg_count,
852         x_msg_data,
853         '_PVT'
854       );
855     WHEN OTHERS THEN
856       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
857       (
858         l_api_name,
859         G_PKG_NAME,
860         'OTHERS',
861         x_msg_count,
862         x_msg_data,
863         '_PVT'
864       );
865   END insert_row;
866 */  -- history tables not supported -- 04 APR 2002
867   ----------------------------------------
868   -- insert_row for:OKL_CSH_ALLCT_SRCHS --
869   ----------------------------------------
870   PROCEDURE insert_row(
871     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
872     x_return_status                OUT NOCOPY VARCHAR2,
873     x_msg_count                    OUT NOCOPY NUMBER,
874     x_msg_data                     OUT NOCOPY VARCHAR2,
875     p_cah_rec                      IN cah_rec_type,
876     x_cah_rec                      OUT NOCOPY cah_rec_type) IS
877 
878     l_api_version                 CONSTANT NUMBER := 1;
879     l_api_name                     CONSTANT VARCHAR2(30) := 'SRCHS_insert_row';
880     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
881     l_cah_rec                      cah_rec_type := p_cah_rec;
882     l_def_cah_rec                  cah_rec_type;
883     --------------------------------------------
884     -- Set_Attributes for:OKL_CSH_ALLCT_SRCHS --
885     --------------------------------------------
886     FUNCTION Set_Attributes (
887       p_cah_rec IN  cah_rec_type,
888       x_cah_rec OUT NOCOPY cah_rec_type
889     ) RETURN VARCHAR2 IS
890       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
891     BEGIN
892       x_cah_rec := p_cah_rec;
893       RETURN(l_return_status);
894     END Set_Attributes;
895   BEGIN
896     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
897                                               p_init_msg_list,
898                                               '_PVT',
899                                               x_return_status);
900     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
901       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
902     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
903       RAISE Okl_Api.G_EXCEPTION_ERROR;
904     END IF;
905     --- Setting item attributes
906     l_return_status := Set_Attributes(
907       p_cah_rec,                         -- IN
908       l_cah_rec);                        -- OUT
909     --- If any errors happen abort API
910     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
914     END IF;
911       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
912     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
913       RAISE Okl_Api.G_EXCEPTION_ERROR;
915     INSERT INTO OKL_CSH_ALLCT_SRCHS(
916         id,
917         name,
918         sequence_number,
919         cash_search_type,
920         object_version_number,
921         description,
922         attribute_category,
923         attribute1,
924         attribute2,
925         attribute3,
926         attribute4,
927         attribute5,
928         attribute6,
929         attribute7,
930         attribute8,
931         attribute9,
932         attribute10,
933         attribute11,
934         attribute12,
935         attribute13,
936         attribute14,
937         attribute15,
938         org_id,
939         created_by,
940         creation_date,
941         last_updated_by,
942         last_update_date,
943         last_update_login)
944       VALUES (
945         l_cah_rec.id,
946         l_cah_rec.name,
947         l_cah_rec.sequence_number,
948         l_cah_rec.cash_search_type,
949         l_cah_rec.object_version_number,
950         l_cah_rec.description,
951         l_cah_rec.attribute_category,
952         l_cah_rec.attribute1,
953         l_cah_rec.attribute2,
954         l_cah_rec.attribute3,
955         l_cah_rec.attribute4,
956         l_cah_rec.attribute5,
957         l_cah_rec.attribute6,
958         l_cah_rec.attribute7,
959         l_cah_rec.attribute8,
960         l_cah_rec.attribute9,
961         l_cah_rec.attribute10,
962         l_cah_rec.attribute11,
963         l_cah_rec.attribute12,
964         l_cah_rec.attribute13,
965         l_cah_rec.attribute14,
966         l_cah_rec.attribute15,
967         l_cah_rec.org_id,
968         l_cah_rec.created_by,
969         l_cah_rec.creation_date,
970         l_cah_rec.last_updated_by,
971         l_cah_rec.last_update_date,
972         l_cah_rec.last_update_login);
973     -- Set OUT values
974     x_cah_rec := l_cah_rec;
975     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
976   EXCEPTION
977     WHEN okl_api.G_EXCEPTION_ERROR THEN
978       x_return_status := 'E';
979       NULL;
980       /*
981       x_return_status := okl_api.HANDLE_EXCEPTIONS
982       (
983         l_api_name,
984         G_PKG_NAME,
985         'okl_api.G_RET_STS_ERROR',
986         x_msg_count,
987         x_msg_data,
988         '_PVT'
989       );
990       */
991     WHEN okl_api.G_EXCEPTION_UNEXPECTED_ERROR THEN
992       x_return_status := 'U';
993       NULL;
994       /*
995       x_return_status :=okl_api.HANDLE_EXCEPTIONS
996       (
997         l_api_name,
998         G_PKG_NAME,
999         'okl_api.G_RET_STS_UNEXP_ERROR',
1000         x_msg_count,
1001         x_msg_data,
1002         '_PVT'
1003       );
1004       */
1005     WHEN OTHERS THEN
1006       x_return_status := 'U';
1007       NULL;
1008       /*
1009       x_return_status :=okl_api.HANDLE_EXCEPTIONS
1010       (
1011         l_api_name,
1012         G_PKG_NAME,
1013         'OTHERS',
1014         x_msg_count,
1015         x_msg_data,
1016         '_PVT'
1017       );
1018       */
1019   END insert_row;
1020   ------------------------------------------
1021   -- insert_row for:OKL_CSH_ALLCT_SRCHS_V --
1022   ------------------------------------------
1023   PROCEDURE insert_row(
1024     p_api_version                  IN NUMBER,
1025     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1026     x_return_status                OUT NOCOPY VARCHAR2,
1027     x_msg_count                    OUT NOCOPY NUMBER,
1028     x_msg_data                     OUT NOCOPY VARCHAR2,
1029     p_cahv_rec                     IN cahv_rec_type,
1030     x_cahv_rec                     OUT NOCOPY cahv_rec_type) IS
1031 
1032     l_api_version                 CONSTANT NUMBER := 1;
1033     l_api_name                     CONSTANT VARCHAR2(30) := 'V_insert_row';
1034     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1035     l_cahv_rec                     cahv_rec_type;
1036     l_def_cahv_rec                 cahv_rec_type;
1037     l_cah_rec                      cah_rec_type;
1038     lx_cah_rec                     cah_rec_type;
1039     -------------------------------
1040     -- FUNCTION fill_who_columns --
1041     -------------------------------
1042     FUNCTION fill_who_columns (
1043       p_cahv_rec	IN cahv_rec_type
1044     ) RETURN cahv_rec_type IS
1045       l_cahv_rec	cahv_rec_type := p_cahv_rec;
1046     BEGIN
1047       l_cahv_rec.CREATION_DATE := SYSDATE;
1048       l_cahv_rec.CREATED_BY := Fnd_Global.User_Id;
1049       l_cahv_rec.LAST_UPDATE_DATE := l_cahv_rec.CREATION_DATE;
1050       l_cahv_rec.LAST_UPDATED_BY := Fnd_Global.User_Id;
1051       l_cahv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1052       RETURN(l_cahv_rec);
1053     END fill_who_columns;
1054     ----------------------------------------------
1055     -- Set_Attributes for:OKL_CSH_ALLCT_SRCHS_V --
1056     ----------------------------------------------
1057     FUNCTION Set_Attributes (
1058       p_cahv_rec IN  cahv_rec_type,
1059       x_cahv_rec OUT NOCOPY cahv_rec_type
1063       x_cahv_rec := p_cahv_rec;
1060     ) RETURN VARCHAR2 IS
1061       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1062     BEGIN
1064       x_cahv_rec.OBJECT_VERSION_NUMBER := 1;
1065       RETURN(l_return_status);
1066     END Set_Attributes;
1067   BEGIN
1068     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1069                                               G_PKG_NAME,
1070                                               p_init_msg_list,
1071                                               l_api_version,
1072                                               p_api_version,
1073                                               '_PVT',
1074                                               x_return_status);
1075 
1076 
1077 
1078     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1079       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1080     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1081       RAISE Okl_Api.G_EXCEPTION_ERROR;
1082     END IF;
1083 
1084 
1085 
1086     l_cahv_rec := null_out_defaults(p_cahv_rec);
1087     -- Set primary key value
1088     l_cahv_rec.ID := get_seq_id;
1089     --- Setting item attributes
1090     l_return_status := Set_Attributes(
1091       l_cahv_rec,                        -- IN
1092       l_def_cahv_rec);                   -- OUT
1093     --- If any errors happen abort API
1094     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1095       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1096     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1097       RAISE Okl_Api.G_EXCEPTION_ERROR;
1098     END IF;
1099     l_def_cahv_rec := fill_who_columns(l_def_cahv_rec);
1100     --- Validate all non-missing attributes (Item Level Validation)
1101     l_return_status := Validate_Attributes(l_def_cahv_rec);
1102     --- If any errors happen abort API
1103     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1104       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1105     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1106       RAISE Okl_Api.G_EXCEPTION_ERROR;
1107     END IF;
1108     l_return_status := Validate_Record(l_def_cahv_rec);
1109     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1110       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1111     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1112       RAISE Okl_Api.G_EXCEPTION_ERROR;
1113     END IF;
1114     --------------------------------------
1115     -- Move VIEW record to "Child" records
1116     --------------------------------------
1117     migrate(l_def_cahv_rec, l_cah_rec);
1118     --------------------------------------------
1119     -- Call the INSERT_ROW for each child record
1120     --------------------------------------------
1121     insert_row(
1122       p_init_msg_list,
1123       x_return_status,
1124       x_msg_count,
1125       x_msg_data,
1126       l_cah_rec,
1127       lx_cah_rec
1128     );
1129 
1130     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1131       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1132     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1133       RAISE Okl_Api.G_EXCEPTION_ERROR;
1134     END IF;
1135     migrate(lx_cah_rec, l_def_cahv_rec);
1136     -- Set OUT values
1137     x_cahv_rec := l_def_cahv_rec;
1138     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1139   EXCEPTION
1140     WHEN okl_api.G_EXCEPTION_ERROR THEN
1141       x_return_status := 'E';
1142       NULL;
1143       /*
1144       x_return_status := okl_api.HANDLE_EXCEPTIONS
1145       (
1146         l_api_name,
1147         G_PKG_NAME,
1148         'okl_api.G_RET_STS_ERROR',
1149         x_msg_count,
1150         x_msg_data,
1151         '_PVT'
1152       );
1153       */
1154     WHEN okl_api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1155       x_return_status := 'U';
1156       NULL;
1157       /*
1158       x_return_status :=okl_api.HANDLE_EXCEPTIONS
1159       (
1160         l_api_name,
1161         G_PKG_NAME,
1162         'okl_api.G_RET_STS_UNEXP_ERROR',
1163         x_msg_count,
1164         x_msg_data,
1165         '_PVT'
1166       );
1167       */
1168     WHEN OTHERS THEN
1169       x_return_status := 'U';
1170       NULL;
1171       /*
1172       x_return_status :=okl_api.HANDLE_EXCEPTIONS
1173       (
1174         l_api_name,
1175         G_PKG_NAME,
1176         'OTHERS',
1177         x_msg_count,
1178         x_msg_data,
1179         '_PVT'
1180       );
1181       */
1182   END insert_row;
1183   ----------------------------------------
1184   -- PL/SQL TBL insert_row for:CAHV_TBL --
1185   ----------------------------------------
1186   PROCEDURE insert_row(
1187     p_api_version                  IN NUMBER,
1188     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1189     x_return_status                OUT NOCOPY VARCHAR2,
1190     x_msg_count                    OUT NOCOPY NUMBER,
1191     x_msg_data                     OUT NOCOPY VARCHAR2,
1192     p_cahv_tbl                     IN cahv_tbl_type,
1193     x_cahv_tbl                     OUT NOCOPY cahv_tbl_type) IS
1194 
1195     l_api_version                 CONSTANT NUMBER := 1;
1196     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1197     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1201     l_cahv_tbl           cahv_tbl_type := p_cahv_tbl;
1198     i                              NUMBER := 0;
1199 
1200 --custom code start: added by sspurani on 02/22/2002
1202 
1203     l_cahv_seq_tbl       cahv_tbl_type;
1204     x_cahv_seq_tbl       cahv_tbl_type;
1205 
1206     x1_cahv_tbl          cahv_tbl_type;
1207     x1_return_status     VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1208     j                    NUMBER;
1209     l_newrownum          INTEGER;
1210 --custom code end: added by sspurani on 02/22/2002
1211 
1212     -- Begin Post-Generation Change
1213     -- overall error status
1214     l_overall_status               VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1215     -- End Post-Generation Change
1216 
1217  -----------------------------------------------------------------------
1218  --Custom Code Start: Added for generating and ordering sequence numbers
1219  --                   in multiples of 5 -- Added by sspurani 02/22/2002
1220  -----------------------------------------------------------------------
1221 
1222  -------------------
1223 -- DECLARE Cursors
1224 -------------------
1225 -- Get all the rows for update
1226    CURSOR c_csh_allct_srchs_all IS
1227    SELECT SEQUENCE_NUMBER, ID , NAME
1228    FROM OKL_CSH_ALLCT_SRCHS
1229    order by SEQUENCE_NUMBER;
1230 
1231    c_csh_allct_srchs_all_rec           c_csh_allct_srchs_all%ROWTYPE;
1232 
1233  -----------------------------------------------------------------------
1234  --Custom Code End: Added for generating and ordering sequence numbers
1235  --                   in multiples of 5 -- Added by sspurani 02/22/2002
1236  -----------------------------------------------------------------------
1237 
1238   BEGIN
1239     Okl_Api.init_msg_list(p_init_msg_list);
1240     -- Make sure PL/SQL table has records in it before passing
1241     IF (p_cahv_tbl.COUNT > 0) THEN
1242       i := p_cahv_tbl.FIRST;
1243       LOOP
1244         insert_row (
1245           p_api_version                  => p_api_version,
1246           p_init_msg_list                => Okl_Api.G_FALSE,
1247           x_return_status                => x_return_status,
1248           x_msg_count                    => x_msg_count,
1249           x_msg_data                     => x_msg_data,
1250           p_cahv_rec                     => p_cahv_tbl(i),
1251           x_cahv_rec                     => x_cahv_tbl(i));
1252 
1253 		  -- Begin Post-Generation Change
1254           -- store the highest degree of error
1255           IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
1256              IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
1257                 l_overall_status := x_return_status;
1258              END IF;
1259           END IF;
1260           -- End Post-Generation Change
1261 
1262         EXIT WHEN (i = p_cahv_tbl.LAST);
1263         i := p_cahv_tbl.NEXT(i);
1264       END LOOP;
1265 
1266 	  -- Begin Post-Generation Change
1267       -- return overall status
1268       x_return_status := l_overall_status;
1269       -- End Post-Generation Change
1270 
1271     END IF;
1272 
1273  -----------------------------------------------------------------------
1274  --Custom Code Start: Added for generating and ordering sequence numbers
1275  --                   in multiples of 5 -- Added by sspurani 02/22/2002
1276  -----------------------------------------------------------------------
1277 
1278         l_newrownum :=  1;
1279         j   := 1;
1280 
1281         OPEN c_csh_allct_srchs_all;
1282         LOOP
1283         FETCH c_csh_allct_srchs_all INTO c_csh_allct_srchs_all_rec;
1284         EXIT WHEN c_csh_allct_srchs_all%NOTFOUND;
1285 
1286             l_cahv_seq_tbl(j).ID  := c_csh_allct_srchs_all_rec.ID;
1287             l_cahv_seq_tbl(j).SEQUENCE_NUMBER := (l_newrownum*5);
1288             l_cahv_seq_tbl(j).NAME := c_csh_allct_srchs_all_rec.NAME;
1289 
1290             l_newrownum := l_newrownum + 1;
1291             j   := j + 1;
1292 
1293         END LOOP;
1294 
1295         update_row (
1296           p_api_version                  => p_api_version,
1297           p_init_msg_list                => Okl_Api.G_FALSE,
1298           x_return_status                => x1_return_status,
1299           x_msg_count                    => x_msg_count,
1300           x_msg_data                     => x_msg_data,
1301           p_cahv_tbl                     => l_cahv_seq_tbl,
1302           x_cahv_tbl                     => x_cahv_seq_tbl);
1303 
1304 
1305  -----------------------------------------------------------------------
1306  --Custom Code End: Added for generating and ordering sequence numbers
1307  --                   in multiples of 5 -- Added by sspurani 02/22/2002
1308  -----------------------------------------------------------------------
1309 
1310   EXCEPTION
1311      WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1312       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1313       (
1314         l_api_name,
1315         G_PKG_NAME,
1316         'Okl_Api.G_RET_STS_ERROR',
1317         x_msg_count,
1318         x_msg_data,
1319         '_PVT'
1320       );
1321     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1322       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1323       (
1324         l_api_name,
1325         G_PKG_NAME,
1326         'Okl_Api.G_RET_STS_UNEXP_ERROR',
1327         x_msg_count,
1328         x_msg_data,
1329         '_PVT'
1333       (
1330       );
1331     WHEN OTHERS THEN
1332       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1334         l_api_name,
1335         G_PKG_NAME,
1336         'OTHERS',
1337         x_msg_count,
1338         x_msg_data,
1339         '_PVT'
1340       );
1341   END insert_row;
1342 
1343   ---------------------------------------------------------------------------
1344   -- PROCEDURE lock_row
1345   ---------------------------------------------------------------------------
1346   --------------------------------------
1347   -- lock_row for:OKL_CSH_ALLCT_SRCHS --
1348   --------------------------------------
1349   PROCEDURE lock_row(
1350     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1351     x_return_status                OUT NOCOPY VARCHAR2,
1352     x_msg_count                    OUT NOCOPY NUMBER,
1353     x_msg_data                     OUT NOCOPY VARCHAR2,
1354     p_cah_rec                      IN cah_rec_type) IS
1355 
1356     E_Resource_Busy               EXCEPTION;
1357     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1358     CURSOR lock_csr (p_cah_rec IN cah_rec_type) IS
1359     SELECT OBJECT_VERSION_NUMBER
1360       FROM OKL_CSH_ALLCT_SRCHS
1361      WHERE ID = p_cah_rec.id
1362        AND OBJECT_VERSION_NUMBER = p_cah_rec.object_version_number
1363     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1364 
1365     CURSOR  lchk_csr (p_cah_rec IN cah_rec_type) IS
1366     SELECT OBJECT_VERSION_NUMBER
1367       FROM OKL_CSH_ALLCT_SRCHS
1368     WHERE ID = p_cah_rec.id;
1369     l_api_version                 CONSTANT NUMBER := 1;
1370     l_api_name                     CONSTANT VARCHAR2(30) := 'SRCHS_lock_row';
1371     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1372     l_object_version_number       OKL_CSH_ALLCT_SRCHS.OBJECT_VERSION_NUMBER%TYPE;
1373     lc_object_version_number      OKL_CSH_ALLCT_SRCHS.OBJECT_VERSION_NUMBER%TYPE;
1374     l_row_notfound                BOOLEAN := FALSE;
1375     lc_row_notfound               BOOLEAN := FALSE;
1376   BEGIN
1377     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1378                                               p_init_msg_list,
1379                                               '_PVT',
1380                                               x_return_status);
1381     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1382       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1383     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1384       RAISE Okl_Api.G_EXCEPTION_ERROR;
1385     END IF;
1386     BEGIN
1387       OPEN lock_csr(p_cah_rec);
1388       FETCH lock_csr INTO l_object_version_number;
1389       l_row_notfound := lock_csr%NOTFOUND;
1390       CLOSE lock_csr;
1391     EXCEPTION
1392       WHEN E_Resource_Busy THEN
1393         IF (lock_csr%ISOPEN) THEN
1394           CLOSE lock_csr;
1395         END IF;
1396         Okl_Api.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1397         RAISE App_Exceptions.RECORD_LOCK_EXCEPTION;
1398     END;
1399 
1400     IF ( l_row_notfound ) THEN
1401       OPEN lchk_csr(p_cah_rec);
1402       FETCH lchk_csr INTO lc_object_version_number;
1403       lc_row_notfound := lchk_csr%NOTFOUND;
1404       CLOSE lchk_csr;
1405     END IF;
1406     IF (lc_row_notfound) THEN
1407       Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1408       RAISE Okl_Api.G_EXCEPTION_ERROR;
1409     ELSIF lc_object_version_number > p_cah_rec.object_version_number THEN
1410       Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1411       RAISE Okl_Api.G_EXCEPTION_ERROR;
1412     ELSIF lc_object_version_number <> p_cah_rec.object_version_number THEN
1413       Okl_Api.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1414       RAISE Okl_Api.G_EXCEPTION_ERROR;
1415     ELSIF lc_object_version_number = -1 THEN
1416       Okl_Api.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1417       RAISE Okl_Api.G_EXCEPTION_ERROR;
1418     END IF;
1419     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1420   EXCEPTION
1421     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1422       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1423       (
1424         l_api_name,
1425         G_PKG_NAME,
1426         'Okl_Api.G_RET_STS_ERROR',
1427         x_msg_count,
1428         x_msg_data,
1429         '_PVT'
1430       );
1431     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1432       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1433       (
1434         l_api_name,
1435         G_PKG_NAME,
1436         'Okl_Api.G_RET_STS_UNEXP_ERROR',
1437         x_msg_count,
1438         x_msg_data,
1439         '_PVT'
1440       );
1441     WHEN OTHERS THEN
1442       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1443       (
1444         l_api_name,
1445         G_PKG_NAME,
1446         'OTHERS',
1447         x_msg_count,
1448         x_msg_data,
1449         '_PVT'
1450       );
1451   END lock_row;
1452   ----------------------------------------
1453   -- lock_row for:OKL_CSH_ALLCT_SRCHS_V --
1454   ----------------------------------------
1455   PROCEDURE lock_row(
1456     p_api_version                  IN NUMBER,
1457     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1458     x_return_status                OUT NOCOPY VARCHAR2,
1459     x_msg_count                    OUT NOCOPY NUMBER,
1460     x_msg_data                     OUT NOCOPY VARCHAR2,
1464     l_api_name                     CONSTANT VARCHAR2(30) := 'V_lock_row';
1461     p_cahv_rec                     IN cahv_rec_type) IS
1462 
1463     l_api_version                 CONSTANT NUMBER := 1;
1465     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1466     l_cah_rec                      cah_rec_type;
1467   BEGIN
1468     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1469                                               G_PKG_NAME,
1470                                               p_init_msg_list,
1471                                               l_api_version,
1472                                               p_api_version,
1473                                               '_PVT',
1474                                               x_return_status);
1475     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1476       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1477     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1478       RAISE Okl_Api.G_EXCEPTION_ERROR;
1479     END IF;
1480     --------------------------------------
1481     -- Move VIEW record to "Child" records
1482     --------------------------------------
1483     migrate(p_cahv_rec, l_cah_rec);
1484     --------------------------------------------
1485     -- Call the LOCK_ROW for each child record
1486     --------------------------------------------
1487     lock_row(
1488       p_init_msg_list,
1489       x_return_status,
1490       x_msg_count,
1491       x_msg_data,
1492       l_cah_rec
1493     );
1494     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1495       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1496     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1497       RAISE Okl_Api.G_EXCEPTION_ERROR;
1498     END IF;
1499     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1500   EXCEPTION
1501     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1502       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1503       (
1504         l_api_name,
1505         G_PKG_NAME,
1506         'Okl_Api.G_RET_STS_ERROR',
1507         x_msg_count,
1508         x_msg_data,
1509         '_PVT'
1510       );
1511     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1512       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1513       (
1514         l_api_name,
1515         G_PKG_NAME,
1516         'Okl_Api.G_RET_STS_UNEXP_ERROR',
1517         x_msg_count,
1518         x_msg_data,
1519         '_PVT'
1520       );
1521     WHEN OTHERS THEN
1522       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1523       (
1524         l_api_name,
1525         G_PKG_NAME,
1526         'OTHERS',
1527         x_msg_count,
1528         x_msg_data,
1529         '_PVT'
1530       );
1531   END lock_row;
1532   --------------------------------------
1533   -- PL/SQL TBL lock_row for:CAHV_TBL --
1534   --------------------------------------
1535   PROCEDURE lock_row(
1536     p_api_version                  IN NUMBER,
1537     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1538     x_return_status                OUT NOCOPY VARCHAR2,
1539     x_msg_count                    OUT NOCOPY NUMBER,
1540     x_msg_data                     OUT NOCOPY VARCHAR2,
1541     p_cahv_tbl                     IN cahv_tbl_type) IS
1542 
1543     l_api_version                 CONSTANT NUMBER := 1;
1544     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
1545     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1546     i                              NUMBER := 0;
1547 	-- Begin Post-Generation Change
1548     -- overall error status
1549     l_overall_status               VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1550     -- End Post-Generation Change
1551 
1552   BEGIN
1553     Okl_Api.init_msg_list(p_init_msg_list);
1554     -- Make sure PL/SQL table has records in it before passing
1555     IF (p_cahv_tbl.COUNT > 0) THEN
1556       i := p_cahv_tbl.FIRST;
1557       LOOP
1558         lock_row (
1559           p_api_version                  => p_api_version,
1560           p_init_msg_list                => Okl_Api.G_FALSE,
1561           x_return_status                => x_return_status,
1562           x_msg_count                    => x_msg_count,
1563           x_msg_data                     => x_msg_data,
1564           p_cahv_rec                     => p_cahv_tbl(i));
1565 
1566 		  -- Begin Post-Generation Change
1567           -- store the highest degree of error
1568           IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
1569              IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
1570                 l_overall_status := x_return_status;
1571              END IF;
1572           END IF;
1573           -- End Post-Generation Change
1574 
1575         EXIT WHEN (i = p_cahv_tbl.LAST);
1576         i := p_cahv_tbl.NEXT(i);
1577       END LOOP;
1578 
1579 	  -- Begin Post-Generation Change
1580       -- return overall status
1581       x_return_status := l_overall_status;
1582       -- End Post-Generation Change
1583 
1584     END IF;
1585   EXCEPTION
1586     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1587       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1588       (
1589         l_api_name,
1590         G_PKG_NAME,
1591         'Okl_Api.G_RET_STS_ERROR',
1592         x_msg_count,
1596     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1593         x_msg_data,
1594         '_PVT'
1595       );
1597       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1598       (
1599         l_api_name,
1600         G_PKG_NAME,
1601         'Okl_Api.G_RET_STS_UNEXP_ERROR',
1602         x_msg_count,
1603         x_msg_data,
1604         '_PVT'
1605       );
1606     WHEN OTHERS THEN
1607       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1608       (
1609         l_api_name,
1610         G_PKG_NAME,
1611         'OTHERS',
1612         x_msg_count,
1613         x_msg_data,
1614         '_PVT'
1615       );
1616   END lock_row;
1617 
1618   ---------------------------------------------------------------------------
1619   -- PROCEDURE update_row
1620   ---------------------------------------------------------------------------
1621   ----------------------------------------
1622   -- update_row for:OKL_CSH_ALLCT_SRCHS --
1623   ----------------------------------------
1624   PROCEDURE update_row(
1625     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1626     x_return_status                OUT NOCOPY VARCHAR2,
1627     x_msg_count                    OUT NOCOPY NUMBER,
1628     x_msg_data                     OUT NOCOPY VARCHAR2,
1629     p_cah_rec                      IN cah_rec_type,
1630     x_cah_rec                      OUT NOCOPY cah_rec_type) IS
1631 
1632     l_api_version                 CONSTANT NUMBER := 1;
1633     l_api_name                     CONSTANT VARCHAR2(30) := 'SRCHS_update_row';
1634     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1635     l_cah_rec                      cah_rec_type := p_cah_rec;
1636     l_def_cah_rec                  cah_rec_type;
1637     l_row_notfound                 BOOLEAN := TRUE;
1638 --  l_okl_csh_allct_srchs_h_rec    okl_csh_allct_srchs_h_rec_type;
1639 --  lx_okl_csh_allct_srchs_h_rec   okl_csh_allct_srchs_h_rec_type;
1640     ----------------------------------
1641     -- FUNCTION populate_new_record --
1642     ----------------------------------
1643     FUNCTION populate_new_record (
1644       p_cah_rec	IN cah_rec_type,
1645       x_cah_rec	OUT NOCOPY cah_rec_type
1646     ) RETURN VARCHAR2 IS
1647       l_cah_rec                      cah_rec_type;
1648       l_row_notfound                 BOOLEAN := TRUE;
1649       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1650     BEGIN
1651       x_cah_rec := p_cah_rec;
1652       -- Get current database values
1653       l_cah_rec := get_rec(p_cah_rec, l_row_notfound);
1654       IF (l_row_notfound) THEN
1655         l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
1656       END IF;
1657       -- Move the "old" record to the history record:
1658       -- (1) to get the "old" version
1659       -- (2) to avoid 2 hits to the database
1660 --    migrate(l_cah_rec, l_okl_csh_allct_srchs_h_rec);
1661       IF (x_cah_rec.id = Okl_Api.G_MISS_NUM)
1662       THEN
1663         x_cah_rec.id := l_cah_rec.id;
1664       END IF;
1665       IF (x_cah_rec.name = Okl_Api.G_MISS_CHAR)
1666       THEN
1667         x_cah_rec.name := l_cah_rec.name;
1668       END IF;
1669       IF (x_cah_rec.sequence_number = Okl_Api.G_MISS_NUM)
1670       THEN
1671         x_cah_rec.sequence_number := l_cah_rec.sequence_number;
1672       END IF;
1673       IF (x_cah_rec.cash_search_type = Okl_Api.G_MISS_CHAR)
1674       THEN
1675         x_cah_rec.cash_search_type := l_cah_rec.cash_search_type;
1676       END IF;
1677       IF (x_cah_rec.object_version_number = Okl_Api.G_MISS_NUM)
1678       THEN
1679         x_cah_rec.object_version_number := l_cah_rec.object_version_number;
1680       END IF;
1681       IF (x_cah_rec.description = Okl_Api.G_MISS_CHAR)
1682       THEN
1683         x_cah_rec.description := l_cah_rec.description;
1684       END IF;
1685       IF (x_cah_rec.attribute_category = Okl_Api.G_MISS_CHAR)
1686       THEN
1687         x_cah_rec.attribute_category := l_cah_rec.attribute_category;
1688       END IF;
1689       IF (x_cah_rec.attribute1 = Okl_Api.G_MISS_CHAR)
1690       THEN
1691         x_cah_rec.attribute1 := l_cah_rec.attribute1;
1692       END IF;
1693       IF (x_cah_rec.attribute2 = Okl_Api.G_MISS_CHAR)
1694       THEN
1695         x_cah_rec.attribute2 := l_cah_rec.attribute2;
1696       END IF;
1697       IF (x_cah_rec.attribute3 = Okl_Api.G_MISS_CHAR)
1698       THEN
1699         x_cah_rec.attribute3 := l_cah_rec.attribute3;
1700       END IF;
1701       IF (x_cah_rec.attribute4 = Okl_Api.G_MISS_CHAR)
1702       THEN
1703         x_cah_rec.attribute4 := l_cah_rec.attribute4;
1704       END IF;
1705       IF (x_cah_rec.attribute5 = Okl_Api.G_MISS_CHAR)
1706       THEN
1707         x_cah_rec.attribute5 := l_cah_rec.attribute5;
1708       END IF;
1709       IF (x_cah_rec.attribute6 = Okl_Api.G_MISS_CHAR)
1710       THEN
1711         x_cah_rec.attribute6 := l_cah_rec.attribute6;
1712       END IF;
1713       IF (x_cah_rec.attribute7 = Okl_Api.G_MISS_CHAR)
1714       THEN
1715         x_cah_rec.attribute7 := l_cah_rec.attribute7;
1716       END IF;
1717       IF (x_cah_rec.attribute8 = Okl_Api.G_MISS_CHAR)
1718       THEN
1719         x_cah_rec.attribute8 := l_cah_rec.attribute8;
1720       END IF;
1721       IF (x_cah_rec.attribute9 = Okl_Api.G_MISS_CHAR)
1722       THEN
1723         x_cah_rec.attribute9 := l_cah_rec.attribute9;
1724       END IF;
1728       END IF;
1725       IF (x_cah_rec.attribute10 = Okl_Api.G_MISS_CHAR)
1726       THEN
1727         x_cah_rec.attribute10 := l_cah_rec.attribute10;
1729       IF (x_cah_rec.attribute11 = Okl_Api.G_MISS_CHAR)
1730       THEN
1731         x_cah_rec.attribute11 := l_cah_rec.attribute11;
1732       END IF;
1733       IF (x_cah_rec.attribute12 = Okl_Api.G_MISS_CHAR)
1734       THEN
1735         x_cah_rec.attribute12 := l_cah_rec.attribute12;
1736       END IF;
1737       IF (x_cah_rec.attribute13 = Okl_Api.G_MISS_CHAR)
1738       THEN
1739         x_cah_rec.attribute13 := l_cah_rec.attribute13;
1740       END IF;
1741       IF (x_cah_rec.attribute14 = Okl_Api.G_MISS_CHAR)
1742       THEN
1743         x_cah_rec.attribute14 := l_cah_rec.attribute14;
1744       END IF;
1745       IF (x_cah_rec.attribute15 = Okl_Api.G_MISS_CHAR)
1746       THEN
1747         x_cah_rec.attribute15 := l_cah_rec.attribute15;
1748       END IF;
1749       IF (x_cah_rec.org_id = Okl_Api.G_MISS_NUM)
1750       THEN
1751         x_cah_rec.org_id := l_cah_rec.org_id;
1752       END IF;
1753       IF (x_cah_rec.created_by = Okl_Api.G_MISS_NUM)
1754       THEN
1755         x_cah_rec.created_by := l_cah_rec.created_by;
1756       END IF;
1757       IF (x_cah_rec.creation_date = Okl_Api.G_MISS_DATE)
1758       THEN
1759         x_cah_rec.creation_date := l_cah_rec.creation_date;
1760       END IF;
1761       IF (x_cah_rec.last_updated_by = Okl_Api.G_MISS_NUM)
1762       THEN
1763         x_cah_rec.last_updated_by := l_cah_rec.last_updated_by;
1764       END IF;
1765       IF (x_cah_rec.last_update_date = Okl_Api.G_MISS_DATE)
1766       THEN
1767         x_cah_rec.last_update_date := l_cah_rec.last_update_date;
1768       END IF;
1769       IF (x_cah_rec.last_update_login = Okl_Api.G_MISS_NUM)
1770       THEN
1771         x_cah_rec.last_update_login := l_cah_rec.last_update_login;
1772       END IF;
1773       RETURN(l_return_status);
1774     END populate_new_record;
1775     --------------------------------------------
1776     -- Set_Attributes for:OKL_CSH_ALLCT_SRCHS --
1777     --------------------------------------------
1778     FUNCTION Set_Attributes (
1779       p_cah_rec IN  cah_rec_type,
1780       x_cah_rec OUT NOCOPY cah_rec_type
1781     ) RETURN VARCHAR2 IS
1782       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1783     BEGIN
1784       x_cah_rec := p_cah_rec;
1785       RETURN(l_return_status);
1786     END Set_Attributes;
1787   BEGIN
1788     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
1789                                               p_init_msg_list,
1790                                               '_PVT',
1791                                               x_return_status);
1792     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1793       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1794     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1795       RAISE Okl_Api.G_EXCEPTION_ERROR;
1796     END IF;
1797     --- Setting item attributes
1798     l_return_status := Set_Attributes(
1799       p_cah_rec,                         -- IN
1800       l_cah_rec);                        -- OUT
1801     --- If any errors happen abort API
1802     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1803       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1804     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1805       RAISE Okl_Api.G_EXCEPTION_ERROR;
1806     END IF;
1807     l_return_status := populate_new_record(l_cah_rec, l_def_cah_rec);
1808     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1809       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1810     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1811       RAISE Okl_Api.G_EXCEPTION_ERROR;
1812     END IF;
1813     UPDATE  OKL_CSH_ALLCT_SRCHS
1814     SET NAME = l_def_cah_rec.name,
1815         SEQUENCE_NUMBER = l_def_cah_rec.sequence_number,
1816         CASH_SEARCH_TYPE = l_def_cah_rec.cash_search_type,
1817         OBJECT_VERSION_NUMBER = l_def_cah_rec.object_version_number,
1818         DESCRIPTION = l_def_cah_rec.description,
1819         ATTRIBUTE_CATEGORY = l_def_cah_rec.attribute_category,
1820         ATTRIBUTE1 = l_def_cah_rec.attribute1,
1821         ATTRIBUTE2 = l_def_cah_rec.attribute2,
1822         ATTRIBUTE3 = l_def_cah_rec.attribute3,
1823         ATTRIBUTE4 = l_def_cah_rec.attribute4,
1824         ATTRIBUTE5 = l_def_cah_rec.attribute5,
1825         ATTRIBUTE6 = l_def_cah_rec.attribute6,
1826         ATTRIBUTE7 = l_def_cah_rec.attribute7,
1827         ATTRIBUTE8 = l_def_cah_rec.attribute8,
1828         ATTRIBUTE9 = l_def_cah_rec.attribute9,
1829         ATTRIBUTE10 = l_def_cah_rec.attribute10,
1830         ATTRIBUTE11 = l_def_cah_rec.attribute11,
1831         ATTRIBUTE12 = l_def_cah_rec.attribute12,
1832         ATTRIBUTE13 = l_def_cah_rec.attribute13,
1833         ATTRIBUTE14 = l_def_cah_rec.attribute14,
1834         ATTRIBUTE15 = l_def_cah_rec.attribute15,
1835         ORG_ID = l_def_cah_rec.org_id,
1836         CREATED_BY = l_def_cah_rec.created_by,
1837         CREATION_DATE = l_def_cah_rec.creation_date,
1838         LAST_UPDATED_BY = l_def_cah_rec.last_updated_by,
1839         LAST_UPDATE_DATE = l_def_cah_rec.last_update_date,
1840         LAST_UPDATE_LOGIN = l_def_cah_rec.last_update_login
1841     WHERE ID = l_def_cah_rec.id;
1842 
1843     -- Insert into History table
1844 /*
1845     insert_row(
1846       p_init_msg_list,
1847       x_return_status,
1851       lx_okl_csh_allct_srchs_h_rec
1848       x_msg_count,
1849       x_msg_data,
1850       l_okl_csh_allct_srchs_h_rec,
1852     );
1853 */
1854     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
1855       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
1856     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
1857       RAISE Okl_Api.G_EXCEPTION_ERROR;
1858     END IF;
1859     x_cah_rec := l_def_cah_rec;
1860     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
1861   EXCEPTION
1862     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
1863       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
1864       (
1865         l_api_name,
1866         G_PKG_NAME,
1867         'Okl_Api.G_RET_STS_ERROR',
1868         x_msg_count,
1869         x_msg_data,
1870         '_PVT'
1871       );
1872     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
1873       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1874       (
1875         l_api_name,
1876         G_PKG_NAME,
1877         'Okl_Api.G_RET_STS_UNEXP_ERROR',
1878         x_msg_count,
1879         x_msg_data,
1880         '_PVT'
1881       );
1882     WHEN OTHERS THEN
1883       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
1884       (
1885         l_api_name,
1886         G_PKG_NAME,
1887         'OTHERS',
1888         x_msg_count,
1889         x_msg_data,
1890         '_PVT'
1891       );
1892   END update_row;
1893   ------------------------------------------
1894   -- update_row for:OKL_CSH_ALLCT_SRCHS_V --
1895   ------------------------------------------
1896   PROCEDURE update_row(
1897     p_api_version                  IN NUMBER,
1898     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
1899     x_return_status                OUT NOCOPY VARCHAR2,
1900     x_msg_count                    OUT NOCOPY NUMBER,
1901     x_msg_data                     OUT NOCOPY VARCHAR2,
1902     p_cahv_rec                     IN cahv_rec_type,
1903     x_cahv_rec                     OUT NOCOPY cahv_rec_type) IS
1904 
1905     l_api_version                 CONSTANT NUMBER := 1;
1906     l_api_name                     CONSTANT VARCHAR2(30) := 'V_update_row';
1907     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1908     l_cahv_rec                     cahv_rec_type := p_cahv_rec;
1909     l_def_cahv_rec                 cahv_rec_type;
1910     l_cah_rec                      cah_rec_type;
1911     lx_cah_rec                     cah_rec_type;
1912     -------------------------------
1913     -- FUNCTION fill_who_columns --
1914     -------------------------------
1915     FUNCTION fill_who_columns (
1916       p_cahv_rec	IN cahv_rec_type
1917     ) RETURN cahv_rec_type IS
1918       l_cahv_rec	cahv_rec_type := p_cahv_rec;
1919     BEGIN
1920       l_cahv_rec.LAST_UPDATE_DATE := SYSDATE;
1921       l_cahv_rec.LAST_UPDATED_BY := Fnd_Global.User_Id;
1922       l_cahv_rec.LAST_UPDATE_LOGIN := Fnd_Global.LOGIN_ID;
1923       RETURN(l_cahv_rec);
1924     END fill_who_columns;
1925     ----------------------------------
1926     -- FUNCTION populate_new_record --
1927     ----------------------------------
1928     FUNCTION populate_new_record (
1929       p_cahv_rec	IN cahv_rec_type,
1930       x_cahv_rec	OUT NOCOPY cahv_rec_type
1931     ) RETURN VARCHAR2 IS
1932       l_cahv_rec                     cahv_rec_type;
1933       l_row_notfound                 BOOLEAN := TRUE;
1934       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
1935     BEGIN
1936       x_cahv_rec := p_cahv_rec;
1937       -- Get current database values
1938       l_cahv_rec := get_rec(p_cahv_rec, l_row_notfound);
1939       IF (l_row_notfound) THEN
1940         l_return_status := Okl_Api.G_RET_STS_UNEXP_ERROR;
1941       END IF;
1942       IF (x_cahv_rec.id = Okl_Api.G_MISS_NUM)
1943       THEN
1944         x_cahv_rec.id := l_cahv_rec.id;
1945       END IF;
1946       IF (x_cahv_rec.object_version_number = Okl_Api.G_MISS_NUM)
1947       THEN
1948         x_cahv_rec.object_version_number := l_cahv_rec.object_version_number;
1949       END IF;
1950       IF (x_cahv_rec.name = Okl_Api.G_MISS_CHAR)
1951       THEN
1952         x_cahv_rec.name := l_cahv_rec.name;
1953       END IF;
1954       IF (x_cahv_rec.description = Okl_Api.G_MISS_CHAR)
1955       THEN
1956         x_cahv_rec.description := l_cahv_rec.description;
1957       END IF;
1958       IF (x_cahv_rec.sequence_number = Okl_Api.G_MISS_NUM)
1959       THEN
1960         x_cahv_rec.sequence_number := l_cahv_rec.sequence_number;
1961       END IF;
1962       IF (x_cahv_rec.attribute_category = Okl_Api.G_MISS_CHAR)
1963       THEN
1964         x_cahv_rec.attribute_category := l_cahv_rec.attribute_category;
1965       END IF;
1966       IF (x_cahv_rec.attribute1 = Okl_Api.G_MISS_CHAR)
1967       THEN
1968         x_cahv_rec.attribute1 := l_cahv_rec.attribute1;
1969       END IF;
1970       IF (x_cahv_rec.attribute2 = Okl_Api.G_MISS_CHAR)
1971       THEN
1972         x_cahv_rec.attribute2 := l_cahv_rec.attribute2;
1973       END IF;
1974       IF (x_cahv_rec.attribute3 = Okl_Api.G_MISS_CHAR)
1975       THEN
1976         x_cahv_rec.attribute3 := l_cahv_rec.attribute3;
1977       END IF;
1978       IF (x_cahv_rec.attribute4 = Okl_Api.G_MISS_CHAR)
1979       THEN
1980         x_cahv_rec.attribute4 := l_cahv_rec.attribute4;
1981       END IF;
1982       IF (x_cahv_rec.attribute5 = Okl_Api.G_MISS_CHAR)
1983       THEN
1987       THEN
1984         x_cahv_rec.attribute5 := l_cahv_rec.attribute5;
1985       END IF;
1986       IF (x_cahv_rec.attribute6 = Okl_Api.G_MISS_CHAR)
1988         x_cahv_rec.attribute6 := l_cahv_rec.attribute6;
1989       END IF;
1990       IF (x_cahv_rec.attribute7 = Okl_Api.G_MISS_CHAR)
1991       THEN
1992         x_cahv_rec.attribute7 := l_cahv_rec.attribute7;
1993       END IF;
1994       IF (x_cahv_rec.attribute8 = Okl_Api.G_MISS_CHAR)
1995       THEN
1996         x_cahv_rec.attribute8 := l_cahv_rec.attribute8;
1997       END IF;
1998       IF (x_cahv_rec.attribute9 = Okl_Api.G_MISS_CHAR)
1999       THEN
2000         x_cahv_rec.attribute9 := l_cahv_rec.attribute9;
2001       END IF;
2002       IF (x_cahv_rec.attribute10 = Okl_Api.G_MISS_CHAR)
2003       THEN
2004         x_cahv_rec.attribute10 := l_cahv_rec.attribute10;
2005       END IF;
2006       IF (x_cahv_rec.attribute11 = Okl_Api.G_MISS_CHAR)
2007       THEN
2008         x_cahv_rec.attribute11 := l_cahv_rec.attribute11;
2009       END IF;
2010       IF (x_cahv_rec.attribute12 = Okl_Api.G_MISS_CHAR)
2011       THEN
2012         x_cahv_rec.attribute12 := l_cahv_rec.attribute12;
2013       END IF;
2014       IF (x_cahv_rec.attribute13 = Okl_Api.G_MISS_CHAR)
2015       THEN
2016         x_cahv_rec.attribute13 := l_cahv_rec.attribute13;
2017       END IF;
2018       IF (x_cahv_rec.attribute14 = Okl_Api.G_MISS_CHAR)
2019       THEN
2020         x_cahv_rec.attribute14 := l_cahv_rec.attribute14;
2021       END IF;
2022       IF (x_cahv_rec.attribute15 = Okl_Api.G_MISS_CHAR)
2023       THEN
2024         x_cahv_rec.attribute15 := l_cahv_rec.attribute15;
2025       END IF;
2026       IF (x_cahv_rec.org_id = Okl_Api.G_MISS_NUM)
2027       THEN
2028         x_cahv_rec.org_id := l_cahv_rec.org_id;
2029       END IF;
2030       IF (x_cahv_rec.cash_search_type = Okl_Api.G_MISS_CHAR)
2031       THEN
2032         x_cahv_rec.cash_search_type := l_cahv_rec.cash_search_type;
2033       END IF;
2034       IF (x_cahv_rec.created_by = Okl_Api.G_MISS_NUM)
2035       THEN
2036         x_cahv_rec.created_by := l_cahv_rec.created_by;
2037       END IF;
2038       IF (x_cahv_rec.creation_date = Okl_Api.G_MISS_DATE)
2039       THEN
2040         x_cahv_rec.creation_date := l_cahv_rec.creation_date;
2041       END IF;
2042       IF (x_cahv_rec.last_updated_by = Okl_Api.G_MISS_NUM)
2043       THEN
2044         x_cahv_rec.last_updated_by := l_cahv_rec.last_updated_by;
2045       END IF;
2046       IF (x_cahv_rec.last_update_date = Okl_Api.G_MISS_DATE)
2047       THEN
2048         x_cahv_rec.last_update_date := l_cahv_rec.last_update_date;
2049       END IF;
2050       IF (x_cahv_rec.last_update_login = Okl_Api.G_MISS_NUM)
2051       THEN
2052         x_cahv_rec.last_update_login := l_cahv_rec.last_update_login;
2053       END IF;
2054       RETURN(l_return_status);
2055     END populate_new_record;
2056     ----------------------------------------------
2057     -- Set_Attributes for:OKL_CSH_ALLCT_SRCHS_V --
2058     ----------------------------------------------
2059     FUNCTION Set_Attributes (
2060       p_cahv_rec IN  cahv_rec_type,
2061       x_cahv_rec OUT NOCOPY cahv_rec_type
2062     ) RETURN VARCHAR2 IS
2063       l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2064     BEGIN
2065       x_cahv_rec := p_cahv_rec;
2066       x_cahv_rec.OBJECT_VERSION_NUMBER := NVL(x_cahv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
2067       RETURN(l_return_status);
2068     END Set_Attributes;
2069   BEGIN
2070     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2071                                               G_PKG_NAME,
2072                                               p_init_msg_list,
2073                                               l_api_version,
2074                                               p_api_version,
2075                                               '_PVT',
2076                                               x_return_status);
2077 /*
2078     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2079       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2080     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2081       RAISE Okl_Api.G_EXCEPTION_ERROR;
2082     END IF;
2083 */
2084     --- Setting item attributes
2085     l_return_status := Set_Attributes(
2086       p_cahv_rec,                        -- IN
2087       l_cahv_rec);                       -- OUT
2088     --- If any errors happen abort API
2089     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2090       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2091     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2092       RAISE Okl_Api.G_EXCEPTION_ERROR;
2093     END IF;
2094     l_return_status := populate_new_record(l_cahv_rec, l_def_cahv_rec);
2095     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2096       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2097     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2098       RAISE Okl_Api.G_EXCEPTION_ERROR;
2099     END IF;
2100     l_def_cahv_rec := fill_who_columns(l_def_cahv_rec);
2101     --- Validate all non-missing attributes (Item Level Validation)
2102     l_return_status := Validate_Attributes(l_def_cahv_rec);
2103     --- If any errors happen abort API
2104     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2105       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2106     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2107       RAISE Okl_Api.G_EXCEPTION_ERROR;
2111       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2108     END IF;
2109     l_return_status := Validate_Record(l_def_cahv_rec);
2110     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2112     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2113       RAISE Okl_Api.G_EXCEPTION_ERROR;
2114     END IF;
2115 
2116     --------------------------------------
2117     -- Move VIEW record to "Child" records
2118     --------------------------------------
2119     migrate(l_def_cahv_rec, l_cah_rec);
2120     --------------------------------------------
2121     -- Call the UPDATE_ROW for each child record
2122     --------------------------------------------
2123 
2124     update_row(
2125       p_init_msg_list,
2126       x_return_status,
2127       x_msg_count,
2128       x_msg_data,
2129       l_cah_rec,
2130       lx_cah_rec
2131     );
2132 
2133     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2134       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2135     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2136       RAISE Okl_Api.G_EXCEPTION_ERROR;
2137     END IF;
2138     migrate(lx_cah_rec, l_def_cahv_rec);
2139     x_cahv_rec := l_def_cahv_rec;
2140     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2141   EXCEPTION
2142     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2143       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2144       (
2145         l_api_name,
2146         G_PKG_NAME,
2147         'Okl_Api.G_RET_STS_ERROR',
2148         x_msg_count,
2149         x_msg_data,
2150         '_PVT'
2151       );
2152     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2153       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2154       (
2155         l_api_name,
2156         G_PKG_NAME,
2157         'Okl_Api.G_RET_STS_UNEXP_ERROR',
2158         x_msg_count,
2159         x_msg_data,
2160         '_PVT'
2161       );
2162     WHEN OTHERS THEN
2163       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2164       (
2165         l_api_name,
2166         G_PKG_NAME,
2167         'OTHERS',
2168         x_msg_count,
2169         x_msg_data,
2170         '_PVT'
2171       );
2172   END update_row;
2173   ----------------------------------------
2174   -- PL/SQL TBL update_row for:CAHV_TBL --
2175   ----------------------------------------
2176   PROCEDURE update_row(
2177     p_api_version                  IN NUMBER,
2178     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
2179     x_return_status                OUT NOCOPY VARCHAR2,
2180     x_msg_count                    OUT NOCOPY NUMBER,
2181     x_msg_data                     OUT NOCOPY VARCHAR2,
2182     p_cahv_tbl                     IN cahv_tbl_type,
2183     x_cahv_tbl                     OUT NOCOPY cahv_tbl_type) IS
2184 
2185     l_api_version                 CONSTANT NUMBER := 1;
2186     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
2187     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2188     i                              NUMBER := 0;
2189 
2190 --custom code start: added by sspurani on 02/22/2002
2191     l_cahv_rec           cahv_rec_type;
2192     x_cahv_rec           cahv_rec_type;
2193     x1_return_status     VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2194     j                    NUMBER;
2195     l_newrownum          INTEGER;
2196 --custom code end: added by sspurani on 02/22/2002
2197 
2198     -- Begin Post-Generation Change
2199     -- overall error status
2200     l_overall_status               VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2201     -- End Post-Generation Change
2202 
2203  -----------------------------------------------------------------------
2204  --Custom Code Start: Added for ordering sequence numbers
2205  --                   in multiples of 5 -- Added by sspurani 02/22/2002
2206  -----------------------------------------------------------------------
2207 
2208  -------------------
2209 -- DECLARE Cursors
2210 -------------------
2211 -- Get all the rows for update
2212    CURSOR c_csh_allct_srchs_all IS
2213    SELECT SEQUENCE_NUMBER, ID
2214    FROM OKL_CSH_ALLCT_SRCHS
2215    order by SEQUENCE_NUMBER;
2216 
2217    c_csh_allct_srchs_all_rec           c_csh_allct_srchs_all%ROWTYPE;
2218 
2219  -----------------------------------------------------------------------
2220  --Custom Code End: Added for ordering sequence numbers
2221  --                   in multiples of 5 -- Added by sspurani 02/22/2002
2222  -----------------------------------------------------------------------
2223 
2224   BEGIN
2225     Okl_Api.init_msg_list(p_init_msg_list);
2226     -- Make sure PL/SQL table has records in it before passing
2227     IF (p_cahv_tbl.COUNT > 0) THEN
2228       i := p_cahv_tbl.FIRST;
2229       LOOP
2230         update_row (
2231           p_api_version                  => p_api_version,
2232           p_init_msg_list                => Okl_Api.G_FALSE,
2233           x_return_status                => x_return_status,
2234           x_msg_count                    => x_msg_count,
2235           x_msg_data                     => x_msg_data,
2236           p_cahv_rec                     => p_cahv_tbl(i),
2237           x_cahv_rec                     => x_cahv_tbl(i));
2238 
2239 		  -- Begin Post-Generation Change
2240           -- store the highest degree of error
2244              END IF;
2241           IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
2242              IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
2243                 l_overall_status := x_return_status;
2245           END IF;
2246           -- End Post-Generation Change
2247 
2248         EXIT WHEN (i = p_cahv_tbl.LAST);
2249         i := p_cahv_tbl.NEXT(i);
2250       END LOOP;
2251 
2252 	  -- Begin Post-Generation Change
2253       -- return overall status
2254       x_return_status := l_overall_status;
2255       -- End Post-Generation Change
2256 
2257     END IF;
2258 
2259  -----------------------------------------------------------------------
2260  --Custom Code Start: Added for ordering sequence numbers
2261  --                   in multiples of 5 -- Added by sspurani 02/26/2002
2262  -----------------------------------------------------------------------
2263 
2264 
2265     l_newrownum := 1;
2266     j   := 1;
2267 
2268     OPEN c_csh_allct_srchs_all;
2269     LOOP
2270     FETCH c_csh_allct_srchs_all INTO c_csh_allct_srchs_all_rec;
2271     EXIT WHEN c_csh_allct_srchs_all%NOTFOUND;
2272 
2273     l_cahv_rec.ID  := c_csh_allct_srchs_all_rec.ID;
2274     l_cahv_rec.SEQUENCE_NUMBER := (l_newrownum*5);
2275 
2276     update_row (
2277       p_api_version                  => p_api_version,
2278       p_init_msg_list                => Okl_Api.G_FALSE,
2279       x_return_status                => x1_return_status,
2280       x_msg_count                    => x_msg_count,
2281       x_msg_data                     => x_msg_data,
2282       p_cahv_rec                     => l_cahv_rec,
2283       x_cahv_rec                     => x_cahv_rec);
2284 
2285     l_newrownum := l_newrownum + 1;
2286     j   := j + 1;
2287 
2288     END LOOP;
2289 
2290  -----------------------------------------------------------------------
2291  --Custom Code End: Added for ordering sequence numbers
2292  --                   in multiples of 5 -- Added by sspurani 02/26/2002
2293  -----------------------------------------------------------------------
2294 
2295 
2296   EXCEPTION
2297     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2298       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2299       (
2300         l_api_name,
2301         G_PKG_NAME,
2302         'Okl_Api.G_RET_STS_ERROR',
2303         x_msg_count,
2304         x_msg_data,
2305         '_PVT'
2306       );
2307     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2308       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2309       (
2310         l_api_name,
2311         G_PKG_NAME,
2312         'Okl_Api.G_RET_STS_UNEXP_ERROR',
2313         x_msg_count,
2314         x_msg_data,
2315         '_PVT'
2316       );
2317     WHEN OTHERS THEN
2318       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2319       (
2320         l_api_name,
2321         G_PKG_NAME,
2322         'OTHERS',
2323         x_msg_count,
2324         x_msg_data,
2325         '_PVT'
2326       );
2327   END update_row;
2328 
2329   ---------------------------------------------------------------------------
2330   -- PROCEDURE delete_row
2331   ---------------------------------------------------------------------------
2332   ----------------------------------------
2333   -- delete_row for:OKL_CSH_ALLCT_SRCHS --
2334   ----------------------------------------
2335   PROCEDURE delete_row(
2336     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
2337     x_return_status                OUT NOCOPY VARCHAR2,
2338     x_msg_count                    OUT NOCOPY NUMBER,
2339     x_msg_data                     OUT NOCOPY VARCHAR2,
2340     p_cah_rec                      IN cah_rec_type) IS
2341 
2342     l_api_version                 CONSTANT NUMBER := 1;
2343     l_api_name                     CONSTANT VARCHAR2(30) := 'SRCHS_delete_row';
2344     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2345     l_cah_rec                      cah_rec_type:= p_cah_rec;
2346     l_row_notfound                 BOOLEAN := TRUE;
2347 --  l_okl_csh_allct_srchs_h_rec    okl_csh_allct_srchs_h_rec_type;
2348 --  lx_okl_csh_allct_srchs_h_rec   okl_csh_allct_srchs_h_rec_type;
2349   BEGIN
2350     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2351                                               p_init_msg_list,
2352                                               '_PVT',
2353                                               x_return_status);
2354     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2355       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2356     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2357       RAISE Okl_Api.G_EXCEPTION_ERROR;
2358     END IF;
2359     -- Insert into History table
2360     /*
2361     l_cah_rec := get_rec(l_cah_rec, l_row_notfound);
2362     IF (l_row_notfound) THEN
2363       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2364     END IF;
2365     migrate(l_cah_rec, l_okl_csh_allct_srchs_h_rec);
2366     insert_row(
2367       p_init_msg_list,
2368       x_return_status,
2369       x_msg_count,
2370       x_msg_data,
2371       l_okl_csh_allct_srchs_h_rec,
2372       lx_okl_csh_allct_srchs_h_rec
2373     );
2374    */
2375     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2376       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2380     DELETE FROM OKL_CSH_ALLCT_SRCHS
2377     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2378       RAISE Okl_Api.G_EXCEPTION_ERROR;
2379     END IF;
2381      WHERE ID = l_cah_rec.id;
2382 
2383     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2384   EXCEPTION
2385     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2386       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2387       (
2388         l_api_name,
2389         G_PKG_NAME,
2390         'Okl_Api.G_RET_STS_ERROR',
2391         x_msg_count,
2392         x_msg_data,
2393         '_PVT'
2394       );
2395     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2396       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2397       (
2398         l_api_name,
2399         G_PKG_NAME,
2400         'Okl_Api.G_RET_STS_UNEXP_ERROR',
2401         x_msg_count,
2402         x_msg_data,
2403         '_PVT'
2404       );
2405     WHEN OTHERS THEN
2406       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2407       (
2408         l_api_name,
2409         G_PKG_NAME,
2410         'OTHERS',
2411         x_msg_count,
2412         x_msg_data,
2413         '_PVT'
2414       );
2415   END delete_row;
2416   ------------------------------------------
2417   -- delete_row for:OKL_CSH_ALLCT_SRCHS_V --
2418   ------------------------------------------
2419   PROCEDURE delete_row(
2420     p_api_version                  IN NUMBER,
2421     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
2422     x_return_status                OUT NOCOPY VARCHAR2,
2423     x_msg_count                    OUT NOCOPY NUMBER,
2424     x_msg_data                     OUT NOCOPY VARCHAR2,
2425     p_cahv_rec                     IN cahv_rec_type) IS
2426 
2427     l_api_version                 CONSTANT NUMBER := 1;
2428     l_api_name                     CONSTANT VARCHAR2(30) := 'V_delete_row';
2429     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2430     l_cahv_rec                     cahv_rec_type := p_cahv_rec;
2431     l_cah_rec                      cah_rec_type;
2432 
2433  -----------------------------------------------------------------------
2434  --Custom Code Start: Added for generating and ordering sequence numbers
2435  --                   in multiples of 5 -- Added by sspurani 02/26/2002
2436  -----------------------------------------------------------------------
2437 
2438     x_cahv_rec           cahv_rec_type;
2439     j                    NUMBER;
2440     l_newrownum          INTEGER;
2441 
2442  -------------------
2443 -- DECLARE Cursors
2444 -------------------
2445 -- Get all the rows for update
2446    CURSOR c_csh_allct_srchs_all IS
2447    SELECT SEQUENCE_NUMBER, ID
2448    FROM OKL_CSH_ALLCT_SRCHS
2449    order by SEQUENCE_NUMBER;
2450 
2451    c_csh_allct_srchs_all_rec           c_csh_allct_srchs_all%ROWTYPE;
2452 
2453  -----------------------------------------------------------------------
2454  --Custom Code End: Added for generating and ordering sequence numbers
2455  --                   in multiples of 5 -- Added by sspurani 02/26/2002
2456  -----------------------------------------------------------------------
2457 
2458   BEGIN
2459     l_return_status := Okl_Api.START_ACTIVITY(l_api_name,
2460                                               G_PKG_NAME,
2461                                               p_init_msg_list,
2462                                               l_api_version,
2463                                               p_api_version,
2464                                               '_PVT',
2465                                               x_return_status);
2466     IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2467       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2468     ELSIF (l_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2469       RAISE Okl_Api.G_EXCEPTION_ERROR;
2470     END IF;
2471     --------------------------------------
2472     -- Move VIEW record to "Child" records
2473     --------------------------------------
2474     migrate(l_cahv_rec, l_cah_rec);
2475     --------------------------------------------
2476     -- Call the DELETE_ROW for each child record
2477     --------------------------------------------
2478     delete_row(
2479       p_init_msg_list,
2480       x_return_status,
2481       x_msg_count,
2482       x_msg_data,
2483       l_cah_rec
2484     );
2485     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2486       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2487     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2488       RAISE Okl_Api.G_EXCEPTION_ERROR;
2489     END IF;
2490     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2491 
2492  -----------------------------------------------------------------------
2493  --Custom Code Start: Added for generating and ordering sequence numbers
2494  --                   in multiples of 5 -- Added by sspurani 02/26/2002
2495  -----------------------------------------------------------------------
2496 
2497         l_newrownum :=  1;
2498         j   := 1;
2499 
2500         OPEN c_csh_allct_srchs_all;
2501         LOOP
2502         FETCH c_csh_allct_srchs_all INTO c_csh_allct_srchs_all_rec;
2503         EXIT WHEN c_csh_allct_srchs_all%NOTFOUND;
2504 
2505             l_cahv_rec.ID  := c_csh_allct_srchs_all_rec.ID;
2506             l_cahv_rec.SEQUENCE_NUMBER := (l_newrownum*5);
2507 
2508 
2509             update_row (
2510               p_api_version                  => p_api_version,
2511               p_init_msg_list                => Okl_Api.G_FALSE,
2512               x_return_status                => x_return_status,
2513               x_msg_count                    => x_msg_count,
2514               x_msg_data                     => x_msg_data,
2515               p_cahv_rec                     => l_cahv_rec,
2516               x_cahv_rec                     => x_cahv_rec);
2517 
2518             l_newrownum := l_newrownum + 1;
2519             j   := j + 1;
2520 
2521         END LOOP;
2522 
2523     IF (x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
2524       RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
2525     ELSIF (x_return_status = Okl_Api.G_RET_STS_ERROR) THEN
2526       RAISE Okl_Api.G_EXCEPTION_ERROR;
2527     END IF;
2528     Okl_Api.END_ACTIVITY(x_msg_count, x_msg_data);
2529 
2530  -----------------------------------------------------------------------
2531  --Custom Code End: Added for generating and ordering sequence numbers
2532  --                   in multiples of 5 -- Added by sspurani 02/26/2002
2533  -----------------------------------------------------------------------
2534 
2535 
2536   EXCEPTION
2537     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2538       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2539       (
2540         l_api_name,
2541         G_PKG_NAME,
2542         'Okl_Api.G_RET_STS_ERROR',
2543         x_msg_count,
2544         x_msg_data,
2545         '_PVT'
2546       );
2547     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2548       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2549       (
2550         l_api_name,
2551         G_PKG_NAME,
2552         'Okl_Api.G_RET_STS_UNEXP_ERROR',
2553         x_msg_count,
2554         x_msg_data,
2555         '_PVT'
2556       );
2557     WHEN OTHERS THEN
2558       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2559       (
2560         l_api_name,
2561         G_PKG_NAME,
2562         'OTHERS',
2563         x_msg_count,
2564         x_msg_data,
2565         '_PVT'
2566       );
2567   END delete_row;
2568   ----------------------------------------
2569   -- PL/SQL TBL delete_row for:CAHV_TBL --
2570   ----------------------------------------
2571   PROCEDURE delete_row(
2572     p_api_version                  IN NUMBER,
2573     p_init_msg_list                IN VARCHAR2 DEFAULT Okl_Api.G_FALSE,
2574     x_return_status                OUT NOCOPY VARCHAR2,
2575     x_msg_count                    OUT NOCOPY NUMBER,
2576     x_msg_data                     OUT NOCOPY VARCHAR2,
2577     p_cahv_tbl                     IN cahv_tbl_type) IS
2578 
2579     l_api_version                 CONSTANT NUMBER := 1;
2580     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
2581     l_return_status                VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2582     i                              NUMBER := 0;
2583 	-- Begin Post-Generation Change
2584     -- overall error status
2585     l_overall_status               VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
2586     -- End Post-Generation Change
2587 
2588   BEGIN
2589     Okl_Api.init_msg_list(p_init_msg_list);
2590     -- Make sure PL/SQL table has records in it before passing
2591     IF (p_cahv_tbl.COUNT > 0) THEN
2592       i := p_cahv_tbl.FIRST;
2593       LOOP
2594         delete_row (
2595           p_api_version                  => p_api_version,
2596           p_init_msg_list                => Okl_Api.G_FALSE,
2597           x_return_status                => x_return_status,
2598           x_msg_count                    => x_msg_count,
2599           x_msg_data                     => x_msg_data,
2600           p_cahv_rec                     => p_cahv_tbl(i));
2601 
2602 		  -- Begin Post-Generation Change
2603           -- store the highest degree of error
2604           IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
2605              IF l_overall_status <> Okl_Api.G_RET_STS_UNEXP_ERROR THEN
2606                 l_overall_status := x_return_status;
2607              END IF;
2608           END IF;
2609           -- End Post-Generation Change
2610 
2611         EXIT WHEN (i = p_cahv_tbl.LAST);
2612         i := p_cahv_tbl.NEXT(i);
2613       END LOOP;
2614 
2615 	  -- Begin Post-Generation Change
2616       -- return overall status
2617       x_return_status := l_overall_status;
2618       -- End Post-Generation Change
2619 
2620     END IF;
2621   EXCEPTION
2622     WHEN Okl_Api.G_EXCEPTION_ERROR THEN
2623       x_return_status := Okl_Api.HANDLE_EXCEPTIONS
2624       (
2625         l_api_name,
2626         G_PKG_NAME,
2627         'Okl_Api.G_RET_STS_ERROR',
2628         x_msg_count,
2629         x_msg_data,
2630         '_PVT'
2631       );
2632     WHEN Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR THEN
2633       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2634       (
2635         l_api_name,
2636         G_PKG_NAME,
2637         'Okl_Api.G_RET_STS_UNEXP_ERROR',
2638         x_msg_count,
2639         x_msg_data,
2640         '_PVT'
2641       );
2642     WHEN OTHERS THEN
2643       x_return_status :=Okl_Api.HANDLE_EXCEPTIONS
2644       (
2645         l_api_name,
2646         G_PKG_NAME,
2647         'OTHERS',
2648         x_msg_count,
2649         x_msg_data,
2650         '_PVT'
2651       );
2652   END delete_row;
2653 END Okl_Cah_Pvt;