[Home] [Help]
PACKAGE BODY: APPS.OKL_TXS_PVT
Source
1 PACKAGE BODY OKL_TXS_PVT AS
2 /* $Header: OKLSTXSB.pls 120.9 2007/08/29 00:56:09 rravikir noship $ */
3 ---------------------------------------------------------------------------
4 -- PROCEDURE load_error_tbl
5 ---------------------------------------------------------------------------
6 PROCEDURE load_error_tbl (
7 px_error_rec IN OUT NOCOPY OKL_API.ERROR_REC_TYPE,
8 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
9
10 j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
11 last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
12 l_msg_idx INTEGER := FND_MSG_PUB.G_NEXT;
13 BEGIN
14 -- FND_MSG_PUB has a small error in it. If we call FND_MSG_PUB.COUNT_AND_GET before
15 -- we call FND_MSG_PUB.GET, the variable FND_MSG_PUB uses to control the index of the
16 -- message stack gets set to 1. This makes sense until we call FND_MSG_PUB.GET which
17 -- automatically increments the index by 1, (making it 2), however, when the GET function
18 -- attempts to pull message 2, we get a NO_DATA_FOUND exception because there isn't any
19 -- message 2. To circumvent this problem, check the amount of messages and compensate.
20 -- Again, this error only occurs when 1 message is on the stack because COUNT_AND_GET
21 -- will only update the index variable when 1 and only 1 message is on the stack.
22 IF (last_msg_idx = 1) THEN
23 l_msg_idx := FND_MSG_PUB.G_FIRST;
24 END IF;
25 LOOP
26 fnd_msg_pub.get(
27 p_msg_index => l_msg_idx,
28 p_encoded => fnd_api.g_false,
29 p_data => px_error_rec.msg_data,
30 p_msg_index_out => px_error_rec.msg_count);
31 px_error_tbl(j) := px_error_rec;
32 j := j + 1;
33 EXIT WHEN (px_error_rec.msg_count = last_msg_idx);
34 END LOOP;
35 END load_error_tbl;
36 ---------------------------------------------------------------------------
37 -- FUNCTION find_highest_exception
38 ---------------------------------------------------------------------------
39 -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
40 -- in a OKL_API.ERROR_TBL_TYPE, and returns it.
41 FUNCTION find_highest_exception(
42 p_error_tbl IN OKL_API.ERROR_TBL_TYPE
43 ) RETURN VARCHAR2 IS
44 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
45 i INTEGER := 1;
46 BEGIN
47 IF (p_error_tbl.COUNT > 0) THEN
48 i := p_error_tbl.FIRST;
49 LOOP
50 IF (p_error_tbl(i).error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
51 IF (l_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
52 l_return_status := p_error_tbl(i).error_type;
53 END IF;
54 END IF;
55 EXIT WHEN (i = p_error_tbl.LAST);
56 i := p_error_tbl.NEXT(i);
57 END LOOP;
58 END IF;
59 RETURN(l_return_status);
60 END find_highest_exception;
61 ---------------------------------------------------------------------------
62 -- FUNCTION get_seq_id
63 ---------------------------------------------------------------------------
64 FUNCTION get_seq_id RETURN NUMBER IS
65 BEGIN
66 RETURN(okc_p_util.raw_to_number(sys_guid()));
67 END get_seq_id;
68
69 ---------------------------------------------------------------------------
70 -- PROCEDURE qc
71 ---------------------------------------------------------------------------
72 PROCEDURE qc IS
73 BEGIN
74 null;
75 END qc;
76
77 ---------------------------------------------------------------------------
78 -- PROCEDURE change_version
79 ---------------------------------------------------------------------------
80 PROCEDURE change_version IS
81 BEGIN
82 null;
83 END change_version;
84
85 ---------------------------------------------------------------------------
86 -- PROCEDURE api_copy
87 ---------------------------------------------------------------------------
88 PROCEDURE api_copy IS
89 BEGIN
90 null;
91 END api_copy;
92
93 ---------------------------------------------------------------------------
94 -- FUNCTION get_rec for: OKL_TAX_SOURCES_V
95 ---------------------------------------------------------------------------
96 FUNCTION get_rec (
97 p_txsv_rec IN txsv_rec_type,
98 x_no_data_found OUT NOCOPY BOOLEAN
99 ) RETURN txsv_rec_type IS
100 CURSOR okl_txsv_pk_csr (p_id IN NUMBER) IS
101 SELECT
102 ID,
103 KHR_ID,
104 KLE_ID,
105 LINE_NAME,
106 TRX_ID,
107 TRX_LINE_ID,
108 ENTITY_CODE,
109 EVENT_CLASS_CODE,
110 TRX_LEVEL_TYPE,
111 -- TRX_LINE_TYPE,
112 ADJUSTED_DOC_ENTITY_CODE,
113 ADJUSTED_DOC_EVENT_CLASS_CODE,
114 ADJUSTED_DOC_TRX_ID,
115 ADJUSTED_DOC_TRX_LINE_ID,
116 ADJUSTED_DOC_TRX_LEVEL_TYPE,
117 ADJUSTED_DOC_NUMBER,
118 ADJUSTED_DOC_DATE,
119 TAX_CALL_TYPE_CODE,
120 STY_ID,
121 TRX_BUSINESS_CATEGORY,
122 TAX_LINE_STATUS_CODE,
123 SEL_ID,
124 TAX_REPORTING_FLAG,
125 PROGRAM_ID,
126 REQUEST_ID,
127 PROGRAM_APPLICATION_ID,
128 PROGRAM_UPDATE_DATE,
129 ATTRIBUTE_CATEGORY,
130 ATTRIBUTE1,
131 ATTRIBUTE2,
132 ATTRIBUTE3,
133 ATTRIBUTE4,
134 ATTRIBUTE5,
135 ATTRIBUTE6,
136 ATTRIBUTE7,
137 ATTRIBUTE8,
138 ATTRIBUTE9,
139 ATTRIBUTE10,
140 ATTRIBUTE11,
141 ATTRIBUTE12,
142 ATTRIBUTE13,
143 ATTRIBUTE14,
144 ATTRIBUTE15,
145 CREATED_BY,
146 CREATION_DATE,
147 LAST_UPDATED_BY,
148 LAST_UPDATE_DATE,
149 LAST_UPDATE_LOGIN,
150 OBJECT_VERSION_NUMBER,
151 -- modified by eBTax by dcshanmu - modification starts
152 APPLICATION_ID,
153 DEFAULT_TAXATION_COUNTRY,
154 PRODUCT_CATEGORY,
155 USER_DEFINED_FISC_CLASS,
156 LINE_INTENDED_USE,
157 INVENTORY_ITEM_ID,
158 BILL_TO_CUST_ACCT_ID,
159 ORG_ID,
160 LEGAL_ENTITY_ID,
161 LINE_AMT,
162 ASSESSABLE_VALUE,
163 TOTAL_TAX,
164 PRODUCT_TYPE,
165 PRODUCT_FISC_CLASSIFICATION,
166 TRX_DATE,
167 PROVNL_TAX_DETERMINATION_DATE,
168 TRY_ID,
169 SHIP_TO_LOCATION_ID,
170 TRX_CURRENCY_CODE,
171 CURRENCY_CONVERSION_TYPE,
172 CURRENCY_CONVERSION_RATE,
173 CURRENCY_CONVERSION_DATE
174 --asawanka eBTax changes start
175 ,ASSET_NUMBER
176 ,reported_yn
177 ,SHIP_TO_PARTY_SITE_ID
178 ,SHIP_TO_PARTY_ID
179 ,BILL_TO_PARTY_SITE_ID
180 ,BILL_TO_LOCATION_ID
181 ,BILL_TO_PARTY_ID
182 ,ship_to_cust_acct_site_use_id
183 ,bill_to_cust_acct_site_use_id
184 ,TAX_CLASSIFICATION_CODE
185 --asawanka eBTax changes end
186 -- modified by eBTax by dcshanmu - modification end
187 ,ALC_SERIALIZED_YN
188 ,ALC_SERIALIZED_TOTAL_TAX
189 ,ALC_SERIALIZED_TOTAL_LINE_AMT
190 FROM Okl_Tax_Sources_V
191 WHERE okl_tax_sources_v.id = p_id;
192 l_okl_txsv_pk okl_txsv_pk_csr%ROWTYPE;
193 l_txsv_rec txsv_rec_type;
194 BEGIN
195 x_no_data_found := TRUE;
196 -- Get current database values
197 OPEN okl_txsv_pk_csr (p_txsv_rec.id);
198 FETCH okl_txsv_pk_csr INTO
199 l_txsv_rec.id,
200 l_txsv_rec.khr_id,
201 l_txsv_rec.kle_id,
202 l_txsv_rec.line_name,
203 l_txsv_rec.trx_id,
204 l_txsv_rec.trx_line_id,
205 l_txsv_rec.entity_code,
206 l_txsv_rec.event_class_code,
207 l_txsv_rec.trx_level_type,
208 --l_txsv_rec.trx_line_type,
209 l_txsv_rec.adjusted_doc_entity_code,
210 l_txsv_rec.adjusted_doc_event_class_code,
211 l_txsv_rec.adjusted_doc_trx_id,
212 l_txsv_rec.adjusted_doc_trx_line_id,
213 l_txsv_rec.adjusted_doc_trx_level_type,
214 l_txsv_rec.adjusted_doc_number,
215 l_txsv_rec.adjusted_doc_date,
216 l_txsv_rec.tax_call_type_code,
217 l_txsv_rec.sty_id,
218 l_txsv_rec.trx_business_category,
219 l_txsv_rec.tax_line_status_code,
220 l_txsv_rec.sel_id,
221 l_txsv_rec.reported_yn,
222 l_txsv_rec.program_id,
223 l_txsv_rec.request_id,
224 l_txsv_rec.program_application_id,
225 l_txsv_rec.program_update_date,
226 l_txsv_rec.attribute_category,
227 l_txsv_rec.attribute1,
228 l_txsv_rec.attribute2,
229 l_txsv_rec.attribute3,
230 l_txsv_rec.attribute4,
231 l_txsv_rec.attribute5,
232 l_txsv_rec.attribute6,
233 l_txsv_rec.attribute7,
234 l_txsv_rec.attribute8,
235 l_txsv_rec.attribute9,
236 l_txsv_rec.attribute10,
237 l_txsv_rec.attribute11,
238 l_txsv_rec.attribute12,
239 l_txsv_rec.attribute13,
240 l_txsv_rec.attribute14,
241 l_txsv_rec.attribute15,
242 l_txsv_rec.created_by,
243 l_txsv_rec.creation_date,
244 l_txsv_rec.last_updated_by,
245 l_txsv_rec.last_update_date,
246 l_txsv_rec.last_update_login,
247 l_txsv_rec.object_version_number,
248 -- modified by eBTax by dcshanmu - modification starts
249 l_txsv_rec.application_id,
250 l_txsv_rec.default_taxation_country,
251 l_txsv_rec.product_category,
252 l_txsv_rec.user_defined_fisc_class,
253 l_txsv_rec.line_intended_use,
254 l_txsv_rec.inventory_item_id,
255 l_txsv_rec.bill_to_cust_acct_id,
256 l_txsv_rec.org_id,
257 l_txsv_rec.legal_entity_id,
258 l_txsv_rec.line_amt,
259 l_txsv_rec.assessable_value,
260 l_txsv_rec.total_tax,
261 l_txsv_rec.product_type,
262 l_txsv_rec.product_fisc_classification,
263 l_txsv_rec.trx_date,
264 l_txsv_rec.provnl_tax_determination_date,
265 l_txsv_rec.try_id,
266 l_txsv_rec.ship_to_location_id,
267 l_txsv_rec.trx_currency_code,
268 l_txsv_rec.currency_conversion_type,
269 l_txsv_rec.currency_conversion_rate,
270 l_txsv_rec.currency_conversion_date
271 --asawanka ebtax changes start
272 ,l_txsv_rec.ASSET_NUMBER
273
274 ,l_txsv_rec.reported_yn
275 ,l_txsv_rec.SHIP_TO_PARTY_SITE_ID
276 ,l_txsv_rec.SHIP_TO_PARTY_ID
277 ,l_txsv_rec.BILL_TO_PARTY_SITE_ID
278 ,l_txsv_rec.BILL_TO_LOCATION_ID
279 ,l_txsv_rec.BILL_TO_PARTY_ID
280 ,l_txsv_rec.ship_to_cust_acct_site_use_id
281 ,l_txsv_rec.bill_to_cust_acct_site_use_id
282 ,l_txsv_rec.TAX_CLASSIFICATION_CODE
283 --asawanka ebtax changes end
284 ,l_txsv_rec.ALC_SERIALIZED_YN
285 ,l_txsv_rec.ALC_SERIALIZED_TOTAL_TAX
286 ,l_txsv_rec.ALC_SERIALIZED_TOTAL_LINE_AMT;
287 -- modified by eBTax by dcshanmu - modification end
288 x_no_data_found := okl_txsv_pk_csr%NOTFOUND;
289 CLOSE okl_txsv_pk_csr;
290 RETURN(l_txsv_rec);
291 END get_rec;
292
293 ------------------------------------------------------------------
294 -- This version of get_rec sets error messages if no data found --
295 ------------------------------------------------------------------
296 FUNCTION get_rec (
297 p_txsv_rec IN txsv_rec_type,
298 x_return_status OUT NOCOPY VARCHAR2
299 ) RETURN txsv_rec_type IS
300 l_txsv_rec txsv_rec_type;
301 l_row_notfound BOOLEAN := TRUE;
302 BEGIN
303 x_return_status := OKL_API.G_RET_STS_SUCCESS;
304 l_txsv_rec := get_rec(p_txsv_rec, l_row_notfound);
305 IF (l_row_notfound) THEN
306 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
307 x_return_status := OKL_API.G_RET_STS_ERROR;
308 END IF;
309 RETURN(l_txsv_rec);
310 END get_rec;
311 -----------------------------------------------------------
312 -- So we don't have to pass an "l_row_notfound" variable --
313 -----------------------------------------------------------
314 FUNCTION get_rec (
315 p_txsv_rec IN txsv_rec_type
316 ) RETURN txsv_rec_type IS
317 l_row_not_found BOOLEAN := TRUE;
318 BEGIN
319 RETURN(get_rec(p_txsv_rec, l_row_not_found));
320 END get_rec;
321 ---------------------------------------------------------------------------
322 -- FUNCTION get_rec for: OKL_TAX_SOURCES
323 ---------------------------------------------------------------------------
324 FUNCTION get_rec (
325 p_txs_rec IN txs_rec_type,
326 x_no_data_found OUT NOCOPY BOOLEAN
327 ) RETURN txs_rec_type IS
328 CURSOR okl_txs_pk_csr (p_id IN NUMBER) IS
329 SELECT
330 ID,
331 KHR_ID,
332 KLE_ID,
333 LINE_NAME,
334 TRX_ID,
335 TRX_LINE_ID,
336 ENTITY_CODE,
337 EVENT_CLASS_CODE,
338 TRX_LEVEL_TYPE,
339 --TRX_LINE_TYPE,
340 ADJUSTED_DOC_ENTITY_CODE,
341 ADJUSTED_DOC_EVENT_CLASS_CODE,
342 ADJUSTED_DOC_TRX_ID,
343 ADJUSTED_DOC_TRX_LINE_ID,
344 ADJUSTED_DOC_TRX_LEVEL_TYPE,
345 ADJUSTED_DOC_NUMBER,
346 ADJUSTED_DOC_DATE,
347 TAX_CALL_TYPE_CODE,
348 STY_ID,
349 TRX_BUSINESS_CATEGORY,
350 TAX_LINE_STATUS_CODE,
351 SEL_ID,
352 TAX_REPORTING_FLAG,
353 PROGRAM_ID,
354 REQUEST_ID,
355 PROGRAM_APPLICATION_ID,
356 PROGRAM_UPDATE_DATE,
357 ATTRIBUTE_CATEGORY,
358 ATTRIBUTE1,
359 ATTRIBUTE2,
360 ATTRIBUTE3,
361 ATTRIBUTE4,
362 ATTRIBUTE5,
363 ATTRIBUTE6,
364 ATTRIBUTE7,
365 ATTRIBUTE8,
366 ATTRIBUTE9,
367 ATTRIBUTE10,
368 ATTRIBUTE11,
369 ATTRIBUTE12,
370 ATTRIBUTE13,
371 ATTRIBUTE14,
372 ATTRIBUTE15,
373 CREATED_BY,
374 CREATION_DATE,
375 LAST_UPDATED_BY,
376 LAST_UPDATE_DATE,
377 LAST_UPDATE_LOGIN,
378 OBJECT_VERSION_NUMBER,
379 -- modified by eBTax by dcshanmu - modification starts
380 APPLICATION_ID,
381 DEFAULT_TAXATION_COUNTRY,
382 PRODUCT_CATEGORY,
383 USER_DEFINED_FISC_CLASS,
384 LINE_INTENDED_USE,
385 INVENTORY_ITEM_ID,
386 BILL_TO_CUST_ACCT_ID,
387 ORG_ID,
388 LEGAL_ENTITY_ID,
389 LINE_AMT,
390 ASSESSABLE_VALUE,
391 TOTAL_TAX,
392 PRODUCT_TYPE,
393 PRODUCT_FISC_CLASSIFICATION,
394 TRX_DATE,
395 PROVNL_TAX_DETERMINATION_DATE,
396 TRY_ID,
397 SHIP_TO_LOCATION_ID,
398 TRX_CURRENCY_CODE,
399 CURRENCY_CONVERSION_TYPE,
400 CURRENCY_CONVERSION_RATE,
401 CURRENCY_CONVERSION_DATE
402 -- modified by eBTax by dcshanmu - modification end
403 --asawanka eBTax changes start
404 ,ASSET_NUMBER
405 ,reported_yn
406 ,SHIP_TO_PARTY_SITE_ID
407 ,SHIP_TO_PARTY_ID
408 ,BILL_TO_PARTY_SITE_ID
409 ,BILL_TO_LOCATION_ID
410 ,BILL_TO_PARTY_ID
411 ,ship_to_cust_acct_site_use_id
412 ,bill_to_cust_acct_site_use_id
413 ,TAX_CLASSIFICATION_CODE
414 --asawanka eBTax changes end
415 ,ALC_SERIALIZED_YN
416 ,ALC_SERIALIZED_TOTAL_TAX
417 ,ALC_SERIALIZED_TOTAL_LINE_AMT
418 FROM Okl_Tax_Sources
419 WHERE okl_tax_sources.id = p_id;
420 l_okl_txs_pk okl_txs_pk_csr%ROWTYPE;
421 l_txs_rec txs_rec_type;
422 BEGIN
423 x_no_data_found := TRUE;
424 -- Get current database values
425 OPEN okl_txs_pk_csr (p_txs_rec.id);
426 FETCH okl_txs_pk_csr INTO
427 l_txs_rec.id,
428 l_txs_rec.khr_id,
429 l_txs_rec.kle_id,
430 l_txs_rec.line_name,
431 l_txs_rec.trx_id,
432 l_txs_rec.trx_line_id,
433 l_txs_rec.entity_code,
434 l_txs_rec.event_class_code,
435 l_txs_rec.trx_level_type,
436 --l_txs_rec.trx_line_type,
437 l_txs_rec.adjusted_doc_entity_code,
438 l_txs_rec.adjusted_doc_event_class_code,
439 l_txs_rec.adjusted_doc_trx_id,
440 l_txs_rec.adjusted_doc_trx_line_id,
441 l_txs_rec.adjusted_doc_trx_level_type,
442 l_txs_rec.adjusted_doc_number,
443 l_txs_rec.adjusted_doc_date,
444 l_txs_rec.tax_call_type_code,
445 l_txs_rec.sty_id,
446 l_txs_rec.trx_business_category,
447 l_txs_rec.tax_line_status_code,
448 l_txs_rec.sel_id,
449 l_txs_rec.reported_yn,
450 l_txs_rec.program_id,
451 l_txs_rec.request_id,
452 l_txs_rec.program_application_id,
453 l_txs_rec.program_update_date,
454 l_txs_rec.attribute_category,
455 l_txs_rec.attribute1,
456 l_txs_rec.attribute2,
457 l_txs_rec.attribute3,
458 l_txs_rec.attribute4,
459 l_txs_rec.attribute5,
460 l_txs_rec.attribute6,
461 l_txs_rec.attribute7,
462 l_txs_rec.attribute8,
463 l_txs_rec.attribute9,
464 l_txs_rec.attribute10,
465 l_txs_rec.attribute11,
466 l_txs_rec.attribute12,
467 l_txs_rec.attribute13,
468 l_txs_rec.attribute14,
469 l_txs_rec.attribute15,
470 l_txs_rec.created_by,
471 l_txs_rec.creation_date,
472 l_txs_rec.last_updated_by,
473 l_txs_rec.last_update_date,
474 l_txs_rec.last_update_login,
475 l_txs_rec.object_version_number,
476 -- modified by eBTax by dcshanmu - modification starts
477 l_txs_rec.application_id,
478 l_txs_rec.default_taxation_country,
479 l_txs_rec.product_category,
480 l_txs_rec.user_defined_fisc_class,
481 l_txs_rec.line_intended_use,
482 l_txs_rec.inventory_item_id,
483 l_txs_rec.bill_to_cust_acct_id,
484 l_txs_rec.org_id,
485 l_txs_rec.legal_entity_id,
486 l_txs_rec.line_amt,
487 l_txs_rec.assessable_value,
488 l_txs_rec.total_tax,
489 l_txs_rec.product_type,
490 l_txs_rec.product_fisc_classification,
491 l_txs_rec.trx_date,
492 l_txs_rec.provnl_tax_determination_date,
493 l_txs_rec.try_id,
494 l_txs_rec.ship_to_location_id,
495 l_txs_rec.trx_currency_code,
496 l_txs_rec.currency_conversion_type,
497 l_txs_rec.currency_conversion_rate,
498 l_txs_rec.currency_conversion_date
499 -- modified by eBTax by dcshanmu - modification end
500 --asawanka ebtax changes start
501 ,l_txs_rec.ASSET_NUMBER
502 ,l_txs_rec.reported_yn
503 ,l_txs_rec.SHIP_TO_PARTY_SITE_ID
504 ,l_txs_rec.SHIP_TO_PARTY_ID
505 ,l_txs_rec.BILL_TO_PARTY_SITE_ID
506 ,l_txs_rec.BILL_TO_LOCATION_ID
507 ,l_txs_rec.BILL_TO_PARTY_ID
508 ,l_txs_rec.ship_to_cust_acct_site_use_id
509 ,l_txs_rec.bill_to_cust_acct_site_use_id
510 ,l_txs_rec.TAX_CLASSIFICATION_CODE
511 --asawanka ebtax changes end
512 ,l_txs_rec.ALC_SERIALIZED_YN
513 ,l_txs_rec.ALC_SERIALIZED_TOTAL_TAX
514 ,l_txs_rec.ALC_SERIALIZED_TOTAL_LINE_AMT;
515
516 x_no_data_found := okl_txs_pk_csr%NOTFOUND;
517 CLOSE okl_txs_pk_csr;
518 RETURN(l_txs_rec);
519 END get_rec;
520
521 ------------------------------------------------------------------
522 -- This version of get_rec sets error messages if no data found --
523 ------------------------------------------------------------------
524 FUNCTION get_rec (
525 p_txs_rec IN txs_rec_type,
526 x_return_status OUT NOCOPY VARCHAR2
527 ) RETURN txs_rec_type IS
528 l_txs_rec txs_rec_type;
529 l_row_notfound BOOLEAN := TRUE;
530 BEGIN
531 x_return_status := OKL_API.G_RET_STS_SUCCESS;
532 l_txs_rec := get_rec(p_txs_rec, l_row_notfound);
533 IF (l_row_notfound) THEN
534 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
535 x_return_status := OKL_API.G_RET_STS_ERROR;
536 END IF;
537 RETURN(l_txs_rec);
538 END get_rec;
539 -----------------------------------------------------------
540 -- So we don't have to pass an "l_row_notfound" variable --
541 -----------------------------------------------------------
542 FUNCTION get_rec (
543 p_txs_rec IN txs_rec_type
544 ) RETURN txs_rec_type IS
545 l_row_not_found BOOLEAN := TRUE;
546 BEGIN
547 RETURN(get_rec(p_txs_rec, l_row_not_found));
548 END get_rec;
549 ---------------------------------------------------------------------------
550 -- FUNCTION null_out_defaults for: OKL_TAX_SOURCES_V
551 ---------------------------------------------------------------------------
552 FUNCTION null_out_defaults (
553 p_txsv_rec IN txsv_rec_type
554 ) RETURN txsv_rec_type IS
555 l_txsv_rec txsv_rec_type := p_txsv_rec;
556 BEGIN
557 IF (l_txsv_rec.id = OKL_API.G_MISS_NUM ) THEN
558 l_txsv_rec.id := NULL;
559 END IF;
560 IF (l_txsv_rec.khr_id = OKL_API.G_MISS_NUM ) THEN
561 l_txsv_rec.khr_id := NULL;
562 END IF;
563 IF (l_txsv_rec.kle_id = OKL_API.G_MISS_NUM ) THEN
564 l_txsv_rec.kle_id := NULL;
565 END IF;
566 IF (l_txsv_rec.line_name = OKL_API.G_MISS_CHAR ) THEN
567 l_txsv_rec.line_name := NULL;
568 END IF;
569 IF (l_txsv_rec.trx_id = OKL_API.G_MISS_NUM ) THEN
570 l_txsv_rec.trx_id := NULL;
571 END IF;
572 IF (l_txsv_rec.trx_line_id = OKL_API.G_MISS_NUM ) THEN
573 l_txsv_rec.trx_line_id := NULL;
574 END IF;
575 IF (l_txsv_rec.entity_code = OKL_API.G_MISS_CHAR ) THEN
576 l_txsv_rec.entity_code := NULL;
577 END IF;
578 IF (l_txsv_rec.event_class_code = OKL_API.G_MISS_CHAR ) THEN
579 l_txsv_rec.event_class_code := NULL;
580 END IF;
581 IF (l_txsv_rec.trx_level_type = OKL_API.G_MISS_CHAR ) THEN
582 l_txsv_rec.trx_level_type := NULL;
583 END IF;
584 /*IF (l_txsv_rec.trx_line_type = OKL_API.G_MISS_CHAR ) THEN
585 l_txsv_rec.trx_line_type := NULL;
586 END IF;*/
587 IF (l_txsv_rec.adjusted_doc_entity_code = OKL_API.G_MISS_CHAR ) THEN
588 l_txsv_rec.adjusted_doc_entity_code := NULL;
589 END IF;
590 IF (l_txsv_rec.adjusted_doc_event_class_code = OKL_API.G_MISS_CHAR ) THEN
591 l_txsv_rec.adjusted_doc_event_class_code := NULL;
592 END IF;
593 IF (l_txsv_rec.adjusted_doc_trx_id = OKL_API.G_MISS_NUM ) THEN
594 l_txsv_rec.adjusted_doc_trx_id := NULL;
595 END IF;
596 IF (l_txsv_rec.adjusted_doc_trx_line_id = OKL_API.G_MISS_NUM ) THEN
597 l_txsv_rec.adjusted_doc_trx_line_id := NULL;
598 END IF;
599 IF (l_txsv_rec.adjusted_doc_trx_level_type = OKL_API.G_MISS_CHAR ) THEN
600 l_txsv_rec.adjusted_doc_trx_level_type := NULL;
601 END IF;
602 IF (l_txsv_rec.adjusted_doc_number = OKL_API.G_MISS_CHAR ) THEN
603 l_txsv_rec.adjusted_doc_number := NULL;
604 END IF;
605 IF (l_txsv_rec.adjusted_doc_date = OKL_API.G_MISS_DATE ) THEN
606 l_txsv_rec.adjusted_doc_date := NULL;
607 END IF;
608 IF (l_txsv_rec.tax_call_type_code = OKL_API.G_MISS_CHAR ) THEN
609 l_txsv_rec.tax_call_type_code := NULL;
610 END IF;
611 IF (l_txsv_rec.sty_id = OKL_API.G_MISS_NUM ) THEN
612 l_txsv_rec.sty_id := NULL;
613 END IF;
614 IF (l_txsv_rec.trx_business_category = OKL_API.G_MISS_CHAR ) THEN
615 l_txsv_rec.trx_business_category := NULL;
616 END IF;
617 IF (l_txsv_rec.tax_line_status_code = OKL_API.G_MISS_CHAR ) THEN
618 l_txsv_rec.tax_line_status_code := NULL;
619 END IF;
620 IF (l_txsv_rec.sel_id = OKL_API.G_MISS_NUM ) THEN
621 l_txsv_rec.sel_id := NULL;
622 END IF;
623 IF (l_txsv_rec.reported_yn = OKL_API.G_MISS_CHAR ) THEN
624 l_txsv_rec.reported_yn := NULL;
625 END IF;
626 IF (l_txsv_rec.program_id = OKL_API.G_MISS_NUM ) THEN
627 l_txsv_rec.program_id := NULL;
628 END IF;
629 IF (l_txsv_rec.request_id = OKL_API.G_MISS_NUM ) THEN
630 l_txsv_rec.request_id := NULL;
631 END IF;
632 IF (l_txsv_rec.program_application_id = OKL_API.G_MISS_NUM ) THEN
633 l_txsv_rec.program_application_id := NULL;
634 END IF;
635 IF (l_txsv_rec.program_update_date = OKL_API.G_MISS_DATE ) THEN
636 l_txsv_rec.program_update_date := NULL;
637 END IF;
638 IF (l_txsv_rec.attribute_category = OKL_API.G_MISS_CHAR ) THEN
639 l_txsv_rec.attribute_category := NULL;
640 END IF;
641 IF (l_txsv_rec.attribute1 = OKL_API.G_MISS_CHAR ) THEN
642 l_txsv_rec.attribute1 := NULL;
643 END IF;
644 IF (l_txsv_rec.attribute2 = OKL_API.G_MISS_CHAR ) THEN
645 l_txsv_rec.attribute2 := NULL;
646 END IF;
647 IF (l_txsv_rec.attribute3 = OKL_API.G_MISS_CHAR ) THEN
648 l_txsv_rec.attribute3 := NULL;
649 END IF;
650 IF (l_txsv_rec.attribute4 = OKL_API.G_MISS_CHAR ) THEN
651 l_txsv_rec.attribute4 := NULL;
652 END IF;
653 IF (l_txsv_rec.attribute5 = OKL_API.G_MISS_CHAR ) THEN
654 l_txsv_rec.attribute5 := NULL;
655 END IF;
656 IF (l_txsv_rec.attribute6 = OKL_API.G_MISS_CHAR ) THEN
657 l_txsv_rec.attribute6 := NULL;
658 END IF;
659 IF (l_txsv_rec.attribute7 = OKL_API.G_MISS_CHAR ) THEN
660 l_txsv_rec.attribute7 := NULL;
661 END IF;
662 IF (l_txsv_rec.attribute8 = OKL_API.G_MISS_CHAR ) THEN
663 l_txsv_rec.attribute8 := NULL;
664 END IF;
665 IF (l_txsv_rec.attribute9 = OKL_API.G_MISS_CHAR ) THEN
666 l_txsv_rec.attribute9 := NULL;
667 END IF;
668 IF (l_txsv_rec.attribute10 = OKL_API.G_MISS_CHAR ) THEN
669 l_txsv_rec.attribute10 := NULL;
670 END IF;
671 IF (l_txsv_rec.attribute11 = OKL_API.G_MISS_CHAR ) THEN
672 l_txsv_rec.attribute11 := NULL;
673 END IF;
674 IF (l_txsv_rec.attribute12 = OKL_API.G_MISS_CHAR ) THEN
675 l_txsv_rec.attribute12 := NULL;
676 END IF;
677 IF (l_txsv_rec.attribute13 = OKL_API.G_MISS_CHAR ) THEN
678 l_txsv_rec.attribute13 := NULL;
679 END IF;
680 IF (l_txsv_rec.attribute14 = OKL_API.G_MISS_CHAR ) THEN
681 l_txsv_rec.attribute14 := NULL;
682 END IF;
683 IF (l_txsv_rec.attribute15 = OKL_API.G_MISS_CHAR ) THEN
684 l_txsv_rec.attribute15 := NULL;
685 END IF;
686 IF (l_txsv_rec.created_by = OKL_API.G_MISS_NUM ) THEN
687 l_txsv_rec.created_by := NULL;
688 END IF;
689 IF (l_txsv_rec.creation_date = OKL_API.G_MISS_DATE ) THEN
690 l_txsv_rec.creation_date := NULL;
691 END IF;
692 IF (l_txsv_rec.last_updated_by = OKL_API.G_MISS_NUM ) THEN
693 l_txsv_rec.last_updated_by := NULL;
694 END IF;
695 IF (l_txsv_rec.last_update_date = OKL_API.G_MISS_DATE ) THEN
696 l_txsv_rec.last_update_date := NULL;
697 END IF;
698 IF (l_txsv_rec.last_update_login = OKL_API.G_MISS_NUM ) THEN
699 l_txsv_rec.last_update_login := NULL;
700 END IF;
701 IF (l_txsv_rec.object_version_number = OKL_API.G_MISS_NUM ) THEN
702 l_txsv_rec.object_version_number := NULL;
703 END IF;
704
705 -- modified by eBTax by dcshanmu - modification starts
706 -- added default null out code to newly added columns to the table
707 IF (l_txsv_rec.application_id = OKL_API.G_MISS_NUM ) THEN
708 l_txsv_rec.application_id := NULL;
709 END IF;
710 IF (l_txsv_rec.default_taxation_country = OKL_API.G_MISS_CHAR ) THEN
711 l_txsv_rec.default_taxation_country := NULL;
712 END IF;
713 IF (l_txsv_rec.product_category = OKL_API.G_MISS_CHAR ) THEN
714 l_txsv_rec.product_category := NULL;
715 END IF;
716 IF (l_txsv_rec.user_defined_fisc_class = OKL_API.G_MISS_CHAR ) THEN
717 l_txsv_rec.user_defined_fisc_class := NULL;
718 END IF;
719 IF (l_txsv_rec.line_intended_use = OKL_API.G_MISS_CHAR ) THEN
720 l_txsv_rec.line_intended_use := NULL;
721 END IF;
722 IF (l_txsv_rec.inventory_item_id = OKL_API.G_MISS_NUM ) THEN
723 l_txsv_rec.inventory_item_id := NULL;
724 END IF;
725 IF (l_txsv_rec.bill_to_cust_acct_id = OKL_API.G_MISS_NUM ) THEN
726 l_txsv_rec.bill_to_cust_acct_id := NULL;
727 END IF;
728 IF (l_txsv_rec.org_id = OKL_API.G_MISS_NUM ) THEN
729 l_txsv_rec.org_id := NULL;
730 END IF;
731 IF (l_txsv_rec.legal_entity_id = OKL_API.G_MISS_NUM ) THEN
732 l_txsv_rec.legal_entity_id := NULL;
733 END IF;
734 IF (l_txsv_rec.line_amt = OKL_API.G_MISS_NUM ) THEN
735 l_txsv_rec.line_amt := NULL;
736 END IF;
737 IF (l_txsv_rec.assessable_value = OKL_API.G_MISS_NUM ) THEN
738 l_txsv_rec.assessable_value := NULL;
739 END IF;
740 IF (l_txsv_rec.total_tax = OKL_API.G_MISS_NUM ) THEN
741 l_txsv_rec.total_tax := NULL;
742 END IF;
743 IF (l_txsv_rec.product_type = OKL_API.G_MISS_CHAR ) THEN
744 l_txsv_rec.product_type := NULL;
745 END IF;
746 IF (l_txsv_rec.product_fisc_classification = OKL_API.G_MISS_CHAR ) THEN
747 l_txsv_rec.product_fisc_classification := NULL;
748 END IF;
749 IF (l_txsv_rec.trx_date = OKL_API.G_MISS_DATE ) THEN
750 l_txsv_rec.trx_date := NULL;
751 END IF;
752 IF (l_txsv_rec.provnl_tax_determination_date = OKL_API.G_MISS_DATE ) THEN
753 l_txsv_rec.provnl_tax_determination_date := NULL;
754 END IF;
755 IF (l_txsv_rec.try_id = OKL_API.G_MISS_NUM ) THEN
756 l_txsv_rec.try_id := NULL;
757 END IF;
758 IF (l_txsv_rec.ship_to_location_id = OKL_API.G_MISS_NUM ) THEN
759 l_txsv_rec.ship_to_location_id := NULL;
760 END IF;
761
762 IF (l_txsv_rec.trx_currency_code = OKL_API.G_MISS_CHAR ) THEN
763 l_txsv_rec.trx_currency_code := NULL;
764 END IF;
765 IF (l_txsv_rec.currency_conversion_type = OKL_API.G_MISS_CHAR ) THEN
766 l_txsv_rec.currency_conversion_type := NULL;
767 END IF;
768 IF (l_txsv_rec.currency_conversion_rate = OKL_API.G_MISS_NUM ) THEN
769 l_txsv_rec.currency_conversion_rate := NULL;
770 END IF;
771 IF (l_txsv_rec.currency_conversion_date = OKL_API.G_MISS_DATE ) THEN
772 l_txsv_rec.currency_conversion_date := NULL;
773 END IF;
774 -- modified by eBTax by dcshanmu - modification end
775 --asawanka ebtaxchanges start
776 IF (l_txsv_rec.asset_number = OKL_API.G_MISS_CHAR ) THEN
777 l_txsv_rec.asset_number := NULL;
778 END IF;
779 IF (l_txsv_rec.reported_yn = OKL_API.G_MISS_CHAR ) THEN
780 l_txsv_rec.reported_yn := NULL;
781 END IF;
782 IF (l_txsv_rec.SHIP_TO_PARTY_SITE_ID = OKL_API.G_MISS_NUM ) THEN
783 l_txsv_rec.SHIP_TO_PARTY_SITE_ID := NULL;
784 END IF;
785 IF (l_txsv_rec.SHIP_TO_PARTY_ID = OKL_API.G_MISS_NUM ) THEN
786 l_txsv_rec.SHIP_TO_PARTY_ID := NULL;
787 END IF;
788 IF (l_txsv_rec.BILL_TO_PARTY_SITE_ID = OKL_API.G_MISS_NUM ) THEN
789 l_txsv_rec.BILL_TO_PARTY_SITE_ID := NULL;
790 END IF;
791 IF (l_txsv_rec.BILL_TO_LOCATION_ID = OKL_API.G_MISS_NUM ) THEN
792 l_txsv_rec.BILL_TO_LOCATION_ID := NULL;
793 END IF;
794 IF (l_txsv_rec.BILL_TO_PARTY_ID = OKL_API.G_MISS_NUM ) THEN
795 l_txsv_rec.BILL_TO_PARTY_ID := NULL;
796 END IF;
797 IF (l_txsv_rec.ship_to_cust_acct_site_use_id = OKL_API.G_MISS_NUM ) THEN
798 l_txsv_rec.ship_to_cust_acct_site_use_id := NULL;
799 END IF;
800 IF (l_txsv_rec.bill_to_cust_acct_site_use_id = OKL_API.G_MISS_NUM ) THEN
801 l_txsv_rec.bill_to_cust_acct_site_use_id := NULL;
802 END IF;
803 IF (l_txsv_rec.TAX_CLASSIFICATION_CODE = OKL_API.G_MISS_CHAR) THEN
804 l_txsv_rec.TAX_CLASSIFICATION_CODE := NULL;
805 END IF;
806 --asawanka ebtax changes end
807
808 IF (l_txsv_rec.ALC_SERIALIZED_YN = OKL_API.G_MISS_CHAR) THEN
809 l_txsv_rec.ALC_SERIALIZED_YN := NULL;
810 END IF;
811 IF (l_txsv_rec.ALC_SERIALIZED_TOTAL_TAX = OKL_API.G_MISS_NUM) THEN
812 l_txsv_rec.ALC_SERIALIZED_TOTAL_TAX := NULL;
813 END IF;
814 IF (l_txsv_rec.ALC_SERIALIZED_TOTAL_LINE_AMT = OKL_API.G_MISS_NUM) THEN
815 l_txsv_rec.ALC_SERIALIZED_TOTAL_LINE_AMT := NULL;
816 END IF;
817
818 RETURN(l_txsv_rec);
819 END null_out_defaults;
820 ---------------------------------
821 -- Validate_Attributes for: ID --
822 ---------------------------------
823 PROCEDURE validate_id(
824 x_return_status OUT NOCOPY VARCHAR2,
825 p_txsv_rec IN txsv_rec_type) IS
826 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
827 BEGIN
828
829 IF (p_txsv_rec.id = OKL_API.G_MISS_NUM OR p_txsv_rec.id IS NULL)
830 THEN
831 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'id');
832 l_return_status := OKL_API.G_RET_STS_ERROR;
833
834 END IF;
835 x_return_status := l_return_status;
836 EXCEPTION
837
838 WHEN OTHERS THEN
839 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
840 ,p_msg_name => G_UNEXPECTED_ERROR
841 ,p_token1 => G_SQLCODE_TOKEN
842 ,p_token1_value => SQLCODE
843 ,p_token2 => G_SQLERRM_TOKEN
844 ,p_token2_value => SQLERRM);
845 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
846 END validate_id;
847 -------------------------------------
848 -- Validate_Attributes for: KHR_ID --
849 -------------------------------------
850 PROCEDURE validate_khr_id(
851 x_return_status OUT NOCOPY VARCHAR2,
852 p_txsv_rec IN txsv_rec_type) IS
853 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
854
855 l_dummy_var VARCHAR2(1) := '?' ;
856
857 CURSOR okl_txsv_khr_id_fk_csr (p_id IN NUMBER) IS
858 SELECT 'x'
859 FROM Okc_k_headers_B
860 WHERE id = p_id;
861 BEGIN
862
863 IF (p_txsv_rec.khr_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.khr_id IS NOT NULL)
864 THEN
865 --OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'khr_id');
866 --l_return_status := OKL_API.G_RET_STS_ERROR;
867 OPEN okl_txsv_khr_id_fk_csr(p_txsv_rec.khr_id) ;
868 FETCH okl_txsv_khr_id_fk_csr into l_dummy_var ;
869 CLOSE okl_txsv_khr_id_fk_csr ;
870 -- still set to default means data was not found
871 IF ( l_dummy_var = '?' ) THEN
872 OKC_API.set_message(g_app_name,
873 g_no_parent_record,
874 g_col_name_token,
875 'khr_id',
876 g_child_table_token ,
877 'OKL_TAX_SOURCES_V',
878 g_parent_table_token ,
879 'OKC_K_HEADERS_B');
880 l_return_status := OKC_API.G_RET_STS_ERROR;
881
882 END IF;
883
884 END IF;
885 x_return_status := l_return_status;
886 EXCEPTION
887
888 WHEN OTHERS THEN
889 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
890 ,p_msg_name => G_UNEXPECTED_ERROR
891 ,p_token1 => G_SQLCODE_TOKEN
892 ,p_token1_value => SQLCODE
893 ,p_token2 => G_SQLERRM_TOKEN
894 ,p_token2_value => SQLERRM);
895 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
896 END validate_khr_id;
897 -------------------------------------
898 -- Validate_Attributes for: KLE_ID --
899 -------------------------------------
900 PROCEDURE validate_kle_id(
901 x_return_status OUT NOCOPY VARCHAR2,
902 p_txsv_rec IN txsv_rec_type) IS
903 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
904
905 l_dummy_var VARCHAR2(1) := '?' ;
906
907 CURSOR okl_txsv_kle_id_fk_csr (p_id IN NUMBER) IS
908 SELECT 'x'
909 FROM Okc_k_lines_B
910 WHERE id = p_id;
911 BEGIN
912
913 IF (p_txsv_rec.kle_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.kle_id IS NOT NULL)
914 THEN
915 --OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'kle_id');
916 --l_return_status := OKL_API.G_RET_STS_ERROR;
917 OPEN okl_txsv_kle_id_fk_csr(p_txsv_rec.kle_id) ;
918 FETCH okl_txsv_kle_id_fk_csr into l_dummy_var ;
919 CLOSE okl_txsv_kle_id_fk_csr ;
920 -- still set to default means data was not found
921 IF ( l_dummy_var = '?' ) THEN
922 OKC_API.set_message(g_app_name,
923 g_no_parent_record,
924 g_col_name_token,
925 'kle_id',
926 g_child_table_token ,
927 'OKL_TAX_SOURCES_V',
928 g_parent_table_token ,
929 'OKC_K_LINES_B');
930 l_return_status := OKC_API.G_RET_STS_ERROR;
931
932 END IF;
933
934 END IF;
935 x_return_status := l_return_status;
936 EXCEPTION
937
938 WHEN OTHERS THEN
939 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
940 ,p_msg_name => G_UNEXPECTED_ERROR
941 ,p_token1 => G_SQLCODE_TOKEN
942 ,p_token1_value => SQLCODE
943 ,p_token2 => G_SQLERRM_TOKEN
944 ,p_token2_value => SQLERRM);
945 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
946 END validate_kle_id;
947 -------------------------------------
948 -- Validate_Attributes for: TRX_ID --
949 -------------------------------------
950 PROCEDURE validate_trx_id(
951 x_return_status OUT NOCOPY VARCHAR2,
952 p_txsv_rec IN txsv_rec_type) IS
953 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
954 BEGIN
955
956 IF (p_txsv_rec.trx_id = OKL_API.G_MISS_NUM OR p_txsv_rec.trx_id IS NULL)
957 THEN
958 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'trx_id');
959 l_return_status := OKL_API.G_RET_STS_ERROR;
960
961 END IF;
962 x_return_status := l_return_status;
963 EXCEPTION
964
965 WHEN OTHERS THEN
966 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
967 ,p_msg_name => G_UNEXPECTED_ERROR
968 ,p_token1 => G_SQLCODE_TOKEN
969 ,p_token1_value => SQLCODE
970 ,p_token2 => G_SQLERRM_TOKEN
971 ,p_token2_value => SQLERRM);
972 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
973 END validate_trx_id;
974 ------------------------------------------
975 -- Validate_Attributes for: TRX_LINE_ID --
976 ------------------------------------------
977 PROCEDURE validate_trx_line_id(
978 x_return_status OUT NOCOPY VARCHAR2,
979 p_txsv_rec IN txsv_rec_type) IS
980 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
981 BEGIN
982
983 IF (p_txsv_rec.trx_line_id = OKL_API.G_MISS_NUM OR p_txsv_rec.trx_line_id IS NULL)
984 THEN
985 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'trx_line_id');
986 l_return_status := OKL_API.G_RET_STS_ERROR;
987
988 END IF;
989 x_return_status := l_return_status;
990 EXCEPTION
991
992 WHEN OTHERS THEN
993 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
994 ,p_msg_name => G_UNEXPECTED_ERROR
995 ,p_token1 => G_SQLCODE_TOKEN
996 ,p_token1_value => SQLCODE
997 ,p_token2 => G_SQLERRM_TOKEN
998 ,p_token2_value => SQLERRM);
999 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1000 END validate_trx_line_id;
1001 -------------------------------------------------
1002 -- Validate_Attributes for: TAX_CALL_TYPE_CODE --
1003 -------------------------------------------------
1004 PROCEDURE validate_tax_call_type_code(
1005 x_return_status OUT NOCOPY VARCHAR2,
1006 p_txsv_rec IN txsv_rec_type) IS
1007 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1008
1009 l_dummy_var VARCHAR2(1) := '?' ;
1010
1011 CURSOR okl_txsv_tctc_fk_csr (p_lookup_code IN VARCHAR2, p_lookup_type IN VARCHAR2) IS
1012 SELECT 'x'
1013 FROM Fnd_Lookup_Values
1014 WHERE fnd_lookup_values.lookup_code = p_lookup_code
1015 AND fnd_lookup_values.lookup_type = p_lookup_type;
1016 BEGIN
1017
1018 IF (p_txsv_rec.tax_call_type_code <> OKL_API.G_MISS_CHAR AND p_txsv_rec.tax_call_type_code IS NOT NULL)
1019 THEN
1020 --OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'tax_call_type_code');
1021 --l_return_status := OKL_API.G_RET_STS_ERROR;
1022 -- enforce foreign key
1023 OPEN okl_txsv_tctc_fk_csr(p_txsv_rec.tax_call_type_code, 'OKL_TAX_CALL_TYPE') ;
1024 FETCH okl_txsv_tctc_fk_csr into l_dummy_var ;
1025 CLOSE okl_txsv_tctc_fk_csr ;
1026 -- still set to default means data was not found
1027 IF ( l_dummy_var = '?' ) THEN
1028
1029 OKC_API.set_message(g_app_name,
1030 g_no_parent_record,
1031 g_col_name_token,
1032 'tax_call_type_code',
1033 g_child_table_token ,
1034 'OKL_TAX_SOURCES_V',
1035 g_parent_table_token ,
1036 'FND_LOOKUP_VALUES');
1037 l_return_status := OKC_API.G_RET_STS_ERROR;
1038
1039 END IF;
1040
1041 END IF;
1042 x_return_status := l_return_status;
1043 EXCEPTION
1044
1045 WHEN OTHERS THEN
1046 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1047 ,p_msg_name => G_UNEXPECTED_ERROR
1048 ,p_token1 => G_SQLCODE_TOKEN
1049 ,p_token1_value => SQLCODE
1050 ,p_token2 => G_SQLERRM_TOKEN
1051 ,p_token2_value => SQLERRM);
1052 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1053 END validate_tax_call_type_code;
1054 -------------------------------------
1055 -- Validate_Attributes for: STY_ID --
1056 -------------------------------------
1057 PROCEDURE validate_sty_id(
1058 x_return_status OUT NOCOPY VARCHAR2,
1059 p_txsv_rec IN txsv_rec_type) IS
1060 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1061
1062 l_dummy_var VARCHAR2(1) := '?' ;
1063
1064 CURSOR okl_txsv_sty_id_fk_csr (p_id IN NUMBER) IS
1065 SELECT 'x'
1066 FROM okl_strm_type_b
1067 WHERE id = p_id;
1068 BEGIN
1069
1070 IF (p_txsv_rec.sty_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.sty_id IS NOT NULL)
1071 THEN
1072 --OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'sty_id');
1073 --l_return_status := OKL_API.G_RET_STS_ERROR;
1074 OPEN okl_txsv_sty_id_fk_csr(p_txsv_rec.sty_id) ;
1075 FETCH okl_txsv_sty_id_fk_csr into l_dummy_var ;
1076 CLOSE okl_txsv_sty_id_fk_csr ;
1077 -- still set to default means data was not found
1078 IF ( l_dummy_var = '?' ) THEN
1079 OKC_API.set_message(g_app_name,
1080 g_no_parent_record,
1081 g_col_name_token,
1082 'sty_id',
1083 g_child_table_token ,
1084 'OKL_TAX_SOURCES_V',
1085 g_parent_table_token ,
1086 'okl_strm_type_b');
1087 l_return_status := OKC_API.G_RET_STS_ERROR;
1088
1089 END IF;
1090 END IF;
1091 x_return_status := l_return_status;
1092 EXCEPTION
1093
1094 WHEN OTHERS THEN
1095 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1096 ,p_msg_name => G_UNEXPECTED_ERROR
1097 ,p_token1 => G_SQLCODE_TOKEN
1098 ,p_token1_value => SQLCODE
1099 ,p_token2 => G_SQLERRM_TOKEN
1100 ,p_token2_value => SQLERRM);
1101 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1102 END validate_sty_id;
1103 ----------------------------------------------------
1104 -- Validate_Attributes for: TRX_BUSINESS_CATEGORY --
1105 ----------------------------------------------------
1106 PROCEDURE validate_trx_business_category(
1107 x_return_status OUT NOCOPY VARCHAR2,
1108 p_txsv_rec IN txsv_rec_type) IS
1109 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1110
1111 l_dummy_var VARCHAR2(1) := '?' ;
1112
1113 -- modified by dcshanmu for eBTax project. Modification starts
1114
1115 CURSOR okl_txsv_tbc_fk_csr (p_lookup_code IN VARCHAR2, p_lookup_type IN VARCHAR2) IS
1116 SELECT 'x'
1117 FROM ZX_FC_BUSINESS_CATEGORIES_V
1118 WHERE classification_code = p_lookup_code;
1119 --AND lookup_type = p_lookup_type;
1120
1121 -- modified by dcshanmu for eBTax project. Modification ends
1122
1123 BEGIN
1124
1125 IF (p_txsv_rec.trx_business_category <> OKL_API.G_MISS_CHAR AND p_txsv_rec.trx_business_category IS NOT NULL)
1126 THEN
1127 -- OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'trx_business_category');
1128 -- l_return_status := OKL_API.G_RET_STS_ERROR;
1129 --ELSE
1130 -- enforce foreign key
1131 OPEN okl_txsv_tbc_fk_csr(p_txsv_rec.trx_business_category, 'AR_TAX_TRX_BUSINESS_CATEGORY') ;
1132 FETCH okl_txsv_tbc_fk_csr into l_dummy_var ;
1133 CLOSE okl_txsv_tbc_fk_csr ;
1134 -- still set to default means data was not found
1135 IF ( l_dummy_var = '?' ) THEN
1136
1137 OKC_API.set_message(g_app_name,
1138 g_no_parent_record,
1139 g_col_name_token,
1140 'trx_business_category',
1141 g_child_table_token ,
1142 'OKL_TAX_SOURCES_V',
1143 g_parent_table_token ,
1144 'ZX_FC_BUSINESS_CATEGORIES_V');
1145 l_return_status := OKC_API.G_RET_STS_ERROR;
1146
1147 END IF;
1148 END IF;
1149 x_return_status := l_return_status;
1150 EXCEPTION
1151
1152 WHEN OTHERS THEN
1153 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1154 ,p_msg_name => G_UNEXPECTED_ERROR
1155 ,p_token1 => G_SQLCODE_TOKEN
1156 ,p_token1_value => SQLCODE
1157 ,p_token2 => G_SQLERRM_TOKEN
1158 ,p_token2_value => SQLERRM);
1159 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1160 END validate_trx_business_category;
1161
1162 -- Modified by dcshanmu for eBTax - modification starts
1163 -- added validation methods for newly added columns
1164 ---------------------------------------------------
1165 -- Validate_Attributes for: TAX_LINE_STATUS_CODE --
1166 ---------------------------------------------------
1167 PROCEDURE validate_tax_line_status_code(
1168 x_return_status OUT NOCOPY VARCHAR2,
1169 p_txsv_rec IN txsv_rec_type) IS
1170 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1171
1172 l_dummy_var VARCHAR2(1) := '?' ;
1173
1174 CURSOR okl_txsv_tlsc_fk_csr (p_lookup_code IN VARCHAR2, p_lookup_type IN VARCHAR2) IS
1175 SELECT 'x'
1176 FROM fnd_lookup_values
1177 WHERE lookup_code = p_lookup_code
1178 AND lookup_type = p_lookup_type;
1179
1180 BEGIN
1181
1182 IF (p_txsv_rec.tax_line_status_code <> OKL_API.G_MISS_CHAR AND p_txsv_rec.tax_line_status_code IS NOT NULL)
1183 THEN
1184 --OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'tax_line_status_code');
1185 --l_return_status := OKL_API.G_RET_STS_ERROR;
1186 -- enforce foreign key
1187 OPEN okl_txsv_tlsc_fk_csr(p_txsv_rec.tax_line_status_code, 'OKL_TAX_LINE_STATUS') ;
1188 FETCH okl_txsv_tlsc_fk_csr INTO l_dummy_var ;
1189 CLOSE okl_txsv_tlsc_fk_csr ;
1190 -- still set to default means data was not found
1191 IF ( l_dummy_var = '?' ) THEN
1192
1193 OKC_API.set_message(g_app_name,
1194 g_no_parent_record,
1195 g_col_name_token,
1196 'tax_line_status_code',
1197 g_child_table_token ,
1198 'OKL_TAX_SOURCES_V',
1199 g_parent_table_token ,
1200 'FND_LOOKUP_VALUES');
1201 l_return_status := OKC_API.G_RET_STS_ERROR;
1202
1203 END IF;
1204
1205 END IF;
1206 x_return_status := l_return_status;
1207 EXCEPTION
1208
1209 WHEN OTHERS THEN
1210 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1211 ,p_msg_name => G_UNEXPECTED_ERROR
1212 ,p_token1 => G_SQLCODE_TOKEN
1213 ,p_token1_value => SQLCODE
1214 ,p_token2 => G_SQLERRM_TOKEN
1215 ,p_token2_value => SQLERRM);
1216 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1217 END validate_tax_line_status_code;
1218 -------------------------------------
1219 -- Validate_Attributes for: SEL_ID --
1220 -------------------------------------
1221 PROCEDURE validate_sel_id(
1222 x_return_status OUT NOCOPY VARCHAR2,
1223 p_txsv_rec IN txsv_rec_type) IS
1224 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1225
1226 l_dummy_var VARCHAR2(1) := '?' ;
1227
1228 CURSOR okl_txsv_sel_fk_csr (p_id IN NUMBER) IS
1229 SELECT 'x'
1230 FROM okl_strm_elements
1231 WHERE id = p_id;
1232 BEGIN
1233
1234 IF (p_txsv_rec.sel_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.sel_id IS NOT NULL)
1235 THEN
1236 --OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'sel_id');
1237 --l_return_status := OKL_API.G_RET_STS_ERROR;
1238 OPEN okl_txsv_sel_fk_csr(p_txsv_rec.sel_id) ;
1239 FETCH okl_txsv_sel_fk_csr into l_dummy_var ;
1240 CLOSE okl_txsv_sel_fk_csr ;
1241 -- still set to default means data was not found
1242 IF ( l_dummy_var = '?' ) THEN
1243 OKC_API.set_message(g_app_name,
1244 g_no_parent_record,
1245 g_col_name_token,
1246 'sel_id',
1247 g_child_table_token ,
1248 'OKL_TAX_SOURCES_V',
1249 g_parent_table_token ,
1250 'okl_strm_elements');
1251 l_return_status := OKC_API.G_RET_STS_ERROR;
1252
1253 END IF;
1254
1255 END IF;
1256 x_return_status := l_return_status;
1257 EXCEPTION
1258
1259 WHEN OTHERS THEN
1260 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1261 ,p_msg_name => G_UNEXPECTED_ERROR
1262 ,p_token1 => G_SQLCODE_TOKEN
1263 ,p_token1_value => SQLCODE
1264 ,p_token2 => G_SQLERRM_TOKEN
1265 ,p_token2_value => SQLERRM);
1266 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1267 END validate_sel_id;
1268 -------------------------------------
1269 -- Validate_Attributes for: APPLICATION_ID --
1270 -------------------------------------
1271 PROCEDURE validate_application_id(
1272 x_return_status OUT NOCOPY VARCHAR2,
1273 p_txsv_rec IN txsv_rec_type) IS
1274 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1275
1276 BEGIN
1277
1278 IF (p_txsv_rec.application_id = OKL_API.G_MISS_NUM OR p_txsv_rec.application_id IS NULL)
1279 THEN
1280 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'application_id');
1281 l_return_status := OKL_API.G_RET_STS_ERROR;
1282 END IF;
1283
1284 x_return_status := l_return_status;
1285 EXCEPTION
1286
1287 WHEN OTHERS THEN
1288 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1289 ,p_msg_name => G_UNEXPECTED_ERROR
1290 ,p_token1 => G_SQLCODE_TOKEN
1291 ,p_token1_value => SQLCODE
1292 ,p_token2 => G_SQLERRM_TOKEN
1293 ,p_token2_value => SQLERRM);
1294 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1295 END validate_application_id;
1296 -------------------------------------
1297 -- Validate_Attributes for: DEFAULT_TAXATION_COUNTRY --
1298 -------------------------------------
1299 PROCEDURE validate_def_txn_country(
1300 x_return_status OUT NOCOPY VARCHAR2,
1301 p_txsv_rec IN txsv_rec_type) IS
1302 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1303
1304 l_dummy_var VARCHAR2(1) := '?' ;
1305
1306 CURSOR okl_txsv_def_txn_cntry_fk_csr (p_id IN VARCHAR2) IS
1307 SELECT 'x'
1308 FROM fnd_territories_tl
1309 WHERE territory_code = p_id;
1310 BEGIN
1311
1312 IF (p_txsv_rec.default_taxation_country <> OKL_API.G_MISS_CHAR AND p_txsv_rec.default_taxation_country IS NOT NULL)
1313 THEN
1314 OPEN okl_txsv_def_txn_cntry_fk_csr(p_txsv_rec.default_taxation_country) ;
1315 FETCH okl_txsv_def_txn_cntry_fk_csr into l_dummy_var ;
1316 CLOSE okl_txsv_def_txn_cntry_fk_csr ;
1317 -- still set to default means data was not found
1318 IF ( l_dummy_var = '?' ) THEN
1319 OKC_API.set_message(g_app_name,
1320 g_no_parent_record,
1321 g_col_name_token,
1322 'default_taxation_country',
1323 g_child_table_token ,
1324 'OKL_TAX_SOURCES_V',
1325 g_parent_table_token ,
1326 'fnd_territories_tl');
1327 l_return_status := OKC_API.G_RET_STS_ERROR;
1328
1329 END IF;
1330
1331 END IF;
1332 x_return_status := l_return_status;
1333 EXCEPTION
1334
1335 WHEN OTHERS THEN
1336 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1337 ,p_msg_name => G_UNEXPECTED_ERROR
1338 ,p_token1 => G_SQLCODE_TOKEN
1339 ,p_token1_value => SQLCODE
1340 ,p_token2 => G_SQLERRM_TOKEN
1341 ,p_token2_value => SQLERRM);
1342 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1343 END validate_def_txn_country;
1344 -------------------------------------
1345 -- Validate_Attributes for: PRODUCT_CATEGORY --
1346 -------------------------------------
1347 PROCEDURE validate_product_category(
1348 x_return_status OUT NOCOPY VARCHAR2,
1349 p_txsv_rec IN txsv_rec_type) IS
1350 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1351
1352 l_dummy_var VARCHAR2(1) := '?' ;
1353
1354 CURSOR okl_txsv_prod_ctg_fk_csr (p_id IN VARCHAR2) IS
1355 SELECT 'x'
1356 FROM ZX_FC_PRODUCT_CATEGORIES_V
1357 WHERE classification_code = p_id;
1358 BEGIN
1359
1360 IF (p_txsv_rec.product_category <> OKL_API.G_MISS_CHAR AND p_txsv_rec.product_category IS NOT NULL)
1361 THEN
1362 OPEN okl_txsv_prod_ctg_fk_csr(p_txsv_rec.product_category) ;
1363 FETCH okl_txsv_prod_ctg_fk_csr into l_dummy_var ;
1364 CLOSE okl_txsv_prod_ctg_fk_csr ;
1365 -- still set to default means data was not found
1366 IF ( l_dummy_var = '?' ) THEN
1367 OKC_API.set_message(g_app_name,
1368 g_no_parent_record,
1369 g_col_name_token,
1370 'product_category',
1371 g_child_table_token ,
1372 'OKL_TAX_SOURCES_V',
1373 g_parent_table_token ,
1374 'ZX_FC_PRODUCT_CATEGORIES_V');
1375 l_return_status := OKC_API.G_RET_STS_ERROR;
1376
1377 END IF;
1378
1379 END IF;
1380 x_return_status := l_return_status;
1381 EXCEPTION
1382
1383 WHEN OTHERS THEN
1384 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1385 ,p_msg_name => G_UNEXPECTED_ERROR
1386 ,p_token1 => G_SQLCODE_TOKEN
1387 ,p_token1_value => SQLCODE
1388 ,p_token2 => G_SQLERRM_TOKEN
1389 ,p_token2_value => SQLERRM);
1390 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1391 END validate_product_category;
1392 -------------------------------------
1393 -- Validate_Attributes for: USER_DEFINED_FISC_CLASS --
1394 -------------------------------------
1395 PROCEDURE validate_udfc(
1396 x_return_status OUT NOCOPY VARCHAR2,
1397 p_txsv_rec IN txsv_rec_type) IS
1398 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1399
1400 l_dummy_var VARCHAR2(1) := '?' ;
1401
1402 CURSOR okl_txsv_udfc_fk_csr (p_id IN VARCHAR2) IS
1403 SELECT 'x'
1404 FROM ZX_FC_USER_DEFINED_V
1405 WHERE classification_code = p_id;
1406 BEGIN
1407
1408 IF (p_txsv_rec.user_defined_fisc_class <> OKL_API.G_MISS_CHAR AND p_txsv_rec.user_defined_fisc_class IS NOT NULL)
1409 THEN
1410 OPEN okl_txsv_udfc_fk_csr(p_txsv_rec.user_defined_fisc_class) ;
1411 FETCH okl_txsv_udfc_fk_csr into l_dummy_var ;
1412 CLOSE okl_txsv_udfc_fk_csr ;
1413 -- still set to default means data was not found
1414 IF ( l_dummy_var = '?' ) THEN
1415 OKC_API.set_message(g_app_name,
1416 g_no_parent_record,
1417 g_col_name_token,
1418 'user_defined_fisc_class',
1419 g_child_table_token ,
1420 'OKL_TAX_SOURCES_V',
1421 g_parent_table_token ,
1422 'ZX_FC_USER_DEFINED_V');
1423 l_return_status := OKC_API.G_RET_STS_ERROR;
1424
1425 END IF;
1426
1427 END IF;
1428 x_return_status := l_return_status;
1429 EXCEPTION
1430
1431 WHEN OTHERS THEN
1432 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1433 ,p_msg_name => G_UNEXPECTED_ERROR
1434 ,p_token1 => G_SQLCODE_TOKEN
1435 ,p_token1_value => SQLCODE
1436 ,p_token2 => G_SQLERRM_TOKEN
1437 ,p_token2_value => SQLERRM);
1438 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1439 END validate_udfc;
1440 -------------------------------------
1441 -- Validate_Attributes for: LINE_INTENDED_USE --
1442 -------------------------------------
1443 PROCEDURE validate_line_int_use(
1444 x_return_status OUT NOCOPY VARCHAR2,
1445 p_txsv_rec IN txsv_rec_type) IS
1446 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1447
1448 l_dummy_var VARCHAR2(1) := '?' ;
1449
1450 CURSOR okl_txsv_line_int_use_fk_csr (p_id IN VARCHAR2) IS
1451 SELECT 'x'
1452 FROM ZX_FC_INTENDED_USE_V
1453 WHERE classification_code = p_id;
1454 BEGIN
1455
1456 IF (p_txsv_rec.line_intended_use <> OKL_API.G_MISS_CHAR AND p_txsv_rec.line_intended_use IS NOT NULL)
1457 THEN
1458 OPEN okl_txsv_line_int_use_fk_csr(p_txsv_rec.line_intended_use) ;
1459 FETCH okl_txsv_line_int_use_fk_csr into l_dummy_var ;
1460 CLOSE okl_txsv_line_int_use_fk_csr ;
1461 -- still set to default means data was not found
1462 IF ( l_dummy_var = '?' ) THEN
1463 OKC_API.set_message(g_app_name,
1464 g_no_parent_record,
1465 g_col_name_token,
1466 'line_intended_use',
1467 g_child_table_token ,
1468 'OKL_TAX_SOURCES_V',
1469 g_parent_table_token ,
1470 'ZX_FC_INTENDED_USE_V');
1471 l_return_status := OKC_API.G_RET_STS_ERROR;
1472
1473 END IF;
1474
1475 END IF;
1476 x_return_status := l_return_status;
1477 EXCEPTION
1478
1479 WHEN OTHERS THEN
1480 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1481 ,p_msg_name => G_UNEXPECTED_ERROR
1482 ,p_token1 => G_SQLCODE_TOKEN
1483 ,p_token1_value => SQLCODE
1484 ,p_token2 => G_SQLERRM_TOKEN
1485 ,p_token2_value => SQLERRM);
1486 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1487 END validate_line_int_use;
1488 -------------------------------------
1489 -- Validate_Attributes for: INVENTORY_ITEM_ID --
1490 -------------------------------------
1491 PROCEDURE validate_inventory_item_id(
1492 x_return_status OUT NOCOPY VARCHAR2,
1493 p_txsv_rec IN txsv_rec_type) IS
1494 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1495
1496 l_dummy_var VARCHAR2(1) := '?' ;
1497
1498 CURSOR okl_txsv_inv_item_id_fk_csr (p_id IN NUMBER) IS
1499 SELECT 'x'
1500 FROM mtl_system_items_b
1501 WHERE inventory_item_id = p_id;
1502 BEGIN
1503
1504 IF (p_txsv_rec.inventory_item_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.inventory_item_id IS NOT NULL)
1505 THEN
1506 OPEN okl_txsv_inv_item_id_fk_csr(p_txsv_rec.inventory_item_id) ;
1507 FETCH okl_txsv_inv_item_id_fk_csr into l_dummy_var ;
1508 CLOSE okl_txsv_inv_item_id_fk_csr ;
1509 -- still set to default means data was not found
1510 IF ( l_dummy_var = '?' ) THEN
1511 OKC_API.set_message(g_app_name,
1512 g_no_parent_record,
1513 g_col_name_token,
1514 'inventory_item_id',
1515 g_child_table_token ,
1516 'OKL_TAX_SOURCES_V',
1517 g_parent_table_token ,
1518 'mtl_system_items_b');
1519 l_return_status := OKC_API.G_RET_STS_ERROR;
1520
1521 END IF;
1522
1523 END IF;
1524 x_return_status := l_return_status;
1525 EXCEPTION
1526
1527 WHEN OTHERS THEN
1528 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1529 ,p_msg_name => G_UNEXPECTED_ERROR
1530 ,p_token1 => G_SQLCODE_TOKEN
1531 ,p_token1_value => SQLCODE
1532 ,p_token2 => G_SQLERRM_TOKEN
1533 ,p_token2_value => SQLERRM);
1534 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1535 END validate_inventory_item_id;
1536 -------------------------------------
1537 -- Validate_Attributes for: BILL_TO_CUST_ACCT_ID --
1538 -------------------------------------
1539 PROCEDURE validate_bill_to_cust_acct_id(
1540 x_return_status OUT NOCOPY VARCHAR2,
1541 p_txsv_rec IN txsv_rec_type) IS
1542 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1543
1544 l_dummy_var VARCHAR2(1) := '?' ;
1545
1546 CURSOR okl_txsv_bill_cust_acct_fk_csr (p_id IN NUMBER) IS
1547 SELECT 'x'
1548 FROM hz_cust_accounts
1549 WHERE cust_account_id = p_id;
1550 BEGIN
1551
1552 IF (p_txsv_rec.bill_to_cust_acct_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.bill_to_cust_acct_id IS NOT NULL)
1553 THEN
1554 OPEN okl_txsv_bill_cust_acct_fk_csr(p_txsv_rec.bill_to_cust_acct_id) ;
1555 FETCH okl_txsv_bill_cust_acct_fk_csr into l_dummy_var ;
1556 CLOSE okl_txsv_bill_cust_acct_fk_csr ;
1557 -- still set to default means data was not found
1558 IF ( l_dummy_var = '?' ) THEN
1559 OKC_API.set_message(g_app_name,
1560 g_no_parent_record,
1561 g_col_name_token,
1562 'bill_to_cust_acct_id',
1563 g_child_table_token ,
1564 'OKL_TAX_SOURCES_V',
1565 g_parent_table_token ,
1566 'hz_cust_accounts');
1567 l_return_status := OKC_API.G_RET_STS_ERROR;
1568
1569 END IF;
1570
1571 END IF;
1572 x_return_status := l_return_status;
1573 EXCEPTION
1574
1575 WHEN OTHERS THEN
1576 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1577 ,p_msg_name => G_UNEXPECTED_ERROR
1578 ,p_token1 => G_SQLCODE_TOKEN
1579 ,p_token1_value => SQLCODE
1580 ,p_token2 => G_SQLERRM_TOKEN
1581 ,p_token2_value => SQLERRM);
1582 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1583 END validate_bill_to_cust_acct_id;
1584 -------------------------------------
1585 -- Validate_Attributes for: ORG_ID --
1586 -------------------------------------
1587 PROCEDURE validate_org_id(
1588 x_return_status OUT NOCOPY VARCHAR2,
1589 p_txsv_rec IN txsv_rec_type) IS
1590 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1591
1592 l_dummy_var VARCHAR2(1) := '?' ;
1593
1594 CURSOR okl_txsv_org_id_fk_csr (p_id IN NUMBER) IS
1595 SELECT 'x'
1596 FROM hr_all_organization_units
1597 WHERE organization_id = p_id;
1598 BEGIN
1599
1600 IF (p_txsv_rec.org_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.org_id IS NOT NULL)
1601 THEN
1602 OPEN okl_txsv_org_id_fk_csr(p_txsv_rec.org_id) ;
1603 FETCH okl_txsv_org_id_fk_csr into l_dummy_var ;
1604 CLOSE okl_txsv_org_id_fk_csr ;
1605 -- still set to default means data was not found
1606 IF ( l_dummy_var = '?' ) THEN
1607 OKC_API.set_message(g_app_name,
1608 g_no_parent_record,
1609 g_col_name_token,
1610 'org_id',
1611 g_child_table_token ,
1612 'OKL_TAX_SOURCES_V',
1613 g_parent_table_token ,
1614 'hr_all_organization_units');
1615 l_return_status := OKC_API.G_RET_STS_ERROR;
1616
1617 END IF;
1618
1619 END IF;
1620 x_return_status := l_return_status;
1621 EXCEPTION
1622
1623 WHEN OTHERS THEN
1624 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1625 ,p_msg_name => G_UNEXPECTED_ERROR
1626 ,p_token1 => G_SQLCODE_TOKEN
1627 ,p_token1_value => SQLCODE
1628 ,p_token2 => G_SQLERRM_TOKEN
1629 ,p_token2_value => SQLERRM);
1630 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1631 END validate_org_id;
1632 -------------------------------------
1633 -- Validate_Attributes for: LEGAL_ENTITY_ID --
1634 -------------------------------------
1635 PROCEDURE validate_legal_entity_id(
1636 x_return_status OUT NOCOPY VARCHAR2,
1637 p_txsv_rec IN txsv_rec_type) IS
1638 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1639
1640 l_dummy_var VARCHAR2(1) := '?' ;
1641
1642 CURSOR okl_txsv_le_id_fk_csr (p_id IN NUMBER) IS
1643 SELECT 'x'
1644 FROM xle_entity_profiles
1645 WHERE legal_entity_id = p_id;
1646 BEGIN
1647
1648 IF (p_txsv_rec.legal_entity_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.legal_entity_id IS NOT NULL)
1649 THEN
1650 --akrangan bug 6281517 fix start
1651 --changed org id assignment as input param of the csr to legal_entity_id
1652 OPEN okl_txsv_le_id_fk_csr(p_txsv_rec.legal_entity_id) ;
1653 --akrangan bug 6281517 fix end
1654 FETCH okl_txsv_le_id_fk_csr into l_dummy_var ;
1655 CLOSE okl_txsv_le_id_fk_csr ;
1656 -- still set to default means data was not found
1657 IF ( l_dummy_var = '?' ) THEN
1658 OKC_API.set_message(g_app_name,
1659 g_no_parent_record,
1660 g_col_name_token,
1661 'legal_entity_id',
1662 g_child_table_token ,
1663 'OKL_TAX_SOURCES_V',
1664 g_parent_table_token ,
1665 'xle_entity_profiles');
1666 l_return_status := OKC_API.G_RET_STS_ERROR;
1667
1668 END IF;
1669
1670 END IF;
1671 x_return_status := l_return_status;
1672 EXCEPTION
1673
1674 WHEN OTHERS THEN
1675 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1676 ,p_msg_name => G_UNEXPECTED_ERROR
1677 ,p_token1 => G_SQLCODE_TOKEN
1678 ,p_token1_value => SQLCODE
1679 ,p_token2 => G_SQLERRM_TOKEN
1680 ,p_token2_value => SQLERRM);
1681 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1682 END validate_legal_entity_id;
1683 -------------------------------------
1684 -- Validate_Attributes for: PRODUCT_TYPE --
1685 -------------------------------------
1686 PROCEDURE validate_product_type(
1687 x_return_status OUT NOCOPY VARCHAR2,
1688 p_txsv_rec IN txsv_rec_type) IS
1689 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1690
1691 l_dummy_var VARCHAR2(1) := '?' ;
1692
1693 CURSOR okl_txsv_prod_type_fk_csr IS
1694 SELECT 'x'
1695 FROM fnd_lookups
1696 WHERE lookup_type = 'ZX_PRODUCT_TYPE';
1697 BEGIN
1698
1699 IF (p_txsv_rec.product_type <> OKL_API.G_MISS_CHAR AND p_txsv_rec.product_type IS NOT NULL)
1700 THEN
1701 OPEN okl_txsv_prod_type_fk_csr;
1702 FETCH okl_txsv_prod_type_fk_csr into l_dummy_var ;
1703 CLOSE okl_txsv_prod_type_fk_csr ;
1704 -- still set to default means data was not found
1705 IF ( l_dummy_var = '?' ) THEN
1706 OKC_API.set_message(g_app_name,
1707 g_no_parent_record,
1708 g_col_name_token,
1709 'product_type',
1710 g_child_table_token ,
1711 'OKL_TAX_SOURCES_V',
1712 g_parent_table_token ,
1713 'fnd_lookups');
1714 l_return_status := OKC_API.G_RET_STS_ERROR;
1715
1716 END IF;
1717
1718 END IF;
1719 x_return_status := l_return_status;
1720 EXCEPTION
1721
1722 WHEN OTHERS THEN
1723 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1724 ,p_msg_name => G_UNEXPECTED_ERROR
1725 ,p_token1 => G_SQLCODE_TOKEN
1726 ,p_token1_value => SQLCODE
1727 ,p_token2 => G_SQLERRM_TOKEN
1728 ,p_token2_value => SQLERRM);
1729 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1730 END validate_product_type;
1731 -------------------------------------
1732 -- Validate_Attributes for: PRODUCT_FISC_CLASSIFICATION --
1733 -------------------------------------
1734 PROCEDURE validate_prod_fisc_classfn(
1735 x_return_status OUT NOCOPY VARCHAR2,
1736 p_txsv_rec IN txsv_rec_type) IS
1737 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1738
1739 l_dummy_var VARCHAR2(1) := '?' ;
1740
1741 CURSOR okl_txsv_prd_fis_clasfn_fk_csr (p_id IN VARCHAR2) IS
1742 SELECT 'x'
1743 FROM zx_fc_codes_b
1744 WHERE classification_code = p_id;
1745 BEGIN
1746
1747 IF (p_txsv_rec.product_fisc_classification <> OKL_API.G_MISS_CHAR AND p_txsv_rec.product_fisc_classification IS NOT NULL)
1748 THEN
1749 OPEN okl_txsv_prd_fis_clasfn_fk_csr(p_txsv_rec.product_fisc_classification);
1750 FETCH okl_txsv_prd_fis_clasfn_fk_csr into l_dummy_var ;
1751 CLOSE okl_txsv_prd_fis_clasfn_fk_csr ;
1752 -- still set to default means data was not found
1753 IF ( l_dummy_var = '?' ) THEN
1754 OKC_API.set_message(g_app_name,
1755 g_no_parent_record,
1756 g_col_name_token,
1757 'product_fisc_classification',
1758 g_child_table_token ,
1759 'OKL_TAX_SOURCES_V',
1760 g_parent_table_token ,
1761 'zx_fc_codes_b');
1762 l_return_status := OKC_API.G_RET_STS_ERROR;
1763
1764 END IF;
1765
1766 END IF;
1767 x_return_status := l_return_status;
1768 EXCEPTION
1769
1770 WHEN OTHERS THEN
1771 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1772 ,p_msg_name => G_UNEXPECTED_ERROR
1773 ,p_token1 => G_SQLCODE_TOKEN
1774 ,p_token1_value => SQLCODE
1775 ,p_token2 => G_SQLERRM_TOKEN
1776 ,p_token2_value => SQLERRM);
1777 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1778 END validate_prod_fisc_classfn;
1779 -------------------------------------
1780 -- Validate_Attributes for: PROVNL_TAX_DETERMINATION_DATE --
1781 -------------------------------------
1782 PROCEDURE validate_provnl_tax_det_date(
1783 x_return_status OUT NOCOPY VARCHAR2,
1784 p_txsv_rec IN txsv_rec_type) IS
1785 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1786
1787 BEGIN
1788
1789 IF (p_txsv_rec.provnl_tax_determination_date = OKL_API.G_MISS_DATE AND p_txsv_rec.provnl_tax_determination_date IS NULL)
1790 THEN
1791 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'provnl_tax_determination_date');
1792 l_return_status := OKL_API.G_RET_STS_ERROR;
1793 END IF;
1794 x_return_status := l_return_status;
1795 EXCEPTION
1796
1797 WHEN OTHERS THEN
1798 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1799 ,p_msg_name => G_UNEXPECTED_ERROR
1800 ,p_token1 => G_SQLCODE_TOKEN
1801 ,p_token1_value => SQLCODE
1802 ,p_token2 => G_SQLERRM_TOKEN
1803 ,p_token2_value => SQLERRM);
1804 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1805 END validate_provnl_tax_det_date;
1806 -------------------------------------
1807 -- Validate_Attributes for: trx_Date --
1808 -------------------------------------
1809 PROCEDURE validate_trx_date(
1810 x_return_status OUT NOCOPY VARCHAR2,
1811 p_txsv_rec IN txsv_rec_type) IS
1812 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1813
1814 BEGIN
1815
1816 IF (p_txsv_rec.trx_Date = OKL_API.G_MISS_DATE AND p_txsv_rec.trx_Date IS NULL)
1817 THEN
1818 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'trx_Date');
1819 l_return_status := OKL_API.G_RET_STS_ERROR;
1820 END IF;
1821 x_return_status := l_return_status;
1822 EXCEPTION
1823
1824 WHEN OTHERS THEN
1825 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1826 ,p_msg_name => G_UNEXPECTED_ERROR
1827 ,p_token1 => G_SQLCODE_TOKEN
1828 ,p_token1_value => SQLCODE
1829 ,p_token2 => G_SQLERRM_TOKEN
1830 ,p_token2_value => SQLERRM);
1831 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1832 END validate_trx_date;
1833 -------------------------------------
1834 -- Validate_Attributes for: TRY_ID --
1835 -------------------------------------
1836 PROCEDURE validate_try_id(
1837 x_return_status OUT NOCOPY VARCHAR2,
1838 p_txsv_rec IN txsv_rec_type) IS
1839 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1840
1841 l_dummy_var VARCHAR2(1) := '?' ;
1842
1843 CURSOR okl_txsv_try_id_fk_csr (p_id IN NUMBER) IS
1844 SELECT 'x'
1845 FROM okl_trx_types_b
1846 WHERE id = p_id;
1847 BEGIN
1848
1849 IF (p_txsv_rec.try_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.try_id IS NOT NULL)
1850 THEN
1851 OPEN okl_txsv_try_id_fk_csr(p_txsv_rec.try_id);
1852 FETCH okl_txsv_try_id_fk_csr into l_dummy_var ;
1853 CLOSE okl_txsv_try_id_fk_csr ;
1854 -- still set to default means data was not found
1855 IF ( l_dummy_var = '?' ) THEN
1856 OKC_API.set_message(g_app_name,
1857 g_no_parent_record,
1858 g_col_name_token,
1859 'try_id',
1860 g_child_table_token ,
1861 'OKL_TAX_SOURCES_V',
1862 g_parent_table_token ,
1863 'okl_trx_types_b');
1864 l_return_status := OKC_API.G_RET_STS_ERROR;
1865
1866 END IF;
1867
1868 END IF;
1869 x_return_status := l_return_status;
1870 EXCEPTION
1871
1872 WHEN OTHERS THEN
1873 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1874 ,p_msg_name => G_UNEXPECTED_ERROR
1875 ,p_token1 => G_SQLCODE_TOKEN
1876 ,p_token1_value => SQLCODE
1877 ,p_token2 => G_SQLERRM_TOKEN
1878 ,p_token2_value => SQLERRM);
1879 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1880 END validate_try_id;
1881 -------------------------------------
1882 -- Validate_Attributes for: SHIP_TO_LOCATION_ID --
1883 -------------------------------------
1884 PROCEDURE validate_ship_to_location_id(
1885 x_return_status OUT NOCOPY VARCHAR2,
1886 p_txsv_rec IN txsv_rec_type) IS
1887 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1888
1889 l_dummy_var VARCHAR2(1) := '?' ;
1890
1891 CURSOR okl_txsv_ship_to_locn_fk_csr (p_id IN NUMBER) IS
1892 SELECT 'x'
1893 FROM hz_party_sites
1894 WHERE location_id = p_id;
1895 BEGIN
1896
1897 IF (p_txsv_rec.ship_to_location_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.ship_to_location_id IS NOT NULL)
1898 THEN
1899 OPEN okl_txsv_ship_to_locn_fk_csr(p_txsv_rec.ship_to_location_id);
1900 FETCH okl_txsv_ship_to_locn_fk_csr into l_dummy_var ;
1901 CLOSE okl_txsv_ship_to_locn_fk_csr ;
1902 -- still set to default means data was not found
1903
1904 IF ( l_dummy_var = '?' ) THEN
1905
1906 OKC_API.set_message(g_app_name,
1907 g_no_parent_record,
1908 g_col_name_token,
1909 'ship_to_location_id',
1910 g_child_table_token ,
1911 'OKL_TAX_SOURCES_V',
1912 g_parent_table_token ,
1913 'hz_party_sites');
1914 l_return_status := OKC_API.G_RET_STS_ERROR;
1915
1916 END IF;
1917
1918 END IF;
1919 x_return_status := l_return_status;
1920 EXCEPTION
1921
1922 WHEN OTHERS THEN
1923 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1924 ,p_msg_name => G_UNEXPECTED_ERROR
1925 ,p_token1 => G_SQLCODE_TOKEN
1926 ,p_token1_value => SQLCODE
1927 ,p_token2 => G_SQLERRM_TOKEN
1928 ,p_token2_value => SQLERRM);
1929 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1930 END validate_ship_to_location_id;
1931 -------------------------------------
1932 -- Validate_Attributes for: SHIP_TO_PARTY_SITE_ID --
1933 -------------------------------------
1934 PROCEDURE validate_ship_to_party_site_id(
1935 x_return_status OUT NOCOPY VARCHAR2,
1936 p_txsv_rec IN txsv_rec_type) IS
1937 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1938
1939 l_dummy_var VARCHAR2(1) := '?' ;
1940
1941 CURSOR okl_txsv_ship_to_ps_fk_csr (p_id IN NUMBER) IS
1942 SELECT 'x'
1943 FROM hz_party_sites
1944 WHERE party_site_id = p_id;
1945 BEGIN
1946
1947 IF (p_txsv_rec.ship_to_party_site_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.ship_to_party_site_id IS NOT NULL)
1948 THEN
1949 OPEN okl_txsv_ship_to_ps_fk_csr(p_txsv_rec.ship_to_party_site_id);
1950 FETCH okl_txsv_ship_to_ps_fk_csr into l_dummy_var ;
1951 CLOSE okl_txsv_ship_to_ps_fk_csr ;
1952 -- still set to default means data was not found
1953
1954 IF ( l_dummy_var = '?' ) THEN
1955
1956 OKC_API.set_message(g_app_name,
1957 g_no_parent_record,
1958 g_col_name_token,
1959 'ship_to_party_site_id',
1960 g_child_table_token ,
1961 'OKL_TAX_SOURCES_V',
1962 g_parent_table_token ,
1963 'hz_party_sites');
1964 l_return_status := OKC_API.G_RET_STS_ERROR;
1965
1966 END IF;
1967
1968 END IF;
1969 x_return_status := l_return_status;
1970 EXCEPTION
1971
1972 WHEN OTHERS THEN
1973 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
1974 ,p_msg_name => G_UNEXPECTED_ERROR
1975 ,p_token1 => G_SQLCODE_TOKEN
1976 ,p_token1_value => SQLCODE
1977 ,p_token2 => G_SQLERRM_TOKEN
1978 ,p_token2_value => SQLERRM);
1979 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1980 END validate_ship_to_party_site_id;
1981 -------------------------------------
1982 -- Validate_Attributes for: SHIP_TO_PARTY_ID --
1983 -------------------------------------
1984 PROCEDURE validate_ship_to_party_id(
1985 x_return_status OUT NOCOPY VARCHAR2,
1986 p_txsv_rec IN txsv_rec_type) IS
1987 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1988
1989 l_dummy_var VARCHAR2(1) := '?' ;
1990
1991 CURSOR okl_txsv_ship_to_pid_fk_csr (p_id IN NUMBER) IS
1992 SELECT 'x'
1993 FROM hz_party_sites
1994 WHERE party_id = p_id;
1995 BEGIN
1996
1997 IF (p_txsv_rec.ship_to_party_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.ship_to_party_id IS NOT NULL)
1998 THEN
1999 OPEN okl_txsv_ship_to_pid_fk_csr(p_txsv_rec.ship_to_party_id);
2000 FETCH okl_txsv_ship_to_pid_fk_csr into l_dummy_var ;
2001 CLOSE okl_txsv_ship_to_pid_fk_csr ;
2002 -- still set to default means data was not found
2003
2004 IF ( l_dummy_var = '?' ) THEN
2005
2006 OKC_API.set_message(g_app_name,
2007 g_no_parent_record,
2008 g_col_name_token,
2009 'ship_to_party_id',
2010 g_child_table_token ,
2011 'OKL_TAX_SOURCES_V',
2012 g_parent_table_token ,
2013 'hz_party_sites');
2014 l_return_status := OKC_API.G_RET_STS_ERROR;
2015
2016 END IF;
2017
2018 END IF;
2019 x_return_status := l_return_status;
2020 EXCEPTION
2021
2022 WHEN OTHERS THEN
2023 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2024 ,p_msg_name => G_UNEXPECTED_ERROR
2025 ,p_token1 => G_SQLCODE_TOKEN
2026 ,p_token1_value => SQLCODE
2027 ,p_token2 => G_SQLERRM_TOKEN
2028 ,p_token2_value => SQLERRM);
2029 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2030 END validate_ship_to_party_id;
2031
2032 -------------------------------------
2033 -- Validate_Attributes for: bill_to_party_site_id --
2034 -------------------------------------
2035 PROCEDURE validate_bill_to_party_site_id(
2036 x_return_status OUT NOCOPY VARCHAR2,
2037 p_txsv_rec IN txsv_rec_type) IS
2038 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2039
2040 l_dummy_var VARCHAR2(1) := '?' ;
2041
2042 CURSOR okl_txsv_bill_to_ps_fk_csr (p_id IN NUMBER) IS
2043 SELECT 'x'
2044 FROM hz_party_sites
2045 WHERE party_site_id = p_id;
2046 BEGIN
2047
2048 IF (p_txsv_rec.bill_to_party_site_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.bill_to_party_site_id IS NOT NULL)
2049 THEN
2050 OPEN okl_txsv_bill_to_ps_fk_csr(p_txsv_rec.bill_to_party_site_id);
2051 FETCH okl_txsv_bill_to_ps_fk_csr into l_dummy_var ;
2052 CLOSE okl_txsv_bill_to_ps_fk_csr ;
2053 -- still set to default means data was not found
2054
2055 IF ( l_dummy_var = '?' ) THEN
2056
2057 OKC_API.set_message(g_app_name,
2058 g_no_parent_record,
2059 g_col_name_token,
2060 'bill_to_party_site_id',
2061 g_child_table_token ,
2062 'OKL_TAX_SOURCES_V',
2063 g_parent_table_token ,
2064 'hz_party_sites');
2065 l_return_status := OKC_API.G_RET_STS_ERROR;
2066
2067 END IF;
2068
2069 END IF;
2070 x_return_status := l_return_status;
2071 EXCEPTION
2072
2073 WHEN OTHERS THEN
2074 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2075 ,p_msg_name => G_UNEXPECTED_ERROR
2076 ,p_token1 => G_SQLCODE_TOKEN
2077 ,p_token1_value => SQLCODE
2078 ,p_token2 => G_SQLERRM_TOKEN
2079 ,p_token2_value => SQLERRM);
2080 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2081 END validate_bill_to_party_site_id;
2082
2083 -------------------------------------
2084 -- Validate_Attributes for: bill_to_location_id --
2085 -------------------------------------
2086 PROCEDURE validate_bill_to_location_id(
2087 x_return_status OUT NOCOPY VARCHAR2,
2088 p_txsv_rec IN txsv_rec_type) IS
2089 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2090
2091 l_dummy_var VARCHAR2(1) := '?' ;
2092
2093 CURSOR okl_txsv_bill_to_loc_fk_csr (p_id IN NUMBER) IS
2094 SELECT 'x'
2095 FROM hz_party_sites
2096 WHERE location_id = p_id;
2097 BEGIN
2098
2099 IF (p_txsv_rec.bill_to_location_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.bill_to_location_id IS NOT NULL)
2100 THEN
2101 OPEN okl_txsv_bill_to_loc_fk_csr(p_txsv_rec.bill_to_location_id);
2102 FETCH okl_txsv_bill_to_loc_fk_csr into l_dummy_var ;
2103 CLOSE okl_txsv_bill_to_loc_fk_csr ;
2104 -- still set to default means data was not found
2105
2106 IF ( l_dummy_var = '?' ) THEN
2107
2108 OKC_API.set_message(g_app_name,
2109 g_no_parent_record,
2110 g_col_name_token,
2111 'bill_to_location_id',
2112 g_child_table_token ,
2113 'OKL_TAX_SOURCES_V',
2114 g_parent_table_token ,
2115 'hz_party_sites');
2116 l_return_status := OKC_API.G_RET_STS_ERROR;
2117
2118 END IF;
2119
2120 END IF;
2121 x_return_status := l_return_status;
2122 EXCEPTION
2123
2124 WHEN OTHERS THEN
2125 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2126 ,p_msg_name => G_UNEXPECTED_ERROR
2127 ,p_token1 => G_SQLCODE_TOKEN
2128 ,p_token1_value => SQLCODE
2129 ,p_token2 => G_SQLERRM_TOKEN
2130 ,p_token2_value => SQLERRM);
2131 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2132 END validate_bill_to_location_id;
2133
2134 -------------------------------------
2135 -- Validate_Attributes for: bill_to_location_id --
2136 -------------------------------------
2137 PROCEDURE validate_bill_to_party_id(
2138 x_return_status OUT NOCOPY VARCHAR2,
2139 p_txsv_rec IN txsv_rec_type) IS
2140 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2141
2142 l_dummy_var VARCHAR2(1) := '?' ;
2143
2144 CURSOR okl_txsv_bill_to_pid_fk_csr (p_id IN NUMBER) IS
2145 SELECT 'x'
2146 FROM hz_party_sites
2147 WHERE party_id = p_id;
2148 BEGIN
2149
2150 IF (p_txsv_rec.bill_to_party_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.bill_to_party_id IS NOT NULL)
2151 THEN
2152 OPEN okl_txsv_bill_to_pid_fk_csr(p_txsv_rec.bill_to_party_id);
2153 FETCH okl_txsv_bill_to_pid_fk_csr into l_dummy_var ;
2154 CLOSE okl_txsv_bill_to_pid_fk_csr ;
2155 -- still set to default means data was not found
2156
2157 IF ( l_dummy_var = '?' ) THEN
2158
2159 OKC_API.set_message(g_app_name,
2160 g_no_parent_record,
2161 g_col_name_token,
2162 'bill_to_party_id',
2163 g_child_table_token ,
2164 'OKL_TAX_SOURCES_V',
2165 g_parent_table_token ,
2166 'hz_party_sites');
2167 l_return_status := OKC_API.G_RET_STS_ERROR;
2168
2169 END IF;
2170
2171 END IF;
2172 x_return_status := l_return_status;
2173 EXCEPTION
2174
2175 WHEN OTHERS THEN
2176 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2177 ,p_msg_name => G_UNEXPECTED_ERROR
2178 ,p_token1 => G_SQLCODE_TOKEN
2179 ,p_token1_value => SQLCODE
2180 ,p_token2 => G_SQLERRM_TOKEN
2181 ,p_token2_value => SQLERRM);
2182 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2183 END validate_bill_to_party_id;
2184 -------------------------------------
2185 -- Validate_Attributes for: ship_to_cust_acct_site_use_id --
2186 -------------------------------------
2187 PROCEDURE validate_shiptocasuid(
2188 x_return_status OUT NOCOPY VARCHAR2,
2189 p_txsv_rec IN txsv_rec_type) IS
2190 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2191
2192 l_dummy_var VARCHAR2(1) := '?' ;
2193
2194 CURSOR okl_txsv_ship_to_cs_fk_csr (p_id IN NUMBER) IS
2195 SELECT 'x'
2196 FROM hz_cust_site_uses_all
2197 WHERE site_use_id = p_id;
2198 BEGIN
2199
2200 IF (p_txsv_rec.ship_to_cust_acct_site_use_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.ship_to_cust_acct_site_use_id IS NOT NULL)
2201 THEN
2202 OPEN okl_txsv_ship_to_cs_fk_csr(p_txsv_rec.ship_to_cust_acct_site_use_id);
2203 FETCH okl_txsv_ship_to_cs_fk_csr into l_dummy_var ;
2204 CLOSE okl_txsv_ship_to_cs_fk_csr ;
2205 -- still set to default means data was not found
2206
2207 IF ( l_dummy_var = '?' ) THEN
2208
2209 OKC_API.set_message(g_app_name,
2210 g_no_parent_record,
2211 g_col_name_token,
2212 'ship_to_cust_acct_site_use_id',
2213 g_child_table_token ,
2214 'OKL_TAX_SOURCES_V',
2215 g_parent_table_token ,
2216 'hz_cust_site_uses_all');
2217 l_return_status := OKC_API.G_RET_STS_ERROR;
2218
2219 END IF;
2220
2221 END IF;
2222 x_return_status := l_return_status;
2223 EXCEPTION
2224
2225 WHEN OTHERS THEN
2226 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2227 ,p_msg_name => G_UNEXPECTED_ERROR
2228 ,p_token1 => G_SQLCODE_TOKEN
2229 ,p_token1_value => SQLCODE
2230 ,p_token2 => G_SQLERRM_TOKEN
2231 ,p_token2_value => SQLERRM);
2232 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2233 END validate_shiptocasuid;
2234
2235 -------------------------------------
2236 -- Validate_Attributes for: bill_to_cust_acct_site_use_id --
2237 -------------------------------------
2238 PROCEDURE validate_billtocasuid(
2239 x_return_status OUT NOCOPY VARCHAR2,
2240 p_txsv_rec IN txsv_rec_type) IS
2241 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2242
2243 l_dummy_var VARCHAR2(1) := '?' ;
2244
2245 CURSOR okl_txsv_bill_to_cs_fk_csr (p_id IN NUMBER) IS
2246 SELECT 'x'
2247 FROM hz_cust_site_uses_all
2248 WHERE site_use_id = p_id;
2249 BEGIN
2250
2251 IF (p_txsv_rec.bill_to_cust_acct_site_use_id <> OKL_API.G_MISS_NUM AND p_txsv_rec.bill_to_cust_acct_site_use_id IS NOT NULL)
2252 THEN
2253 OPEN okl_txsv_bill_to_cs_fk_csr(p_txsv_rec.bill_to_cust_acct_site_use_id);
2254 FETCH okl_txsv_bill_to_cs_fk_csr into l_dummy_var ;
2255 CLOSE okl_txsv_bill_to_cs_fk_csr ;
2256 -- still set to default means data was not found
2257
2258 IF ( l_dummy_var = '?' ) THEN
2259
2260 OKC_API.set_message(g_app_name,
2261 g_no_parent_record,
2262 g_col_name_token,
2263 'ship_to_cust_acct_site_use_id',
2264 g_child_table_token ,
2265 'OKL_TAX_SOURCES_V',
2266 g_parent_table_token ,
2267 'hz_cust_site_uses_all');
2268 l_return_status := OKC_API.G_RET_STS_ERROR;
2269
2270 END IF;
2271
2272 END IF;
2273 x_return_status := l_return_status;
2274 EXCEPTION
2275
2276 WHEN OTHERS THEN
2277 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2278 ,p_msg_name => G_UNEXPECTED_ERROR
2279 ,p_token1 => G_SQLCODE_TOKEN
2280 ,p_token1_value => SQLCODE
2281 ,p_token2 => G_SQLERRM_TOKEN
2282 ,p_token2_value => SQLERRM);
2283 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2284 END validate_billtocasuid;
2285 -------------------------------------
2286 -- Validate_Attributes for: TRX_CURRENCY_CODE --
2287 -------------------------------------
2288 PROCEDURE validate_trx_currency_code(
2289 x_return_status OUT NOCOPY VARCHAR2,
2290 p_txsv_rec IN txsv_rec_type) IS
2291 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2292
2293 BEGIN
2294
2295 IF (p_txsv_rec.trx_currency_code = OKL_API.G_MISS_CHAR OR p_txsv_rec.trx_currency_code IS NULL)
2296 THEN
2297 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'trx_currency_code');
2298 l_return_status := OKL_API.G_RET_STS_ERROR;
2299 END IF;
2300 x_return_status := l_return_status;
2301 EXCEPTION
2302
2303 WHEN OTHERS THEN
2304 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2305 ,p_msg_name => G_UNEXPECTED_ERROR
2306 ,p_token1 => G_SQLCODE_TOKEN
2307 ,p_token1_value => SQLCODE
2308 ,p_token2 => G_SQLERRM_TOKEN
2309 ,p_token2_value => SQLERRM);
2310 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2311 END validate_trx_currency_code;
2312 -- Modified by dcshanmu for eBTax - modification end
2313
2314 ---------------------------------------------------------------------------
2315 -- FUNCTION Validate_Attributes
2316 ---------------------------------------------------------------------------
2317 -----------------------------------------------
2318 -- Validate_Attributes for:OKL_TAX_SOURCES_V --
2319 -----------------------------------------------
2320 FUNCTION Validate_Attributes (
2321 p_txsv_rec IN txsv_rec_type
2322 ) RETURN VARCHAR2 IS
2323 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2324 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2325 BEGIN
2326 -----------------------------
2327 -- Column Level Validation --
2328 -----------------------------
2329 -- ***
2330 -- id
2331 -- ***
2332 validate_id(l_return_status, p_txsv_rec);
2333 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2334 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2335 x_return_status := l_return_status;
2336 RAISE G_EXCEPTION_HALT_VALIDATION;
2337 ELSE
2338 x_return_status := l_return_status;
2339 END IF;
2340 END IF;
2341
2342
2343 -- ***
2344 -- khr_id
2345 -- ***
2346 validate_khr_id(l_return_status, p_txsv_rec);
2347 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2348 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2349 x_return_status := l_return_status;
2350 RAISE G_EXCEPTION_HALT_VALIDATION;
2351 ELSE
2352 x_return_status := l_return_status;
2353 END IF;
2354 END IF;
2355
2356
2357 -- ***
2358 -- kle_id
2359 -- ***
2360 validate_kle_id(l_return_status, p_txsv_rec);
2361 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2362 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2363 x_return_status := l_return_status;
2364 RAISE G_EXCEPTION_HALT_VALIDATION;
2365 ELSE
2366 x_return_status := l_return_status;
2367 END IF;
2368 END IF;
2369
2370
2371 -- ***
2372 -- trx_id
2373 -- ***
2374 validate_trx_id(l_return_status, p_txsv_rec);
2375 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2376 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2377 x_return_status := l_return_status;
2378 RAISE G_EXCEPTION_HALT_VALIDATION;
2379 ELSE
2380 x_return_status := l_return_status;
2381 END IF;
2382 END IF;
2383
2384
2385 -- ***
2386 -- trx_line_id
2387 -- ***
2388 validate_trx_line_id(l_return_status, p_txsv_rec);
2389 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2390 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2391 x_return_status := l_return_status;
2392 RAISE G_EXCEPTION_HALT_VALIDATION;
2393 ELSE
2394 x_return_status := l_return_status;
2395 END IF;
2396 END IF;
2397
2398
2399 -- ***
2400 -- tax_call_type_code
2401 -- ***
2402 validate_tax_call_type_code(l_return_status, p_txsv_rec);
2403 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2404 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2405 x_return_status := l_return_status;
2406 RAISE G_EXCEPTION_HALT_VALIDATION;
2407 ELSE
2408 x_return_status := l_return_status;
2409 END IF;
2410 END IF;
2411
2412
2413 -- ***
2414 -- sty_id
2415 -- ***
2416 validate_sty_id(l_return_status, p_txsv_rec);
2417 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2418 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2419 x_return_status := l_return_status;
2420 RAISE G_EXCEPTION_HALT_VALIDATION;
2421 ELSE
2422 x_return_status := l_return_status;
2423 END IF;
2424 END IF;
2425
2426
2427 -- ***
2428 -- trx_business_category
2429 -- ***
2430 validate_trx_business_category(l_return_status, p_txsv_rec);
2431 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2432 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2433 x_return_status := l_return_status;
2434 RAISE G_EXCEPTION_HALT_VALIDATION;
2435 ELSE
2436 x_return_status := l_return_status;
2437 END IF;
2438 END IF;
2439
2440 -- Modified by dcshanmu for eBTax - modification starts
2441 -- calling validation methods for newly added columns
2442
2443 -- ***
2444 -- tax_line_status_code
2445 -- ***
2446 validate_tax_line_status_code(l_return_status, p_txsv_rec);
2447 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2448 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2449 x_return_status := l_return_status;
2450 RAISE G_EXCEPTION_HALT_VALIDATION;
2451 ELSE
2452 x_return_status := l_return_status;
2453 END IF;
2454 END IF;
2455
2456
2457 -- ***
2458 -- sel_id
2459 -- ***
2460 validate_sel_id(l_return_status, p_txsv_rec);
2461 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2462 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2463 x_return_status := l_return_status;
2464 RAISE G_EXCEPTION_HALT_VALIDATION;
2465 ELSE
2466 x_return_status := l_return_status;
2467 END IF;
2468 END IF;
2469
2470 -- ***
2471 -- application_id
2472 -- ***
2473 validate_application_id(l_return_status, p_txsv_rec);
2474 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2475 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2476 x_return_status := l_return_status;
2477 RAISE G_EXCEPTION_HALT_VALIDATION;
2478 ELSE
2479 x_return_status := l_return_status;
2480 END IF;
2481 END IF;
2482
2483 -- ***
2484 -- default_taxation_country
2485 -- ***
2486 validate_def_txn_country(l_return_status, p_txsv_rec);
2487 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2488 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2489 x_return_status := l_return_status;
2490 RAISE G_EXCEPTION_HALT_VALIDATION;
2491 ELSE
2492 x_return_status := l_return_status;
2493 END IF;
2494 END IF;
2495
2496 -- ***
2497 -- product_category
2498 -- ***
2499 validate_product_category(l_return_status, p_txsv_rec);
2500 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2501 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2502 x_return_status := l_return_status;
2503 RAISE G_EXCEPTION_HALT_VALIDATION;
2504 ELSE
2505 x_return_status := l_return_status;
2506 END IF;
2507 END IF;
2508
2509 -- ***
2510 -- user_defined_fisc_class
2511 -- ***
2512 validate_udfc(l_return_status, p_txsv_rec);
2513 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2514 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2515 x_return_status := l_return_status;
2516 RAISE G_EXCEPTION_HALT_VALIDATION;
2517 ELSE
2518 x_return_status := l_return_status;
2519 END IF;
2520 END IF;
2521
2522 -- ***
2523 -- line_intended_use
2524 -- ***
2525 validate_line_int_use(l_return_status, p_txsv_rec);
2526 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2527 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2528 x_return_status := l_return_status;
2529 RAISE G_EXCEPTION_HALT_VALIDATION;
2530 ELSE
2531 x_return_status := l_return_status;
2532 END IF;
2533 END IF;
2534
2535 -- ***
2536 -- inventory_item_id
2537 -- ***
2538 validate_inventory_item_id(l_return_status, p_txsv_rec);
2539 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2540 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2541 x_return_status := l_return_status;
2542 RAISE G_EXCEPTION_HALT_VALIDATION;
2543 ELSE
2544 x_return_status := l_return_status;
2545 END IF;
2546 END IF;
2547
2548 -- ***
2549 -- bill_to_cust_acct_id
2550 -- ***
2551 validate_bill_to_cust_acct_id(l_return_status, p_txsv_rec);
2552 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2553 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2554 x_return_status := l_return_status;
2555 RAISE G_EXCEPTION_HALT_VALIDATION;
2556 ELSE
2557 x_return_status := l_return_status;
2558 END IF;
2559 END IF;
2560
2561 -- ***
2562 -- org_id
2563 -- ***
2564 validate_org_id(l_return_status, p_txsv_rec);
2565 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2566 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2567 x_return_status := l_return_status;
2568 RAISE G_EXCEPTION_HALT_VALIDATION;
2569 ELSE
2570 x_return_status := l_return_status;
2571 END IF;
2572 END IF;
2573
2574 -- ***
2575 -- legal_entity_id
2576 -- ***
2577 validate_legal_entity_id(l_return_status, p_txsv_rec);
2578 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2579 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2580 x_return_status := l_return_status;
2581 RAISE G_EXCEPTION_HALT_VALIDATION;
2582 ELSE
2583 x_return_status := l_return_status;
2584 END IF;
2585 END IF;
2586
2587 -- ***
2588 -- product_type
2589 -- ***
2590 validate_product_type(l_return_status, p_txsv_rec);
2591 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2592 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2593 x_return_status := l_return_status;
2594 RAISE G_EXCEPTION_HALT_VALIDATION;
2595 ELSE
2596 x_return_status := l_return_status;
2597 END IF;
2598 END IF;
2599
2600 -- ***
2601 -- product_fisc_classification
2602 -- ***
2603 validate_prod_fisc_classfn(l_return_status, p_txsv_rec);
2604 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2605 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2606 x_return_status := l_return_status;
2607 RAISE G_EXCEPTION_HALT_VALIDATION;
2608 ELSE
2609 x_return_status := l_return_status;
2610 END IF;
2611 END IF;
2612
2613 -- ***
2614 -- provnl_tax_determination_date
2615 -- ***
2616 validate_provnl_tax_det_date(l_return_status, p_txsv_rec);
2617 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2618 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2619 x_return_status := l_return_status;
2620 RAISE G_EXCEPTION_HALT_VALIDATION;
2621 ELSE
2622 x_return_status := l_return_status;
2623 END IF;
2624 END IF;
2625 -- ***
2626 -- trx_date
2627 -- ***
2628 validate_trx_date(l_return_status, p_txsv_rec);
2629 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2630 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2631 x_return_status := l_return_status;
2632 RAISE G_EXCEPTION_HALT_VALIDATION;
2633 ELSE
2634 x_return_status := l_return_status;
2635 END IF;
2636 END IF;
2637
2638 -- ***
2639 -- try_id
2640 -- ***
2641 validate_try_id(l_return_status, p_txsv_rec);
2642 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2643 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2644 x_return_status := l_return_status;
2645 RAISE G_EXCEPTION_HALT_VALIDATION;
2646 ELSE
2647 x_return_status := l_return_status;
2648 END IF;
2649 END IF;
2650
2651 -- ***
2652 -- ship_to_location_id
2653 -- ***
2654 validate_ship_to_location_id(l_return_status, p_txsv_rec);
2655 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2656 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2657 x_return_status := l_return_status;
2658 RAISE G_EXCEPTION_HALT_VALIDATION;
2659 ELSE
2660 x_return_status := l_return_status;
2661 END IF;
2662 END IF;
2663
2664 -- ***
2665 -- ship_to_party_site_id
2666 -- ***
2667 validate_ship_to_party_site_id(l_return_status, p_txsv_rec);
2668 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2669 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2670 x_return_status := l_return_status;
2671 RAISE G_EXCEPTION_HALT_VALIDATION;
2672 ELSE
2673 x_return_status := l_return_status;
2674 END IF;
2675 END IF;
2676
2677 -- ***
2678 -- ship_to_party_id
2679 -- ***
2680 validate_ship_to_party_id(l_return_status, p_txsv_rec);
2681 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2682 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2683 x_return_status := l_return_status;
2684 RAISE G_EXCEPTION_HALT_VALIDATION;
2685 ELSE
2686 x_return_status := l_return_status;
2687 END IF;
2688 END IF;
2689 -- ***
2690 -- bill_to_party_site_id
2691 -- ***
2692 validate_bill_to_party_site_id(l_return_status, p_txsv_rec);
2693 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2694 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2695 x_return_status := l_return_status;
2696 RAISE G_EXCEPTION_HALT_VALIDATION;
2697 ELSE
2698 x_return_status := l_return_status;
2699 END IF;
2700 END IF;
2701
2702 -- ***
2703 -- bill_to_location_id
2704 -- ***
2705 validate_bill_to_location_id(l_return_status, p_txsv_rec);
2706 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2707 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2708 x_return_status := l_return_status;
2709 RAISE G_EXCEPTION_HALT_VALIDATION;
2710 ELSE
2711 x_return_status := l_return_status;
2712 END IF;
2713 END IF;
2714
2715 -- ***
2716 -- bill_to_party_id
2717 -- ***
2718 validate_bill_to_party_id(l_return_status, p_txsv_rec);
2719 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2720 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2721 x_return_status := l_return_status;
2722 RAISE G_EXCEPTION_HALT_VALIDATION;
2723 ELSE
2724 x_return_status := l_return_status;
2725 END IF;
2726 END IF;
2727
2728 -- ***
2729 -- ship_to_cust_acct_site_use_id
2730 -- ***
2731 validate_shiptocasuid(l_return_status, p_txsv_rec);
2732 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2733 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2734 x_return_status := l_return_status;
2735 RAISE G_EXCEPTION_HALT_VALIDATION;
2736 ELSE
2737 x_return_status := l_return_status;
2738 END IF;
2739 END IF;
2740
2741 -- ***
2742 -- bill_to_cust_acct_site_use_id
2743 -- ***
2744 validate_billtocasuid(l_return_status, p_txsv_rec);
2745 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2746 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2747 x_return_status := l_return_status;
2748 RAISE G_EXCEPTION_HALT_VALIDATION;
2749 ELSE
2750 x_return_status := l_return_status;
2751 END IF;
2752 END IF;
2753 -- ***
2754 -- trx_currency_code
2755 -- ***
2756 validate_trx_currency_code(l_return_status, p_txsv_rec);
2757 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2758 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2759 x_return_status := l_return_status;
2760 RAISE G_EXCEPTION_HALT_VALIDATION;
2761 ELSE
2762 x_return_status := l_return_status;
2763 END IF;
2764 END IF;
2765 -- Modified by dcshanmu for eBTax - modification end
2766
2767 RETURN(x_return_status);
2768 EXCEPTION
2769 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2770 RETURN(x_return_status);
2771 WHEN OTHERS THEN
2772 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
2773 ,p_msg_name => G_UNEXPECTED_ERROR
2774 ,p_token1 => G_SQLCODE_TOKEN
2775 ,p_token1_value => SQLCODE
2776 ,p_token2 => G_SQLERRM_TOKEN
2777 ,p_token2_value => SQLERRM);
2778 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
2779 RETURN(x_return_status);
2780 END Validate_Attributes;
2781 ---------------------------------------------------------------------------
2782 -- PROCEDURE Validate_Record
2783 ---------------------------------------------------------------------------
2784 /*-------------------------------------------
2785 -- Validate Record for:OKL_TAX_SOURCES_V --
2786 -------------------------------------------
2787 FUNCTION Validate_Record (
2788 p_txsv_rec IN txsv_rec_type,
2789 p_db_txsv_rec IN txsv_rec_type
2790 ) RETURN VARCHAR2 IS
2791 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2792 ------------------------------------
2793 -- FUNCTION validate_foreign_keys --
2794 ------------------------------------
2795 FUNCTION validate_foreign_keys (
2796 p_txsv_rec IN txsv_rec_type,
2797 p_db_txsv_rec IN txsv_rec_type
2798 ) RETURN VARCHAR2 IS
2799 item_not_found_error EXCEPTION;
2800 BEGIN
2801 l_return_status := validate_foreign_keys(p_txsv_rec, p_db_txsv_rec);
2802 RETURN (l_return_status);
2803 END Validate_Record;
2804 FUNCTION Validate_Record (
2805 p_txsv_rec IN txsv_rec_type
2806 ) RETURN VARCHAR2 IS
2807 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2808 l_db_txsv_rec txsv_rec_type := get_rec(p_txsv_rec);
2809 BEGIN
2810 l_return_status := Validate_Record(p_txsv_rec => p_txsv_rec,
2811 p_db_txsv_rec => l_db_txsv_rec);
2812 RETURN (l_return_status);
2813 END Validate_Record;
2814 */
2815 ---------------------------------------------------------------------------
2816 -- PROCEDURE Migrate
2817 ---------------------------------------------------------------------------
2818 PROCEDURE migrate (
2819 p_from IN txsv_rec_type,
2820 p_to IN OUT NOCOPY txs_rec_type
2821 ) IS
2822 BEGIN
2823 p_to.id := p_from.id;
2824 p_to.khr_id := p_from.khr_id;
2825 p_to.kle_id := p_from.kle_id;
2826 p_to.line_name := p_from.line_name;
2827 p_to.trx_id := p_from.trx_id;
2828 p_to.trx_line_id := p_from.trx_line_id;
2829 p_to.entity_code := p_from.entity_code;
2830 p_to.event_class_code := p_from.event_class_code;
2831 p_to.trx_level_type := p_from.trx_level_type;
2832 --p_to.trx_line_type := p_from.trx_line_type;
2833 p_to.adjusted_doc_entity_code := p_from.adjusted_doc_entity_code;
2834 p_to.adjusted_doc_event_class_code := p_from.adjusted_doc_event_class_code;
2835 p_to.adjusted_doc_trx_id := p_from.adjusted_doc_trx_id;
2836 p_to.adjusted_doc_trx_line_id := p_from.adjusted_doc_trx_line_id;
2837 p_to.adjusted_doc_trx_level_type := p_from.adjusted_doc_trx_level_type;
2838 p_to.adjusted_doc_number := p_from.adjusted_doc_number;
2839 p_to.adjusted_doc_date := p_from.adjusted_doc_date;
2840 p_to.tax_call_type_code := p_from.tax_call_type_code;
2841 p_to.sty_id := p_from.sty_id;
2842 p_to.trx_business_category := p_from.trx_business_category;
2843 p_to.tax_line_status_code := p_from.tax_line_status_code;
2844 p_to.sel_id := p_from.sel_id;
2845 p_to.reported_yn := p_from.reported_yn;
2846 p_to.program_id := p_from.program_id;
2847 p_to.request_id := p_from.request_id;
2848 p_to.program_application_id := p_from.program_application_id;
2849 p_to.program_update_date := p_from.program_update_date;
2850 p_to.attribute_category := p_from.attribute_category;
2851 p_to.attribute1 := p_from.attribute1;
2852 p_to.attribute2 := p_from.attribute2;
2853 p_to.attribute3 := p_from.attribute3;
2854 p_to.attribute4 := p_from.attribute4;
2855 p_to.attribute5 := p_from.attribute5;
2856 p_to.attribute6 := p_from.attribute6;
2857 p_to.attribute7 := p_from.attribute7;
2858 p_to.attribute8 := p_from.attribute8;
2859 p_to.attribute9 := p_from.attribute9;
2860 p_to.attribute10 := p_from.attribute10;
2861 p_to.attribute11 := p_from.attribute11;
2862 p_to.attribute12 := p_from.attribute12;
2863 p_to.attribute13 := p_from.attribute13;
2864 p_to.attribute14 := p_from.attribute14;
2865 p_to.attribute15 := p_from.attribute15;
2866 p_to.created_by := p_from.created_by;
2867 p_to.creation_date := p_from.creation_date;
2868 p_to.last_updated_by := p_from.last_updated_by;
2869 p_to.last_update_date := p_from.last_update_date;
2870 p_to.last_update_login := p_from.last_update_login;
2871 p_to.object_version_number := p_from.object_version_number;
2872 -- Modified by dcshanmu for eBTax - modification starts
2873 p_to.application_id := p_from.application_id;
2874 p_to.default_taxation_country := p_from.default_taxation_country;
2875 p_to.product_category := p_from.product_category;
2876 p_to.user_defined_fisc_class := p_from.user_defined_fisc_class;
2877 p_to.line_intended_use := p_from.line_intended_use;
2878 p_to.inventory_item_id := p_from.inventory_item_id;
2879 p_to.bill_to_cust_acct_id := p_from.bill_to_cust_acct_id;
2880 p_to.org_id := p_from.org_id;
2881 p_to.legal_entity_id := p_from.legal_entity_id;
2882 p_to.line_amt := p_from.line_amt;
2883 p_to.assessable_value := p_from.assessable_value;
2884 p_to.total_tax := p_from.total_tax;
2885 p_to.product_type := p_from.product_type;
2886 p_to.product_fisc_classification := p_from.product_fisc_classification;
2887 p_to.trx_date := p_from.trx_date;
2888 p_to.provnl_tax_determination_date := p_from.provnl_tax_determination_date;
2889 p_to.try_id := p_from.try_id;
2890 p_to.ship_to_location_id := p_from.ship_to_location_id;
2891
2892 p_to.trx_currency_code := p_from.trx_currency_code;
2893 p_to.currency_conversion_type := p_from.currency_conversion_type;
2894 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
2895 p_to.currency_conversion_date := p_from.currency_conversion_date;
2896 -- Modified by dcshanmu for eBTax - modification end
2897 --asawanka ebtax changes start
2898 p_to.asset_number := p_from.asset_number;
2899 p_to.reported_yn := p_from.reported_yn;
2900 p_to.SHIP_TO_PARTY_SITE_ID := p_from.SHIP_TO_PARTY_SITE_ID;
2901 p_to.SHIP_TO_PARTY_ID := p_from.SHIP_TO_PARTY_ID;
2902 p_to.BILL_TO_PARTY_SITE_ID := p_from.BILL_TO_PARTY_SITE_ID;
2903 p_to.BILL_TO_LOCATION_ID := p_from.BILL_TO_LOCATION_ID;
2904 p_to.BILL_TO_PARTY_ID := p_from.BILL_TO_PARTY_ID;
2905 p_to.ship_to_cust_acct_site_use_id := p_from.ship_to_cust_acct_site_use_id;
2906 p_to.bill_to_cust_acct_site_use_id := p_from.bill_to_cust_acct_site_use_id;
2907 p_to.TAX_CLASSIFICATION_CODE := p_from.TAX_CLASSIFICATION_CODE;
2908 --asawanka ebtax changes end
2909 p_to.ALC_SERIALIZED_YN := p_from.ALC_SERIALIZED_YN;
2910 p_to.ALC_SERIALIZED_TOTAL_TAX := p_from.ALC_SERIALIZED_TOTAL_TAX;
2911 p_to.ALC_SERIALIZED_TOTAL_LINE_AMT := p_from.ALC_SERIALIZED_TOTAL_LINE_AMT;
2912 END migrate;
2913 PROCEDURE migrate (
2914 p_from IN txs_rec_type,
2915 p_to IN OUT NOCOPY txsv_rec_type
2916 ) IS
2917 BEGIN
2918 p_to.id := p_from.id;
2919 p_to.khr_id := p_from.khr_id;
2920 p_to.kle_id := p_from.kle_id;
2921 p_to.line_name := p_from.line_name;
2922 p_to.trx_id := p_from.trx_id;
2923 p_to.trx_line_id := p_from.trx_line_id;
2924 p_to.entity_code := p_from.entity_code;
2925 p_to.event_class_code := p_from.event_class_code;
2926 p_to.trx_level_type := p_from.trx_level_type;
2927 -- p_to.trx_line_type := p_from.trx_line_type;
2928 p_to.adjusted_doc_entity_code := p_from.adjusted_doc_entity_code;
2929 p_to.adjusted_doc_event_class_code := p_from.adjusted_doc_event_class_code;
2930 p_to.adjusted_doc_trx_id := p_from.adjusted_doc_trx_id;
2931 p_to.adjusted_doc_trx_line_id := p_from.adjusted_doc_trx_line_id;
2932 p_to.adjusted_doc_trx_level_type := p_from.adjusted_doc_trx_level_type;
2933 p_to.adjusted_doc_number := p_from.adjusted_doc_number;
2934 p_to.adjusted_doc_date := p_from.adjusted_doc_date;
2935 p_to.tax_call_type_code := p_from.tax_call_type_code;
2936 p_to.sty_id := p_from.sty_id;
2937 p_to.trx_business_category := p_from.trx_business_category;
2938 p_to.tax_line_status_code := p_from.tax_line_status_code;
2939 p_to.sel_id := p_from.sel_id;
2940 p_to.reported_yn := p_from.reported_yn;
2941 p_to.program_id := p_from.program_id;
2942 p_to.request_id := p_from.request_id;
2943 p_to.program_application_id := p_from.program_application_id;
2944 p_to.program_update_date := p_from.program_update_date;
2945 p_to.attribute_category := p_from.attribute_category;
2946 p_to.attribute1 := p_from.attribute1;
2947 p_to.attribute2 := p_from.attribute2;
2948 p_to.attribute3 := p_from.attribute3;
2949 p_to.attribute4 := p_from.attribute4;
2950 p_to.attribute5 := p_from.attribute5;
2951 p_to.attribute6 := p_from.attribute6;
2952 p_to.attribute7 := p_from.attribute7;
2953 p_to.attribute8 := p_from.attribute8;
2954 p_to.attribute9 := p_from.attribute9;
2955 p_to.attribute10 := p_from.attribute10;
2956 p_to.attribute11 := p_from.attribute11;
2957 p_to.attribute12 := p_from.attribute12;
2958 p_to.attribute13 := p_from.attribute13;
2959 p_to.attribute14 := p_from.attribute14;
2960 p_to.attribute15 := p_from.attribute15;
2961 p_to.created_by := p_from.created_by;
2962 p_to.creation_date := p_from.creation_date;
2963 p_to.last_updated_by := p_from.last_updated_by;
2964 p_to.last_update_date := p_from.last_update_date;
2965 p_to.last_update_login := p_from.last_update_login;
2966 p_to.object_version_number := p_from.object_version_number;
2967 -- Modified by dcshanmu for eBTax - modification starts
2968 p_to.application_id := p_from.application_id;
2969 p_to.default_taxation_country := p_from.default_taxation_country;
2970 p_to.product_category := p_from.product_category;
2971 p_to.user_defined_fisc_class := p_from.user_defined_fisc_class;
2972 p_to.line_intended_use := p_from.line_intended_use;
2973 p_to.inventory_item_id := p_from.inventory_item_id;
2974 p_to.bill_to_cust_acct_id := p_from.bill_to_cust_acct_id;
2975 p_to.org_id := p_from.org_id;
2976 p_to.legal_entity_id := p_from.legal_entity_id;
2977 p_to.line_amt := p_from.line_amt;
2978 p_to.assessable_value := p_from.assessable_value;
2979 p_to.total_tax := p_from.total_tax;
2980 p_to.product_type := p_from.product_type;
2981 p_to.product_fisc_classification := p_from.product_fisc_classification;
2982 p_to.trx_date := p_from.trx_date;
2983 p_to.provnl_tax_determination_date := p_from.provnl_tax_determination_date;
2984 p_to.try_id := p_from.try_id;
2985 p_to.ship_to_location_id := p_from.ship_to_location_id;
2986 p_to.trx_currency_code := p_from.trx_currency_code;
2987 p_to.currency_conversion_type := p_from.currency_conversion_type;
2988 p_to.currency_conversion_rate := p_from.currency_conversion_rate;
2989 p_to.currency_conversion_date := p_from.currency_conversion_date;
2990 -- Modified by dcshanmu for eBTax - modification end
2991 --asawanka ebtax changes start
2992 p_to.asset_number := p_from.asset_number;
2993 p_to.reported_yn := p_from.reported_yn;
2994 p_to.SHIP_TO_PARTY_SITE_ID := p_from.SHIP_TO_PARTY_SITE_ID;
2995 p_to.SHIP_TO_PARTY_ID := p_from.SHIP_TO_PARTY_ID;
2996 p_to.BILL_TO_PARTY_SITE_ID := p_from.BILL_TO_PARTY_SITE_ID;
2997 p_to.BILL_TO_LOCATION_ID := p_from.BILL_TO_LOCATION_ID;
2998 p_to.BILL_TO_PARTY_ID := p_from.BILL_TO_PARTY_ID;
2999 p_to.ship_to_cust_acct_site_use_id := p_from.ship_to_cust_acct_site_use_id;
3000 p_to.bill_to_cust_acct_site_use_id := p_from.bill_to_cust_acct_site_use_id;
3001 p_to.TAX_CLASSIFICATION_CODE := p_from.TAX_CLASSIFICATION_CODE;
3002 --asawanka ebtax changes end
3003 p_to.ALC_SERIALIZED_YN := p_from.ALC_SERIALIZED_YN;
3004 p_to.ALC_SERIALIZED_TOTAL_TAX := p_from.ALC_SERIALIZED_TOTAL_TAX;
3005 p_to.ALC_SERIALIZED_TOTAL_LINE_AMT := p_from.ALC_SERIALIZED_TOTAL_LINE_AMT;
3006 END migrate;
3007 ---------------------------------------------------------------------------
3008 -- PROCEDURE validate_row
3009 ---------------------------------------------------------------------------
3010 ----------------------------------------
3011 -- validate_row for:OKL_TAX_SOURCES_V --
3012 ----------------------------------------
3013 PROCEDURE validate_row(
3014 p_api_version IN NUMBER,
3015 p_init_msg_list IN VARCHAR2,
3016 x_return_status OUT NOCOPY VARCHAR2,
3017 x_msg_count OUT NOCOPY NUMBER,
3018 x_msg_data OUT NOCOPY VARCHAR2,
3019 p_txsv_rec IN txsv_rec_type) IS
3020
3021 l_api_version CONSTANT NUMBER := 1;
3022 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
3023 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3024 l_txsv_rec txsv_rec_type := p_txsv_rec;
3025 l_txs_rec txs_rec_type;
3026 l_txs_rec txs_rec_type;
3027 BEGIN
3028 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3029 G_PKG_NAME,
3030 p_init_msg_list,
3031 l_api_version,
3032 p_api_version,
3033 '_PVT',
3034 x_return_status);
3035 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3036 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3037 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3038 RAISE OKL_API.G_EXCEPTION_ERROR;
3039 END IF;
3040 --- Validate all non-missing attributes (Item Level Validation)
3041 l_return_status := Validate_Attributes(l_txsv_rec);
3042 --- If any errors happen abort API
3043 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3044 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3045 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3046 RAISE OKL_API.G_EXCEPTION_ERROR;
3047 END IF;
3048
3049 /* l_return_status := Validate_Record(l_txsv_rec);
3050 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3051 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3052 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3053 RAISE OKL_API.G_EXCEPTION_ERROR;
3054 END IF;
3055 */
3056
3057 x_return_status := l_return_status;
3058 EXCEPTION
3059 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3060 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3061 (
3062 l_api_name,
3063 G_PKG_NAME,
3064 'OKL_API.G_RET_STS_ERROR',
3065 x_msg_count,
3066 x_msg_data,
3067 '_PVT'
3068 );
3069 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3070 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3071 (
3072 l_api_name,
3073 G_PKG_NAME,
3074 'OKL_API.G_RET_STS_UNEXP_ERROR',
3075 x_msg_count,
3076 x_msg_data,
3077 '_PVT'
3078 );
3079 WHEN OTHERS THEN
3080 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3081 (
3082 l_api_name,
3083 G_PKG_NAME,
3084 'OTHERS',
3085 x_msg_count,
3086 x_msg_data,
3087 '_PVT'
3088 );
3089 END validate_row;
3090 ---------------------------------------------------
3091 -- PL/SQL TBL validate_row for:OKL_TAX_SOURCES_V --
3092 ---------------------------------------------------
3093 PROCEDURE validate_row(
3094 p_api_version IN NUMBER,
3095 p_init_msg_list IN VARCHAR2,
3096 x_return_status OUT NOCOPY VARCHAR2,
3097 x_msg_count OUT NOCOPY NUMBER,
3098 x_msg_data OUT NOCOPY VARCHAR2,
3099 p_txsv_tbl IN txsv_tbl_type,
3100 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3101
3102 l_api_version CONSTANT NUMBER := 1;
3103 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
3104 i NUMBER := 0;
3105 BEGIN
3106 OKL_API.init_msg_list(p_init_msg_list);
3107 -- Make sure PL/SQL table has records in it before passing
3108 IF (p_txsv_tbl.COUNT > 0) THEN
3109 i := p_txsv_tbl.FIRST;
3110 LOOP
3111 DECLARE
3112 l_error_rec OKL_API.ERROR_REC_TYPE;
3113 BEGIN
3114 l_error_rec.api_name := l_api_name;
3115 l_error_rec.api_package := G_PKG_NAME;
3116 l_error_rec.idx := i;
3117 validate_row (
3118 p_api_version => p_api_version,
3119 p_init_msg_list => OKL_API.G_FALSE,
3120 x_return_status => l_error_rec.error_type,
3121 x_msg_count => l_error_rec.msg_count,
3122 x_msg_data => l_error_rec.msg_data,
3123 p_txsv_rec => p_txsv_tbl(i));
3124 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
3125 l_error_rec.sqlcode := SQLCODE;
3126 load_error_tbl(l_error_rec, px_error_tbl);
3127 ELSE
3128 x_msg_count := l_error_rec.msg_count;
3129 x_msg_data := l_error_rec.msg_data;
3130 END IF;
3131 EXCEPTION
3132 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3133 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
3134 l_error_rec.sqlcode := SQLCODE;
3135 load_error_tbl(l_error_rec, px_error_tbl);
3136 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3137 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
3138 l_error_rec.sqlcode := SQLCODE;
3139 load_error_tbl(l_error_rec, px_error_tbl);
3140 WHEN OTHERS THEN
3141 l_error_rec.error_type := 'OTHERS';
3142 l_error_rec.sqlcode := SQLCODE;
3143 load_error_tbl(l_error_rec, px_error_tbl);
3144 END;
3145 EXIT WHEN (i = p_txsv_tbl.LAST);
3146 i := p_txsv_tbl.NEXT(i);
3147 END LOOP;
3148 END IF;
3149 -- Loop through the error_tbl to find the error with the highest severity
3150 -- and return it.
3151 x_return_status := find_highest_exception(px_error_tbl);
3152 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3153 EXCEPTION
3154 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3155 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3156 (
3157 l_api_name,
3158 G_PKG_NAME,
3159 'OKL_API.G_RET_STS_ERROR',
3160 x_msg_count,
3161 x_msg_data,
3162 '_PVT'
3163 );
3164 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3165 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3166 (
3167 l_api_name,
3168 G_PKG_NAME,
3169 'OKL_API.G_RET_STS_UNEXP_ERROR',
3170 x_msg_count,
3171 x_msg_data,
3172 '_PVT'
3173 );
3174 WHEN OTHERS THEN
3175 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3176 (
3177 l_api_name,
3178 G_PKG_NAME,
3179 'OTHERS',
3180 x_msg_count,
3181 x_msg_data,
3182 '_PVT'
3183 );
3184 END validate_row;
3185
3186 ---------------------------------------------------
3187 -- PL/SQL TBL validate_row for:OKL_TAX_SOURCES_V --
3188 ---------------------------------------------------
3189 PROCEDURE validate_row(
3190 p_api_version IN NUMBER,
3191 p_init_msg_list IN VARCHAR2,
3192 x_return_status OUT NOCOPY VARCHAR2,
3193 x_msg_count OUT NOCOPY NUMBER,
3194 x_msg_data OUT NOCOPY VARCHAR2,
3195 p_txsv_tbl IN txsv_tbl_type) IS
3196
3197 l_api_version CONSTANT NUMBER := 1;
3198 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
3199 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3200 l_error_tbl OKL_API.ERROR_TBL_TYPE;
3201 BEGIN
3202 OKL_API.init_msg_list(p_init_msg_list);
3203 -- Make sure PL/SQL table has records in it before passing
3204 IF (p_txsv_tbl.COUNT > 0) THEN
3205 validate_row (
3206 p_api_version => p_api_version,
3207 p_init_msg_list => OKL_API.G_FALSE,
3208 x_return_status => x_return_status,
3209 x_msg_count => x_msg_count,
3210 x_msg_data => x_msg_data,
3211 p_txsv_tbl => p_txsv_tbl,
3212 px_error_tbl => l_error_tbl);
3213 END IF;
3214 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3215 EXCEPTION
3216 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3217 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3218 (
3219 l_api_name,
3220 G_PKG_NAME,
3221 'OKL_API.G_RET_STS_ERROR',
3222 x_msg_count,
3223 x_msg_data,
3224 '_PVT'
3225 );
3226 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3227 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3228 (
3229 l_api_name,
3230 G_PKG_NAME,
3231 'OKL_API.G_RET_STS_UNEXP_ERROR',
3232 x_msg_count,
3233 x_msg_data,
3234 '_PVT'
3235 );
3236 WHEN OTHERS THEN
3237 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3238 (
3239 l_api_name,
3240 G_PKG_NAME,
3241 'OTHERS',
3242 x_msg_count,
3243 x_msg_data,
3244 '_PVT'
3245 );
3246 END validate_row;
3247
3248 ---------------------------------------------------------------------------
3249 -- PROCEDURE insert_row
3250 ---------------------------------------------------------------------------
3251 ------------------------------------
3252 -- insert_row for:OKL_TAX_SOURCES --
3253 ------------------------------------
3254 PROCEDURE insert_row(
3255 p_init_msg_list IN VARCHAR2,
3256 x_return_status OUT NOCOPY VARCHAR2,
3257 x_msg_count OUT NOCOPY NUMBER,
3258 x_msg_data OUT NOCOPY VARCHAR2,
3259 p_txs_rec IN txs_rec_type,
3260 x_txs_rec OUT NOCOPY txs_rec_type) IS
3261
3262 l_api_version CONSTANT NUMBER := 1;
3263 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
3264 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3265 l_txs_rec txs_rec_type := p_txs_rec;
3266 l_def_txs_rec txs_rec_type;
3267 ----------------------------------------
3268 -- Set_Attributes for:OKL_TAX_SOURCES --
3269 ----------------------------------------
3270 FUNCTION Set_Attributes (
3271 p_txs_rec IN txs_rec_type,
3272 x_txs_rec OUT NOCOPY txs_rec_type
3273 ) RETURN VARCHAR2 IS
3274 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3275 BEGIN
3276 x_txs_rec := p_txs_rec;
3277 RETURN(l_return_status);
3278 END Set_Attributes;
3279 BEGIN
3280 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3281 p_init_msg_list,
3282 '_PVT',
3283 x_return_status);
3284 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3285 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3286 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3287 RAISE OKL_API.G_EXCEPTION_ERROR;
3288 END IF;
3289 --- Setting item atributes
3290 l_return_status := Set_Attributes(
3291 p_txs_rec, -- IN
3292 l_txs_rec); -- OUT
3293 --- If any errors happen abort API
3294 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3295 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3296 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3297 RAISE OKL_API.G_EXCEPTION_ERROR;
3298 END IF;
3299 INSERT INTO OKL_TAX_SOURCES(
3300 id,
3301 khr_id,
3302 kle_id,
3303 line_name,
3304 trx_id,
3305 trx_line_id,
3306 entity_code,
3307 event_class_code,
3308 trx_level_type,
3309 -- trx_line_type,
3310 adjusted_doc_entity_code,
3311 adjusted_doc_event_class_code,
3312 adjusted_doc_trx_id,
3313 adjusted_doc_trx_line_id,
3314 adjusted_doc_trx_level_type,
3315 adjusted_doc_number,
3316 adjusted_doc_date,
3317 tax_call_type_code,
3318 sty_id,
3319 trx_business_category,
3320 tax_line_status_code,
3321 sel_id,
3322 tax_reporting_flag,
3323 program_id,
3324 request_id,
3325 program_application_id,
3326 program_update_date,
3327 attribute_category,
3328 attribute1,
3329 attribute2,
3330 attribute3,
3331 attribute4,
3332 attribute5,
3333 attribute6,
3334 attribute7,
3335 attribute8,
3336 attribute9,
3337 attribute10,
3338 attribute11,
3339 attribute12,
3340 attribute13,
3341 attribute14,
3342 attribute15,
3343 created_by,
3344 creation_date,
3345 last_updated_by,
3346 last_update_date,
3347 last_update_login,
3348 object_version_number,
3349 -- Modified by dcshanmu for eBTax - modification starts
3350 application_id,
3351 default_taxation_country,
3352 product_category,
3353 user_defined_fisc_class,
3354 line_intended_use,
3355 inventory_item_id,
3356 bill_to_cust_acct_id,
3357 org_id,
3358 legal_entity_id,
3359 line_amt,
3360 assessable_value,
3361 total_tax,
3362 product_type,
3363 product_fisc_classification,
3364 trx_date,
3365 provnl_tax_determination_date,
3366 try_id,
3367 ship_to_location_id,
3368 trx_currency_code,
3369 currency_conversion_type,
3370 currency_conversion_rate,
3371 currency_conversion_date,
3372 -- Modified by dcshanmu for eBTax - modification end
3373 --asawanka ebtax changes start
3374 asset_number
3375 , reported_yn
3376 ,SHIP_TO_PARTY_SITE_ID
3377 ,SHIP_TO_PARTY_ID
3378 ,BILL_TO_PARTY_SITE_ID
3379 ,BILL_TO_LOCATION_ID
3380 ,BILL_TO_PARTY_ID
3381 ,ship_to_cust_acct_site_use_id
3382 ,bill_to_cust_acct_site_use_id
3383 ,TAX_CLASSIFICATION_CODE
3384 --asawanka ebtax changes end
3385 ,ALC_SERIALIZED_YN
3386 ,ALC_SERIALIZED_TOTAL_TAX
3387 ,ALC_SERIALIZED_TOTAL_LINE_AMT)
3388 VALUES (
3389 l_txs_rec.id,
3390 l_txs_rec.khr_id,
3391 l_txs_rec.kle_id,
3392 l_txs_rec.line_name,
3393 l_txs_rec.trx_id,
3394 l_txs_rec.trx_line_id,
3395 l_txs_rec.entity_code,
3396 l_txs_rec.event_class_code,
3397 l_txs_rec.trx_level_type,
3398 -- l_txs_rec.trx_line_type,
3399 l_txs_rec.adjusted_doc_entity_code,
3400 l_txs_rec.adjusted_doc_event_class_code,
3401 l_txs_rec.adjusted_doc_trx_id,
3402 l_txs_rec.adjusted_doc_trx_line_id,
3403 l_txs_rec.adjusted_doc_trx_level_type,
3404 l_txs_rec.adjusted_doc_number,
3405 l_txs_rec.adjusted_doc_date,
3406 l_txs_rec.tax_call_type_code,
3407 l_txs_rec.sty_id,
3408 l_txs_rec.trx_business_category,
3409 l_txs_rec.tax_line_status_code,
3410 l_txs_rec.sel_id,
3411 l_txs_rec.reported_yn,
3412 l_txs_rec.program_id,
3413 l_txs_rec.request_id,
3414 l_txs_rec.program_application_id,
3415 l_txs_rec.program_update_date,
3416 l_txs_rec.attribute_category,
3417 l_txs_rec.attribute1,
3418 l_txs_rec.attribute2,
3419 l_txs_rec.attribute3,
3420 l_txs_rec.attribute4,
3421 l_txs_rec.attribute5,
3422 l_txs_rec.attribute6,
3423 l_txs_rec.attribute7,
3424 l_txs_rec.attribute8,
3425 l_txs_rec.attribute9,
3426 l_txs_rec.attribute10,
3427 l_txs_rec.attribute11,
3428 l_txs_rec.attribute12,
3429 l_txs_rec.attribute13,
3430 l_txs_rec.attribute14,
3431 l_txs_rec.attribute15,
3432 l_txs_rec.created_by,
3433 l_txs_rec.creation_date,
3434 l_txs_rec.last_updated_by,
3435 l_txs_rec.last_update_date,
3436 l_txs_rec.last_update_login,
3437 l_txs_rec.object_version_number,
3438 -- Modified by dcshanmu for eBTax - modification starts
3439 l_txs_rec.application_id,
3440 l_txs_rec.default_taxation_country,
3441 l_txs_rec.product_category,
3442 l_txs_rec.user_defined_fisc_class,
3443 l_txs_rec.line_intended_use,
3444 l_txs_rec.inventory_item_id,
3445 l_txs_rec.bill_to_cust_acct_id,
3446 l_txs_rec.org_id,
3447 l_txs_rec.legal_entity_id,
3448 l_txs_rec.line_amt,
3449 l_txs_rec.assessable_value,
3450 l_txs_rec.total_tax,
3451 l_txs_rec.product_type,
3452 l_txs_rec.product_fisc_classification,
3453 l_txs_rec.trx_date,
3454 l_txs_rec.provnl_tax_determination_date,
3455 l_txs_rec.try_id,
3456 l_txs_rec.ship_to_location_id,
3457
3458 l_txs_rec.trx_currency_code,
3459 l_txs_rec.currency_conversion_type,
3460 l_txs_rec.currency_conversion_rate,
3461 l_txs_rec.currency_conversion_date
3462 -- Modified by dcshanmu for eBTax - modification end
3463 --asawanka ebtax changes start
3464 ,l_txs_rec.asset_number
3465 ,l_txs_rec.reported_yn
3466 ,l_txs_rec.SHIP_TO_PARTY_SITE_ID
3467 ,l_txs_rec.SHIP_TO_PARTY_ID
3468 ,l_txs_rec.BILL_TO_PARTY_SITE_ID
3469 ,l_txs_rec.BILL_TO_LOCATION_ID
3470 ,l_txs_rec.BILL_TO_PARTY_ID
3471 ,l_txs_rec.ship_to_cust_acct_site_use_id
3472 ,l_txs_rec.bill_to_cust_acct_site_use_id
3473 ,l_txs_rec.TAX_CLASSIFICATION_CODE
3474 --asawanka ebtax changes end
3475 ,l_txs_rec.ALC_SERIALIZED_YN
3476 ,l_txs_rec.ALC_SERIALIZED_TOTAL_TAX
3477 ,l_txs_rec.ALC_SERIALIZED_TOTAL_LINE_AMT
3478 );
3479 -- Set OUT values
3480 x_txs_rec := l_txs_rec;
3481 x_return_status := l_return_status;
3482 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3483 EXCEPTION
3484 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3485 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3486 (
3487 l_api_name,
3488 G_PKG_NAME,
3489 'OKL_API.G_RET_STS_ERROR',
3490 x_msg_count,
3491 x_msg_data,
3492 '_PVT'
3493 );
3494 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3495 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3496 (
3497 l_api_name,
3498 G_PKG_NAME,
3499 'OKL_API.G_RET_STS_UNEXP_ERROR',
3500 x_msg_count,
3501 x_msg_data,
3502 '_PVT'
3503 );
3504 WHEN OTHERS THEN
3505 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3506 (
3507 l_api_name,
3508 G_PKG_NAME,
3509 'OTHERS',
3510 x_msg_count,
3511 x_msg_data,
3512 '_PVT'
3513 );
3514 END insert_row;
3515 ---------------------------------------
3516 -- insert_row for :OKL_TAX_SOURCES_V --
3517 ---------------------------------------
3518 PROCEDURE insert_row(
3519 p_api_version IN NUMBER,
3520 p_init_msg_list IN VARCHAR2,
3521 x_return_status OUT NOCOPY VARCHAR2,
3522 x_msg_count OUT NOCOPY NUMBER,
3523 x_msg_data OUT NOCOPY VARCHAR2,
3524 p_txsv_rec IN txsv_rec_type,
3525 x_txsv_rec OUT NOCOPY txsv_rec_type) IS
3526
3527 l_api_version CONSTANT NUMBER := 1;
3528 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
3529 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3530 l_txsv_rec txsv_rec_type := p_txsv_rec;
3531 l_def_txsv_rec txsv_rec_type;
3532 l_txs_rec txs_rec_type;
3533 lx_txs_rec txs_rec_type;
3534 -------------------------------
3535 -- FUNCTION fill_who_columns --
3536 -------------------------------
3537 FUNCTION fill_who_columns (
3538 p_txsv_rec IN txsv_rec_type
3539 ) RETURN txsv_rec_type IS
3540 l_txsv_rec txsv_rec_type := p_txsv_rec;
3541 BEGIN
3542 l_txsv_rec.CREATION_DATE := SYSDATE;
3543 l_txsv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
3544 l_txsv_rec.LAST_UPDATE_DATE := l_txsv_rec.CREATION_DATE;
3545 l_txsv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3546 l_txsv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3547 RETURN(l_txsv_rec);
3548 END fill_who_columns;
3549 ------------------------------------------
3550 -- Set_Attributes for:OKL_TAX_SOURCES_V --
3551 ------------------------------------------
3552 FUNCTION Set_Attributes (
3553 p_txsv_rec IN txsv_rec_type,
3554 x_txsv_rec OUT NOCOPY txsv_rec_type
3555 ) RETURN VARCHAR2 IS
3556 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3557 BEGIN
3558 x_txsv_rec := p_txsv_rec;
3559 x_txsv_rec.OBJECT_VERSION_NUMBER := 1;
3560 RETURN(l_return_status);
3561 END Set_Attributes;
3562 BEGIN
3563 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3564 G_PKG_NAME,
3565 p_init_msg_list,
3566 l_api_version,
3567 p_api_version,
3568 '_PVT',
3569 x_return_status);
3570 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3571 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3572 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3573 RAISE OKL_API.G_EXCEPTION_ERROR;
3574 END IF;
3575 l_txsv_rec := null_out_defaults(p_txsv_rec);
3576 -- Set primary key value
3577 l_txsv_rec.ID := get_seq_id;
3578 -- Setting item attributes
3579 l_return_Status := Set_Attributes(
3580 l_txsv_rec, -- IN
3581 l_def_txsv_rec); -- OUT
3582 --- If any errors happen abort API
3583 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3584 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3585 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3586 RAISE OKL_API.G_EXCEPTION_ERROR;
3587 END IF;
3588 l_def_txsv_rec := fill_who_columns(l_def_txsv_rec);
3589 --- Validate all non-missing attributes (Item Level Validation)
3590 l_return_status := Validate_Attributes(l_def_txsv_rec);
3591 --- If any errors happen abort API
3592 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3593 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3594 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3595 RAISE OKL_API.G_EXCEPTION_ERROR;
3596 END IF;
3597
3598 /*l_return_status := Validate_Record(l_def_txsv_rec);
3599 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3600 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3601 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3602 RAISE OKL_API.G_EXCEPTION_ERROR;
3603 END IF;
3604 */
3605 -----------------------------------------
3606 -- Move VIEW record to "Child" records --
3607 -----------------------------------------
3608 migrate(l_def_txsv_rec, l_txs_rec);
3609 -----------------------------------------------
3610 -- Call the INSERT_ROW for each child record --
3611 -----------------------------------------------
3612 insert_row(
3613 p_init_msg_list,
3614 l_return_status,
3615 x_msg_count,
3616 x_msg_data,
3617 l_txs_rec,
3618 lx_txs_rec
3619 );
3620 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3621 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3622 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3623 RAISE OKL_API.G_EXCEPTION_ERROR;
3624 END IF;
3625 migrate(lx_txs_rec, l_def_txsv_rec);
3626 -- Set OUT values
3627 x_txsv_rec := l_def_txsv_rec;
3628 x_return_status := l_return_status;
3629 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3630 EXCEPTION
3631 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3632 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3633 (
3634 l_api_name,
3635 G_PKG_NAME,
3636 'OKL_API.G_RET_STS_ERROR',
3637 x_msg_count,
3638 x_msg_data,
3639 '_PVT'
3640 );
3641 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3642 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3643 (
3644 l_api_name,
3645 G_PKG_NAME,
3646 'OKL_API.G_RET_STS_UNEXP_ERROR',
3647 x_msg_count,
3648 x_msg_data,
3649 '_PVT'
3650 );
3651 WHEN OTHERS THEN
3652 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3653 (
3654 l_api_name,
3655 G_PKG_NAME,
3656 'OTHERS',
3657 x_msg_count,
3658 x_msg_data,
3659 '_PVT'
3660 );
3661 END insert_row;
3662 ----------------------------------------
3663 -- PL/SQL TBL insert_row for:TXSV_TBL --
3664 ----------------------------------------
3665 PROCEDURE insert_row(
3666 p_api_version IN NUMBER,
3667 p_init_msg_list IN VARCHAR2,
3668 x_return_status OUT NOCOPY VARCHAR2,
3669 x_msg_count OUT NOCOPY NUMBER,
3670 x_msg_data OUT NOCOPY VARCHAR2,
3671 p_txsv_tbl IN txsv_tbl_type,
3672 x_txsv_tbl OUT NOCOPY txsv_tbl_type,
3673 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3674
3675 l_api_version CONSTANT NUMBER := 1;
3676 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
3677 i NUMBER := 0;
3678 BEGIN
3679 OKL_API.init_msg_list(p_init_msg_list);
3680 -- Make sure PL/SQL table has records in it before passing
3681 IF (p_txsv_tbl.COUNT > 0) THEN
3682 i := p_txsv_tbl.FIRST;
3683 LOOP
3684 DECLARE
3685 l_error_rec OKL_API.ERROR_REC_TYPE;
3686 BEGIN
3687 l_error_rec.api_name := l_api_name;
3688 l_error_rec.api_package := G_PKG_NAME;
3689 l_error_rec.idx := i;
3690 insert_row (
3691 p_api_version => p_api_version,
3692 p_init_msg_list => OKL_API.G_FALSE,
3693 x_return_status => l_error_rec.error_type,
3694 x_msg_count => l_error_rec.msg_count,
3695 x_msg_data => l_error_rec.msg_data,
3696 p_txsv_rec => p_txsv_tbl(i),
3697 x_txsv_rec => x_txsv_tbl(i));
3698 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
3699 l_error_rec.sqlcode := SQLCODE;
3700 load_error_tbl(l_error_rec, px_error_tbl);
3701 ELSE
3702 x_msg_count := l_error_rec.msg_count;
3703 x_msg_data := l_error_rec.msg_data;
3704 END IF;
3705 EXCEPTION
3706 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3707 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
3708 l_error_rec.sqlcode := SQLCODE;
3709 load_error_tbl(l_error_rec, px_error_tbl);
3710 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3711 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
3712 l_error_rec.sqlcode := SQLCODE;
3713 load_error_tbl(l_error_rec, px_error_tbl);
3714 WHEN OTHERS THEN
3715 l_error_rec.error_type := 'OTHERS';
3716 l_error_rec.sqlcode := SQLCODE;
3717 load_error_tbl(l_error_rec, px_error_tbl);
3718 END;
3719 EXIT WHEN (i = p_txsv_tbl.LAST);
3720 i := p_txsv_tbl.NEXT(i);
3721 END LOOP;
3722 END IF;
3723 -- Loop through the error_tbl to find the error with the highest severity
3724 -- and return it.
3725 x_return_status := find_highest_exception(px_error_tbl);
3726 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3727 EXCEPTION
3728 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3729 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3730 (
3731 l_api_name,
3732 G_PKG_NAME,
3733 'OKL_API.G_RET_STS_ERROR',
3734 x_msg_count,
3735 x_msg_data,
3736 '_PVT'
3737 );
3738 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3739 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3740 (
3741 l_api_name,
3742 G_PKG_NAME,
3743 'OKL_API.G_RET_STS_UNEXP_ERROR',
3744 x_msg_count,
3745 x_msg_data,
3746 '_PVT'
3747 );
3748 WHEN OTHERS THEN
3749 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3750 (
3751 l_api_name,
3752 G_PKG_NAME,
3753 'OTHERS',
3754 x_msg_count,
3755 x_msg_data,
3756 '_PVT'
3757 );
3758 END insert_row;
3759
3760 ----------------------------------------
3761 -- PL/SQL TBL insert_row for:TXSV_TBL --
3762 ----------------------------------------
3763 -- This procedure is the same as the one above except it does not have a "px_error_tbl" argument.
3764 -- This procedure was create for backward compatibility and simply is a wrapper for the one above.
3765 PROCEDURE insert_row(
3766 p_api_version IN NUMBER,
3767 p_init_msg_list IN VARCHAR2,
3768 x_return_status OUT NOCOPY VARCHAR2,
3769 x_msg_count OUT NOCOPY NUMBER,
3770 x_msg_data OUT NOCOPY VARCHAR2,
3771 p_txsv_tbl IN txsv_tbl_type,
3772 x_txsv_tbl OUT NOCOPY txsv_tbl_type) IS
3773
3774 l_api_version CONSTANT NUMBER := 1;
3775 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
3776 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3777 l_error_tbl OKL_API.ERROR_TBL_TYPE;
3778 BEGIN
3779 OKL_API.init_msg_list(p_init_msg_list);
3780 -- Make sure PL/SQL table has records in it before passing
3781 IF (p_txsv_tbl.COUNT > 0) THEN
3782 insert_row (
3783 p_api_version => p_api_version,
3784 p_init_msg_list => OKL_API.G_FALSE,
3785 x_return_status => x_return_status,
3786 x_msg_count => x_msg_count,
3787 x_msg_data => x_msg_data,
3788 p_txsv_tbl => p_txsv_tbl,
3789 x_txsv_tbl => x_txsv_tbl,
3790 px_error_tbl => l_error_tbl);
3791 END IF;
3792 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3793 EXCEPTION
3794 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3795 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3796 (
3797 l_api_name,
3798 G_PKG_NAME,
3799 'OKL_API.G_RET_STS_ERROR',
3800 x_msg_count,
3801 x_msg_data,
3802 '_PVT'
3803 );
3804 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3805 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3806 (
3807 l_api_name,
3808 G_PKG_NAME,
3809 'OKL_API.G_RET_STS_UNEXP_ERROR',
3810 x_msg_count,
3811 x_msg_data,
3812 '_PVT'
3813 );
3814 WHEN OTHERS THEN
3815 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3816 (
3817 l_api_name,
3818 G_PKG_NAME,
3819 'OTHERS',
3820 x_msg_count,
3821 x_msg_data,
3822 '_PVT'
3823 );
3824 END insert_row;
3825
3826 ---------------------------------------------------------------------------
3827 -- PROCEDURE lock_row
3828 ---------------------------------------------------------------------------
3829 ----------------------------------
3830 -- lock_row for:OKL_TAX_SOURCES --
3831 ----------------------------------
3832 PROCEDURE lock_row(
3833 p_init_msg_list IN VARCHAR2,
3834 x_return_status OUT NOCOPY VARCHAR2,
3835 x_msg_count OUT NOCOPY NUMBER,
3836 x_msg_data OUT NOCOPY VARCHAR2,
3837 p_txs_rec IN txs_rec_type) IS
3838
3839 E_Resource_Busy EXCEPTION;
3840 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3841 CURSOR lock_csr (p_txs_rec IN txs_rec_type) IS
3842 SELECT OBJECT_VERSION_NUMBER
3843 FROM OKL_TAX_SOURCES
3844 WHERE ID = p_txs_rec.id
3845 AND OBJECT_VERSION_NUMBER = p_txs_rec.object_version_number
3846 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
3847
3848 CURSOR lchk_csr (p_txs_rec IN txs_rec_type) IS
3849 SELECT OBJECT_VERSION_NUMBER
3850 FROM OKL_TAX_SOURCES
3851 WHERE ID = p_txs_rec.id;
3852 l_api_version CONSTANT NUMBER := 1;
3853 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
3854 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3855 l_object_version_number OKL_TAX_SOURCES.OBJECT_VERSION_NUMBER%TYPE;
3856 lc_object_version_number OKL_TAX_SOURCES.OBJECT_VERSION_NUMBER%TYPE;
3857 l_row_notfound BOOLEAN := FALSE;
3858 lc_row_notfound BOOLEAN := FALSE;
3859 BEGIN
3860 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3861 p_init_msg_list,
3862 '_PVT',
3863 x_return_status);
3864 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3865 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3866 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3867 RAISE OKL_API.G_EXCEPTION_ERROR;
3868 END IF;
3869 BEGIN
3870 OPEN lock_csr(p_txs_rec);
3871 FETCH lock_csr INTO l_object_version_number;
3872 l_row_notfound := lock_csr%NOTFOUND;
3873 CLOSE lock_csr;
3874 EXCEPTION
3875 WHEN E_Resource_Busy THEN
3876 IF (lock_csr%ISOPEN) THEN
3877 CLOSE lock_csr;
3878 END IF;
3879 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3880 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3881 END;
3882
3883 IF ( l_row_notfound ) THEN
3884 OPEN lchk_csr(p_txs_rec);
3885 FETCH lchk_csr INTO lc_object_version_number;
3886 lc_row_notfound := lchk_csr%NOTFOUND;
3887 CLOSE lchk_csr;
3888 END IF;
3889 IF (lc_row_notfound) THEN
3890 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3891 RAISE OKL_API.G_EXCEPTION_ERROR;
3892 ELSIF lc_object_version_number > p_txs_rec.object_version_number THEN
3893 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3894 RAISE OKL_API.G_EXCEPTION_ERROR;
3895 ELSIF lc_object_version_number <> p_txs_rec.object_version_number THEN
3896 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3897 RAISE OKL_API.G_EXCEPTION_ERROR;
3898 ELSIF lc_object_version_number = -1 THEN
3899 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3900 RAISE OKL_API.G_EXCEPTION_ERROR;
3901 END IF;
3902 x_return_status := l_return_status;
3903 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3904 EXCEPTION
3905 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3906 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3907 (
3908 l_api_name,
3909 G_PKG_NAME,
3910 'OKL_API.G_RET_STS_ERROR',
3911 x_msg_count,
3912 x_msg_data,
3913 '_PVT'
3914 );
3915 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3916 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3917 (
3918 l_api_name,
3919 G_PKG_NAME,
3920 'OKL_API.G_RET_STS_UNEXP_ERROR',
3921 x_msg_count,
3922 x_msg_data,
3923 '_PVT'
3924 );
3925 WHEN OTHERS THEN
3926 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3927 (
3928 l_api_name,
3929 G_PKG_NAME,
3930 'OTHERS',
3931 x_msg_count,
3932 x_msg_data,
3933 '_PVT'
3934 );
3935 END lock_row;
3936 -------------------------------------
3937 -- lock_row for: OKL_TAX_SOURCES_V --
3938 -------------------------------------
3939 PROCEDURE lock_row(
3940 p_api_version IN NUMBER,
3941 p_init_msg_list IN VARCHAR2,
3942 x_return_status OUT NOCOPY VARCHAR2,
3943 x_msg_count OUT NOCOPY NUMBER,
3944 x_msg_data OUT NOCOPY VARCHAR2,
3945 p_txsv_rec IN txsv_rec_type) IS
3946
3947 l_api_version CONSTANT NUMBER := 1;
3948 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3949 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3950 l_txs_rec txs_rec_type;
3951 BEGIN
3952 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3953 G_PKG_NAME,
3954 p_init_msg_list,
3955 l_api_version,
3956 p_api_version,
3957 '_PVT',
3958 x_return_status);
3959 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3960 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3961 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3962 RAISE OKL_API.G_EXCEPTION_ERROR;
3963 END IF;
3964 -----------------------------------------
3965 -- Move VIEW record to "Child" records --
3966 -----------------------------------------
3967 migrate(p_txsv_rec, l_txs_rec);
3968 ---------------------------------------------
3969 -- Call the LOCK_ROW for each child record --
3970 ---------------------------------------------
3971 lock_row(
3972 p_init_msg_list,
3973 l_return_status,
3974 x_msg_count,
3975 x_msg_data,
3976 l_txs_rec
3977 );
3978 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3979 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3980 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3981 RAISE OKL_API.G_EXCEPTION_ERROR;
3982 END IF;
3983 x_return_status := l_return_status;
3984 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3985 EXCEPTION
3986 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3987 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3988 (
3989 l_api_name,
3990 G_PKG_NAME,
3991 'OKL_API.G_RET_STS_ERROR',
3992 x_msg_count,
3993 x_msg_data,
3994 '_PVT'
3995 );
3996 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3997 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3998 (
3999 l_api_name,
4000 G_PKG_NAME,
4001 'OKL_API.G_RET_STS_UNEXP_ERROR',
4002 x_msg_count,
4003 x_msg_data,
4004 '_PVT'
4005 );
4006 WHEN OTHERS THEN
4007 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4008 (
4009 l_api_name,
4010 G_PKG_NAME,
4011 'OTHERS',
4012 x_msg_count,
4013 x_msg_data,
4014 '_PVT'
4015 );
4016 END lock_row;
4017 --------------------------------------
4018 -- PL/SQL TBL lock_row for:TXSV_TBL --
4019 --------------------------------------
4020 PROCEDURE lock_row(
4021 p_api_version IN NUMBER,
4022 p_init_msg_list IN VARCHAR2,
4023 x_return_status OUT NOCOPY VARCHAR2,
4024 x_msg_count OUT NOCOPY NUMBER,
4025 x_msg_data OUT NOCOPY VARCHAR2,
4026 p_txsv_tbl IN txsv_tbl_type,
4027 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
4028
4029 l_api_version CONSTANT NUMBER := 1;
4030 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
4031 i NUMBER := 0;
4032 BEGIN
4033 OKL_API.init_msg_list(p_init_msg_list);
4034 -- Make sure PL/SQL table has recrods in it before passing
4035 IF (p_txsv_tbl.COUNT > 0) THEN
4036 i := p_txsv_tbl.FIRST;
4037 LOOP
4038 DECLARE
4039 l_error_rec OKL_API.ERROR_REC_TYPE;
4040 BEGIN
4041 l_error_rec.api_name := l_api_name;
4042 l_error_rec.api_package := G_PKG_NAME;
4043 l_error_rec.idx := i;
4044 lock_row(
4045 p_api_version => p_api_version,
4046 p_init_msg_list => OKL_API.G_FALSE,
4047 x_return_status => l_error_rec.error_type,
4048 x_msg_count => l_error_rec.msg_count,
4049 x_msg_data => l_error_rec.msg_data,
4050 p_txsv_rec => p_txsv_tbl(i));
4051 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
4052 l_error_rec.sqlcode := SQLCODE;
4053 load_error_tbl(l_error_rec, px_error_tbl);
4054 ELSE
4055 x_msg_count := l_error_rec.msg_count;
4056 x_msg_data := l_error_rec.msg_data;
4057 END IF;
4058 EXCEPTION
4059 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4060 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
4061 l_error_rec.sqlcode := SQLCODE;
4062 load_error_tbl(l_error_rec, px_error_tbl);
4063 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4064 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
4065 l_error_rec.sqlcode := SQLCODE;
4066 load_error_tbl(l_error_rec, px_error_tbl);
4067 WHEN OTHERS THEN
4068 l_error_rec.error_type := 'OTHERS';
4069 l_error_rec.sqlcode := SQLCODE;
4070 load_error_tbl(l_error_rec, px_error_tbl);
4071 END;
4072 EXIT WHEN (i = p_txsv_tbl.LAST);
4073 i := p_txsv_tbl.NEXT(i);
4074 END LOOP;
4075 END IF;
4076 -- Loop through the error_tbl to find the error with the highest severity
4077 -- and return it.
4078 x_return_status := find_highest_exception(px_error_tbl);
4079 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4080 EXCEPTION
4081 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4082 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4083 (
4084 l_api_name,
4085 G_PKG_NAME,
4086 'OKL_API.G_RET_STS_ERROR',
4087 x_msg_count,
4088 x_msg_data,
4089 '_PVT'
4090 );
4091 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4092 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4093 (
4094 l_api_name,
4095 G_PKG_NAME,
4096 'OKL_API.G_RET_STS_UNEXP_ERROR',
4097 x_msg_count,
4098 x_msg_data,
4099 '_PVT'
4100 );
4101 WHEN OTHERS THEN
4102 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4103 (
4104 l_api_name,
4105 G_PKG_NAME,
4106 'OTHERS',
4107 x_msg_count,
4108 x_msg_data,
4109 '_PVT'
4110 );
4111 END lock_row;
4112 --------------------------------------
4113 -- PL/SQL TBL lock_row for:TXSV_TBL --
4114 --------------------------------------
4115 PROCEDURE lock_row(
4116 p_api_version IN NUMBER,
4117 p_init_msg_list IN VARCHAR2,
4118 x_return_status OUT NOCOPY VARCHAR2,
4119 x_msg_count OUT NOCOPY NUMBER,
4120 x_msg_data OUT NOCOPY VARCHAR2,
4121 p_txsv_tbl IN txsv_tbl_type) IS
4122
4123 l_api_version CONSTANT NUMBER := 1;
4124 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
4125 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4126 l_error_tbl OKL_API.ERROR_TBL_TYPE;
4127 BEGIN
4128 OKL_API.init_msg_list(p_init_msg_list);
4129 -- Make sure PL/SQL table has recrods in it before passing
4130 IF (p_txsv_tbl.COUNT > 0) THEN
4131 lock_row(
4132 p_api_version => p_api_version,
4133 p_init_msg_list => OKL_API.G_FALSE,
4134 x_return_status => x_return_status,
4135 x_msg_count => x_msg_count,
4136 x_msg_data => x_msg_data,
4137 p_txsv_tbl => p_txsv_tbl,
4138 px_error_tbl => l_error_tbl);
4139 END IF;
4140 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4141 EXCEPTION
4142 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4143 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4144 (
4145 l_api_name,
4146 G_PKG_NAME,
4147 'OKL_API.G_RET_STS_ERROR',
4148 x_msg_count,
4149 x_msg_data,
4150 '_PVT'
4151 );
4152 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4153 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4154 (
4155 l_api_name,
4156 G_PKG_NAME,
4157 'OKL_API.G_RET_STS_UNEXP_ERROR',
4158 x_msg_count,
4159 x_msg_data,
4160 '_PVT'
4161 );
4162 WHEN OTHERS THEN
4163 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4164 (
4165 l_api_name,
4166 G_PKG_NAME,
4167 'OTHERS',
4168 x_msg_count,
4169 x_msg_data,
4170 '_PVT'
4171 );
4172 END lock_row;
4173 ---------------------------------------------------------------------------
4174 -- PROCEDURE update_row
4175 ---------------------------------------------------------------------------
4176 ------------------------------------
4177 -- update_row for:OKL_TAX_SOURCES --
4178 ------------------------------------
4179 PROCEDURE update_row(
4180 p_init_msg_list IN VARCHAR2,
4181 x_return_status OUT NOCOPY VARCHAR2,
4182 x_msg_count OUT NOCOPY NUMBER,
4183 x_msg_data OUT NOCOPY VARCHAR2,
4184 p_txs_rec IN txs_rec_type,
4185 x_txs_rec OUT NOCOPY txs_rec_type) IS
4186
4187 l_api_version CONSTANT NUMBER := 1;
4188 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
4189 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4190 l_txs_rec txs_rec_type := p_txs_rec;
4191 l_def_txs_rec txs_rec_type;
4192 l_row_notfound BOOLEAN := TRUE;
4193 ----------------------------------
4194 -- FUNCTION populate_new_record --
4195 ----------------------------------
4196 FUNCTION populate_new_record (
4197 p_txs_rec IN txs_rec_type,
4198 x_txs_rec OUT NOCOPY txs_rec_type
4199 ) RETURN VARCHAR2 IS
4200 l_txs_rec txs_rec_type;
4201 l_row_notfound BOOLEAN := TRUE;
4202 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4203 BEGIN
4204 x_txs_rec := p_txs_rec;
4205 -- Get current database values
4206 l_txs_rec := get_rec(p_txs_rec, l_return_status);
4207 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
4208 IF (x_txs_rec.id = OKL_API.G_MISS_NUM)
4209 THEN
4210 x_txs_rec.id := l_txs_rec.id;
4211 END IF;
4212 IF (x_txs_rec.khr_id = OKL_API.G_MISS_NUM)
4213 THEN
4214 x_txs_rec.khr_id := l_txs_rec.khr_id;
4215 END IF;
4216 IF (x_txs_rec.kle_id = OKL_API.G_MISS_NUM)
4217 THEN
4218 x_txs_rec.kle_id := l_txs_rec.kle_id;
4219 END IF;
4220 IF (x_txs_rec.line_name = OKL_API.G_MISS_CHAR)
4221 THEN
4222 x_txs_rec.line_name := l_txs_rec.line_name;
4223 END IF;
4224 IF (x_txs_rec.trx_id = OKL_API.G_MISS_NUM)
4225 THEN
4226 x_txs_rec.trx_id := l_txs_rec.trx_id;
4227 END IF;
4228 IF (x_txs_rec.trx_line_id = OKL_API.G_MISS_NUM)
4229 THEN
4230 x_txs_rec.trx_line_id := l_txs_rec.trx_line_id;
4231 END IF;
4232 IF (x_txs_rec.entity_code = OKL_API.G_MISS_CHAR)
4233 THEN
4234 x_txs_rec.entity_code := l_txs_rec.entity_code;
4235 END IF;
4236 IF (x_txs_rec.event_class_code = OKL_API.G_MISS_CHAR)
4237 THEN
4238 x_txs_rec.event_class_code := l_txs_rec.event_class_code;
4239 END IF;
4240 IF (x_txs_rec.trx_level_type = OKL_API.G_MISS_CHAR)
4241 THEN
4242 x_txs_rec.trx_level_type := l_txs_rec.trx_level_type;
4243 END IF;
4244 /* IF (x_txs_rec.trx_line_type = OKL_API.G_MISS_CHAR)
4245 THEN
4246 x_txs_rec.trx_line_type := l_txs_rec.trx_line_type;
4247 END IF;*/
4248 IF (x_txs_rec.adjusted_doc_entity_code = OKL_API.G_MISS_CHAR)
4249 THEN
4250 x_txs_rec.adjusted_doc_entity_code := l_txs_rec.adjusted_doc_entity_code;
4251 END IF;
4252 IF (x_txs_rec.adjusted_doc_event_class_code = OKL_API.G_MISS_CHAR)
4253 THEN
4254 x_txs_rec.adjusted_doc_event_class_code := l_txs_rec.adjusted_doc_event_class_code;
4255 END IF;
4256 IF (x_txs_rec.adjusted_doc_trx_id = OKL_API.G_MISS_NUM)
4257 THEN
4258 x_txs_rec.adjusted_doc_trx_id := l_txs_rec.adjusted_doc_trx_id;
4259 END IF;
4260 IF (x_txs_rec.adjusted_doc_trx_line_id = OKL_API.G_MISS_NUM)
4261 THEN
4262 x_txs_rec.adjusted_doc_trx_line_id := l_txs_rec.adjusted_doc_trx_line_id;
4263 END IF;
4264 IF (x_txs_rec.adjusted_doc_trx_level_type = OKL_API.G_MISS_CHAR)
4265 THEN
4266 x_txs_rec.adjusted_doc_trx_level_type := l_txs_rec.adjusted_doc_trx_level_type;
4267 END IF;
4268 IF (x_txs_rec.adjusted_doc_number = OKL_API.G_MISS_CHAR)
4269 THEN
4270 x_txs_rec.adjusted_doc_number := l_txs_rec.adjusted_doc_number;
4271 END IF;
4272 IF (x_txs_rec.adjusted_doc_date = OKL_API.G_MISS_DATE)
4273 THEN
4274 x_txs_rec.adjusted_doc_date := l_txs_rec.adjusted_doc_date;
4275 END IF;
4276 IF (x_txs_rec.tax_call_type_code = OKL_API.G_MISS_CHAR)
4277 THEN
4278 x_txs_rec.tax_call_type_code := l_txs_rec.tax_call_type_code;
4279 END IF;
4280 IF (x_txs_rec.sty_id = OKL_API.G_MISS_NUM)
4281 THEN
4282 x_txs_rec.sty_id := l_txs_rec.sty_id;
4283 END IF;
4284 IF (x_txs_rec.trx_business_category = OKL_API.G_MISS_CHAR)
4285 THEN
4286 x_txs_rec.trx_business_category := l_txs_rec.trx_business_category;
4287 END IF;
4288 IF (x_txs_rec.tax_line_status_code = OKL_API.G_MISS_CHAR)
4289 THEN
4290 x_txs_rec.tax_line_status_code := l_txs_rec.tax_line_status_code;
4291 END IF;
4292 IF (x_txs_rec.sel_id = OKL_API.G_MISS_NUM)
4293 THEN
4294 x_txs_rec.sel_id := l_txs_rec.sel_id;
4295 END IF;
4296 IF (x_txs_rec.reported_yn = OKL_API.G_MISS_CHAR)
4297 THEN
4298 x_txs_rec.reported_yn := l_txs_rec.reported_yn;
4299 END IF;
4300 IF (x_txs_rec.program_id = OKL_API.G_MISS_NUM)
4301 THEN
4302 x_txs_rec.program_id := l_txs_rec.program_id;
4303 END IF;
4304 IF (x_txs_rec.request_id = OKL_API.G_MISS_NUM)
4305 THEN
4306 x_txs_rec.request_id := l_txs_rec.request_id;
4307 END IF;
4308 IF (x_txs_rec.program_application_id = OKL_API.G_MISS_NUM)
4309 THEN
4310 x_txs_rec.program_application_id := l_txs_rec.program_application_id;
4311 END IF;
4312 IF (x_txs_rec.program_update_date = OKL_API.G_MISS_DATE)
4313 THEN
4314 x_txs_rec.program_update_date := l_txs_rec.program_update_date;
4315 END IF;
4316 IF (x_txs_rec.attribute_category = OKL_API.G_MISS_CHAR)
4317 THEN
4318 x_txs_rec.attribute_category := l_txs_rec.attribute_category;
4319 END IF;
4320 IF (x_txs_rec.attribute1 = OKL_API.G_MISS_CHAR)
4321 THEN
4322 x_txs_rec.attribute1 := l_txs_rec.attribute1;
4323 END IF;
4324 IF (x_txs_rec.attribute2 = OKL_API.G_MISS_CHAR)
4325 THEN
4326 x_txs_rec.attribute2 := l_txs_rec.attribute2;
4327 END IF;
4328 IF (x_txs_rec.attribute3 = OKL_API.G_MISS_CHAR)
4329 THEN
4330 x_txs_rec.attribute3 := l_txs_rec.attribute3;
4331 END IF;
4332 IF (x_txs_rec.attribute4 = OKL_API.G_MISS_CHAR)
4333 THEN
4334 x_txs_rec.attribute4 := l_txs_rec.attribute4;
4335 END IF;
4336 IF (x_txs_rec.attribute5 = OKL_API.G_MISS_CHAR)
4337 THEN
4338 x_txs_rec.attribute5 := l_txs_rec.attribute5;
4339 END IF;
4340 IF (x_txs_rec.attribute6 = OKL_API.G_MISS_CHAR)
4341 THEN
4342 x_txs_rec.attribute6 := l_txs_rec.attribute6;
4343 END IF;
4344 IF (x_txs_rec.attribute7 = OKL_API.G_MISS_CHAR)
4345 THEN
4346 x_txs_rec.attribute7 := l_txs_rec.attribute7;
4347 END IF;
4348 IF (x_txs_rec.attribute8 = OKL_API.G_MISS_CHAR)
4349 THEN
4350 x_txs_rec.attribute8 := l_txs_rec.attribute8;
4351 END IF;
4352 IF (x_txs_rec.attribute9 = OKL_API.G_MISS_CHAR)
4353 THEN
4354 x_txs_rec.attribute9 := l_txs_rec.attribute9;
4355 END IF;
4356 IF (x_txs_rec.attribute10 = OKL_API.G_MISS_CHAR)
4357 THEN
4358 x_txs_rec.attribute10 := l_txs_rec.attribute10;
4359 END IF;
4360 IF (x_txs_rec.attribute11 = OKL_API.G_MISS_CHAR)
4361 THEN
4362 x_txs_rec.attribute11 := l_txs_rec.attribute11;
4363 END IF;
4364 IF (x_txs_rec.attribute12 = OKL_API.G_MISS_CHAR)
4365 THEN
4366 x_txs_rec.attribute12 := l_txs_rec.attribute12;
4367 END IF;
4368 IF (x_txs_rec.attribute13 = OKL_API.G_MISS_CHAR)
4369 THEN
4370 x_txs_rec.attribute13 := l_txs_rec.attribute13;
4371 END IF;
4372 IF (x_txs_rec.attribute14 = OKL_API.G_MISS_CHAR)
4373 THEN
4374 x_txs_rec.attribute14 := l_txs_rec.attribute14;
4375 END IF;
4376 IF (x_txs_rec.attribute15 = OKL_API.G_MISS_CHAR)
4377 THEN
4378 x_txs_rec.attribute15 := l_txs_rec.attribute15;
4379 END IF;
4380 IF (x_txs_rec.created_by = OKL_API.G_MISS_NUM)
4381 THEN
4382 x_txs_rec.created_by := l_txs_rec.created_by;
4383 END IF;
4384 IF (x_txs_rec.creation_date = OKL_API.G_MISS_DATE)
4385 THEN
4386 x_txs_rec.creation_date := l_txs_rec.creation_date;
4387 END IF;
4388 IF (x_txs_rec.last_updated_by = OKL_API.G_MISS_NUM)
4389 THEN
4390 x_txs_rec.last_updated_by := l_txs_rec.last_updated_by;
4391 END IF;
4392 IF (x_txs_rec.last_update_date = OKL_API.G_MISS_DATE)
4393 THEN
4394 x_txs_rec.last_update_date := l_txs_rec.last_update_date;
4395 END IF;
4396 IF (x_txs_rec.last_update_login = OKL_API.G_MISS_NUM)
4397 THEN
4398 x_txs_rec.last_update_login := l_txs_rec.last_update_login;
4399 END IF;
4400 IF (x_txs_rec.object_version_number = OKL_API.G_MISS_NUM)
4401 THEN
4402 x_txs_rec.object_version_number := l_txs_rec.object_version_number;
4403 END IF;
4404
4405 -- Modified by dcshanmu for eBTax - modification starts
4406 IF (x_txs_rec.application_id = OKL_API.G_MISS_NUM ) THEN
4407 x_txs_rec.application_id := l_txs_rec.application_id;
4408 END IF;
4409 IF (x_txs_rec.default_taxation_country = OKL_API.G_MISS_CHAR ) THEN
4410 x_txs_rec.default_taxation_country := l_txs_rec.default_taxation_country;
4411 END IF;
4412 IF (x_txs_rec.product_category = OKL_API.G_MISS_CHAR ) THEN
4413 x_txs_rec.product_category := l_txs_rec.product_category;
4414 END IF;
4415 IF (x_txs_rec.user_defined_fisc_class = OKL_API.G_MISS_CHAR ) THEN
4416 x_txs_rec.user_defined_fisc_class := l_txs_rec.user_defined_fisc_class;
4417 END IF;
4418 IF (x_txs_rec.line_intended_use = OKL_API.G_MISS_CHAR ) THEN
4419 x_txs_rec.line_intended_use := l_txs_rec.line_intended_use;
4420 END IF;
4421 IF (x_txs_rec.inventory_item_id = OKL_API.G_MISS_NUM ) THEN
4422 x_txs_rec.inventory_item_id := l_txs_rec.inventory_item_id;
4423 END IF;
4424 IF (x_txs_rec.bill_to_cust_acct_id = OKL_API.G_MISS_NUM ) THEN
4425 x_txs_rec.bill_to_cust_acct_id := l_txs_rec.bill_to_cust_acct_id;
4426 END IF;
4427 IF (x_txs_rec.org_id = OKL_API.G_MISS_NUM ) THEN
4428 x_txs_rec.org_id := l_txs_rec.org_id;
4429 END IF;
4430 IF (x_txs_rec.legal_entity_id = OKL_API.G_MISS_NUM ) THEN
4431 x_txs_rec.legal_entity_id := l_txs_rec.legal_entity_id;
4432 END IF;
4433 IF (x_txs_rec.line_amt = OKL_API.G_MISS_NUM ) THEN
4434 x_txs_rec.line_amt := l_txs_rec.line_amt;
4435 END IF;
4436 IF (x_txs_rec.assessable_value = OKL_API.G_MISS_NUM ) THEN
4437 x_txs_rec.assessable_value := l_txs_rec.assessable_value;
4438 END IF;
4439 IF (x_txs_rec.total_tax = OKL_API.G_MISS_NUM ) THEN
4440 x_txs_rec.total_tax := l_txs_rec.total_tax;
4441 END IF;
4442 IF (x_txs_rec.product_type = OKL_API.G_MISS_CHAR ) THEN
4443 x_txs_rec.product_type := l_txs_rec.product_type;
4444 END IF;
4445 IF (x_txs_rec.product_fisc_classification = OKL_API.G_MISS_CHAR ) THEN
4446 x_txs_rec.product_fisc_classification := l_txs_rec.product_fisc_classification;
4447 END IF;
4448 IF (x_txs_rec.trx_date = OKL_API.G_MISS_DATE ) THEN
4449 x_txs_rec.trx_date := l_txs_rec.trx_date;
4450 END IF;
4451 IF (x_txs_rec.provnl_tax_determination_date = OKL_API.G_MISS_DATE ) THEN
4452 x_txs_rec.provnl_tax_determination_date := l_txs_rec.provnl_tax_determination_date;
4453 END IF;
4454 IF (x_txs_rec.try_id = OKL_API.G_MISS_NUM ) THEN
4455 x_txs_rec.try_id := l_txs_rec.try_id;
4456 END IF;
4457 IF (x_txs_rec.ship_to_location_id = OKL_API.G_MISS_NUM ) THEN
4458 x_txs_rec.ship_to_location_id := l_txs_rec.ship_to_location_id;
4459 END IF;
4460
4461 IF (x_txs_rec.trx_currency_code = OKL_API.G_MISS_CHAR ) THEN
4462 x_txs_rec.trx_currency_code := l_txs_rec.trx_currency_code;
4463 END IF;
4464 IF (x_txs_rec.currency_conversion_type = OKL_API.G_MISS_CHAR ) THEN
4465 x_txs_rec.currency_conversion_type := l_txs_rec.currency_conversion_type;
4466 END IF;
4467 IF (x_txs_rec.currency_conversion_rate = OKL_API.G_MISS_NUM ) THEN
4468 x_txs_rec.currency_conversion_rate := l_txs_rec.currency_conversion_rate;
4469 END IF;
4470 IF (x_txs_rec.currency_conversion_date = OKL_API.G_MISS_DATE ) THEN
4471 x_txs_rec.currency_conversion_date := l_txs_rec.currency_conversion_date;
4472 END IF;
4473 -- Modified by dcshanmu for eBTax - modification end
4474 --asawanka ebtax changes start
4475 IF (x_txs_rec.asset_number = OKL_API.G_MISS_CHAR ) THEN
4476 x_txs_rec.asset_number := l_txs_rec.asset_number;
4477 END IF;
4478 IF (x_txs_rec.reported_yn = OKL_API.G_MISS_CHAR ) THEN
4479 x_txs_rec.reported_yn := l_txs_rec.reported_yn;
4480 END IF;
4481 IF (x_txs_rec.SHIP_TO_PARTY_SITE_ID = OKL_API.G_MISS_NUM ) THEN
4482 x_txs_rec.SHIP_TO_PARTY_SITE_ID := l_txs_rec.SHIP_TO_PARTY_SITE_ID;
4483 END IF;
4484 IF (x_txs_rec.SHIP_TO_PARTY_ID = OKL_API.G_MISS_NUM ) THEN
4485 x_txs_rec.SHIP_TO_PARTY_ID := l_txs_rec.SHIP_TO_PARTY_ID;
4486 END IF;
4487 IF (x_txs_rec.BILL_TO_PARTY_SITE_ID = OKL_API.G_MISS_NUM ) THEN
4488 x_txs_rec.BILL_TO_PARTY_SITE_ID := l_txs_rec.BILL_TO_PARTY_SITE_ID;
4489 END IF;
4490 IF (x_txs_rec.BILL_TO_LOCATION_ID = OKL_API.G_MISS_NUM ) THEN
4491 x_txs_rec.BILL_TO_LOCATION_ID := l_txs_rec.BILL_TO_LOCATION_ID;
4492 END IF;
4493 IF (x_txs_rec.BILL_TO_PARTY_ID = OKL_API.G_MISS_NUM ) THEN
4494 x_txs_rec.BILL_TO_PARTY_ID := l_txs_rec.BILL_TO_PARTY_ID;
4495 END IF;
4496 IF (x_txs_rec.ship_to_cust_acct_site_use_id = OKL_API.G_MISS_NUM ) THEN
4497 x_txs_rec.ship_to_cust_acct_site_use_id := l_txs_rec.ship_to_cust_acct_site_use_id;
4498 END IF;
4499 IF (x_txs_rec.bill_to_cust_acct_site_use_id = OKL_API.G_MISS_NUM ) THEN
4500 x_txs_rec.bill_to_cust_acct_site_use_id := l_txs_rec.bill_to_cust_acct_site_use_id;
4501 END IF;
4502 IF (x_txs_rec.TAX_CLASSIFICATION_CODE = OKL_API.G_MISS_CHAR) THEN
4503 x_txs_rec.TAX_CLASSIFICATION_CODE := l_txs_rec.TAX_CLASSIFICATION_CODE;
4504 END IF;
4505 --asawanka ebtax changes end
4506
4507 IF (x_txs_rec.ALC_SERIALIZED_YN = OKL_API.G_MISS_CHAR) THEN
4508 x_txs_rec.ALC_SERIALIZED_YN := l_txs_rec.ALC_SERIALIZED_YN;
4509 END IF;
4510 IF (x_txs_rec.ALC_SERIALIZED_TOTAL_TAX = OKL_API.G_MISS_NUM) THEN
4511 x_txs_rec.ALC_SERIALIZED_TOTAL_TAX := l_txs_rec.ALC_SERIALIZED_TOTAL_TAX;
4512 END IF;
4513 IF (x_txs_rec.ALC_SERIALIZED_TOTAL_LINE_AMT = OKL_API.G_MISS_NUM) THEN
4514 x_txs_rec.ALC_SERIALIZED_TOTAL_LINE_AMT := l_txs_rec.ALC_SERIALIZED_TOTAL_LINE_AMT;
4515 END IF;
4516
4517 END IF;
4518 RETURN(l_return_status);
4519 END populate_new_record;
4520 ----------------------------------------
4521 -- Set_Attributes for:OKL_TAX_SOURCES --
4522 ----------------------------------------
4523 FUNCTION Set_Attributes (
4524 p_txs_rec IN txs_rec_type,
4525 x_txs_rec OUT NOCOPY txs_rec_type
4526 ) RETURN VARCHAR2 IS
4527 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4528 BEGIN
4529 x_txs_rec := p_txs_rec;
4530 x_txs_rec.OBJECT_VERSION_NUMBER := p_txs_rec.OBJECT_VERSION_NUMBER + 1;
4531 RETURN(l_return_status);
4532 END Set_Attributes;
4533 BEGIN
4534 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4535 p_init_msg_list,
4536 '_PVT',
4537 x_return_status);
4538 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4539 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4540 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4541 RAISE OKL_API.G_EXCEPTION_ERROR;
4542 END IF;
4543 --- Setting item attributes
4544 l_return_status := Set_Attributes(
4545 p_txs_rec, -- IN
4546 l_txs_rec); -- OUT
4547 --- If any errors happen abort API
4548 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4549 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4550 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4551 RAISE OKL_API.G_EXCEPTION_ERROR;
4552 END IF;
4553 l_return_status := populate_new_record(l_txs_rec, l_def_txs_rec);
4554 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4555 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4556 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4557 RAISE OKL_API.G_EXCEPTION_ERROR;
4558 END IF;
4559
4560 UPDATE OKL_TAX_SOURCES
4561 SET KHR_ID = l_def_txs_rec.khr_id,
4562 KLE_ID = l_def_txs_rec.kle_id,
4563 LINE_NAME = l_def_txs_rec.line_name,
4564 TRX_ID = l_def_txs_rec.trx_id,
4565 TRX_LINE_ID = l_def_txs_rec.trx_line_id,
4566 ENTITY_CODE = l_def_txs_rec.entity_code,
4567 EVENT_CLASS_CODE = l_def_txs_rec.event_class_code,
4568 TRX_LEVEL_TYPE = l_def_txs_rec.trx_level_type,
4569 -- TRX_LINE_TYPE = l_def_txs_rec.trx_line_type,
4570 ADJUSTED_DOC_ENTITY_CODE = l_def_txs_rec.adjusted_doc_entity_code,
4571 ADJUSTED_DOC_EVENT_CLASS_CODE = l_def_txs_rec.adjusted_doc_event_class_code,
4572 ADJUSTED_DOC_TRX_ID = l_def_txs_rec.adjusted_doc_trx_id,
4573 ADJUSTED_DOC_TRX_LINE_ID = l_def_txs_rec.adjusted_doc_trx_line_id,
4574 ADJUSTED_DOC_TRX_LEVEL_TYPE = l_def_txs_rec.adjusted_doc_trx_level_type,
4575 ADJUSTED_DOC_NUMBER = l_def_txs_rec.adjusted_doc_number,
4576 ADJUSTED_DOC_DATE = l_def_txs_rec.adjusted_doc_date,
4577 TAX_CALL_TYPE_CODE = l_def_txs_rec.tax_call_type_code,
4578 STY_ID = l_def_txs_rec.sty_id,
4579 TRX_BUSINESS_CATEGORY = l_def_txs_rec.trx_business_category,
4580 TAX_LINE_STATUS_CODE = l_def_txs_rec.tax_line_status_code,
4581 SEL_ID = l_def_txs_rec.sel_id,
4582 TAX_REPORTING_FLAG = l_def_txs_rec.reported_yn,
4583 PROGRAM_ID = l_def_txs_rec.program_id,
4584 REQUEST_ID = l_def_txs_rec.request_id,
4585 PROGRAM_APPLICATION_ID = l_def_txs_rec.program_application_id,
4586 PROGRAM_UPDATE_DATE = l_def_txs_rec.program_update_date,
4587 ATTRIBUTE_CATEGORY = l_def_txs_rec.attribute_category,
4588 ATTRIBUTE1 = l_def_txs_rec.attribute1,
4589 ATTRIBUTE2 = l_def_txs_rec.attribute2,
4590 ATTRIBUTE3 = l_def_txs_rec.attribute3,
4591 ATTRIBUTE4 = l_def_txs_rec.attribute4,
4592 ATTRIBUTE5 = l_def_txs_rec.attribute5,
4593 ATTRIBUTE6 = l_def_txs_rec.attribute6,
4594 ATTRIBUTE7 = l_def_txs_rec.attribute7,
4595 ATTRIBUTE8 = l_def_txs_rec.attribute8,
4596 ATTRIBUTE9 = l_def_txs_rec.attribute9,
4597 ATTRIBUTE10 = l_def_txs_rec.attribute10,
4598 ATTRIBUTE11 = l_def_txs_rec.attribute11,
4599 ATTRIBUTE12 = l_def_txs_rec.attribute12,
4600 ATTRIBUTE13 = l_def_txs_rec.attribute13,
4601 ATTRIBUTE14 = l_def_txs_rec.attribute14,
4602 ATTRIBUTE15 = l_def_txs_rec.attribute15,
4603 CREATED_BY = l_def_txs_rec.created_by,
4604 CREATION_DATE = l_def_txs_rec.creation_date,
4605 LAST_UPDATED_BY = l_def_txs_rec.last_updated_by,
4606 LAST_UPDATE_DATE = l_def_txs_rec.last_update_date,
4607 LAST_UPDATE_LOGIN = l_def_txs_rec.last_update_login,
4608 OBJECT_VERSION_NUMBER = l_def_txs_rec.object_version_number,
4609 -- Modified by dcshanmu for eBTax - modification starts
4610 APPLICATION_ID = l_def_txs_rec.application_id,
4611 DEFAULT_TAXATION_COUNTRY = l_def_txs_rec.default_taxation_country,
4612 PRODUCT_CATEGORY = l_def_txs_rec.product_category,
4613 USER_DEFINED_FISC_CLASS = l_def_txs_rec.user_defined_fisc_class,
4614 LINE_INTENDED_USE = l_def_txs_rec.line_intended_use,
4615 INVENTORY_ITEM_ID = l_def_txs_rec.inventory_item_id,
4616 BILL_TO_CUST_ACCT_ID = l_def_txs_rec.bill_to_cust_acct_id,
4617 ORG_ID = l_def_txs_rec.org_id,
4618 LEGAL_ENTITY_ID = l_def_txs_rec.legal_entity_id,
4619 LINE_AMT = l_def_txs_rec.line_amt,
4620 ASSESSABLE_VALUE = l_def_txs_rec.assessable_value,
4621 TOTAL_TAX = l_def_txs_rec.total_tax,
4622 PRODUCT_TYPE = l_def_txs_rec.product_type,
4623 PRODUCT_FISC_CLASSIFICATION = l_def_txs_rec.product_fisc_classification,
4624 TRX_DATE = l_def_txs_rec.trx_date,
4625 PROVNL_TAX_DETERMINATION_DATE = l_def_txs_rec.provnl_tax_determination_date,
4626 TRY_ID = l_def_txs_rec.try_id,
4627 SHIP_TO_LOCATION_ID = l_def_txs_rec.ship_to_location_id,
4628 TRX_CURRENCY_CODE = l_def_txs_rec.trx_currency_code,
4629 CURRENCY_CONVERSION_TYPE = l_def_txs_rec.currency_conversion_type,
4630 CURRENCY_CONVERSION_RATE = l_def_txs_rec.currency_conversion_rate,
4631 CURRENCY_CONVERSION_DATE = l_def_txs_rec.currency_conversion_date
4632 -- Modified by dcshanmu for eBTax - modification end
4633 --asawanka ebtax changes start
4634 ,asset_number = l_def_txs_rec.asset_number
4635 ,reported_yn = l_def_txs_rec.reported_yn
4636 ,SHIP_TO_PARTY_SITE_ID = l_def_txs_rec.SHIP_TO_PARTY_SITE_ID
4637 ,SHIP_TO_PARTY_ID = l_def_txs_rec.SHIP_TO_PARTY_ID
4638 ,BILL_TO_PARTY_SITE_ID = l_def_txs_rec.BILL_TO_PARTY_SITE_ID
4639 ,BILL_TO_LOCATION_ID = l_def_txs_rec.BILL_TO_LOCATION_ID
4640 ,BILL_TO_PARTY_ID = l_def_txs_rec.BILL_TO_PARTY_ID
4641 ,ship_to_cust_acct_site_use_id = l_def_txs_rec.ship_to_cust_acct_site_use_id
4642 ,bill_to_cust_acct_site_use_id = l_def_txs_rec.bill_to_cust_acct_site_use_id
4643 ,TAX_CLASSIFICATION_CODE = l_def_txs_rec.TAX_CLASSIFICATION_CODE
4644 --asawanka ebtax changes end
4645 ,ALC_SERIALIZED_YN = l_def_txs_rec.ALC_SERIALIZED_YN
4646 ,ALC_SERIALIZED_TOTAL_TAX = l_def_txs_rec.ALC_SERIALIZED_TOTAL_TAX
4647 ,ALC_SERIALIZED_TOTAL_LINE_AMT = l_def_txs_rec.ALC_SERIALIZED_TOTAL_LINE_AMT
4648 WHERE ID = l_def_txs_rec.id;
4649
4650 x_txs_rec := l_txs_rec;
4651 x_return_status := l_return_status;
4652 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4653 EXCEPTION
4654 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4655 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4656 (
4657 l_api_name,
4658 G_PKG_NAME,
4659 'OKL_API.G_RET_STS_ERROR',
4660 x_msg_count,
4661 x_msg_data,
4662 '_PVT'
4663 );
4664 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4665 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4666 (
4667 l_api_name,
4668 G_PKG_NAME,
4669 'OKL_API.G_RET_STS_UNEXP_ERROR',
4670 x_msg_count,
4671 x_msg_data,
4672 '_PVT'
4673 );
4674 WHEN OTHERS THEN
4675 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4676 (
4677 l_api_name,
4678 G_PKG_NAME,
4679 'OTHERS',
4680 x_msg_count,
4681 x_msg_data,
4682 '_PVT'
4683 );
4684 END update_row;
4685 --------------------------------------
4686 -- update_row for:OKL_TAX_SOURCES_V --
4687 --------------------------------------
4688 PROCEDURE update_row(
4689 p_api_version IN NUMBER,
4690 p_init_msg_list IN VARCHAR2,
4691 x_return_status OUT NOCOPY VARCHAR2,
4692 x_msg_count OUT NOCOPY NUMBER,
4693 x_msg_data OUT NOCOPY VARCHAR2,
4694 p_txsv_rec IN txsv_rec_type,
4695 x_txsv_rec OUT NOCOPY txsv_rec_type) IS
4696
4697 l_api_version CONSTANT NUMBER := 1;
4698 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
4699 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4700 l_txsv_rec txsv_rec_type := p_txsv_rec;
4701 l_def_txsv_rec txsv_rec_type;
4702 l_db_txsv_rec txsv_rec_type;
4703 l_txs_rec txs_rec_type;
4704 lx_txs_rec txs_rec_type;
4705 -------------------------------
4706 -- FUNCTION fill_who_columns --
4707 -------------------------------
4708 FUNCTION fill_who_columns (
4709 p_txsv_rec IN txsv_rec_type
4710 ) RETURN txsv_rec_type IS
4711 l_txsv_rec txsv_rec_type := p_txsv_rec;
4712 BEGIN
4713 l_txsv_rec.LAST_UPDATE_DATE := SYSDATE;
4714 l_txsv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4715 l_txsv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4716 RETURN(l_txsv_rec);
4717 END fill_who_columns;
4718 ----------------------------------
4719 -- FUNCTION populate_new_record --
4720 ----------------------------------
4721 FUNCTION populate_new_record (
4722 p_txsv_rec IN txsv_rec_type,
4723 x_txsv_rec OUT NOCOPY txsv_rec_type
4724 ) RETURN VARCHAR2 IS
4725 l_row_notfound BOOLEAN := TRUE;
4726 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4727 BEGIN
4728 x_txsv_rec := p_txsv_rec;
4729 -- Get current database values
4730 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
4731 -- so it may be verified through LOCK_ROW.
4732 l_db_txsv_rec := get_rec(p_txsv_rec, l_return_status);
4733 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
4734 IF (x_txsv_rec.id = OKL_API.G_MISS_NUM)
4735 THEN
4736 x_txsv_rec.id := l_db_txsv_rec.id;
4737 END IF;
4738
4739 --SECHAWLA : Added code to set Object Version No. because of the locking issue
4740 IF (x_txsv_rec.object_version_number = OKL_API.G_MISS_NUM)
4741 THEN
4742 x_txsv_rec.object_version_number := l_db_txsv_rec.object_version_number;
4743 END IF;
4744
4745
4746 IF (x_txsv_rec.khr_id = OKL_API.G_MISS_NUM)
4747 THEN
4748 x_txsv_rec.khr_id := l_db_txsv_rec.khr_id;
4749 END IF;
4750 IF (x_txsv_rec.kle_id = OKL_API.G_MISS_NUM)
4751 THEN
4752 x_txsv_rec.kle_id := l_db_txsv_rec.kle_id;
4753 END IF;
4754 IF (x_txsv_rec.line_name = OKL_API.G_MISS_CHAR)
4755 THEN
4756 x_txsv_rec.line_name := l_db_txsv_rec.line_name;
4757 END IF;
4758 IF (x_txsv_rec.trx_id = OKL_API.G_MISS_NUM)
4759 THEN
4760 x_txsv_rec.trx_id := l_db_txsv_rec.trx_id;
4761 END IF;
4762 IF (x_txsv_rec.trx_line_id = OKL_API.G_MISS_NUM)
4763 THEN
4764 x_txsv_rec.trx_line_id := l_db_txsv_rec.trx_line_id;
4765 END IF;
4766 IF (x_txsv_rec.entity_code = OKL_API.G_MISS_CHAR)
4767 THEN
4768 x_txsv_rec.entity_code := l_db_txsv_rec.entity_code;
4769 END IF;
4770 IF (x_txsv_rec.event_class_code = OKL_API.G_MISS_CHAR)
4771 THEN
4772 x_txsv_rec.event_class_code := l_db_txsv_rec.event_class_code;
4773 END IF;
4774 IF (x_txsv_rec.trx_level_type = OKL_API.G_MISS_CHAR)
4775 THEN
4776 x_txsv_rec.trx_level_type := l_db_txsv_rec.trx_level_type;
4777 END IF;
4778 /* IF (x_txsv_rec.trx_line_type = OKL_API.G_MISS_CHAR)
4779 THEN
4780 x_txsv_rec.trx_line_type := l_db_txsv_rec.trx_line_type;
4781 END IF;*/
4782 IF (x_txsv_rec.adjusted_doc_entity_code = OKL_API.G_MISS_CHAR)
4783 THEN
4784 x_txsv_rec.adjusted_doc_entity_code := l_db_txsv_rec.adjusted_doc_entity_code;
4785 END IF;
4786 IF (x_txsv_rec.adjusted_doc_event_class_code = OKL_API.G_MISS_CHAR)
4787 THEN
4788 x_txsv_rec.adjusted_doc_event_class_code := l_db_txsv_rec.adjusted_doc_event_class_code;
4789 END IF;
4790 IF (x_txsv_rec.adjusted_doc_trx_id = OKL_API.G_MISS_NUM)
4791 THEN
4792 x_txsv_rec.adjusted_doc_trx_id := l_db_txsv_rec.adjusted_doc_trx_id;
4793 END IF;
4794 IF (x_txsv_rec.adjusted_doc_trx_line_id = OKL_API.G_MISS_NUM)
4795 THEN
4796 x_txsv_rec.adjusted_doc_trx_line_id := l_db_txsv_rec.adjusted_doc_trx_line_id;
4797 END IF;
4798 IF (x_txsv_rec.adjusted_doc_trx_level_type = OKL_API.G_MISS_CHAR)
4799 THEN
4800 x_txsv_rec.adjusted_doc_trx_level_type := l_db_txsv_rec.adjusted_doc_trx_level_type;
4801 END IF;
4802 IF (x_txsv_rec.adjusted_doc_number = OKL_API.G_MISS_CHAR)
4803 THEN
4804 x_txsv_rec.adjusted_doc_number := l_db_txsv_rec.adjusted_doc_number;
4805 END IF;
4806 IF (x_txsv_rec.adjusted_doc_date = OKL_API.G_MISS_DATE)
4807 THEN
4808 x_txsv_rec.adjusted_doc_date := l_db_txsv_rec.adjusted_doc_date;
4809 END IF;
4810 IF (x_txsv_rec.tax_call_type_code = OKL_API.G_MISS_CHAR)
4811 THEN
4812 x_txsv_rec.tax_call_type_code := l_db_txsv_rec.tax_call_type_code;
4813 END IF;
4814 IF (x_txsv_rec.sty_id = OKL_API.G_MISS_NUM)
4815 THEN
4816 x_txsv_rec.sty_id := l_db_txsv_rec.sty_id;
4817 END IF;
4818 IF (x_txsv_rec.trx_business_category = OKL_API.G_MISS_CHAR)
4819 THEN
4820 x_txsv_rec.trx_business_category := l_db_txsv_rec.trx_business_category;
4821 END IF;
4822 IF (x_txsv_rec.tax_line_status_code = OKL_API.G_MISS_CHAR)
4823 THEN
4824 x_txsv_rec.tax_line_status_code := l_db_txsv_rec.tax_line_status_code;
4825 END IF;
4826 IF (x_txsv_rec.sel_id = OKL_API.G_MISS_NUM)
4827 THEN
4828 x_txsv_rec.sel_id := l_db_txsv_rec.sel_id;
4829 END IF;
4830 IF (x_txsv_rec.reported_yn = OKL_API.G_MISS_CHAR)
4831 THEN
4832 x_txsv_rec.reported_yn := l_db_txsv_rec.reported_yn;
4833 END IF;
4834 IF (x_txsv_rec.program_id = OKL_API.G_MISS_NUM)
4835 THEN
4836 x_txsv_rec.program_id := l_db_txsv_rec.program_id;
4837 END IF;
4838 IF (x_txsv_rec.request_id = OKL_API.G_MISS_NUM)
4839 THEN
4840 x_txsv_rec.request_id := l_db_txsv_rec.request_id;
4841 END IF;
4842 IF (x_txsv_rec.program_application_id = OKL_API.G_MISS_NUM)
4843 THEN
4844 x_txsv_rec.program_application_id := l_db_txsv_rec.program_application_id;
4845 END IF;
4846 IF (x_txsv_rec.program_update_date = OKL_API.G_MISS_DATE)
4847 THEN
4848 x_txsv_rec.program_update_date := l_db_txsv_rec.program_update_date;
4849 END IF;
4850 IF (x_txsv_rec.attribute_category = OKL_API.G_MISS_CHAR)
4851 THEN
4852 x_txsv_rec.attribute_category := l_db_txsv_rec.attribute_category;
4853 END IF;
4854 IF (x_txsv_rec.attribute1 = OKL_API.G_MISS_CHAR)
4855 THEN
4856 x_txsv_rec.attribute1 := l_db_txsv_rec.attribute1;
4857 END IF;
4858 IF (x_txsv_rec.attribute2 = OKL_API.G_MISS_CHAR)
4859 THEN
4860 x_txsv_rec.attribute2 := l_db_txsv_rec.attribute2;
4861 END IF;
4862 IF (x_txsv_rec.attribute3 = OKL_API.G_MISS_CHAR)
4863 THEN
4864 x_txsv_rec.attribute3 := l_db_txsv_rec.attribute3;
4865 END IF;
4866 IF (x_txsv_rec.attribute4 = OKL_API.G_MISS_CHAR)
4867 THEN
4868 x_txsv_rec.attribute4 := l_db_txsv_rec.attribute4;
4869 END IF;
4870 IF (x_txsv_rec.attribute5 = OKL_API.G_MISS_CHAR)
4871 THEN
4872 x_txsv_rec.attribute5 := l_db_txsv_rec.attribute5;
4873 END IF;
4874 IF (x_txsv_rec.attribute6 = OKL_API.G_MISS_CHAR)
4875 THEN
4876 x_txsv_rec.attribute6 := l_db_txsv_rec.attribute6;
4877 END IF;
4878 IF (x_txsv_rec.attribute7 = OKL_API.G_MISS_CHAR)
4879 THEN
4880 x_txsv_rec.attribute7 := l_db_txsv_rec.attribute7;
4881 END IF;
4882 IF (x_txsv_rec.attribute8 = OKL_API.G_MISS_CHAR)
4883 THEN
4884 x_txsv_rec.attribute8 := l_db_txsv_rec.attribute8;
4885 END IF;
4886 IF (x_txsv_rec.attribute9 = OKL_API.G_MISS_CHAR)
4887 THEN
4888 x_txsv_rec.attribute9 := l_db_txsv_rec.attribute9;
4889 END IF;
4890 IF (x_txsv_rec.attribute10 = OKL_API.G_MISS_CHAR)
4891 THEN
4892 x_txsv_rec.attribute10 := l_db_txsv_rec.attribute10;
4893 END IF;
4894 IF (x_txsv_rec.attribute11 = OKL_API.G_MISS_CHAR)
4895 THEN
4896 x_txsv_rec.attribute11 := l_db_txsv_rec.attribute11;
4897 END IF;
4898 IF (x_txsv_rec.attribute12 = OKL_API.G_MISS_CHAR)
4899 THEN
4900 x_txsv_rec.attribute12 := l_db_txsv_rec.attribute12;
4901 END IF;
4902 IF (x_txsv_rec.attribute13 = OKL_API.G_MISS_CHAR)
4903 THEN
4904 x_txsv_rec.attribute13 := l_db_txsv_rec.attribute13;
4905 END IF;
4906 IF (x_txsv_rec.attribute14 = OKL_API.G_MISS_CHAR)
4907 THEN
4908 x_txsv_rec.attribute14 := l_db_txsv_rec.attribute14;
4909 END IF;
4910 IF (x_txsv_rec.attribute15 = OKL_API.G_MISS_CHAR)
4911 THEN
4912 x_txsv_rec.attribute15 := l_db_txsv_rec.attribute15;
4913 END IF;
4914 IF (x_txsv_rec.created_by = OKL_API.G_MISS_NUM)
4915 THEN
4916 x_txsv_rec.created_by := l_db_txsv_rec.created_by;
4917 END IF;
4918 IF (x_txsv_rec.creation_date = OKL_API.G_MISS_DATE)
4919 THEN
4920 x_txsv_rec.creation_date := l_db_txsv_rec.creation_date;
4921 END IF;
4922 IF (x_txsv_rec.last_updated_by = OKL_API.G_MISS_NUM)
4923 THEN
4924 x_txsv_rec.last_updated_by := l_db_txsv_rec.last_updated_by;
4925 END IF;
4926 IF (x_txsv_rec.last_update_date = OKL_API.G_MISS_DATE)
4927 THEN
4928 x_txsv_rec.last_update_date := l_db_txsv_rec.last_update_date;
4929 END IF;
4930 IF (x_txsv_rec.last_update_login = OKL_API.G_MISS_NUM)
4931 THEN
4932 x_txsv_rec.last_update_login := l_db_txsv_rec.last_update_login;
4933 END IF;
4934 IF (x_txsv_rec.application_id = OKL_API.G_MISS_NUM ) THEN
4935 x_txsv_rec.application_id := l_db_txsv_rec.application_id;
4936 END IF;
4937
4938 -- Modified by dcshanmu for eBTax - modification starts
4939 -- migrating values to newly added columns
4940
4941 IF (x_txsv_rec.default_taxation_country = OKL_API.G_MISS_CHAR ) THEN
4942 x_txsv_rec.default_taxation_country := l_db_txsv_rec.default_taxation_country;
4943 END IF;
4944 IF (x_txsv_rec.product_category = OKL_API.G_MISS_CHAR ) THEN
4945 x_txsv_rec.product_category := l_db_txsv_rec.product_category;
4946 END IF;
4947 IF (x_txsv_rec.user_defined_fisc_class = OKL_API.G_MISS_CHAR ) THEN
4948 x_txsv_rec.user_defined_fisc_class := l_db_txsv_rec.user_defined_fisc_class;
4949 END IF;
4950 IF (x_txsv_rec.line_intended_use = OKL_API.G_MISS_CHAR ) THEN
4951 x_txsv_rec.line_intended_use := l_db_txsv_rec.line_intended_use;
4952 END IF;
4953 IF (x_txsv_rec.inventory_item_id = OKL_API.G_MISS_NUM ) THEN
4954 x_txsv_rec.inventory_item_id := l_db_txsv_rec.inventory_item_id;
4955 END IF;
4956 IF (x_txsv_rec.bill_to_cust_acct_id = OKL_API.G_MISS_NUM ) THEN
4957 x_txsv_rec.bill_to_cust_acct_id := l_db_txsv_rec.bill_to_cust_acct_id;
4958 END IF;
4959 IF (x_txsv_rec.org_id = OKL_API.G_MISS_NUM ) THEN
4960 x_txsv_rec.org_id := l_db_txsv_rec.org_id;
4961 END IF;
4962 IF (x_txsv_rec.legal_entity_id = OKL_API.G_MISS_NUM ) THEN
4963 x_txsv_rec.legal_entity_id := l_db_txsv_rec.legal_entity_id;
4964 END IF;
4965 IF (x_txsv_rec.line_amt = OKL_API.G_MISS_NUM ) THEN
4966 x_txsv_rec.line_amt := l_db_txsv_rec.line_amt;
4967 END IF;
4968 IF (x_txsv_rec.assessable_value = OKL_API.G_MISS_NUM ) THEN
4969 x_txsv_rec.assessable_value := l_db_txsv_rec.assessable_value;
4970 END IF;
4971 IF (x_txsv_rec.total_tax = OKL_API.G_MISS_NUM ) THEN
4972 x_txsv_rec.total_tax := l_db_txsv_rec.total_tax;
4973 END IF;
4974 IF (x_txsv_rec.product_type = OKL_API.G_MISS_CHAR ) THEN
4975 x_txsv_rec.product_type := l_db_txsv_rec.product_type;
4976 END IF;
4977 IF (x_txsv_rec.product_fisc_classification = OKL_API.G_MISS_CHAR ) THEN
4978 x_txsv_rec.product_fisc_classification := l_db_txsv_rec.product_fisc_classification;
4979 END IF;
4980 IF (x_txsv_rec.trx_date = OKL_API.G_MISS_DATE ) THEN
4981 x_txsv_rec.trx_date := l_db_txsv_rec.trx_date;
4982 END IF;
4983 IF (x_txsv_rec.provnl_tax_determination_date = OKL_API.G_MISS_DATE ) THEN
4984 x_txsv_rec.provnl_tax_determination_date := l_db_txsv_rec.provnl_tax_determination_date;
4985 END IF;
4986 IF (x_txsv_rec.try_id = OKL_API.G_MISS_NUM ) THEN
4987 x_txsv_rec.try_id := l_db_txsv_rec.try_id;
4988 END IF;
4989
4990 IF (x_txsv_rec.ship_to_location_id = OKL_API.G_MISS_NUM ) THEN
4991 x_txsv_rec.ship_to_location_id := l_db_txsv_rec.ship_to_location_id;
4992
4993 END IF;
4994
4995 IF (x_txsv_rec.trx_currency_code = OKL_API.G_MISS_CHAR ) THEN
4996 x_txsv_rec.trx_currency_code := l_db_txsv_rec.trx_currency_code;
4997 END IF;
4998 IF (x_txsv_rec.currency_conversion_type = OKL_API.G_MISS_CHAR ) THEN
4999 x_txsv_rec.currency_conversion_type := l_db_txsv_rec.currency_conversion_type;
5000 END IF;
5001 IF (x_txsv_rec.currency_conversion_rate = OKL_API.G_MISS_NUM ) THEN
5002 x_txsv_rec.currency_conversion_rate := l_db_txsv_rec.currency_conversion_rate;
5003 END IF;
5004 IF (x_txsv_rec.currency_conversion_date = OKL_API.G_MISS_DATE ) THEN
5005 x_txsv_rec.currency_conversion_date := l_db_txsv_rec.currency_conversion_date;
5006 END IF;
5007 -- Modified by dcshanmu for eBTax - modification end
5008 --asawanka ebtax changes start
5009 IF (x_txsv_rec.asset_number = OKL_API.G_MISS_CHAR ) THEN
5010 x_txsv_rec.asset_number := l_db_txsv_rec.asset_number;
5011 END IF;
5012 IF (x_txsv_rec.reported_yn = OKL_API.G_MISS_CHAR ) THEN
5013 x_txsv_rec.reported_yn := l_db_txsv_rec.reported_yn;
5014 END IF;
5015 IF (x_txsv_rec.SHIP_TO_PARTY_SITE_ID = OKL_API.G_MISS_NUM ) THEN
5016 x_txsv_rec.SHIP_TO_PARTY_SITE_ID := l_db_txsv_rec.SHIP_TO_PARTY_SITE_ID;
5017 END IF;
5018 IF (x_txsv_rec.SHIP_TO_PARTY_ID = OKL_API.G_MISS_NUM ) THEN
5019 x_txsv_rec.SHIP_TO_PARTY_ID := l_db_txsv_rec.SHIP_TO_PARTY_ID;
5020 END IF;
5021 IF (x_txsv_rec.BILL_TO_PARTY_SITE_ID = OKL_API.G_MISS_NUM ) THEN
5022 x_txsv_rec.BILL_TO_PARTY_SITE_ID := l_db_txsv_rec.BILL_TO_PARTY_SITE_ID;
5023 END IF;
5024 IF (x_txsv_rec.BILL_TO_LOCATION_ID = OKL_API.G_MISS_NUM ) THEN
5025 x_txsv_rec.BILL_TO_LOCATION_ID := l_db_txsv_rec.BILL_TO_LOCATION_ID;
5026 END IF;
5027 IF (x_txsv_rec.BILL_TO_PARTY_ID = OKL_API.G_MISS_NUM ) THEN
5028 x_txsv_rec.BILL_TO_PARTY_ID := l_db_txsv_rec.BILL_TO_PARTY_ID;
5029 END IF;
5030 IF (x_txsv_rec.ship_to_cust_acct_site_use_id = OKL_API.G_MISS_NUM ) THEN
5031 x_txsv_rec.ship_to_cust_acct_site_use_id := l_db_txsv_rec.ship_to_cust_acct_site_use_id;
5032 END IF;
5033 IF (x_txsv_rec.bill_to_cust_acct_site_use_id = OKL_API.G_MISS_NUM ) THEN
5034 x_txsv_rec.bill_to_cust_acct_site_use_id := l_db_txsv_rec.bill_to_cust_acct_site_use_id;
5035 END IF;
5036 IF (x_txsv_rec.TAX_CLASSIFICATION_CODE = OKL_API.G_MISS_CHAR) THEN
5037 x_txsv_rec.TAX_CLASSIFICATION_CODE := l_db_txsv_rec.TAX_CLASSIFICATION_CODE;
5038 END IF;
5039 --asawanka ebtax changes end
5040 IF (x_txsv_rec.ALC_SERIALIZED_YN = OKL_API.G_MISS_CHAR) THEN
5041 x_txsv_rec.ALC_SERIALIZED_YN := l_db_txsv_rec.ALC_SERIALIZED_YN;
5042 END IF;
5043 IF (x_txsv_rec.ALC_SERIALIZED_TOTAL_TAX = OKL_API.G_MISS_NUM) THEN
5044 x_txsv_rec.ALC_SERIALIZED_TOTAL_TAX := l_db_txsv_rec.ALC_SERIALIZED_TOTAL_TAX;
5045 END IF;
5046 IF (x_txsv_rec.ALC_SERIALIZED_TOTAL_LINE_AMT = OKL_API.G_MISS_NUM) THEN
5047 x_txsv_rec.ALC_SERIALIZED_TOTAL_LINE_AMT := l_db_txsv_rec.ALC_SERIALIZED_TOTAL_LINE_AMT;
5048 END IF;
5049
5050 END IF;
5051 RETURN(l_return_status);
5052 END populate_new_record;
5053
5054 ------------------------------------------
5055 -- Set_Attributes for:OKL_TAX_SOURCES_V --
5056 ------------------------------------------
5057 FUNCTION Set_Attributes (
5058 p_txsv_rec IN txsv_rec_type,
5059 x_txsv_rec OUT NOCOPY txsv_rec_type
5060 ) RETURN VARCHAR2 IS
5061 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5062 BEGIN
5063 x_txsv_rec := p_txsv_rec;
5064 RETURN(l_return_status);
5065 END Set_Attributes;
5066 BEGIN
5067 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5068 G_PKG_NAME,
5069 p_init_msg_list,
5070 l_api_version,
5071 p_api_version,
5072 '_PVT',
5073 x_return_status);
5074 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5075 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5076 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5077 RAISE OKL_API.G_EXCEPTION_ERROR;
5078 END IF;
5079 --- Setting item attributes
5080 l_return_status := Set_Attributes(
5081 p_txsv_rec, -- IN
5082 x_txsv_rec); -- OUT
5083 --- If any errors happen abort API
5084 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5085 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5086 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5087 RAISE OKL_API.G_EXCEPTION_ERROR;
5088 END IF;
5089 l_return_status := populate_new_record(l_txsv_rec, l_def_txsv_rec);
5090 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5091 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5092 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5093 RAISE OKL_API.G_EXCEPTION_ERROR;
5094 END IF;
5095 l_def_txsv_rec := fill_who_columns(l_def_txsv_rec);
5096 --- Validate all non-missing attributes (Item Level Validation)
5097 l_return_status := Validate_Attributes(l_def_txsv_rec);
5098 --- If any errors happen abort API
5099 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5100 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5101 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5102 RAISE OKL_API.G_EXCEPTION_ERROR;
5103 END IF;
5104
5105 /*l_return_status := Validate_Record(l_def_txsv_rec, l_db_txsv_rec);
5106 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5107 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5108 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5109 RAISE OKL_API.G_EXCEPTION_ERROR;
5110 END IF;
5111 */
5112 -- Lock the Record
5113 lock_row(
5114 p_api_version => p_api_version,
5115 p_init_msg_list => p_init_msg_list,
5116 x_return_status => l_return_status,
5117 x_msg_count => x_msg_count,
5118 x_msg_data => x_msg_data,
5119 p_txsv_rec => l_def_txsv_rec); -- p_txsv_rec); -- SECHAWLA Changed to pass l_def_tbov_rec becoz of locking issue
5120 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5121 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5122 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5123 RAISE OKL_API.G_EXCEPTION_ERROR;
5124 END IF;
5125 -----------------------------------------
5126 -- Move VIEW record to "Child" records --
5127 -----------------------------------------
5128 migrate(l_def_txsv_rec, l_txs_rec);
5129 -----------------------------------------------
5130 -- Call the UPDATE_ROW for each child record --
5131 -----------------------------------------------
5132 update_row(
5133 p_init_msg_list,
5134 l_return_status,
5135 x_msg_count,
5136 x_msg_data,
5137 l_txs_rec,
5138 lx_txs_rec
5139 );
5140 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5141 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5142 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5143 RAISE OKL_API.G_EXCEPTION_ERROR;
5144 END IF;
5145 migrate(lx_txs_rec, l_def_txsv_rec);
5146 x_txsv_rec := l_def_txsv_rec;
5147 x_return_status := l_return_status;
5148 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5149 EXCEPTION
5150 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5151 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5152 (
5153 l_api_name,
5154 G_PKG_NAME,
5155 'OKL_API.G_RET_STS_ERROR',
5156 x_msg_count,
5157 x_msg_data,
5158 '_PVT'
5159 );
5160 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5161 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5162 (
5163 l_api_name,
5164 G_PKG_NAME,
5165 'OKL_API.G_RET_STS_UNEXP_ERROR',
5166 x_msg_count,
5167 x_msg_data,
5168 '_PVT'
5169 );
5170 WHEN OTHERS THEN
5171 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5172 (
5173 l_api_name,
5174 G_PKG_NAME,
5175 'OTHERS',
5176 x_msg_count,
5177 x_msg_data,
5178 '_PVT'
5179 );
5180 END update_row;
5181 ----------------------------------------
5182 -- PL/SQL TBL update_row for:txsv_tbl --
5183 ----------------------------------------
5184 PROCEDURE update_row(
5185 p_api_version IN NUMBER,
5186 p_init_msg_list IN VARCHAR2,
5187 x_return_status OUT NOCOPY VARCHAR2,
5188 x_msg_count OUT NOCOPY NUMBER,
5189 x_msg_data OUT NOCOPY VARCHAR2,
5190 p_txsv_tbl IN txsv_tbl_type,
5191 x_txsv_tbl OUT NOCOPY txsv_tbl_type,
5192 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
5193
5194 l_api_version CONSTANT NUMBER := 1;
5195 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
5196 i NUMBER := 0;
5197 BEGIN
5198 OKL_API.init_msg_list(p_init_msg_list);
5199 -- Make sure PL/SQL table has records in it before passing
5200 IF (p_txsv_tbl.COUNT > 0) THEN
5201 i := p_txsv_tbl.FIRST;
5202 LOOP
5203 DECLARE
5204 l_error_rec OKL_API.ERROR_REC_TYPE;
5205 BEGIN
5206 l_error_rec.api_name := l_api_name;
5207 l_error_rec.api_package := G_PKG_NAME;
5208 l_error_rec.idx := i;
5209 update_row (
5210 p_api_version => p_api_version,
5211 p_init_msg_list => OKL_API.G_FALSE,
5212 x_return_status => l_error_rec.error_type,
5213 x_msg_count => l_error_rec.msg_count,
5214 x_msg_data => l_error_rec.msg_data,
5215 p_txsv_rec => p_txsv_tbl(i),
5216 x_txsv_rec => x_txsv_tbl(i));
5217 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
5218 l_error_rec.sqlcode := SQLCODE;
5219 load_error_tbl(l_error_rec, px_error_tbl);
5220 ELSE
5221 x_msg_count := l_error_rec.msg_count;
5222 x_msg_data := l_error_rec.msg_data;
5223 END IF;
5224 EXCEPTION
5225 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5226 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
5227 l_error_rec.sqlcode := SQLCODE;
5228 load_error_tbl(l_error_rec, px_error_tbl);
5229 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5230 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
5231 l_error_rec.sqlcode := SQLCODE;
5232 load_error_tbl(l_error_rec, px_error_tbl);
5233 WHEN OTHERS THEN
5234 l_error_rec.error_type := 'OTHERS';
5235 l_error_rec.sqlcode := SQLCODE;
5236 load_error_tbl(l_error_rec, px_error_tbl);
5237 END;
5238 EXIT WHEN (i = p_txsv_tbl.LAST);
5239 i := p_txsv_tbl.NEXT(i);
5240 END LOOP;
5241 END IF;
5242 -- Loop through the error_tbl to find the error with the highest severity
5243 -- and return it.
5244 x_return_status := find_highest_exception(px_error_tbl);
5245 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5246 EXCEPTION
5247 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5248 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5249 (
5250 l_api_name,
5251 G_PKG_NAME,
5252 'OKL_API.G_RET_STS_ERROR',
5253 x_msg_count,
5254 x_msg_data,
5255 '_PVT'
5256 );
5257 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5258 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5259 (
5260 l_api_name,
5261 G_PKG_NAME,
5262 'OKL_API.G_RET_STS_UNEXP_ERROR',
5263 x_msg_count,
5264 x_msg_data,
5265 '_PVT'
5266 );
5267 WHEN OTHERS THEN
5268 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5269 (
5270 l_api_name,
5271 G_PKG_NAME,
5272 'OTHERS',
5273 x_msg_count,
5274 x_msg_data,
5275 '_PVT'
5276 );
5277 END update_row;
5278
5279 ----------------------------------------
5280 -- PL/SQL TBL update_row for:TXSV_TBL --
5281 ----------------------------------------
5282 -- This procedure is the same as the one above except it does not have a "px_error_tbl" argument.
5283 -- This procedure was create for backward compatibility and simply is a wrapper for the one above.
5284 PROCEDURE update_row(
5285 p_api_version IN NUMBER,
5286 p_init_msg_list IN VARCHAR2,
5287 x_return_status OUT NOCOPY VARCHAR2,
5288 x_msg_count OUT NOCOPY NUMBER,
5289 x_msg_data OUT NOCOPY VARCHAR2,
5290 p_txsv_tbl IN txsv_tbl_type,
5291 x_txsv_tbl OUT NOCOPY txsv_tbl_type) IS
5292
5293 l_api_version CONSTANT NUMBER := 1;
5294 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
5295 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5296 l_error_tbl OKL_API.ERROR_TBL_TYPE;
5297 BEGIN
5298 OKL_API.init_msg_list(p_init_msg_list);
5299 -- Make sure PL/SQL table has records in it before passing
5300 IF (p_txsv_tbl.COUNT > 0) THEN
5301 update_row (
5302 p_api_version => p_api_version,
5303 p_init_msg_list => OKL_API.G_FALSE,
5304 x_return_status => x_return_status,
5305 x_msg_count => x_msg_count,
5306 x_msg_data => x_msg_data,
5307 p_txsv_tbl => p_txsv_tbl,
5308 x_txsv_tbl => x_txsv_tbl,
5309 px_error_tbl => l_error_tbl);
5310 END IF;
5311 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5312 EXCEPTION
5313 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5314 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5315 (
5316 l_api_name,
5317 G_PKG_NAME,
5318 'OKL_API.G_RET_STS_ERROR',
5319 x_msg_count,
5320 x_msg_data,
5321 '_PVT'
5322 );
5323 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5324 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5325 (
5326 l_api_name,
5327 G_PKG_NAME,
5328 'OKL_API.G_RET_STS_UNEXP_ERROR',
5329 x_msg_count,
5330 x_msg_data,
5331 '_PVT'
5332 );
5333 WHEN OTHERS THEN
5334 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5335 (
5336 l_api_name,
5337 G_PKG_NAME,
5338 'OTHERS',
5339 x_msg_count,
5340 x_msg_data,
5341 '_PVT'
5342 );
5343 END update_row;
5344
5345 ---------------------------------------------------------------------------
5346 -- PROCEDURE delete_row
5347 ---------------------------------------------------------------------------
5348 ------------------------------------
5349 -- delete_row for:OKL_TAX_SOURCES --
5350 ------------------------------------
5351 PROCEDURE delete_row(
5352 p_init_msg_list IN VARCHAR2,
5353 x_return_status OUT NOCOPY VARCHAR2,
5354 x_msg_count OUT NOCOPY NUMBER,
5355 x_msg_data OUT NOCOPY VARCHAR2,
5356 p_txs_rec IN txs_rec_type) IS
5357
5358 l_api_version CONSTANT NUMBER := 1;
5359 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
5360 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5361 l_txs_rec txs_rec_type := p_txs_rec;
5362 l_row_notfound BOOLEAN := TRUE;
5363 BEGIN
5364 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5365 p_init_msg_list,
5366 '_PVT',
5367 x_return_status);
5368 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5369 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5370 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5371 RAISE OKL_API.G_EXCEPTION_ERROR;
5372 END IF;
5373
5374 DELETE FROM OKL_TAX_SOURCES
5375 WHERE ID = p_txs_rec.id;
5376
5377 x_return_status := l_return_status;
5378 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5379 EXCEPTION
5380 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5381 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5382 (
5383 l_api_name,
5384 G_PKG_NAME,
5385 'OKL_API.G_RET_STS_ERROR',
5386 x_msg_count,
5387 x_msg_data,
5388 '_PVT'
5389 );
5390 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5391 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5392 (
5393 l_api_name,
5394 G_PKG_NAME,
5395 'OKL_API.G_RET_STS_UNEXP_ERROR',
5396 x_msg_count,
5397 x_msg_data,
5398 '_PVT'
5399 );
5400 WHEN OTHERS THEN
5401 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5402 (
5403 l_api_name,
5404 G_PKG_NAME,
5405 'OTHERS',
5406 x_msg_count,
5407 x_msg_data,
5408 '_PVT'
5409 );
5410 END delete_row;
5411 --------------------------------------
5412 -- delete_row for:OKL_TAX_SOURCES_V --
5413 --------------------------------------
5414 PROCEDURE delete_row(
5415 p_api_version IN NUMBER,
5416 p_init_msg_list IN VARCHAR2,
5417 x_return_status OUT NOCOPY VARCHAR2,
5418 x_msg_count OUT NOCOPY NUMBER,
5419 x_msg_data OUT NOCOPY VARCHAR2,
5420 p_txsv_rec IN txsv_rec_type) IS
5421
5422 l_api_version CONSTANT NUMBER := 1;
5423 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
5424 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5425 l_txsv_rec txsv_rec_type := p_txsv_rec;
5426 l_txs_rec txs_rec_type;
5427 BEGIN
5428 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
5429 G_PKG_NAME,
5430 p_init_msg_list,
5431 l_api_version,
5432 p_api_version,
5433 '_PVT',
5434 x_return_status);
5435 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5436 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5437 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5438 RAISE OKL_API.G_EXCEPTION_ERROR;
5439 END IF;
5440 -----------------------------------------
5441 -- Move VIEW record to "Child" records --
5442 -----------------------------------------
5443 migrate(l_txsv_rec, l_txs_rec);
5444 -----------------------------------------------
5445 -- Call the DELETE_ROW for each child record --
5446 -----------------------------------------------
5447 delete_row(
5448 p_init_msg_list,
5449 l_return_status,
5450 x_msg_count,
5451 x_msg_data,
5452 l_txs_rec
5453 );
5454 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
5455 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
5456 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
5457 RAISE OKL_API.G_EXCEPTION_ERROR;
5458 END IF;
5459 x_return_status := l_return_status;
5460 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5461 EXCEPTION
5462 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5463 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5464 (
5465 l_api_name,
5466 G_PKG_NAME,
5467 'OKL_API.G_RET_STS_ERROR',
5468 x_msg_count,
5469 x_msg_data,
5470 '_PVT'
5471 );
5472 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5473 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5474 (
5475 l_api_name,
5476 G_PKG_NAME,
5477 'OKL_API.G_RET_STS_UNEXP_ERROR',
5478 x_msg_count,
5479 x_msg_data,
5480 '_PVT'
5481 );
5482 WHEN OTHERS THEN
5483 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5484 (
5485 l_api_name,
5486 G_PKG_NAME,
5487 'OTHERS',
5488 x_msg_count,
5489 x_msg_data,
5490 '_PVT'
5491 );
5492 END delete_row;
5493 -------------------------------------------------
5494 -- PL/SQL TBL delete_row for:OKL_TAX_SOURCES_V --
5495 -------------------------------------------------
5496 PROCEDURE delete_row(
5497 p_api_version IN NUMBER,
5498 p_init_msg_list IN VARCHAR2,
5499 x_return_status OUT NOCOPY VARCHAR2,
5500 x_msg_count OUT NOCOPY NUMBER,
5501 x_msg_data OUT NOCOPY VARCHAR2,
5502 p_txsv_tbl IN txsv_tbl_type,
5503 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
5504
5505 l_api_version CONSTANT NUMBER := 1;
5506 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
5507 i NUMBER := 0;
5508 BEGIN
5509 OKL_API.init_msg_list(p_init_msg_list);
5510 -- Make sure PL/SQL table has records in it before passing
5511 IF (p_txsv_tbl.COUNT > 0) THEN
5512 i := p_txsv_tbl.FIRST;
5513 LOOP
5514 DECLARE
5515 l_error_rec OKL_API.ERROR_REC_TYPE;
5516 BEGIN
5517 l_error_rec.api_name := l_api_name;
5518 l_error_rec.api_package := G_PKG_NAME;
5519 l_error_rec.idx := i;
5520 delete_row (
5521 p_api_version => p_api_version,
5522 p_init_msg_list => OKL_API.G_FALSE,
5523 x_return_status => l_error_rec.error_type,
5524 x_msg_count => l_error_rec.msg_count,
5525 x_msg_data => l_error_rec.msg_data,
5526 p_txsv_rec => p_txsv_tbl(i));
5527 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
5528 l_error_rec.sqlcode := SQLCODE;
5529 load_error_tbl(l_error_rec, px_error_tbl);
5530 ELSE
5531 x_msg_count := l_error_rec.msg_count;
5532 x_msg_data := l_error_rec.msg_data;
5533 END IF;
5534 EXCEPTION
5535 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5536 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
5537 l_error_rec.sqlcode := SQLCODE;
5538 load_error_tbl(l_error_rec, px_error_tbl);
5539 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5540 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
5541 l_error_rec.sqlcode := SQLCODE;
5542 load_error_tbl(l_error_rec, px_error_tbl);
5543 WHEN OTHERS THEN
5544 l_error_rec.error_type := 'OTHERS';
5545 l_error_rec.sqlcode := SQLCODE;
5546 load_error_tbl(l_error_rec, px_error_tbl);
5547 END;
5548 EXIT WHEN (i = p_txsv_tbl.LAST);
5549 i := p_txsv_tbl.NEXT(i);
5550 END LOOP;
5551 END IF;
5552 -- Loop through the error_tbl to find the error with the highest severity
5553 -- and return it.
5554 x_return_status := find_highest_exception(px_error_tbl);
5555 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5556 EXCEPTION
5557 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5558 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5559 (
5560 l_api_name,
5561 G_PKG_NAME,
5562 'OKL_API.G_RET_STS_ERROR',
5563 x_msg_count,
5564 x_msg_data,
5565 '_PVT'
5566 );
5567 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5568 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5569 (
5570 l_api_name,
5571 G_PKG_NAME,
5572 'OKL_API.G_RET_STS_UNEXP_ERROR',
5573 x_msg_count,
5574 x_msg_data,
5575 '_PVT'
5576 );
5577 WHEN OTHERS THEN
5578 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5579 (
5580 l_api_name,
5581 G_PKG_NAME,
5582 'OTHERS',
5583 x_msg_count,
5584 x_msg_data,
5585 '_PVT'
5586 );
5587 END delete_row;
5588
5589 -------------------------------------------------
5590 -- PL/SQL TBL delete_row for:OKL_TAX_SOURCES_V --
5591 -------------------------------------------------
5592 PROCEDURE delete_row(
5593 p_api_version IN NUMBER,
5594 p_init_msg_list IN VARCHAR2,
5595 x_return_status OUT NOCOPY VARCHAR2,
5596 x_msg_count OUT NOCOPY NUMBER,
5597 x_msg_data OUT NOCOPY VARCHAR2,
5598 p_txsv_tbl IN txsv_tbl_type) IS
5599
5600 l_api_version CONSTANT NUMBER := 1;
5601 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
5602 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5603 l_error_tbl OKL_API.ERROR_TBL_TYPE;
5604 BEGIN
5605 OKL_API.init_msg_list(p_init_msg_list);
5606 -- Make sure PL/SQL table has records in it before passing
5607 IF (p_txsv_tbl.COUNT > 0) THEN
5608 delete_row (
5609 p_api_version => p_api_version,
5610 p_init_msg_list => OKL_API.G_FALSE,
5611 x_return_status => x_return_status,
5612 x_msg_count => x_msg_count,
5613 x_msg_data => x_msg_data,
5614 p_txsv_tbl => p_txsv_tbl,
5615 px_error_tbl => l_error_tbl);
5616 END IF;
5617 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
5618 EXCEPTION
5619 WHEN OKL_API.G_EXCEPTION_ERROR THEN
5620 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5621 (
5622 l_api_name,
5623 G_PKG_NAME,
5624 'OKL_API.G_RET_STS_ERROR',
5625 x_msg_count,
5626 x_msg_data,
5627 '_PVT'
5628 );
5629 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5630 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5631 (
5632 l_api_name,
5633 G_PKG_NAME,
5634 'OKL_API.G_RET_STS_UNEXP_ERROR',
5635 x_msg_count,
5636 x_msg_data,
5637 '_PVT'
5638 );
5639 WHEN OTHERS THEN
5640 x_return_status := OKL_API.HANDLE_EXCEPTIONS
5641 (
5642 l_api_name,
5643 G_PKG_NAME,
5644 'OTHERS',
5645 x_msg_count,
5646 x_msg_data,
5647 '_PVT'
5648 );
5649 END delete_row;
5650
5651 END OKL_TXS_PVT;