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