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