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