[Home] [Help]
PACKAGE BODY: APPS.OKL_TAX_PVT
Source
1 PACKAGE BODY OKL_TAX_PVT AS
2 /* $Header: OKLSTAXB.pls 120.4 2006/09/21 12:44:54 ssdeshpa noship $ */
3
4 -- Handcoded this
5 G_TAX_LINE_TYPE CONSTANT VARCHAR2(200) := 'OKL_TAX_LINE_TYPE';
6 G_NO_MATCHING_RECORD CONSTANT VARCHAR2(200) := 'OKL_LLA_NO_MATCHING_RECORD';
7 -- end Handcoding
8
9
10 ---------------------------------------------------------------------------
11 -- PROCEDURE load_error_tbl
12 ---------------------------------------------------------------------------
13 PROCEDURE load_error_tbl (
14 px_error_rec IN OUT NOCOPY OKC_API.ERROR_REC_TYPE,
15 px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
16
17 j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
18 last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
19 l_msg_idx INTEGER := FND_MSG_PUB.G_NEXT;
20 BEGIN
21 -- FND_MSG_PUB has a small error in it. If we call FND_MSG_PUB.COUNT_AND_GET before
25 -- attempts to pull message 2, we get a NO_DATA_FOUND exception because there isn't any
22 -- we call FND_MSG_PUB.GET, the variable FND_MSG_PUB uses to control the index of the
23 -- message stack gets set to 1. This makes sense until we call FND_MSG_PUB.GET which
24 -- automatically increments the index by 1, (making it 2), however, when the GET function
26 -- message 2. To circumvent this problem, check the amount of messages and compensate.
27 -- Again, this error only occurs when 1 message is on the stack because COUNT_AND_GET
28 -- will only update the index variable when 1 and only 1 message is on the stack.
29 IF (last_msg_idx = 1) THEN
30 l_msg_idx := FND_MSG_PUB.G_FIRST;
31 END IF;
32 LOOP
33 fnd_msg_pub.get(
34 p_msg_index => l_msg_idx,
35 p_encoded => fnd_api.g_false,
36 p_data => px_error_rec.msg_data,
37 p_msg_index_out => px_error_rec.msg_count);
38 px_error_tbl(j) := px_error_rec;
39 j := j + 1;
40 EXIT WHEN (px_error_rec.msg_count = last_msg_idx);
41 END LOOP;
42 END load_error_tbl;
43 ---------------------------------------------------------------------------
44 -- FUNCTION find_highest_exception
45 ---------------------------------------------------------------------------
46 -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
47 -- in a OKC_API.ERROR_TBL_TYPE, and returns it.
48 FUNCTION find_highest_exception(
49 p_error_tbl IN OKC_API.ERROR_TBL_TYPE
50 ) RETURN VARCHAR2 IS
51 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
52 i INTEGER := 1;
53 BEGIN
54 IF (p_error_tbl.COUNT > 0) THEN
55 i := p_error_tbl.FIRST;
56 LOOP
57 IF (p_error_tbl(i).error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
58 IF (l_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR) THEN
59 l_return_status := p_error_tbl(i).error_type;
60 END IF;
61 END IF;
62 EXIT WHEN (i = p_error_tbl.LAST);
63 i := p_error_tbl.NEXT(i);
64 END LOOP;
65 END IF;
66 RETURN(l_return_status);
67 END find_highest_exception;
68 ---------------------------------------------------------------------------
69 -- FUNCTION get_seq_id
70 ---------------------------------------------------------------------------
71 FUNCTION get_seq_id RETURN NUMBER IS
72 BEGIN
73 RETURN(okc_p_util.raw_to_number(sys_guid()));
74 END get_seq_id;
75
76 ---------------------------------------------------------------------------
77 -- PROCEDURE qc
78 ---------------------------------------------------------------------------
79 PROCEDURE qc IS
80 BEGIN
81 null;
82 END qc;
83
84 ---------------------------------------------------------------------------
85 -- PROCEDURE change_version
86 ---------------------------------------------------------------------------
87 PROCEDURE change_version IS
88 BEGIN
89 null;
90 END change_version;
91
92 ---------------------------------------------------------------------------
93 -- PROCEDURE api_copy
94 ---------------------------------------------------------------------------
95 PROCEDURE api_copy IS
96 BEGIN
97 null;
98 END api_copy;
99
100 ---------------------------------------------------------------------------
101 -- FUNCTION get_rec for: OKL_TAX_LINES_V
102 ---------------------------------------------------------------------------
103 FUNCTION get_rec (
104 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
105 x_no_data_found OUT NOCOPY BOOLEAN
106 ) RETURN OKL_TAX_LINES_rec_type IS
107 CURSOR okl_taxv_pk_csr (p_id IN NUMBER) IS
108 SELECT
109 ID,
110 KHR_ID,
111 KLE_ID,
112 ASSET_ID,
113 ASSET_NUMBER,
114 TAX_LINE_TYPE,
115 SEL_ID,
116 TAX_DUE_DATE,
117 TAX_TYPE,
118 TAX_RATE_CODE_ID,
119 TAX_RATE_CODE,
120 TAXABLE_AMOUNT,
121 TAX_EXEMPTION_ID,
122 MANUALLY_ENTERED_FLAG,
123 OVERRIDDEN_FLAG,
124 CALCULATED_TAX_AMOUNT,
125 TAX_RATE,
126 TAX_AMOUNT,
127 SALES_TAX_ID,
128 SOURCE_TRX_ID,
129 ORG_ID,
130 HISTORY_YN,
131 ACTUAL_YN,
132 SOURCE_NAME,
133 TRQ_ID,
134 PROGRAM_ID,
135 REQUEST_ID,
136 PROGRAM_APPLICATION_ID,
137 PROGRAM_UPDATE_DATE,
138 ATTRIBUTE_CATEGORY,
139 ATTRIBUTE1,
140 ATTRIBUTE2,
141 ATTRIBUTE3,
142 ATTRIBUTE4,
143 ATTRIBUTE5,
144 ATTRIBUTE6,
145 ATTRIBUTE7,
146 ATTRIBUTE8,
147 ATTRIBUTE9,
148 ATTRIBUTE10,
149 ATTRIBUTE11,
150 ATTRIBUTE12,
151 ATTRIBUTE13,
152 ATTRIBUTE14,
153 ATTRIBUTE15,
154 CREATED_BY,
155 CREATION_DATE,
156 LAST_UPDATED_BY,
157 LAST_UPDATE_DATE,
158 LAST_UPDATE_LOGIN
159 FROM OKL_TAX_LINES
160 WHERE OKL_TAX_LINES.id = p_id;
161 l_okl_taxv_pk okl_taxv_pk_csr%ROWTYPE;
162 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type;
163 BEGIN
164 x_no_data_found := TRUE;
165 -- Get current database values
166 OPEN okl_taxv_pk_csr (p_OKL_TAX_LINES_rec.id);
167 FETCH okl_taxv_pk_csr INTO
168 l_OKL_TAX_LINES_rec.id,
169 l_OKL_TAX_LINES_rec.khr_id,
170 l_OKL_TAX_LINES_rec.kle_id,
171 l_OKL_TAX_LINES_rec.asset_id,
172 l_OKL_TAX_LINES_rec.asset_number,
173 l_OKL_TAX_LINES_rec.tax_line_type,
174 l_OKL_TAX_LINES_rec.sel_id,
175 l_OKL_TAX_LINES_rec.tax_due_date,
176 l_OKL_TAX_LINES_rec.tax_type,
177 l_OKL_TAX_LINES_rec.tax_rate_code_id,
178 l_OKL_TAX_LINES_rec.tax_rate_code,
179 l_OKL_TAX_LINES_rec.taxable_amount,
180 l_OKL_TAX_LINES_rec.tax_exemption_id,
181 l_OKL_TAX_LINES_rec.manually_entered_flag,
182 l_OKL_TAX_LINES_rec.overridden_flag,
183 l_OKL_TAX_LINES_rec.calculated_tax_amount,
184 l_OKL_TAX_LINES_rec.tax_rate,
185 l_OKL_TAX_LINES_rec.tax_amount,
186 l_OKL_TAX_LINES_rec.sales_tax_id,
187 l_OKL_TAX_LINES_rec.source_trx_id,
188 l_OKL_TAX_LINES_rec.org_id,
189 l_OKL_TAX_LINES_rec.history_yn,
190 l_OKL_TAX_LINES_rec.actual_yn,
191 l_OKL_TAX_LINES_rec.source_name,
192 l_OKL_TAX_LINES_rec.trq_id,
193 l_OKL_TAX_LINES_rec.program_id,
194 l_OKL_TAX_LINES_rec.request_id,
195 l_OKL_TAX_LINES_rec.program_application_id,
196 l_OKL_TAX_LINES_rec.program_update_date,
197 l_OKL_TAX_LINES_rec.attribute_category,
198 l_OKL_TAX_LINES_rec.attribute1,
199 l_OKL_TAX_LINES_rec.attribute2,
200 l_OKL_TAX_LINES_rec.attribute3,
201 l_OKL_TAX_LINES_rec.attribute4,
202 l_OKL_TAX_LINES_rec.attribute5,
203 l_OKL_TAX_LINES_rec.attribute6,
204 l_OKL_TAX_LINES_rec.attribute7,
205 l_OKL_TAX_LINES_rec.attribute8,
206 l_OKL_TAX_LINES_rec.attribute9,
207 l_OKL_TAX_LINES_rec.attribute10,
208 l_OKL_TAX_LINES_rec.attribute11,
209 l_OKL_TAX_LINES_rec.attribute12,
210 l_OKL_TAX_LINES_rec.attribute13,
211 l_OKL_TAX_LINES_rec.attribute14,
212 l_OKL_TAX_LINES_rec.attribute15,
213 l_OKL_TAX_LINES_rec.created_by,
214 l_OKL_TAX_LINES_rec.creation_date,
215 l_OKL_TAX_LINES_rec.last_updated_by,
216 l_OKL_TAX_LINES_rec.last_update_date,
217 l_OKL_TAX_LINES_rec.last_update_login;
218 x_no_data_found := okl_taxv_pk_csr%NOTFOUND;
219 CLOSE okl_taxv_pk_csr;
220 RETURN(l_OKL_TAX_LINES_rec);
221 END get_rec;
222
223 ------------------------------------------------------------------
224 -- This version of get_rec sets error messages if no data found --
225 ------------------------------------------------------------------
226 FUNCTION get_rec (
227 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
228 x_return_status OUT NOCOPY VARCHAR2
229 ) RETURN OKL_TAX_LINES_rec_type IS
230 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type;
231 l_row_notfound BOOLEAN := TRUE;
232 BEGIN
233 x_return_status := OKC_API.G_RET_STS_SUCCESS;
234 l_OKL_TAX_LINES_rec := get_rec(p_OKL_TAX_LINES_rec, l_row_notfound);
235 IF (l_row_notfound) THEN
236 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
237 x_return_status := OKC_API.G_RET_STS_ERROR;
238 END IF;
239 RETURN(l_OKL_TAX_LINES_rec);
240 END get_rec;
241 -----------------------------------------------------------
242 -- So we don't have to pass an "l_row_notfound" variable --
243 -----------------------------------------------------------
244 FUNCTION get_rec (
245 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
246 ) RETURN OKL_TAX_LINES_rec_type IS
247 l_row_not_found BOOLEAN := TRUE;
248 BEGIN
249 RETURN(get_rec(p_OKL_TAX_LINES_rec, l_row_not_found));
250 END get_rec;
251 ---------------------------------------------------------------------------
252 -- FUNCTION get_rec for: OKL_TAX_LINES
253 ---------------------------------------------------------------------------
254 FUNCTION get_rec (
255 p_tax_rec IN tax_rec_type,
256 x_no_data_found OUT NOCOPY BOOLEAN
257 ) RETURN tax_rec_type IS
258 CURSOR okl_tax_pk_csr (p_id IN NUMBER) IS
259 SELECT
260 ID,
261 KHR_ID,
262 KLE_ID,
263 ASSET_ID,
264 ASSET_NUMBER,
265 TAX_LINE_TYPE,
266 SEL_ID,
267 TAX_DUE_DATE,
268 TAX_TYPE,
269 TAX_RATE_CODE_ID,
270 TAX_RATE_CODE,
271 TAXABLE_AMOUNT,
272 TAX_EXEMPTION_ID,
273 MANUALLY_ENTERED_FLAG,
274 OVERRIDDEN_FLAG,
275 CALCULATED_TAX_AMOUNT,
276 TAX_RATE,
277 TAX_AMOUNT,
278 SALES_TAX_ID,
279 SOURCE_TRX_ID,
280 ORG_ID,
281 HISTORY_YN,
282 ACTUAL_YN,
283 SOURCE_NAME,
284 TRQ_ID,
285 PROGRAM_ID,
286 REQUEST_ID,
287 PROGRAM_APPLICATION_ID,
288 PROGRAM_UPDATE_DATE,
289 ATTRIBUTE_CATEGORY,
290 ATTRIBUTE1,
291 ATTRIBUTE2,
292 ATTRIBUTE3,
293 ATTRIBUTE4,
294 ATTRIBUTE5,
295 ATTRIBUTE6,
296 ATTRIBUTE7,
297 ATTRIBUTE8,
298 ATTRIBUTE9,
299 ATTRIBUTE10,
300 ATTRIBUTE11,
301 ATTRIBUTE12,
302 ATTRIBUTE13,
303 ATTRIBUTE14,
304 ATTRIBUTE15,
305 CREATED_BY,
306 CREATION_DATE,
307 LAST_UPDATED_BY,
308 LAST_UPDATE_DATE,
309 LAST_UPDATE_LOGIN
310 FROM Okl_Tax_Lines
311 WHERE okl_tax_lines.id = p_id;
312 l_okl_tax_pk okl_tax_pk_csr%ROWTYPE;
313 l_tax_rec tax_rec_type;
314 BEGIN
315 x_no_data_found := TRUE;
316 -- Get current database values
317 OPEN okl_tax_pk_csr (p_tax_rec.id);
318 FETCH okl_tax_pk_csr INTO
319 l_tax_rec.id,
320 l_tax_rec.khr_id,
321 l_tax_rec.kle_id,
322 l_tax_rec.asset_id,
323 l_tax_rec.asset_number,
324 l_tax_rec.tax_line_type,
325 l_tax_rec.sel_id,
326 l_tax_rec.tax_due_date,
327 l_tax_rec.tax_type,
328 l_tax_rec.tax_rate_code_id,
329 l_tax_rec.tax_rate_code,
330 l_tax_rec.taxable_amount,
331 l_tax_rec.tax_exemption_id,
332 l_tax_rec.manually_entered_flag,
333 l_tax_rec.overridden_flag,
334 l_tax_rec.calculated_tax_amount,
335 l_tax_rec.tax_rate,
336 l_tax_rec.tax_amount,
337 l_tax_rec.sales_tax_id,
338 l_tax_rec.source_trx_id,
339 l_tax_rec.org_id,
340 l_tax_rec.history_yn,
341 l_tax_rec.actual_yn,
342 l_tax_rec.source_name,
343 l_tax_rec.trq_id,
344 l_tax_rec.program_id,
345 l_tax_rec.request_id,
346 l_tax_rec.program_application_id,
347 l_tax_rec.program_update_date,
348 l_tax_rec.attribute_category,
349 l_tax_rec.attribute1,
350 l_tax_rec.attribute2,
351 l_tax_rec.attribute3,
352 l_tax_rec.attribute4,
353 l_tax_rec.attribute5,
354 l_tax_rec.attribute6,
355 l_tax_rec.attribute7,
356 l_tax_rec.attribute8,
357 l_tax_rec.attribute9,
358 l_tax_rec.attribute10,
359 l_tax_rec.attribute11,
360 l_tax_rec.attribute12,
361 l_tax_rec.attribute13,
362 l_tax_rec.attribute14,
363 l_tax_rec.attribute15,
364 l_tax_rec.created_by,
365 l_tax_rec.creation_date,
366 l_tax_rec.last_updated_by,
367 l_tax_rec.last_update_date,
368 l_tax_rec.last_update_login;
369 x_no_data_found := okl_tax_pk_csr%NOTFOUND;
370 CLOSE okl_tax_pk_csr;
371 RETURN(l_tax_rec);
372 END get_rec;
373
374 ------------------------------------------------------------------
375 -- This version of get_rec sets error messages if no data found --
376 ------------------------------------------------------------------
377 FUNCTION get_rec (
378 p_tax_rec IN tax_rec_type,
379 x_return_status OUT NOCOPY VARCHAR2
380 ) RETURN tax_rec_type IS
381 l_tax_rec tax_rec_type;
382 l_row_notfound BOOLEAN := TRUE;
383 BEGIN
384 x_return_status := OKC_API.G_RET_STS_SUCCESS;
385 l_tax_rec := get_rec(p_tax_rec, l_row_notfound);
386 IF (l_row_notfound) THEN
387 OKC_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'ID');
388 x_return_status := OKC_API.G_RET_STS_ERROR;
389 END IF;
390 RETURN(l_tax_rec);
391 END get_rec;
392 -----------------------------------------------------------
393 -- So we don't have to pass an "l_row_notfound" variable --
394 -----------------------------------------------------------
395 FUNCTION get_rec (
396 p_tax_rec IN tax_rec_type
397 ) RETURN tax_rec_type IS
398 l_row_not_found BOOLEAN := TRUE;
399 BEGIN
400 RETURN(get_rec(p_tax_rec, l_row_not_found));
401 END get_rec;
402 ---------------------------------------------------------------------------
403 -- FUNCTION null_out_defaults for: OKL_TAX_LINES_V
404 ---------------------------------------------------------------------------
405 FUNCTION null_out_defaults (
406 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
407 ) RETURN OKL_TAX_LINES_rec_type IS
408 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
409 BEGIN
410 IF (l_OKL_TAX_LINES_rec.id = OKC_API.G_MISS_NUM ) THEN
411 l_OKL_TAX_LINES_rec.id := NULL;
412 END IF;
413 IF (l_OKL_TAX_LINES_rec.khr_id = OKC_API.G_MISS_NUM ) THEN
414 l_OKL_TAX_LINES_rec.khr_id := NULL;
415 END IF;
416 IF (l_OKL_TAX_LINES_rec.kle_id = OKC_API.G_MISS_NUM ) THEN
417 l_OKL_TAX_LINES_rec.kle_id := NULL;
418 END IF;
419 IF (l_OKL_TAX_LINES_rec.asset_id = OKC_API.G_MISS_NUM ) THEN
420 l_OKL_TAX_LINES_rec.asset_id := NULL;
421 END IF;
422 IF (l_OKL_TAX_LINES_rec.asset_number = OKC_API.G_MISS_CHAR ) THEN
423 l_OKL_TAX_LINES_rec.asset_number := NULL;
424 END IF;
425 IF (l_OKL_TAX_LINES_rec.tax_line_type = OKC_API.G_MISS_CHAR ) THEN
426 l_OKL_TAX_LINES_rec.tax_line_type := NULL;
427 END IF;
428 IF (l_OKL_TAX_LINES_rec.sel_id = OKC_API.G_MISS_NUM ) THEN
429 l_OKL_TAX_LINES_rec.sel_id := NULL;
430 END IF;
431 IF (l_OKL_TAX_LINES_rec.tax_due_date = OKC_API.G_MISS_DATE ) THEN
432 l_OKL_TAX_LINES_rec.tax_due_date := NULL;
433 END IF;
434 IF (l_OKL_TAX_LINES_rec.tax_type = OKC_API.G_MISS_NUM ) THEN
435 l_OKL_TAX_LINES_rec.tax_type := NULL;
436 END IF;
437 IF (l_OKL_TAX_LINES_rec.tax_rate_code_id = OKC_API.G_MISS_NUM ) THEN
438 l_OKL_TAX_LINES_rec.tax_rate_code_id := NULL;
439 END IF;
440 IF (l_OKL_TAX_LINES_rec.tax_rate_code = OKC_API.G_MISS_CHAR ) THEN
441 l_OKL_TAX_LINES_rec.tax_rate_code := NULL;
442 END IF;
443 IF (l_OKL_TAX_LINES_rec.taxable_amount = OKC_API.G_MISS_NUM ) THEN
444 l_OKL_TAX_LINES_rec.taxable_amount := NULL;
445 END IF;
446 IF (l_OKL_TAX_LINES_rec.tax_exemption_id = OKC_API.G_MISS_NUM ) THEN
447 l_OKL_TAX_LINES_rec.tax_exemption_id := NULL;
448 END IF;
449 IF (l_OKL_TAX_LINES_rec.manually_entered_flag = OKC_API.G_MISS_CHAR ) THEN
450 l_OKL_TAX_LINES_rec.manually_entered_flag := NULL;
451 END IF;
455 IF (l_OKL_TAX_LINES_rec.calculated_tax_amount = OKC_API.G_MISS_NUM ) THEN
452 IF (l_OKL_TAX_LINES_rec.overridden_flag = OKC_API.G_MISS_CHAR ) THEN
453 l_OKL_TAX_LINES_rec.overridden_flag := NULL;
454 END IF;
456 l_OKL_TAX_LINES_rec.calculated_tax_amount := NULL;
457 END IF;
458 IF (l_OKL_TAX_LINES_rec.tax_rate = OKC_API.G_MISS_NUM ) THEN
459 l_OKL_TAX_LINES_rec.tax_rate := NULL;
460 END IF;
461 IF (l_OKL_TAX_LINES_rec.tax_amount = OKC_API.G_MISS_NUM ) THEN
462 l_OKL_TAX_LINES_rec.tax_amount := NULL;
463 END IF;
464 IF (l_OKL_TAX_LINES_rec.sales_tax_id = OKC_API.G_MISS_NUM ) THEN
465 l_OKL_TAX_LINES_rec.sales_tax_id := NULL;
466 END IF;
467 IF (l_OKL_TAX_LINES_rec.source_trx_id = OKC_API.G_MISS_NUM ) THEN
468 l_OKL_TAX_LINES_rec.source_trx_id := NULL;
469 END IF;
470 IF (l_OKL_TAX_LINES_rec.org_id = OKC_API.G_MISS_NUM ) THEN
471 l_OKL_TAX_LINES_rec.org_id := NULL;
472 END IF;
473 IF (l_OKL_TAX_LINES_rec.history_yn = OKC_API.G_MISS_CHAR ) THEN
474 l_OKL_TAX_LINES_rec.history_yn := NULL;
475 END IF;
476 IF (l_OKL_TAX_LINES_rec.actual_yn = OKC_API.G_MISS_CHAR ) THEN
477 l_OKL_TAX_LINES_rec.actual_yn := NULL;
478 END IF;
479 IF (l_OKL_TAX_LINES_rec.source_name = OKC_API.G_MISS_CHAR ) THEN
480 l_OKL_TAX_LINES_rec.source_name := NULL;
481 END IF;
482 IF (l_OKL_TAX_LINES_rec.trq_id = OKC_API.G_MISS_NUM ) THEN
483 l_OKL_TAX_LINES_rec.trq_id := NULL;
484 END IF;
485 IF (l_OKL_TAX_LINES_rec.program_id = OKC_API.G_MISS_NUM ) THEN
486 l_OKL_TAX_LINES_rec.program_id := NULL;
487 END IF;
488 IF (l_OKL_TAX_LINES_rec.request_id = OKC_API.G_MISS_NUM ) THEN
489 l_OKL_TAX_LINES_rec.request_id := NULL;
490 END IF;
491 IF (l_OKL_TAX_LINES_rec.program_application_id = OKC_API.G_MISS_NUM ) THEN
492 l_OKL_TAX_LINES_rec.program_application_id := NULL;
493 END IF;
494 IF (l_OKL_TAX_LINES_rec.program_update_date = OKC_API.G_MISS_DATE ) THEN
495 l_OKL_TAX_LINES_rec.program_update_date := NULL;
496 END IF;
497 IF (l_OKL_TAX_LINES_rec.attribute_category = OKC_API.G_MISS_CHAR ) THEN
498 l_OKL_TAX_LINES_rec.attribute_category := NULL;
499 END IF;
500 IF (l_OKL_TAX_LINES_rec.attribute1 = OKC_API.G_MISS_CHAR ) THEN
501 l_OKL_TAX_LINES_rec.attribute1 := NULL;
502 END IF;
503 IF (l_OKL_TAX_LINES_rec.attribute2 = OKC_API.G_MISS_CHAR ) THEN
504 l_OKL_TAX_LINES_rec.attribute2 := NULL;
505 END IF;
506 IF (l_OKL_TAX_LINES_rec.attribute3 = OKC_API.G_MISS_CHAR ) THEN
507 l_OKL_TAX_LINES_rec.attribute3 := NULL;
508 END IF;
509 IF (l_OKL_TAX_LINES_rec.attribute4 = OKC_API.G_MISS_CHAR ) THEN
510 l_OKL_TAX_LINES_rec.attribute4 := NULL;
511 END IF;
512 IF (l_OKL_TAX_LINES_rec.attribute5 = OKC_API.G_MISS_CHAR ) THEN
513 l_OKL_TAX_LINES_rec.attribute5 := NULL;
514 END IF;
515 IF (l_OKL_TAX_LINES_rec.attribute6 = OKC_API.G_MISS_CHAR ) THEN
516 l_OKL_TAX_LINES_rec.attribute6 := NULL;
517 END IF;
518 IF (l_OKL_TAX_LINES_rec.attribute7 = OKC_API.G_MISS_CHAR ) THEN
519 l_OKL_TAX_LINES_rec.attribute7 := NULL;
520 END IF;
521 IF (l_OKL_TAX_LINES_rec.attribute8 = OKC_API.G_MISS_CHAR ) THEN
522 l_OKL_TAX_LINES_rec.attribute8 := NULL;
523 END IF;
524 IF (l_OKL_TAX_LINES_rec.attribute9 = OKC_API.G_MISS_CHAR ) THEN
525 l_OKL_TAX_LINES_rec.attribute9 := NULL;
526 END IF;
527 IF (l_OKL_TAX_LINES_rec.attribute10 = OKC_API.G_MISS_CHAR ) THEN
528 l_OKL_TAX_LINES_rec.attribute10 := NULL;
529 END IF;
530 IF (l_OKL_TAX_LINES_rec.attribute11 = OKC_API.G_MISS_CHAR ) THEN
531 l_OKL_TAX_LINES_rec.attribute11 := NULL;
532 END IF;
533 IF (l_OKL_TAX_LINES_rec.attribute12 = OKC_API.G_MISS_CHAR ) THEN
534 l_OKL_TAX_LINES_rec.attribute12 := NULL;
535 END IF;
536 IF (l_OKL_TAX_LINES_rec.attribute13 = OKC_API.G_MISS_CHAR ) THEN
537 l_OKL_TAX_LINES_rec.attribute13 := NULL;
538 END IF;
539 IF (l_OKL_TAX_LINES_rec.attribute14 = OKC_API.G_MISS_CHAR ) THEN
540 l_OKL_TAX_LINES_rec.attribute14 := NULL;
541 END IF;
542 IF (l_OKL_TAX_LINES_rec.attribute15 = OKC_API.G_MISS_CHAR ) THEN
543 l_OKL_TAX_LINES_rec.attribute15 := NULL;
544 END IF;
545 IF (l_OKL_TAX_LINES_rec.created_by = OKC_API.G_MISS_NUM ) THEN
546 l_OKL_TAX_LINES_rec.created_by := NULL;
547 END IF;
548 IF (l_OKL_TAX_LINES_rec.creation_date = OKC_API.G_MISS_DATE ) THEN
549 l_OKL_TAX_LINES_rec.creation_date := NULL;
550 END IF;
551 IF (l_OKL_TAX_LINES_rec.last_updated_by = OKC_API.G_MISS_NUM ) THEN
552 l_OKL_TAX_LINES_rec.last_updated_by := NULL;
553 END IF;
554 IF (l_OKL_TAX_LINES_rec.last_update_date = OKC_API.G_MISS_DATE ) THEN
555 l_OKL_TAX_LINES_rec.last_update_date := NULL;
556 END IF;
557 IF (l_OKL_TAX_LINES_rec.last_update_login = OKC_API.G_MISS_NUM ) THEN
558 l_OKL_TAX_LINES_rec.last_update_login := NULL;
559 END IF;
560 RETURN(l_OKL_TAX_LINES_rec);
561 END null_out_defaults;
562 ---------------------------------
563 -- Validate_Attributes for: ID --
564 ---------------------------------
565 PROCEDURE validate_id(
566 x_return_status OUT NOCOPY VARCHAR2,
567 p_id IN NUMBER) IS
568 BEGIN
569 x_return_status := OKC_API.G_RET_STS_SUCCESS;
570 IF (p_id = OKC_API.G_MISS_NUM OR
571 p_id IS NULL)
572 THEN
573 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'id');
574 x_return_status := OKC_API.G_RET_STS_ERROR;
575 RAISE G_EXCEPTION_HALT_VALIDATION;
576 END IF;
577 EXCEPTION
578 WHEN G_EXCEPTION_HALT_VALIDATION THEN
579 null;
580 WHEN OTHERS THEN
584 ,p_token1_value => SQLCODE
581 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
582 ,p_msg_name => G_UNEXPECTED_ERROR
583 ,p_token1 => G_SQLCODE_TOKEN
585 ,p_token2 => G_SQLERRM_TOKEN
586 ,p_token2_value => SQLERRM);
587 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
588 END validate_id;
589 -------------------------------------
590 -- Validate_Attributes for: KHR_ID --
591 -------------------------------------
592 PROCEDURE validate_khr_id(
593 x_return_status OUT NOCOPY VARCHAR2,
594 p_khr_id IN NUMBER) IS
595 BEGIN
596 x_return_status := OKC_API.G_RET_STS_SUCCESS;
597 IF (p_khr_id = OKC_API.G_MISS_NUM OR
598 p_khr_id IS NULL)
599 THEN
600 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'khr_id');
601 x_return_status := OKC_API.G_RET_STS_ERROR;
602 RAISE G_EXCEPTION_HALT_VALIDATION;
603 END IF;
604 EXCEPTION
605 WHEN G_EXCEPTION_HALT_VALIDATION THEN
606 null;
607 WHEN OTHERS THEN
608 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
609 ,p_msg_name => G_UNEXPECTED_ERROR
610 ,p_token1 => G_SQLCODE_TOKEN
611 ,p_token1_value => SQLCODE
612 ,p_token2 => G_SQLERRM_TOKEN
613 ,p_token2_value => SQLERRM);
614 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
615 END validate_khr_id;
616 --------------------------------------------
617 -- Validate_Attributes for: TAX_LINE_TYPE --
618 --------------------------------------------
619 PROCEDURE validate_tax_line_type(
620 x_return_status OUT NOCOPY VARCHAR2,
621 p_tax_line_type IN VARCHAR2) IS
622 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
623 BEGIN
624 x_return_status := OKC_API.G_RET_STS_SUCCESS;
625 IF (p_tax_line_type = OKC_API.G_MISS_CHAR OR
626 p_tax_line_type IS NULL)
627 THEN
628 OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'tax_line_type');
629 x_return_status := OKC_API.G_RET_STS_ERROR;
630 RAISE G_EXCEPTION_HALT_VALIDATION;
631 END IF;
632
633 --Hand coded this.
634 -- Enforce Foreign Key
635 l_return_status := OKL_UTIL.check_lookup_code(G_TAX_LINE_TYPE,
636 p_tax_line_type);
637 IF l_return_status <> x_return_status THEN
638 -- Notify Error
639 OKL_API.set_message(G_APP_NAME, G_NO_MATCHING_RECORD, G_COL_NAME_TOKEN, 'tax_line_type');
640 x_return_status := OKC_API.G_RET_STS_ERROR;
641 RAISE G_EXCEPTION_HALT_VALIDATION;
642 END IF;
643
644 EXCEPTION
645 WHEN G_EXCEPTION_HALT_VALIDATION THEN
646 null;
647 WHEN OTHERS THEN
648 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
649 ,p_msg_name => G_UNEXPECTED_ERROR
650 ,p_token1 => G_SQLCODE_TOKEN
651 ,p_token1_value => SQLCODE
652 ,p_token2 => G_SQLERRM_TOKEN
653 ,p_token2_value => SQLERRM);
654 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
655 END validate_tax_line_type;
656 ---------------------------------------------------------------------------
657 -- FUNCTION Validate_Attributes
658 ---------------------------------------------------------------------------
659 ---------------------------------------------
660 -- Validate_Attributes for:OKL_TAX_LINES_V --
661 ---------------------------------------------
662 FUNCTION Validate_Attributes (
663 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
664 ) RETURN VARCHAR2 IS
665 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
666 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
667 BEGIN
668 -----------------------------
669 -- Column Level Validation --
670 -----------------------------
671 -- ***
672 -- id
673 -- ***
674 validate_id(x_return_status, p_OKL_TAX_LINES_rec.id);
675 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
676 l_return_status := x_return_status;
677 RAISE G_EXCEPTION_HALT_VALIDATION;
678 END IF;
679
680 -- ***
681 -- khr_id
682 -- ***
683 validate_khr_id(x_return_status, p_OKL_TAX_LINES_rec.khr_id);
684 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
685 l_return_status := x_return_status;
686 RAISE G_EXCEPTION_HALT_VALIDATION;
687 END IF;
688
689 -- ***
690 -- tax_line_type
691 -- ***
692 validate_tax_line_type(x_return_status, p_OKL_TAX_LINES_rec.tax_line_type);
693 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
694 l_return_status := x_return_status;
695 RAISE G_EXCEPTION_HALT_VALIDATION;
696 END IF;
697
698 RETURN(l_return_status);
699 EXCEPTION
700 WHEN G_EXCEPTION_HALT_VALIDATION THEN
701 RETURN(l_return_status);
702 WHEN OTHERS THEN
703 OKC_API.SET_MESSAGE( p_app_name => G_APP_NAME
704 ,p_msg_name => G_UNEXPECTED_ERROR
705 ,p_token1 => G_SQLCODE_TOKEN
706 ,p_token1_value => SQLCODE
707 ,p_token2 => G_SQLERRM_TOKEN
708 ,p_token2_value => SQLERRM);
709 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
710 RETURN(l_return_status);
711 END Validate_Attributes;
712 ---------------------------------------------------------------------------
713 -- PROCEDURE Validate_Record
714 ---------------------------------------------------------------------------
715 -----------------------------------------
716 -- Validate Record for:OKL_TAX_LINES_V --
717 -----------------------------------------
718 FUNCTION Validate_Record (
719 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
720 p_db_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
721 ) RETURN VARCHAR2 IS
722 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
723 ------------------------------------
724 -- FUNCTION validate_foreign_keys --
725 ------------------------------------
726 FUNCTION validate_foreign_keys (
727 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
728 p_db_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
729 ) RETURN VARCHAR2 IS
730 item_not_found_error EXCEPTION;
731 --Fixed Bug#5484903
732 CURSOR okl_taxv_fnd_fk_csr (p_lookup_code IN VARCHAR2) IS
733 SELECT 'x'
734 FROM Fnd_Lookups
735 WHERE fnd_lookups.lookup_type='OKL_TAX_LINE_TYPE'
736 AND fnd_lookups.lookup_code = p_lookup_code;
737 l_okl_taxv_fnd_fk okl_taxv_fnd_fk_csr%ROWTYPE;
738
739 CURSOR okl_taxv_trqv_fk_csr (p_id IN NUMBER) IS
740 SELECT 'x'
741 FROM OKL_TRX_REQUESTS
742 WHERE OKL_TRX_REQUESTS.id = p_id;
743 l_okl_taxv_trqv_fk okl_taxv_trqv_fk_csr%ROWTYPE;
744
745 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
746 l_row_notfound BOOLEAN := TRUE;
747 BEGIN
748 IF ((p_OKL_TAX_LINES_rec.TAX_LINE_TYPE IS NOT NULL)
749 AND
750 (p_OKL_TAX_LINES_rec.TAX_LINE_TYPE <> p_db_OKL_TAX_LINES_rec.TAX_LINE_TYPE))
751 THEN
752 OPEN okl_taxv_trqv_fk_csr (p_OKL_TAX_LINES_rec.TRQ_ID);
753 FETCH okl_taxv_trqv_fk_csr INTO l_okl_taxv_trqv_fk;
754 l_row_notfound := okl_taxv_trqv_fk_csr%NOTFOUND;
755 CLOSE okl_taxv_trqv_fk_csr;
756 IF (l_row_notfound) THEN
757 RAISE item_not_found_error;
758 END IF;
759 END IF;
760 IF ((p_OKL_TAX_LINES_rec.TAX_LINE_TYPE IS NOT NULL)
761 AND
762 (p_OKL_TAX_LINES_rec.TAX_LINE_TYPE <> p_db_OKL_TAX_LINES_rec.TAX_LINE_TYPE))
763 THEN
764 OPEN okl_taxv_fnd_fk_csr (p_OKL_TAX_LINES_rec.TAX_LINE_TYPE);
765 FETCH okl_taxv_fnd_fk_csr INTO l_okl_taxv_fnd_fk;
766 l_row_notfound := okl_taxv_fnd_fk_csr%NOTFOUND;
767 CLOSE okl_taxv_fnd_fk_csr;
768 IF (l_row_notfound) THEN
769 OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'TAX_LINE_TYPE');
770 RAISE item_not_found_error;
771 END IF;
772 END IF;
773 RETURN (l_return_status);
774 EXCEPTION
775 WHEN item_not_found_error THEN
776 l_return_status := OKC_API.G_RET_STS_ERROR;
777 RETURN (l_return_status);
778 END validate_foreign_keys;
779 BEGIN
780 l_return_status := validate_foreign_keys(p_OKL_TAX_LINES_rec, p_db_OKL_TAX_LINES_rec);
781 RETURN (l_return_status);
782 END Validate_Record;
783 FUNCTION Validate_Record (
784 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
785 ) RETURN VARCHAR2 IS
786 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
787 l_db_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := get_rec(p_OKL_TAX_LINES_rec);
788 BEGIN
789 l_return_status := Validate_Record(p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_rec,
790 p_db_OKL_TAX_LINES_rec => l_db_OKL_TAX_LINES_rec);
791 RETURN (l_return_status);
792 END Validate_Record;
793
794 ---------------------------------------------------------------------------
795 -- PROCEDURE Migrate
796 ---------------------------------------------------------------------------
800 ) IS
797 PROCEDURE migrate (
798 p_from IN OKL_TAX_LINES_rec_type,
799 p_to IN OUT NOCOPY tax_rec_type
801 BEGIN
802 p_to.id := p_from.id;
803 p_to.khr_id := p_from.khr_id;
804 p_to.kle_id := p_from.kle_id;
805 p_to.asset_id := p_from.asset_id;
806 p_to.asset_number := p_from.asset_number;
807 p_to.tax_line_type := p_from.tax_line_type;
808 p_to.sel_id := p_from.sel_id;
809 p_to.tax_due_date := p_from.tax_due_date;
810 p_to.tax_type := p_from.tax_type;
811 p_to.tax_rate_code_id := p_from.tax_rate_code_id;
812 p_to.tax_rate_code := p_from.tax_rate_code;
813 p_to.taxable_amount := p_from.taxable_amount;
814 p_to.tax_exemption_id := p_from.tax_exemption_id;
815 p_to.manually_entered_flag := p_from.manually_entered_flag;
816 p_to.overridden_flag := p_from.overridden_flag;
817 p_to.calculated_tax_amount := p_from.calculated_tax_amount;
818 p_to.tax_rate := p_from.tax_rate;
819 p_to.tax_amount := p_from.tax_amount;
820 p_to.sales_tax_id := p_from.sales_tax_id;
821 p_to.source_trx_id := p_from.source_trx_id;
822 p_to.org_id := p_from.org_id;
823 p_to.history_yn := p_from.history_yn;
824 p_to.actual_yn := p_from.actual_yn;
825 p_to.source_name := p_from.source_name;
826 p_to.trq_id := p_from.trq_id;
827 p_to.program_id := p_from.program_id;
828 p_to.request_id := p_from.request_id;
829 p_to.program_application_id := p_from.program_application_id;
830 p_to.program_update_date := p_from.program_update_date;
831 p_to.attribute_category := p_from.attribute_category;
832 p_to.attribute1 := p_from.attribute1;
833 p_to.attribute2 := p_from.attribute2;
834 p_to.attribute3 := p_from.attribute3;
835 p_to.attribute4 := p_from.attribute4;
836 p_to.attribute5 := p_from.attribute5;
837 p_to.attribute6 := p_from.attribute6;
838 p_to.attribute7 := p_from.attribute7;
839 p_to.attribute8 := p_from.attribute8;
840 p_to.attribute9 := p_from.attribute9;
841 p_to.attribute10 := p_from.attribute10;
842 p_to.attribute11 := p_from.attribute11;
843 p_to.attribute12 := p_from.attribute12;
844 p_to.attribute13 := p_from.attribute13;
845 p_to.attribute14 := p_from.attribute14;
846 p_to.attribute15 := p_from.attribute15;
847 p_to.created_by := p_from.created_by;
848 p_to.creation_date := p_from.creation_date;
849 p_to.last_updated_by := p_from.last_updated_by;
850 p_to.last_update_date := p_from.last_update_date;
851 p_to.last_update_login := p_from.last_update_login;
852 END migrate;
853 PROCEDURE migrate (
854 p_from IN tax_rec_type,
855 p_to IN OUT NOCOPY OKL_TAX_LINES_rec_type
856 ) IS
857 BEGIN
858 p_to.id := p_from.id;
859 p_to.khr_id := p_from.khr_id;
860 p_to.kle_id := p_from.kle_id;
861 p_to.asset_id := p_from.asset_id;
862 p_to.asset_number := p_from.asset_number;
863 p_to.tax_line_type := p_from.tax_line_type;
864 p_to.sel_id := p_from.sel_id;
865 p_to.tax_due_date := p_from.tax_due_date;
866 p_to.tax_type := p_from.tax_type;
867 p_to.tax_rate_code_id := p_from.tax_rate_code_id;
868 p_to.tax_rate_code := p_from.tax_rate_code;
869 p_to.taxable_amount := p_from.taxable_amount;
870 p_to.tax_exemption_id := p_from.tax_exemption_id;
871 p_to.manually_entered_flag := p_from.manually_entered_flag;
872 p_to.overridden_flag := p_from.overridden_flag;
873 p_to.calculated_tax_amount := p_from.calculated_tax_amount;
874 p_to.tax_rate := p_from.tax_rate;
875 p_to.tax_amount := p_from.tax_amount;
876 p_to.sales_tax_id := p_from.sales_tax_id;
877 p_to.source_trx_id := p_from.source_trx_id;
878 p_to.org_id := p_from.org_id;
879 p_to.history_yn := p_from.history_yn;
880 p_to.actual_yn := p_from.actual_yn;
881 p_to.source_name := p_from.source_name;
882 p_to.trq_id := p_from.trq_id;
883 p_to.program_id := p_from.program_id;
884 p_to.request_id := p_from.request_id;
885 p_to.program_application_id := p_from.program_application_id;
886 p_to.program_update_date := p_from.program_update_date;
887 p_to.attribute_category := p_from.attribute_category;
888 p_to.attribute1 := p_from.attribute1;
889 p_to.attribute2 := p_from.attribute2;
890 p_to.attribute3 := p_from.attribute3;
891 p_to.attribute4 := p_from.attribute4;
892 p_to.attribute5 := p_from.attribute5;
893 p_to.attribute6 := p_from.attribute6;
894 p_to.attribute7 := p_from.attribute7;
895 p_to.attribute8 := p_from.attribute8;
896 p_to.attribute9 := p_from.attribute9;
897 p_to.attribute10 := p_from.attribute10;
898 p_to.attribute11 := p_from.attribute11;
899 p_to.attribute12 := p_from.attribute12;
900 p_to.attribute13 := p_from.attribute13;
901 p_to.attribute14 := p_from.attribute14;
902 p_to.attribute15 := p_from.attribute15;
903 p_to.created_by := p_from.created_by;
904 p_to.creation_date := p_from.creation_date;
905 p_to.last_updated_by := p_from.last_updated_by;
906 p_to.last_update_date := p_from.last_update_date;
907 p_to.last_update_login := p_from.last_update_login;
908 END migrate;
909 ---------------------------------------------------------------------------
910 -- PROCEDURE validate_row
911 ---------------------------------------------------------------------------
912 --------------------------------------
913 -- validate_row for:OKL_TAX_LINES_V --
914 --------------------------------------
915 PROCEDURE validate_row(
916 p_api_version IN NUMBER,
917 p_init_msg_list IN VARCHAR2,
918 x_return_status OUT NOCOPY VARCHAR2,
919 x_msg_count OUT NOCOPY NUMBER,
920 x_msg_data OUT NOCOPY VARCHAR2,
921 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type) IS
922
923 l_api_version CONSTANT NUMBER := 1;
924 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
925 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
926 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
927 l_tax_rec tax_rec_type;
928 l_tax_rec tax_rec_type;
929 BEGIN
930 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
931 G_PKG_NAME,
932 p_init_msg_list,
933 l_api_version,
934 p_api_version,
935 '_PVT',
936 x_return_status);
937 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
938 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
939 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
940 RAISE OKC_API.G_EXCEPTION_ERROR;
941 END IF;
942 --- Validate all non-missing attributes (Item Level Validation)
943 l_return_status := Validate_Attributes(l_OKL_TAX_LINES_rec);
944 --- If any errors happen abort API
945 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
946 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
947 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
948 RAISE OKC_API.G_EXCEPTION_ERROR;
949 END IF;
950 l_return_status := Validate_Record(l_OKL_TAX_LINES_rec);
951 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
952 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
953 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
954 RAISE OKC_API.G_EXCEPTION_ERROR;
955 END IF;
956 x_return_status := l_return_status;
957 EXCEPTION
958 WHEN OKC_API.G_EXCEPTION_ERROR THEN
959 x_return_status := OKC_API.HANDLE_EXCEPTIONS
960 (
961 l_api_name,
962 G_PKG_NAME,
963 'OKC_API.G_RET_STS_ERROR',
964 x_msg_count,
965 x_msg_data,
966 '_PVT'
967 );
968 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
969 x_return_status := OKC_API.HANDLE_EXCEPTIONS
970 (
971 l_api_name,
972 G_PKG_NAME,
973 'OKC_API.G_RET_STS_UNEXP_ERROR',
974 x_msg_count,
975 x_msg_data,
976 '_PVT'
977 );
978 WHEN OTHERS THEN
979 x_return_status := OKC_API.HANDLE_EXCEPTIONS
980 (
981 l_api_name,
982 G_PKG_NAME,
983 'OTHERS',
984 x_msg_count,
985 x_msg_data,
986 '_PVT'
987 );
988 END validate_row;
989 -------------------------------------------------
990 -- PL/SQL TBL validate_row for:OKL_TAX_LINES_V --
991 -------------------------------------------------
992 PROCEDURE validate_row(
993 p_api_version IN NUMBER,
994 p_init_msg_list IN VARCHAR2,
995 x_return_status OUT NOCOPY VARCHAR2,
996 x_msg_count OUT NOCOPY NUMBER,
997 x_msg_data OUT NOCOPY VARCHAR2,
998 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
999 px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
1000
1001 l_api_version CONSTANT NUMBER := 1;
1002 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
1003 i NUMBER := 0;
1004 BEGIN
1005 OKC_API.init_msg_list(p_init_msg_list);
1006 -- Make sure PL/SQL table has records in it before passing
1007 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
1008 i := p_OKL_TAX_LINES_tbl.FIRST;
1009 LOOP
1010 DECLARE
1011 l_error_rec OKC_API.ERROR_REC_TYPE;
1012 BEGIN
1013 l_error_rec.api_name := l_api_name;
1014 l_error_rec.api_package := G_PKG_NAME;
1015 l_error_rec.idx := i;
1016 validate_row (
1017 p_api_version => p_api_version,
1018 p_init_msg_list => OKC_API.G_FALSE,
1019 x_return_status => l_error_rec.error_type,
1020 x_msg_count => l_error_rec.msg_count,
1021 x_msg_data => l_error_rec.msg_data,
1022 p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_tbl(i));
1023 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
1024 l_error_rec.sqlcode := SQLCODE;
1025 load_error_tbl(l_error_rec, px_error_tbl);
1026 ELSE
1027 x_msg_count := l_error_rec.msg_count;
1028 x_msg_data := l_error_rec.msg_data;
1029 END IF;
1030 EXCEPTION
1031 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1032 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1033 l_error_rec.sqlcode := SQLCODE;
1034 load_error_tbl(l_error_rec, px_error_tbl);
1035 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1036 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1037 l_error_rec.sqlcode := SQLCODE;
1038 load_error_tbl(l_error_rec, px_error_tbl);
1039 WHEN OTHERS THEN
1040 l_error_rec.error_type := 'OTHERS';
1041 l_error_rec.sqlcode := SQLCODE;
1042 load_error_tbl(l_error_rec, px_error_tbl);
1043 END;
1044 EXIT WHEN (i = p_OKL_TAX_LINES_tbl.LAST);
1045 i := p_OKL_TAX_LINES_tbl.NEXT(i);
1046 END LOOP;
1047 END IF;
1048 -- Loop through the error_tbl to find the error with the highest severity
1049 -- and return it.
1050 x_return_status := find_highest_exception(px_error_tbl);
1051 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1052 EXCEPTION
1053 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1054 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1055 (
1056 l_api_name,
1057 G_PKG_NAME,
1058 'OKC_API.G_RET_STS_ERROR',
1059 x_msg_count,
1060 x_msg_data,
1061 '_PVT'
1062 );
1063 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1064 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1065 (
1066 l_api_name,
1067 G_PKG_NAME,
1068 'OKC_API.G_RET_STS_UNEXP_ERROR',
1069 x_msg_count,
1070 x_msg_data,
1071 '_PVT'
1072 );
1073 WHEN OTHERS THEN
1074 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1075 (
1076 l_api_name,
1077 G_PKG_NAME,
1078 'OTHERS',
1079 x_msg_count,
1080 x_msg_data,
1081 '_PVT'
1082 );
1083 END validate_row;
1084
1085 -------------------------------------------------
1086 -- PL/SQL TBL validate_row for:OKL_TAX_LINES_V --
1087 -------------------------------------------------
1088 PROCEDURE validate_row(
1089 p_api_version IN NUMBER,
1090 p_init_msg_list IN VARCHAR2,
1091 x_return_status OUT NOCOPY VARCHAR2,
1092 x_msg_count OUT NOCOPY NUMBER,
1093 x_msg_data OUT NOCOPY VARCHAR2,
1094 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type) IS
1095
1096 l_api_version CONSTANT NUMBER := 1;
1097 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1098 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1099 l_error_tbl OKC_API.ERROR_TBL_TYPE;
1100 BEGIN
1101 OKC_API.init_msg_list(p_init_msg_list);
1102 -- Make sure PL/SQL table has records in it before passing
1103 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
1104 validate_row (
1105 p_api_version => p_api_version,
1106 p_init_msg_list => OKC_API.G_FALSE,
1107 x_return_status => x_return_status,
1108 x_msg_count => x_msg_count,
1109 x_msg_data => x_msg_data,
1110 p_OKL_TAX_LINES_tbl => p_OKL_TAX_LINES_tbl,
1111 px_error_tbl => l_error_tbl);
1112 END IF;
1113 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1114 EXCEPTION
1115 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1116 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1117 (
1118 l_api_name,
1119 G_PKG_NAME,
1120 'OKC_API.G_RET_STS_ERROR',
1121 x_msg_count,
1122 x_msg_data,
1123 '_PVT'
1124 );
1125 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1126 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1127 (
1128 l_api_name,
1129 G_PKG_NAME,
1130 'OKC_API.G_RET_STS_UNEXP_ERROR',
1131 x_msg_count,
1132 x_msg_data,
1133 '_PVT'
1134 );
1135 WHEN OTHERS THEN
1136 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1137 (
1138 l_api_name,
1139 G_PKG_NAME,
1140 'OTHERS',
1141 x_msg_count,
1142 x_msg_data,
1143 '_PVT'
1144 );
1145 END validate_row;
1146
1147 ---------------------------------------------------------------------------
1148 -- PROCEDURE insert_row
1149 ---------------------------------------------------------------------------
1150 ----------------------------------
1151 -- insert_row for:OKL_TAX_LINES --
1152 ----------------------------------
1153 PROCEDURE insert_row(
1154 p_init_msg_list IN VARCHAR2,
1155 x_return_status OUT NOCOPY VARCHAR2,
1156 x_msg_count OUT NOCOPY NUMBER,
1157 x_msg_data OUT NOCOPY VARCHAR2,
1158 p_tax_rec IN tax_rec_type,
1159 x_tax_rec OUT NOCOPY tax_rec_type) IS
1160
1161 l_api_version CONSTANT NUMBER := 1;
1162 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1163 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1164 l_tax_rec tax_rec_type := p_tax_rec;
1165 l_def_tax_rec tax_rec_type;
1166 --------------------------------------
1167 -- Set_Attributes for:OKL_TAX_LINES --
1168 --------------------------------------
1169 FUNCTION Set_Attributes (
1170 p_tax_rec IN tax_rec_type,
1171 x_tax_rec OUT NOCOPY tax_rec_type
1172 ) RETURN VARCHAR2 IS
1173 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1174 BEGIN
1175 x_tax_rec := p_tax_rec;
1176 RETURN(l_return_status);
1177 END Set_Attributes;
1178 BEGIN
1179 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1180 p_init_msg_list,
1181 '_PVT',
1182 x_return_status);
1183 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1184 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1185 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1186 RAISE OKC_API.G_EXCEPTION_ERROR;
1187 END IF;
1188 --- Setting item atributes
1189 l_return_status := Set_Attributes(
1190 p_tax_rec, -- IN
1191 l_tax_rec); -- OUT
1192 --- If any errors happen abort API
1193 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1194 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1195 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1196 RAISE OKC_API.G_EXCEPTION_ERROR;
1197 END IF;
1198 INSERT INTO OKL_TAX_LINES(
1199 id,
1200 khr_id,
1201 kle_id,
1202 asset_id,
1203 asset_number,
1204 tax_line_type,
1205 sel_id,
1206 tax_due_date,
1207 tax_type,
1208 tax_rate_code_id,
1209 tax_rate_code,
1210 taxable_amount,
1211 tax_exemption_id,
1212 manually_entered_flag,
1213 overridden_flag,
1214 calculated_tax_amount,
1215 tax_rate,
1216 tax_amount,
1217 sales_tax_id,
1218 source_trx_id,
1219 org_id,
1220 history_yn,
1221 actual_yn,
1222 source_name,
1223 trq_id,
1224 program_id,
1225 request_id,
1226 program_application_id,
1227 program_update_date,
1228 attribute_category,
1229 attribute1,
1230 attribute2,
1231 attribute3,
1232 attribute4,
1233 attribute5,
1234 attribute6,
1235 attribute7,
1236 attribute8,
1237 attribute9,
1238 attribute10,
1239 attribute11,
1240 attribute12,
1241 attribute13,
1242 attribute14,
1243 attribute15,
1244 created_by,
1245 creation_date,
1246 last_updated_by,
1247 last_update_date,
1248 last_update_login)
1249 VALUES (
1250 l_tax_rec.id,
1251 l_tax_rec.khr_id,
1252 l_tax_rec.kle_id,
1253 l_tax_rec.asset_id,
1254 l_tax_rec.asset_number,
1255 l_tax_rec.tax_line_type,
1256 l_tax_rec.sel_id,
1257 l_tax_rec.tax_due_date,
1258 l_tax_rec.tax_type,
1259 l_tax_rec.tax_rate_code_id,
1260 l_tax_rec.tax_rate_code,
1261 l_tax_rec.taxable_amount,
1262 l_tax_rec.tax_exemption_id,
1263 l_tax_rec.manually_entered_flag,
1264 l_tax_rec.overridden_flag,
1265 l_tax_rec.calculated_tax_amount,
1266 l_tax_rec.tax_rate,
1267 l_tax_rec.tax_amount,
1268 l_tax_rec.sales_tax_id,
1269 l_tax_rec.source_trx_id,
1270 l_tax_rec.org_id,
1271 l_tax_rec.history_yn,
1272 l_tax_rec.actual_yn,
1273 l_tax_rec.source_name,
1274 l_tax_rec.trq_id,
1275 l_tax_rec.program_id,
1276 l_tax_rec.request_id,
1277 l_tax_rec.program_application_id,
1278 l_tax_rec.program_update_date,
1279 l_tax_rec.attribute_category,
1280 l_tax_rec.attribute1,
1281 l_tax_rec.attribute2,
1282 l_tax_rec.attribute3,
1283 l_tax_rec.attribute4,
1284 l_tax_rec.attribute5,
1285 l_tax_rec.attribute6,
1286 l_tax_rec.attribute7,
1287 l_tax_rec.attribute8,
1288 l_tax_rec.attribute9,
1289 l_tax_rec.attribute10,
1290 l_tax_rec.attribute11,
1291 l_tax_rec.attribute12,
1292 l_tax_rec.attribute13,
1293 l_tax_rec.attribute14,
1294 l_tax_rec.attribute15,
1295 l_tax_rec.created_by,
1296 l_tax_rec.creation_date,
1297 l_tax_rec.last_updated_by,
1298 l_tax_rec.last_update_date,
1299 l_tax_rec.last_update_login);
1300 -- Set OUT values
1301 x_tax_rec := l_tax_rec;
1302 x_return_status := l_return_status;
1303 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1304 EXCEPTION
1305 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1306 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1307 (
1308 l_api_name,
1309 G_PKG_NAME,
1310 'OKC_API.G_RET_STS_ERROR',
1311 x_msg_count,
1312 x_msg_data,
1313 '_PVT'
1314 );
1315 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1316 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1317 (
1318 l_api_name,
1319 G_PKG_NAME,
1320 'OKC_API.G_RET_STS_UNEXP_ERROR',
1321 x_msg_count,
1322 x_msg_data,
1323 '_PVT'
1324 );
1325 WHEN OTHERS THEN
1326 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1327 (
1328 l_api_name,
1329 G_PKG_NAME,
1330 'OTHERS',
1331 x_msg_count,
1332 x_msg_data,
1333 '_PVT'
1334 );
1335 END insert_row;
1336 -------------------------------------
1337 -- insert_row for :OKL_TAX_LINES_V --
1338 -------------------------------------
1339 PROCEDURE insert_row(
1340 p_api_version IN NUMBER,
1341 p_init_msg_list IN VARCHAR2,
1342 x_return_status OUT NOCOPY VARCHAR2,
1343 x_msg_count OUT NOCOPY NUMBER,
1344 x_msg_data OUT NOCOPY VARCHAR2,
1345 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
1346 x_OKL_TAX_LINES_rec OUT NOCOPY OKL_TAX_LINES_rec_type) IS
1347
1348 l_api_version CONSTANT NUMBER := 1;
1349 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1350 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1351 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
1352 l_def_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type;
1353 l_tax_rec tax_rec_type;
1354 lx_tax_rec tax_rec_type;
1355 -------------------------------
1356 -- FUNCTION fill_who_columns --
1357 -------------------------------
1358 FUNCTION fill_who_columns (
1359 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
1360 ) RETURN OKL_TAX_LINES_rec_type IS
1361 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
1362 BEGIN
1363 l_OKL_TAX_LINES_rec.CREATION_DATE := SYSDATE;
1364 l_OKL_TAX_LINES_rec.CREATED_BY := FND_GLOBAL.USER_ID;
1365 l_OKL_TAX_LINES_rec.LAST_UPDATE_DATE := l_OKL_TAX_LINES_rec.CREATION_DATE;
1366 l_OKL_TAX_LINES_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1367 l_OKL_TAX_LINES_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1368 RETURN(l_OKL_TAX_LINES_rec);
1369 END fill_who_columns;
1370 ----------------------------------------
1371 -- Set_Attributes for:OKL_TAX_LINES_V --
1372 ----------------------------------------
1373 FUNCTION Set_Attributes (
1374 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
1375 x_OKL_TAX_LINES_rec OUT NOCOPY OKL_TAX_LINES_rec_type
1376 ) RETURN VARCHAR2 IS
1377 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1378 BEGIN
1379 x_OKL_TAX_LINES_rec := p_OKL_TAX_LINES_rec;
1380 RETURN(l_return_status);
1381 END Set_Attributes;
1382 BEGIN
1383 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1384 G_PKG_NAME,
1385 p_init_msg_list,
1386 l_api_version,
1387 p_api_version,
1388 '_PVT',
1389 x_return_status);
1390 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1391 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1392 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1393 RAISE OKC_API.G_EXCEPTION_ERROR;
1394 END IF;
1395 l_OKL_TAX_LINES_rec := null_out_defaults(p_OKL_TAX_LINES_rec);
1396 -- Set primary key value
1397 l_OKL_TAX_LINES_rec.ID := get_seq_id;
1398 -- Setting item attributes
1399 l_return_Status := Set_Attributes(
1400 l_OKL_TAX_LINES_rec, -- IN
1401 l_def_OKL_TAX_LINES_rec); -- OUT
1402 --- If any errors happen abort API
1403 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1404 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1405 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1406 RAISE OKC_API.G_EXCEPTION_ERROR;
1407 END IF;
1408 l_def_OKL_TAX_LINES_rec := fill_who_columns(l_def_OKL_TAX_LINES_rec);
1409 --- Validate all non-missing attributes (Item Level Validation)
1410 l_return_status := Validate_Attributes(l_def_OKL_TAX_LINES_rec);
1411 --- If any errors happen abort API
1412 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1413 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1414 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1415 RAISE OKC_API.G_EXCEPTION_ERROR;
1416 END IF;
1417 l_return_status := Validate_Record(l_def_OKL_TAX_LINES_rec);
1418 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1419 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1420 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1421 RAISE OKC_API.G_EXCEPTION_ERROR;
1422 END IF;
1423 -----------------------------------------
1424 -- Move VIEW record to "Child" records --
1425 -----------------------------------------
1426 migrate(l_def_OKL_TAX_LINES_rec, l_tax_rec);
1427 -----------------------------------------------
1428 -- Call the INSERT_ROW for each child record --
1429 -----------------------------------------------
1430 insert_row(
1431 p_init_msg_list,
1432 l_return_status,
1433 x_msg_count,
1434 x_msg_data,
1435 l_tax_rec,
1436 lx_tax_rec
1437 );
1438 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1439 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1440 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1441 RAISE OKC_API.G_EXCEPTION_ERROR;
1442 END IF;
1443 migrate(lx_tax_rec, l_def_OKL_TAX_LINES_rec);
1444 -- Set OUT values
1445 x_OKL_TAX_LINES_rec := l_def_OKL_TAX_LINES_rec;
1446 x_return_status := l_return_status;
1447 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1448 EXCEPTION
1449 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1450 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1451 (
1452 l_api_name,
1453 G_PKG_NAME,
1454 'OKC_API.G_RET_STS_ERROR',
1455 x_msg_count,
1456 x_msg_data,
1457 '_PVT'
1458 );
1459 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1460 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1461 (
1462 l_api_name,
1463 G_PKG_NAME,
1464 'OKC_API.G_RET_STS_UNEXP_ERROR',
1465 x_msg_count,
1466 x_msg_data,
1467 '_PVT'
1468 );
1469 WHEN OTHERS THEN
1470 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1471 (
1472 l_api_name,
1473 G_PKG_NAME,
1474 'OTHERS',
1475 x_msg_count,
1476 x_msg_data,
1477 '_PVT'
1478 );
1479 END insert_row;
1480 ---------------------------------------------------
1481 -- PL/SQL TBL insert_row for:OKL_TAX_LINES_V_TBL --
1482 ---------------------------------------------------
1483 PROCEDURE insert_row(
1484 p_api_version IN NUMBER,
1485 p_init_msg_list IN VARCHAR2,
1486 x_return_status OUT NOCOPY VARCHAR2,
1487 x_msg_count OUT NOCOPY NUMBER,
1488 x_msg_data OUT NOCOPY VARCHAR2,
1489 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
1490 x_OKL_TAX_LINES_tbl OUT NOCOPY OKL_TAX_LINES_tbl_type,
1491 px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
1492
1493 l_api_version CONSTANT NUMBER := 1;
1494 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
1495 i NUMBER := 0;
1496 BEGIN
1497 OKC_API.init_msg_list(p_init_msg_list);
1498 -- Make sure PL/SQL table has records in it before passing
1499 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
1500 i := p_OKL_TAX_LINES_tbl.FIRST;
1501 LOOP
1502 DECLARE
1503 l_error_rec OKC_API.ERROR_REC_TYPE;
1504 BEGIN
1505 l_error_rec.api_name := l_api_name;
1506 l_error_rec.api_package := G_PKG_NAME;
1507 l_error_rec.idx := i;
1508 insert_row (
1509 p_api_version => p_api_version,
1510 p_init_msg_list => OKC_API.G_FALSE,
1511 x_return_status => l_error_rec.error_type,
1512 x_msg_count => l_error_rec.msg_count,
1513 x_msg_data => l_error_rec.msg_data,
1514 p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_tbl(i),
1515 x_OKL_TAX_LINES_rec => x_OKL_TAX_LINES_tbl(i));
1516 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
1517 l_error_rec.sqlcode := SQLCODE;
1518 load_error_tbl(l_error_rec, px_error_tbl);
1519 ELSE
1520 x_msg_count := l_error_rec.msg_count;
1521 x_msg_data := l_error_rec.msg_data;
1522 END IF;
1523 EXCEPTION
1524 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1525 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
1526 l_error_rec.sqlcode := SQLCODE;
1527 load_error_tbl(l_error_rec, px_error_tbl);
1528 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1529 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
1530 l_error_rec.sqlcode := SQLCODE;
1531 load_error_tbl(l_error_rec, px_error_tbl);
1532 WHEN OTHERS THEN
1533 l_error_rec.error_type := 'OTHERS';
1534 l_error_rec.sqlcode := SQLCODE;
1535 load_error_tbl(l_error_rec, px_error_tbl);
1536 END;
1537 EXIT WHEN (i = p_OKL_TAX_LINES_tbl.LAST);
1538 i := p_OKL_TAX_LINES_tbl.NEXT(i);
1539 END LOOP;
1540 END IF;
1541 -- Loop through the error_tbl to find the error with the highest severity
1542 -- and return it.
1543 x_return_status := find_highest_exception(px_error_tbl);
1544 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1545 EXCEPTION
1546 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1547 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1548 (
1549 l_api_name,
1550 G_PKG_NAME,
1551 'OKC_API.G_RET_STS_ERROR',
1552 x_msg_count,
1553 x_msg_data,
1554 '_PVT'
1555 );
1556 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1557 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1558 (
1559 l_api_name,
1560 G_PKG_NAME,
1561 'OKC_API.G_RET_STS_UNEXP_ERROR',
1562 x_msg_count,
1563 x_msg_data,
1564 '_PVT'
1565 );
1566 WHEN OTHERS THEN
1567 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1568 (
1569 l_api_name,
1570 G_PKG_NAME,
1571 'OTHERS',
1572 x_msg_count,
1573 x_msg_data,
1574 '_PVT'
1575 );
1576 END insert_row;
1577
1578 ---------------------------------------------------
1579 -- PL/SQL TBL insert_row for:OKL_TAX_LINES_V_TBL --
1580 ---------------------------------------------------
1581 -- This procedure is the same as the one above except it does not have a "px_error_tbl" argument.
1582 -- This procedure was create for backward compatibility and simply is a wrapper for the one above.
1583 PROCEDURE insert_row(
1584 p_api_version IN NUMBER,
1585 p_init_msg_list IN VARCHAR2,
1586 x_return_status OUT NOCOPY VARCHAR2,
1590 x_OKL_TAX_LINES_tbl OUT NOCOPY OKL_TAX_LINES_tbl_type) IS
1587 x_msg_count OUT NOCOPY NUMBER,
1588 x_msg_data OUT NOCOPY VARCHAR2,
1589 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
1591
1592 l_api_version CONSTANT NUMBER := 1;
1593 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1594 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1595 l_error_tbl OKC_API.ERROR_TBL_TYPE;
1596 BEGIN
1597 OKC_API.init_msg_list(p_init_msg_list);
1598 -- Make sure PL/SQL table has records in it before passing
1599 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
1600 insert_row (
1601 p_api_version => p_api_version,
1602 p_init_msg_list => OKC_API.G_FALSE,
1603 x_return_status => x_return_status,
1604 x_msg_count => x_msg_count,
1605 x_msg_data => x_msg_data,
1606 p_OKL_TAX_LINES_tbl => p_OKL_TAX_LINES_tbl,
1607 x_OKL_TAX_LINES_tbl => x_OKL_TAX_LINES_tbl,
1608 px_error_tbl => l_error_tbl);
1609 END IF;
1610 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1611 EXCEPTION
1612 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1613 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1614 (
1615 l_api_name,
1616 G_PKG_NAME,
1617 'OKC_API.G_RET_STS_ERROR',
1618 x_msg_count,
1619 x_msg_data,
1620 '_PVT'
1621 );
1622 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1623 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1624 (
1625 l_api_name,
1626 G_PKG_NAME,
1627 'OKC_API.G_RET_STS_UNEXP_ERROR',
1628 x_msg_count,
1629 x_msg_data,
1630 '_PVT'
1631 );
1632 WHEN OTHERS THEN
1633 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1634 (
1635 l_api_name,
1636 G_PKG_NAME,
1637 'OTHERS',
1638 x_msg_count,
1639 x_msg_data,
1640 '_PVT'
1641 );
1642 END insert_row;
1643
1644 ---------------------------------------------------------------------------
1645 -- PROCEDURE lock_row
1646 ---------------------------------------------------------------------------
1647 --------------------------------
1648 -- lock_row for:OKL_TAX_LINES --
1649 --------------------------------
1650 PROCEDURE lock_row(
1651 p_init_msg_list IN VARCHAR2,
1652 x_return_status OUT NOCOPY VARCHAR2,
1653 x_msg_count OUT NOCOPY NUMBER,
1654 x_msg_data OUT NOCOPY VARCHAR2,
1655 p_tax_rec IN tax_rec_type) IS
1656
1657 E_Resource_Busy EXCEPTION;
1658 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1659 CURSOR lock_csr (p_tax_rec IN tax_rec_type) IS
1660 SELECT *
1661 FROM OKL_TAX_LINES
1662 WHERE ID = p_tax_rec.id
1663 FOR UPDATE NOWAIT;
1664
1665 l_api_version CONSTANT NUMBER := 1;
1666 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
1667 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1668 l_lock_var lock_csr%ROWTYPE;
1669 l_row_notfound BOOLEAN := FALSE;
1670 lc_row_notfound BOOLEAN := FALSE;
1671 BEGIN
1672 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1673 p_init_msg_list,
1674 '_PVT',
1675 x_return_status);
1676 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1677 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1678 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1679 RAISE OKC_API.G_EXCEPTION_ERROR;
1680 END IF;
1681 BEGIN
1682 OPEN lock_csr(p_tax_rec);
1683 FETCH lock_csr INTO l_lock_var;
1684 l_row_notfound := lock_csr%NOTFOUND;
1685 CLOSE lock_csr;
1686 EXCEPTION
1687 WHEN E_Resource_Busy THEN
1688 IF (lock_csr%ISOPEN) THEN
1689 CLOSE lock_csr;
1690 END IF;
1691 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1692 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1693 END;
1694
1695 IF ( l_row_notfound ) THEN
1696 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1697 RAISE OKC_API.G_EXCEPTION_ERROR;
1698 ELSE
1699 IF (l_lock_var.id <> p_tax_rec.id) THEN
1700 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1701 RAISE OKC_API.G_EXCEPTION_ERROR;
1702 END IF;
1703 IF (l_lock_var.khr_id <> p_tax_rec.khr_id) THEN
1704 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1705 RAISE OKC_API.G_EXCEPTION_ERROR;
1706 END IF;
1707 IF (l_lock_var.kle_id <> p_tax_rec.kle_id) THEN
1708 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1709 RAISE OKC_API.G_EXCEPTION_ERROR;
1710 END IF;
1711 IF (l_lock_var.asset_id <> p_tax_rec.asset_id) THEN
1712 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1713 RAISE OKC_API.G_EXCEPTION_ERROR;
1714 END IF;
1715 IF (l_lock_var.asset_number <> p_tax_rec.asset_number) THEN
1716 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1717 RAISE OKC_API.G_EXCEPTION_ERROR;
1718 END IF;
1719 IF (l_lock_var.tax_line_type <> p_tax_rec.tax_line_type) THEN
1720 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1721 RAISE OKC_API.G_EXCEPTION_ERROR;
1722 END IF;
1723 IF (l_lock_var.sel_id <> p_tax_rec.sel_id) THEN
1724 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1725 RAISE OKC_API.G_EXCEPTION_ERROR;
1726 END IF;
1727 IF (l_lock_var.tax_due_date <> p_tax_rec.tax_due_date) THEN
1728 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1729 RAISE OKC_API.G_EXCEPTION_ERROR;
1730 END IF;
1731 IF (l_lock_var.tax_type <> p_tax_rec.tax_type) THEN
1732 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1733 RAISE OKC_API.G_EXCEPTION_ERROR;
1734 END IF;
1735 IF (l_lock_var.tax_rate_code_id <> p_tax_rec.tax_rate_code_id) THEN
1736 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1737 RAISE OKC_API.G_EXCEPTION_ERROR;
1738 END IF;
1739 IF (l_lock_var.tax_rate_code <> p_tax_rec.tax_rate_code) THEN
1740 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1741 RAISE OKC_API.G_EXCEPTION_ERROR;
1742 END IF;
1743 IF (l_lock_var.taxable_amount <> p_tax_rec.taxable_amount) THEN
1744 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1745 RAISE OKC_API.G_EXCEPTION_ERROR;
1746 END IF;
1747 IF (l_lock_var.tax_exemption_id <> p_tax_rec.tax_exemption_id) THEN
1748 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1749 RAISE OKC_API.G_EXCEPTION_ERROR;
1750 END IF;
1751 IF (l_lock_var.manually_entered_flag <> p_tax_rec.manually_entered_flag) THEN
1752 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1753 RAISE OKC_API.G_EXCEPTION_ERROR;
1754 END IF;
1755 IF (l_lock_var.overridden_flag <> p_tax_rec.overridden_flag) THEN
1756 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1757 RAISE OKC_API.G_EXCEPTION_ERROR;
1758 END IF;
1759 IF (l_lock_var.calculated_tax_amount <> p_tax_rec.calculated_tax_amount) THEN
1760 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1761 RAISE OKC_API.G_EXCEPTION_ERROR;
1762 END IF;
1763 IF (l_lock_var.tax_rate <> p_tax_rec.tax_rate) THEN
1764 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1765 RAISE OKC_API.G_EXCEPTION_ERROR;
1766 END IF;
1767 IF (l_lock_var.tax_amount <> p_tax_rec.tax_amount) THEN
1768 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1769 RAISE OKC_API.G_EXCEPTION_ERROR;
1770 END IF;
1771 IF (l_lock_var.sales_tax_id <> p_tax_rec.sales_tax_id) THEN
1772 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1773 RAISE OKC_API.G_EXCEPTION_ERROR;
1774 END IF;
1775 IF (l_lock_var.source_trx_id <> p_tax_rec.source_trx_id) THEN
1776 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1777 RAISE OKC_API.G_EXCEPTION_ERROR;
1778 END IF;
1779 IF (l_lock_var.org_id <> p_tax_rec.org_id) THEN
1780 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1781 RAISE OKC_API.G_EXCEPTION_ERROR;
1782 END IF;
1783 IF (l_lock_var.history_yn <> p_tax_rec.history_yn) THEN
1784 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1785 RAISE OKC_API.G_EXCEPTION_ERROR;
1786 END IF;
1787 IF (l_lock_var.actual_yn <> p_tax_rec.actual_yn) THEN
1788 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1789 RAISE OKC_API.G_EXCEPTION_ERROR;
1790 END IF;
1791 IF (l_lock_var.source_name <> p_tax_rec.source_name) THEN
1792 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1793 RAISE OKC_API.G_EXCEPTION_ERROR;
1794 END IF;
1795 IF (l_lock_var.trq_id <> p_tax_rec.trq_id) THEN
1796 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1797 RAISE OKC_API.G_EXCEPTION_ERROR;
1798 END IF;
1799 IF (l_lock_var.program_id <> p_tax_rec.program_id) THEN
1800 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1801 RAISE OKC_API.G_EXCEPTION_ERROR;
1802 END IF;
1803 IF (l_lock_var.request_id <> p_tax_rec.request_id) THEN
1804 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1805 RAISE OKC_API.G_EXCEPTION_ERROR;
1806 END IF;
1807 IF (l_lock_var.program_application_id <> p_tax_rec.program_application_id) THEN
1808 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1809 RAISE OKC_API.G_EXCEPTION_ERROR;
1810 END IF;
1811 IF (l_lock_var.program_update_date <> p_tax_rec.program_update_date) THEN
1812 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1813 RAISE OKC_API.G_EXCEPTION_ERROR;
1814 END IF;
1815 IF (l_lock_var.attribute_category <> p_tax_rec.attribute_category) THEN
1816 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1817 RAISE OKC_API.G_EXCEPTION_ERROR;
1818 END IF;
1819 IF (l_lock_var.attribute1 <> p_tax_rec.attribute1) THEN
1820 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1821 RAISE OKC_API.G_EXCEPTION_ERROR;
1822 END IF;
1823 IF (l_lock_var.attribute2 <> p_tax_rec.attribute2) THEN
1824 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1825 RAISE OKC_API.G_EXCEPTION_ERROR;
1826 END IF;
1827 IF (l_lock_var.attribute3 <> p_tax_rec.attribute3) THEN
1828 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1829 RAISE OKC_API.G_EXCEPTION_ERROR;
1830 END IF;
1831 IF (l_lock_var.attribute4 <> p_tax_rec.attribute4) THEN
1832 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1833 RAISE OKC_API.G_EXCEPTION_ERROR;
1834 END IF;
1835 IF (l_lock_var.attribute5 <> p_tax_rec.attribute5) THEN
1836 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1837 RAISE OKC_API.G_EXCEPTION_ERROR;
1838 END IF;
1839 IF (l_lock_var.attribute6 <> p_tax_rec.attribute6) THEN
1840 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1841 RAISE OKC_API.G_EXCEPTION_ERROR;
1842 END IF;
1843 IF (l_lock_var.attribute7 <> p_tax_rec.attribute7) THEN
1844 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1845 RAISE OKC_API.G_EXCEPTION_ERROR;
1846 END IF;
1847 IF (l_lock_var.attribute8 <> p_tax_rec.attribute8) THEN
1848 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1849 RAISE OKC_API.G_EXCEPTION_ERROR;
1850 END IF;
1851 IF (l_lock_var.attribute9 <> p_tax_rec.attribute9) THEN
1852 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1853 RAISE OKC_API.G_EXCEPTION_ERROR;
1854 END IF;
1855 IF (l_lock_var.attribute10 <> p_tax_rec.attribute10) THEN
1856 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1857 RAISE OKC_API.G_EXCEPTION_ERROR;
1858 END IF;
1859 IF (l_lock_var.attribute11 <> p_tax_rec.attribute11) THEN
1860 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1861 RAISE OKC_API.G_EXCEPTION_ERROR;
1862 END IF;
1863 IF (l_lock_var.attribute12 <> p_tax_rec.attribute12) THEN
1864 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1865 RAISE OKC_API.G_EXCEPTION_ERROR;
1866 END IF;
1867 IF (l_lock_var.attribute13 <> p_tax_rec.attribute13) THEN
1868 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1869 RAISE OKC_API.G_EXCEPTION_ERROR;
1870 END IF;
1871 IF (l_lock_var.attribute14 <> p_tax_rec.attribute14) THEN
1872 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1873 RAISE OKC_API.G_EXCEPTION_ERROR;
1874 END IF;
1875 IF (l_lock_var.attribute15 <> p_tax_rec.attribute15) THEN
1876 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1877 RAISE OKC_API.G_EXCEPTION_ERROR;
1878 END IF;
1879 IF (l_lock_var.created_by <> p_tax_rec.created_by) THEN
1880 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1881 RAISE OKC_API.G_EXCEPTION_ERROR;
1882 END IF;
1883 IF (l_lock_var.creation_date <> p_tax_rec.creation_date) THEN
1884 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1885 RAISE OKC_API.G_EXCEPTION_ERROR;
1886 END IF;
1887 IF (l_lock_var.last_updated_by <> p_tax_rec.last_updated_by) THEN
1888 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1889 RAISE OKC_API.G_EXCEPTION_ERROR;
1890 END IF;
1891 IF (l_lock_var.last_update_date <> p_tax_rec.last_update_date) THEN
1892 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1893 RAISE OKC_API.G_EXCEPTION_ERROR;
1894 END IF;
1895 IF (l_lock_var.last_update_login <> p_tax_rec.last_update_login) THEN
1896 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1897 RAISE OKC_API.G_EXCEPTION_ERROR;
1898 END IF;
1899 END IF;
1900 x_return_status := l_return_status;
1901 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1902 EXCEPTION
1903 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1904 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1905 (
1906 l_api_name,
1907 G_PKG_NAME,
1908 'OKC_API.G_RET_STS_ERROR',
1909 x_msg_count,
1910 x_msg_data,
1911 '_PVT'
1912 );
1913 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1914 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1915 (
1916 l_api_name,
1917 G_PKG_NAME,
1918 'OKC_API.G_RET_STS_UNEXP_ERROR',
1919 x_msg_count,
1920 x_msg_data,
1921 '_PVT'
1922 );
1923 WHEN OTHERS THEN
1924 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1925 (
1926 l_api_name,
1927 G_PKG_NAME,
1928 'OTHERS',
1929 x_msg_count,
1930 x_msg_data,
1931 '_PVT'
1932 );
1933 END lock_row;
1934 -----------------------------------
1935 -- lock_row for: OKL_TAX_LINES_V --
1936 -----------------------------------
1937 PROCEDURE lock_row(
1938 p_api_version IN NUMBER,
1939 p_init_msg_list IN VARCHAR2,
1940 x_return_status OUT NOCOPY VARCHAR2,
1941 x_msg_count OUT NOCOPY NUMBER,
1942 x_msg_data OUT NOCOPY VARCHAR2,
1943 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type) IS
1944
1945 l_api_version CONSTANT NUMBER := 1;
1946 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
1947 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1948 l_tax_rec tax_rec_type;
1949 BEGIN
1950 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1951 G_PKG_NAME,
1952 p_init_msg_list,
1953 l_api_version,
1954 p_api_version,
1955 '_PVT',
1956 x_return_status);
1957 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1958 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1959 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1960 RAISE OKC_API.G_EXCEPTION_ERROR;
1961 END IF;
1962 -----------------------------------------
1963 -- Move VIEW record to "Child" records --
1964 -----------------------------------------
1965 migrate(p_OKL_TAX_LINES_rec, l_tax_rec);
1966 ---------------------------------------------
1967 -- Call the LOCK_ROW for each child record --
1968 ---------------------------------------------
1969 lock_row(
1970 p_init_msg_list,
1971 l_return_status,
1972 x_msg_count,
1973 x_msg_data,
1974 l_tax_rec
1975 );
1976 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1977 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1978 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1979 RAISE OKC_API.G_EXCEPTION_ERROR;
1980 END IF;
1981 x_return_status := l_return_status;
1982 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1983 EXCEPTION
1984 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1985 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1986 (
1987 l_api_name,
1988 G_PKG_NAME,
1989 'OKC_API.G_RET_STS_ERROR',
1990 x_msg_count,
1991 x_msg_data,
1992 '_PVT'
1993 );
1994 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1995 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1996 (
1997 l_api_name,
1998 G_PKG_NAME,
1999 'OKC_API.G_RET_STS_UNEXP_ERROR',
2000 x_msg_count,
2001 x_msg_data,
2002 '_PVT'
2003 );
2004 WHEN OTHERS THEN
2005 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2006 (
2007 l_api_name,
2008 G_PKG_NAME,
2009 'OTHERS',
2010 x_msg_count,
2011 x_msg_data,
2012 '_PVT'
2013 );
2014 END lock_row;
2015 -------------------------------------------------
2016 -- PL/SQL TBL lock_row for:OKL_TAX_LINES_V_TBL --
2017 -------------------------------------------------
2018 PROCEDURE lock_row(
2019 p_api_version IN NUMBER,
2020 p_init_msg_list IN VARCHAR2,
2021 x_return_status OUT NOCOPY VARCHAR2,
2022 x_msg_count OUT NOCOPY NUMBER,
2023 x_msg_data OUT NOCOPY VARCHAR2,
2024 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
2025 px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
2026
2027 l_api_version CONSTANT NUMBER := 1;
2028 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
2029 i NUMBER := 0;
2030 BEGIN
2031 OKC_API.init_msg_list(p_init_msg_list);
2032 -- Make sure PL/SQL table has recrods in it before passing
2033 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
2034 i := p_OKL_TAX_LINES_tbl.FIRST;
2035 LOOP
2036 DECLARE
2037 l_error_rec OKC_API.ERROR_REC_TYPE;
2038 BEGIN
2039 l_error_rec.api_name := l_api_name;
2040 l_error_rec.api_package := G_PKG_NAME;
2041 l_error_rec.idx := i;
2042 lock_row(
2043 p_api_version => p_api_version,
2044 p_init_msg_list => OKC_API.G_FALSE,
2045 x_return_status => l_error_rec.error_type,
2049 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
2046 x_msg_count => l_error_rec.msg_count,
2047 x_msg_data => l_error_rec.msg_data,
2048 p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_tbl(i));
2050 l_error_rec.sqlcode := SQLCODE;
2051 load_error_tbl(l_error_rec, px_error_tbl);
2052 ELSE
2053 x_msg_count := l_error_rec.msg_count;
2054 x_msg_data := l_error_rec.msg_data;
2055 END IF;
2056 EXCEPTION
2057 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2058 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
2059 l_error_rec.sqlcode := SQLCODE;
2060 load_error_tbl(l_error_rec, px_error_tbl);
2061 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2062 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
2063 l_error_rec.sqlcode := SQLCODE;
2064 load_error_tbl(l_error_rec, px_error_tbl);
2065 WHEN OTHERS THEN
2066 l_error_rec.error_type := 'OTHERS';
2067 l_error_rec.sqlcode := SQLCODE;
2068 load_error_tbl(l_error_rec, px_error_tbl);
2069 END;
2070 EXIT WHEN (i = p_OKL_TAX_LINES_tbl.LAST);
2071 i := p_OKL_TAX_LINES_tbl.NEXT(i);
2072 END LOOP;
2073 END IF;
2074 -- Loop through the error_tbl to find the error with the highest severity
2075 -- and return it.
2076 x_return_status := find_highest_exception(px_error_tbl);
2077 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2078 EXCEPTION
2079 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2080 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2081 (
2082 l_api_name,
2083 G_PKG_NAME,
2084 'OKC_API.G_RET_STS_ERROR',
2085 x_msg_count,
2086 x_msg_data,
2087 '_PVT'
2088 );
2089 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2090 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2091 (
2092 l_api_name,
2093 G_PKG_NAME,
2094 'OKC_API.G_RET_STS_UNEXP_ERROR',
2095 x_msg_count,
2096 x_msg_data,
2097 '_PVT'
2098 );
2099 WHEN OTHERS THEN
2100 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2101 (
2102 l_api_name,
2103 G_PKG_NAME,
2104 'OTHERS',
2105 x_msg_count,
2106 x_msg_data,
2107 '_PVT'
2108 );
2109 END lock_row;
2110 -------------------------------------------------
2111 -- PL/SQL TBL lock_row for:OKL_TAX_LINES_V_TBL --
2112 -------------------------------------------------
2113 PROCEDURE lock_row(
2114 p_api_version IN NUMBER,
2115 p_init_msg_list IN VARCHAR2,
2116 x_return_status OUT NOCOPY VARCHAR2,
2117 x_msg_count OUT NOCOPY NUMBER,
2118 x_msg_data OUT NOCOPY VARCHAR2,
2119 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type) IS
2120
2121 l_api_version CONSTANT NUMBER := 1;
2122 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2123 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2124 l_error_tbl OKC_API.ERROR_TBL_TYPE;
2125 BEGIN
2126 OKC_API.init_msg_list(p_init_msg_list);
2127 -- Make sure PL/SQL table has recrods in it before passing
2128 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
2129 lock_row(
2130 p_api_version => p_api_version,
2131 p_init_msg_list => OKC_API.G_FALSE,
2132 x_return_status => x_return_status,
2133 x_msg_count => x_msg_count,
2134 x_msg_data => x_msg_data,
2135 p_OKL_TAX_LINES_tbl => p_OKL_TAX_LINES_tbl,
2136 px_error_tbl => l_error_tbl);
2137 END IF;
2138 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2139 EXCEPTION
2140 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2141 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2142 (
2143 l_api_name,
2144 G_PKG_NAME,
2145 'OKC_API.G_RET_STS_ERROR',
2146 x_msg_count,
2147 x_msg_data,
2148 '_PVT'
2149 );
2150 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2151 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2152 (
2153 l_api_name,
2154 G_PKG_NAME,
2155 'OKC_API.G_RET_STS_UNEXP_ERROR',
2156 x_msg_count,
2157 x_msg_data,
2158 '_PVT'
2159 );
2160 WHEN OTHERS THEN
2161 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2162 (
2163 l_api_name,
2164 G_PKG_NAME,
2165 'OTHERS',
2166 x_msg_count,
2167 x_msg_data,
2168 '_PVT'
2169 );
2170 END lock_row;
2171 ---------------------------------------------------------------------------
2172 -- PROCEDURE update_row
2173 ---------------------------------------------------------------------------
2174 ----------------------------------
2175 -- update_row for:OKL_TAX_LINES --
2176 ----------------------------------
2177 PROCEDURE update_row(
2178 p_init_msg_list IN VARCHAR2,
2179 x_return_status OUT NOCOPY VARCHAR2,
2180 x_msg_count OUT NOCOPY NUMBER,
2181 x_msg_data OUT NOCOPY VARCHAR2,
2182 p_tax_rec IN tax_rec_type,
2183 x_tax_rec OUT NOCOPY tax_rec_type) IS
2184
2185 l_api_version CONSTANT NUMBER := 1;
2186 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
2187 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2188 l_tax_rec tax_rec_type := p_tax_rec;
2189 l_def_tax_rec tax_rec_type;
2190 l_row_notfound BOOLEAN := TRUE;
2191 ----------------------------------
2192 -- FUNCTION populate_new_record --
2193 ----------------------------------
2194 FUNCTION populate_new_record (
2195 p_tax_rec IN tax_rec_type,
2196 x_tax_rec OUT NOCOPY tax_rec_type
2197 ) RETURN VARCHAR2 IS
2198 l_tax_rec tax_rec_type;
2199 l_row_notfound BOOLEAN := TRUE;
2200 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2201 BEGIN
2202 x_tax_rec := p_tax_rec;
2203 -- Get current database values
2204 l_tax_rec := get_rec(p_tax_rec, l_return_status);
2205 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
2206 IF (x_tax_rec.id = OKC_API.G_MISS_NUM)
2207 THEN
2208 x_tax_rec.id := l_tax_rec.id;
2209 END IF;
2210 IF (x_tax_rec.khr_id = OKC_API.G_MISS_NUM)
2211 THEN
2212 x_tax_rec.khr_id := l_tax_rec.khr_id;
2213 END IF;
2214 IF (x_tax_rec.kle_id = OKC_API.G_MISS_NUM)
2215 THEN
2216 x_tax_rec.kle_id := l_tax_rec.kle_id;
2217 END IF;
2218 IF (x_tax_rec.asset_id = OKC_API.G_MISS_NUM)
2219 THEN
2220 x_tax_rec.asset_id := l_tax_rec.asset_id;
2221 END IF;
2222 IF (x_tax_rec.asset_number = OKC_API.G_MISS_CHAR)
2223 THEN
2224 x_tax_rec.asset_number := l_tax_rec.asset_number;
2225 END IF;
2226 IF (x_tax_rec.tax_line_type = OKC_API.G_MISS_CHAR)
2227 THEN
2228 x_tax_rec.tax_line_type := l_tax_rec.tax_line_type;
2229 END IF;
2230 IF (x_tax_rec.sel_id = OKC_API.G_MISS_NUM)
2231 THEN
2232 x_tax_rec.sel_id := l_tax_rec.sel_id;
2233 END IF;
2234 IF (x_tax_rec.tax_due_date = OKC_API.G_MISS_DATE)
2235 THEN
2236 x_tax_rec.tax_due_date := l_tax_rec.tax_due_date;
2237 END IF;
2238 IF (x_tax_rec.tax_type = OKC_API.G_MISS_NUM)
2239 THEN
2240 x_tax_rec.tax_type := l_tax_rec.tax_type;
2241 END IF;
2242 IF (x_tax_rec.tax_rate_code_id = OKC_API.G_MISS_NUM)
2243 THEN
2244 x_tax_rec.tax_rate_code_id := l_tax_rec.tax_rate_code_id;
2245 END IF;
2246 IF (x_tax_rec.tax_rate_code = OKC_API.G_MISS_CHAR)
2247 THEN
2248 x_tax_rec.tax_rate_code := l_tax_rec.tax_rate_code;
2249 END IF;
2250 IF (x_tax_rec.taxable_amount = OKC_API.G_MISS_NUM)
2251 THEN
2252 x_tax_rec.taxable_amount := l_tax_rec.taxable_amount;
2253 END IF;
2254 IF (x_tax_rec.tax_exemption_id = OKC_API.G_MISS_NUM)
2255 THEN
2256 x_tax_rec.tax_exemption_id := l_tax_rec.tax_exemption_id;
2257 END IF;
2258 IF (x_tax_rec.manually_entered_flag = OKC_API.G_MISS_CHAR)
2259 THEN
2260 x_tax_rec.manually_entered_flag := l_tax_rec.manually_entered_flag;
2261 END IF;
2262 IF (x_tax_rec.overridden_flag = OKC_API.G_MISS_CHAR)
2263 THEN
2264 x_tax_rec.overridden_flag := l_tax_rec.overridden_flag;
2265 END IF;
2266 IF (x_tax_rec.calculated_tax_amount = OKC_API.G_MISS_NUM)
2267 THEN
2268 x_tax_rec.calculated_tax_amount := l_tax_rec.calculated_tax_amount;
2269 END IF;
2270 IF (x_tax_rec.tax_rate = OKC_API.G_MISS_NUM)
2271 THEN
2272 x_tax_rec.tax_rate := l_tax_rec.tax_rate;
2273 END IF;
2274 IF (x_tax_rec.tax_amount = OKC_API.G_MISS_NUM)
2275 THEN
2276 x_tax_rec.tax_amount := l_tax_rec.tax_amount;
2277 END IF;
2278 IF (x_tax_rec.sales_tax_id = OKC_API.G_MISS_NUM)
2279 THEN
2280 x_tax_rec.sales_tax_id := l_tax_rec.sales_tax_id;
2281 END IF;
2282 IF (x_tax_rec.source_trx_id = OKC_API.G_MISS_NUM)
2283 THEN
2284 x_tax_rec.source_trx_id := l_tax_rec.source_trx_id;
2285 END IF;
2286 IF (x_tax_rec.org_id = OKC_API.G_MISS_NUM)
2287 THEN
2288 x_tax_rec.org_id := l_tax_rec.org_id;
2289 END IF;
2290 IF (x_tax_rec.history_yn = OKC_API.G_MISS_CHAR)
2291 THEN
2292 x_tax_rec.history_yn := l_tax_rec.history_yn;
2293 END IF;
2294 IF (x_tax_rec.actual_yn = OKC_API.G_MISS_CHAR)
2295 THEN
2296 x_tax_rec.actual_yn := l_tax_rec.actual_yn;
2297 END IF;
2298 IF (x_tax_rec.source_name = OKC_API.G_MISS_CHAR)
2299 THEN
2300 x_tax_rec.source_name := l_tax_rec.source_name;
2301 END IF;
2302 IF (x_tax_rec.trq_id = OKC_API.G_MISS_NUM)
2303 THEN
2304 x_tax_rec.trq_id := l_tax_rec.trq_id;
2305 END IF;
2306 IF (x_tax_rec.program_id = OKC_API.G_MISS_NUM)
2307 THEN
2308 x_tax_rec.program_id := l_tax_rec.program_id;
2309 END IF;
2310 IF (x_tax_rec.request_id = OKC_API.G_MISS_NUM)
2311 THEN
2312 x_tax_rec.request_id := l_tax_rec.request_id;
2313 END IF;
2314 IF (x_tax_rec.program_application_id = OKC_API.G_MISS_NUM)
2315 THEN
2316 x_tax_rec.program_application_id := l_tax_rec.program_application_id;
2317 END IF;
2318 IF (x_tax_rec.program_update_date = OKC_API.G_MISS_DATE)
2319 THEN
2320 x_tax_rec.program_update_date := l_tax_rec.program_update_date;
2321 END IF;
2322 IF (x_tax_rec.attribute_category = OKC_API.G_MISS_CHAR)
2323 THEN
2324 x_tax_rec.attribute_category := l_tax_rec.attribute_category;
2325 END IF;
2326 IF (x_tax_rec.attribute1 = OKC_API.G_MISS_CHAR)
2327 THEN
2328 x_tax_rec.attribute1 := l_tax_rec.attribute1;
2329 END IF;
2330 IF (x_tax_rec.attribute2 = OKC_API.G_MISS_CHAR)
2331 THEN
2332 x_tax_rec.attribute2 := l_tax_rec.attribute2;
2333 END IF;
2334 IF (x_tax_rec.attribute3 = OKC_API.G_MISS_CHAR)
2335 THEN
2336 x_tax_rec.attribute3 := l_tax_rec.attribute3;
2337 END IF;
2338 IF (x_tax_rec.attribute4 = OKC_API.G_MISS_CHAR)
2339 THEN
2340 x_tax_rec.attribute4 := l_tax_rec.attribute4;
2341 END IF;
2342 IF (x_tax_rec.attribute5 = OKC_API.G_MISS_CHAR)
2343 THEN
2344 x_tax_rec.attribute5 := l_tax_rec.attribute5;
2345 END IF;
2346 IF (x_tax_rec.attribute6 = OKC_API.G_MISS_CHAR)
2347 THEN
2348 x_tax_rec.attribute6 := l_tax_rec.attribute6;
2349 END IF;
2350 IF (x_tax_rec.attribute7 = OKC_API.G_MISS_CHAR)
2351 THEN
2352 x_tax_rec.attribute7 := l_tax_rec.attribute7;
2353 END IF;
2354 IF (x_tax_rec.attribute8 = OKC_API.G_MISS_CHAR)
2355 THEN
2356 x_tax_rec.attribute8 := l_tax_rec.attribute8;
2357 END IF;
2358 IF (x_tax_rec.attribute9 = OKC_API.G_MISS_CHAR)
2359 THEN
2360 x_tax_rec.attribute9 := l_tax_rec.attribute9;
2361 END IF;
2362 IF (x_tax_rec.attribute10 = OKC_API.G_MISS_CHAR)
2363 THEN
2364 x_tax_rec.attribute10 := l_tax_rec.attribute10;
2365 END IF;
2366 IF (x_tax_rec.attribute11 = OKC_API.G_MISS_CHAR)
2367 THEN
2368 x_tax_rec.attribute11 := l_tax_rec.attribute11;
2369 END IF;
2370 IF (x_tax_rec.attribute12 = OKC_API.G_MISS_CHAR)
2371 THEN
2372 x_tax_rec.attribute12 := l_tax_rec.attribute12;
2373 END IF;
2374 IF (x_tax_rec.attribute13 = OKC_API.G_MISS_CHAR)
2375 THEN
2376 x_tax_rec.attribute13 := l_tax_rec.attribute13;
2377 END IF;
2378 IF (x_tax_rec.attribute14 = OKC_API.G_MISS_CHAR)
2379 THEN
2380 x_tax_rec.attribute14 := l_tax_rec.attribute14;
2381 END IF;
2382 IF (x_tax_rec.attribute15 = OKC_API.G_MISS_CHAR)
2383 THEN
2384 x_tax_rec.attribute15 := l_tax_rec.attribute15;
2385 END IF;
2386 IF (x_tax_rec.created_by = OKC_API.G_MISS_NUM)
2387 THEN
2388 x_tax_rec.created_by := l_tax_rec.created_by;
2389 END IF;
2390 IF (x_tax_rec.creation_date = OKC_API.G_MISS_DATE)
2391 THEN
2392 x_tax_rec.creation_date := l_tax_rec.creation_date;
2393 END IF;
2394 IF (x_tax_rec.last_updated_by = OKC_API.G_MISS_NUM)
2395 THEN
2396 x_tax_rec.last_updated_by := l_tax_rec.last_updated_by;
2397 END IF;
2398 IF (x_tax_rec.last_update_date = OKC_API.G_MISS_DATE)
2399 THEN
2400 x_tax_rec.last_update_date := l_tax_rec.last_update_date;
2401 END IF;
2402 IF (x_tax_rec.last_update_login = OKC_API.G_MISS_NUM)
2403 THEN
2404 x_tax_rec.last_update_login := l_tax_rec.last_update_login;
2405 END IF;
2406 END IF;
2407 RETURN(l_return_status);
2408 END populate_new_record;
2409 --------------------------------------
2410 -- Set_Attributes for:OKL_TAX_LINES --
2411 --------------------------------------
2412 FUNCTION Set_Attributes (
2413 p_tax_rec IN tax_rec_type,
2414 x_tax_rec OUT NOCOPY tax_rec_type
2415 ) RETURN VARCHAR2 IS
2419 RETURN(l_return_status);
2416 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2417 BEGIN
2418 x_tax_rec := p_tax_rec;
2420 END Set_Attributes;
2421 BEGIN
2422 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2423 p_init_msg_list,
2424 '_PVT',
2425 x_return_status);
2426 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2427 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2428 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2429 RAISE OKC_API.G_EXCEPTION_ERROR;
2430 END IF;
2431 --- Setting item attributes
2432 l_return_status := Set_Attributes(
2433 p_tax_rec, -- IN
2434 l_tax_rec); -- OUT
2435 --- If any errors happen abort API
2436 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2437 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2438 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2439 RAISE OKC_API.G_EXCEPTION_ERROR;
2440 END IF;
2441 l_return_status := populate_new_record(l_tax_rec, l_def_tax_rec);
2442 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2443 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2444 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2445 RAISE OKC_API.G_EXCEPTION_ERROR;
2446 END IF;
2447 UPDATE OKL_TAX_LINES
2448 SET KHR_ID = l_def_tax_rec.khr_id,
2449 KLE_ID = l_def_tax_rec.kle_id,
2450 ASSET_ID = l_def_tax_rec.asset_id,
2451 ASSET_NUMBER = l_def_tax_rec.asset_number,
2452 TAX_LINE_TYPE = l_def_tax_rec.tax_line_type,
2453 SEL_ID = l_def_tax_rec.sel_id,
2454 TAX_DUE_DATE = l_def_tax_rec.tax_due_date,
2455 TAX_TYPE = l_def_tax_rec.tax_type,
2456 TAX_RATE_CODE_ID = l_def_tax_rec.tax_rate_code_id,
2457 TAX_RATE_CODE = l_def_tax_rec.tax_rate_code,
2458 TAXABLE_AMOUNT = l_def_tax_rec.taxable_amount,
2459 TAX_EXEMPTION_ID = l_def_tax_rec.tax_exemption_id,
2460 MANUALLY_ENTERED_FLAG = l_def_tax_rec.manually_entered_flag,
2461 OVERRIDDEN_FLAG = l_def_tax_rec.overridden_flag,
2462 CALCULATED_TAX_AMOUNT = l_def_tax_rec.calculated_tax_amount,
2463 TAX_RATE = l_def_tax_rec.tax_rate,
2464 TAX_AMOUNT = l_def_tax_rec.tax_amount,
2465 SALES_TAX_ID = l_def_tax_rec.sales_tax_id,
2466 SOURCE_TRX_ID = l_def_tax_rec.source_trx_id,
2467 ORG_ID = l_def_tax_rec.org_id,
2468 HISTORY_YN = l_def_tax_rec.history_yn,
2469 ACTUAL_YN = l_def_tax_rec.actual_yn,
2470 SOURCE_NAME = l_def_tax_rec.source_name,
2471 TRQ_ID = l_def_tax_rec.trq_id,
2472 PROGRAM_ID = l_def_tax_rec.program_id,
2473 REQUEST_ID = l_def_tax_rec.request_id,
2474 PROGRAM_APPLICATION_ID = l_def_tax_rec.program_application_id,
2475 PROGRAM_UPDATE_DATE = l_def_tax_rec.program_update_date,
2476 ATTRIBUTE_CATEGORY = l_def_tax_rec.attribute_category,
2477 ATTRIBUTE1 = l_def_tax_rec.attribute1,
2478 ATTRIBUTE2 = l_def_tax_rec.attribute2,
2479 ATTRIBUTE3 = l_def_tax_rec.attribute3,
2480 ATTRIBUTE4 = l_def_tax_rec.attribute4,
2481 ATTRIBUTE5 = l_def_tax_rec.attribute5,
2482 ATTRIBUTE6 = l_def_tax_rec.attribute6,
2483 ATTRIBUTE7 = l_def_tax_rec.attribute7,
2484 ATTRIBUTE8 = l_def_tax_rec.attribute8,
2485 ATTRIBUTE9 = l_def_tax_rec.attribute9,
2486 ATTRIBUTE10 = l_def_tax_rec.attribute10,
2487 ATTRIBUTE11 = l_def_tax_rec.attribute11,
2488 ATTRIBUTE12 = l_def_tax_rec.attribute12,
2489 ATTRIBUTE13 = l_def_tax_rec.attribute13,
2490 ATTRIBUTE14 = l_def_tax_rec.attribute14,
2491 ATTRIBUTE15 = l_def_tax_rec.attribute15,
2492 CREATED_BY = l_def_tax_rec.created_by,
2493 CREATION_DATE = l_def_tax_rec.creation_date,
2494 LAST_UPDATED_BY = l_def_tax_rec.last_updated_by,
2495 LAST_UPDATE_DATE = l_def_tax_rec.last_update_date,
2496 LAST_UPDATE_LOGIN = l_def_tax_rec.last_update_login
2497 WHERE ID = l_def_tax_rec.id;
2498
2499 x_tax_rec := l_tax_rec;
2500 x_return_status := l_return_status;
2501 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2502 EXCEPTION
2503 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2504 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2505 (
2506 l_api_name,
2507 G_PKG_NAME,
2508 'OKC_API.G_RET_STS_ERROR',
2509 x_msg_count,
2510 x_msg_data,
2511 '_PVT'
2512 );
2513 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2514 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2515 (
2516 l_api_name,
2517 G_PKG_NAME,
2518 'OKC_API.G_RET_STS_UNEXP_ERROR',
2519 x_msg_count,
2520 x_msg_data,
2521 '_PVT'
2522 );
2523 WHEN OTHERS THEN
2524 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2525 (
2526 l_api_name,
2527 G_PKG_NAME,
2528 'OTHERS',
2529 x_msg_count,
2530 x_msg_data,
2531 '_PVT'
2532 );
2533 END update_row;
2534 ------------------------------------
2535 -- update_row for:OKL_TAX_LINES_V --
2536 ------------------------------------
2537 PROCEDURE update_row(
2538 p_api_version IN NUMBER,
2539 p_init_msg_list IN VARCHAR2,
2540 x_return_status OUT NOCOPY VARCHAR2,
2541 x_msg_count OUT NOCOPY NUMBER,
2542 x_msg_data OUT NOCOPY VARCHAR2,
2543 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
2547 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
2544 x_OKL_TAX_LINES_rec OUT NOCOPY OKL_TAX_LINES_rec_type) IS
2545
2546 l_api_version CONSTANT NUMBER := 1;
2548 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2549 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
2550 l_def_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type;
2551 l_db_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type;
2552 l_tax_rec tax_rec_type;
2553 lx_tax_rec tax_rec_type;
2554 -------------------------------
2555 -- FUNCTION fill_who_columns --
2556 -------------------------------
2557 FUNCTION fill_who_columns (
2558 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type
2559 ) RETURN OKL_TAX_LINES_rec_type IS
2560 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
2561 BEGIN
2562 l_OKL_TAX_LINES_rec.LAST_UPDATE_DATE := SYSDATE;
2563 l_OKL_TAX_LINES_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2564 l_OKL_TAX_LINES_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2565 RETURN(l_OKL_TAX_LINES_rec);
2566 END fill_who_columns;
2567 ----------------------------------
2568 -- FUNCTION populate_new_record --
2569 ----------------------------------
2570 FUNCTION populate_new_record (
2571 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
2572 x_OKL_TAX_LINES_rec OUT NOCOPY OKL_TAX_LINES_rec_type
2573 ) RETURN VARCHAR2 IS
2574 l_row_notfound BOOLEAN := TRUE;
2575 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2576 BEGIN
2577 x_OKL_TAX_LINES_rec := p_OKL_TAX_LINES_rec;
2578 -- Get current database values
2579 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
2580 -- so it may be verified through LOCK_ROW.
2581 l_db_OKL_TAX_LINES_rec := get_rec(p_OKL_TAX_LINES_rec, l_return_status);
2582 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
2583 IF (x_OKL_TAX_LINES_rec.id = OKC_API.G_MISS_NUM)
2584 THEN
2585 x_OKL_TAX_LINES_rec.id := l_db_OKL_TAX_LINES_rec.id;
2586 END IF;
2587 IF (x_OKL_TAX_LINES_rec.khr_id = OKC_API.G_MISS_NUM)
2588 THEN
2589 x_OKL_TAX_LINES_rec.khr_id := l_db_OKL_TAX_LINES_rec.khr_id;
2590 END IF;
2591 IF (x_OKL_TAX_LINES_rec.kle_id = OKC_API.G_MISS_NUM)
2592 THEN
2593 x_OKL_TAX_LINES_rec.kle_id := l_db_OKL_TAX_LINES_rec.kle_id;
2594 END IF;
2595 IF (x_OKL_TAX_LINES_rec.asset_id = OKC_API.G_MISS_NUM)
2596 THEN
2597 x_OKL_TAX_LINES_rec.asset_id := l_db_OKL_TAX_LINES_rec.asset_id;
2598 END IF;
2599 IF (x_OKL_TAX_LINES_rec.asset_number = OKC_API.G_MISS_CHAR)
2600 THEN
2601 x_OKL_TAX_LINES_rec.asset_number := l_db_OKL_TAX_LINES_rec.asset_number;
2602 END IF;
2603 IF (x_OKL_TAX_LINES_rec.tax_line_type = OKC_API.G_MISS_CHAR)
2604 THEN
2605 x_OKL_TAX_LINES_rec.tax_line_type := l_db_OKL_TAX_LINES_rec.tax_line_type;
2606 END IF;
2607 IF (x_OKL_TAX_LINES_rec.sel_id = OKC_API.G_MISS_NUM)
2608 THEN
2609 x_OKL_TAX_LINES_rec.sel_id := l_db_OKL_TAX_LINES_rec.sel_id;
2610 END IF;
2611 IF (x_OKL_TAX_LINES_rec.tax_due_date = OKC_API.G_MISS_DATE)
2612 THEN
2613 x_OKL_TAX_LINES_rec.tax_due_date := l_db_OKL_TAX_LINES_rec.tax_due_date;
2614 END IF;
2615 IF (x_OKL_TAX_LINES_rec.tax_type = OKC_API.G_MISS_NUM)
2616 THEN
2617 x_OKL_TAX_LINES_rec.tax_type := l_db_OKL_TAX_LINES_rec.tax_type;
2618 END IF;
2619 IF (x_OKL_TAX_LINES_rec.tax_rate_code_id = OKC_API.G_MISS_NUM)
2620 THEN
2621 x_OKL_TAX_LINES_rec.tax_rate_code_id := l_db_OKL_TAX_LINES_rec.tax_rate_code_id;
2622 END IF;
2623 IF (x_OKL_TAX_LINES_rec.tax_rate_code = OKC_API.G_MISS_CHAR)
2624 THEN
2625 x_OKL_TAX_LINES_rec.tax_rate_code := l_db_OKL_TAX_LINES_rec.tax_rate_code;
2626 END IF;
2627 IF (x_OKL_TAX_LINES_rec.taxable_amount = OKC_API.G_MISS_NUM)
2628 THEN
2629 x_OKL_TAX_LINES_rec.taxable_amount := l_db_OKL_TAX_LINES_rec.taxable_amount;
2630 END IF;
2631 IF (x_OKL_TAX_LINES_rec.tax_exemption_id = OKC_API.G_MISS_NUM)
2632 THEN
2633 x_OKL_TAX_LINES_rec.tax_exemption_id := l_db_OKL_TAX_LINES_rec.tax_exemption_id;
2634 END IF;
2635 IF (x_OKL_TAX_LINES_rec.manually_entered_flag = OKC_API.G_MISS_CHAR)
2636 THEN
2637 x_OKL_TAX_LINES_rec.manually_entered_flag := l_db_OKL_TAX_LINES_rec.manually_entered_flag;
2638 END IF;
2639 IF (x_OKL_TAX_LINES_rec.overridden_flag = OKC_API.G_MISS_CHAR)
2640 THEN
2641 x_OKL_TAX_LINES_rec.overridden_flag := l_db_OKL_TAX_LINES_rec.overridden_flag;
2642 END IF;
2643 IF (x_OKL_TAX_LINES_rec.calculated_tax_amount = OKC_API.G_MISS_NUM)
2644 THEN
2645 x_OKL_TAX_LINES_rec.calculated_tax_amount := l_db_OKL_TAX_LINES_rec.calculated_tax_amount;
2646 END IF;
2647 IF (x_OKL_TAX_LINES_rec.tax_rate = OKC_API.G_MISS_NUM)
2648 THEN
2649 x_OKL_TAX_LINES_rec.tax_rate := l_db_OKL_TAX_LINES_rec.tax_rate;
2650 END IF;
2651 IF (x_OKL_TAX_LINES_rec.tax_amount = OKC_API.G_MISS_NUM)
2652 THEN
2653 x_OKL_TAX_LINES_rec.tax_amount := l_db_OKL_TAX_LINES_rec.tax_amount;
2654 END IF;
2655 IF (x_OKL_TAX_LINES_rec.sales_tax_id = OKC_API.G_MISS_NUM)
2656 THEN
2657 x_OKL_TAX_LINES_rec.sales_tax_id := l_db_OKL_TAX_LINES_rec.sales_tax_id;
2658 END IF;
2659 IF (x_OKL_TAX_LINES_rec.source_trx_id = OKC_API.G_MISS_NUM)
2660 THEN
2664 THEN
2661 x_OKL_TAX_LINES_rec.source_trx_id := l_db_OKL_TAX_LINES_rec.source_trx_id;
2662 END IF;
2663 IF (x_OKL_TAX_LINES_rec.org_id = OKC_API.G_MISS_NUM)
2665 x_OKL_TAX_LINES_rec.org_id := l_db_OKL_TAX_LINES_rec.org_id;
2666 END IF;
2667 IF (x_OKL_TAX_LINES_rec.history_yn = OKC_API.G_MISS_CHAR)
2668 THEN
2669 x_OKL_TAX_LINES_rec.history_yn := l_db_OKL_TAX_LINES_rec.history_yn;
2670 END IF;
2671 IF (x_OKL_TAX_LINES_rec.actual_yn = OKC_API.G_MISS_CHAR)
2672 THEN
2673 x_OKL_TAX_LINES_rec.actual_yn := l_db_OKL_TAX_LINES_rec.actual_yn;
2674 END IF;
2675 IF (x_OKL_TAX_LINES_rec.source_name = OKC_API.G_MISS_CHAR)
2676 THEN
2677 x_OKL_TAX_LINES_rec.source_name := l_db_OKL_TAX_LINES_rec.source_name;
2678 END IF;
2679 IF (x_OKL_TAX_LINES_rec.trq_id = OKC_API.G_MISS_NUM)
2680 THEN
2681 x_OKL_TAX_LINES_rec.trq_id := l_db_OKL_TAX_LINES_rec.trq_id;
2682 END IF;
2683 IF (x_OKL_TAX_LINES_rec.program_id = OKC_API.G_MISS_NUM)
2684 THEN
2685 x_OKL_TAX_LINES_rec.program_id := l_db_OKL_TAX_LINES_rec.program_id;
2686 END IF;
2687 IF (x_OKL_TAX_LINES_rec.request_id = OKC_API.G_MISS_NUM)
2688 THEN
2689 x_OKL_TAX_LINES_rec.request_id := l_db_OKL_TAX_LINES_rec.request_id;
2690 END IF;
2691 IF (x_OKL_TAX_LINES_rec.program_application_id = OKC_API.G_MISS_NUM)
2692 THEN
2693 x_OKL_TAX_LINES_rec.program_application_id := l_db_OKL_TAX_LINES_rec.program_application_id;
2694 END IF;
2695 IF (x_OKL_TAX_LINES_rec.program_update_date = OKC_API.G_MISS_DATE)
2696 THEN
2697 x_OKL_TAX_LINES_rec.program_update_date := l_db_OKL_TAX_LINES_rec.program_update_date;
2698 END IF;
2699 IF (x_OKL_TAX_LINES_rec.attribute_category = OKC_API.G_MISS_CHAR)
2700 THEN
2701 x_OKL_TAX_LINES_rec.attribute_category := l_db_OKL_TAX_LINES_rec.attribute_category;
2702 END IF;
2703 IF (x_OKL_TAX_LINES_rec.attribute1 = OKC_API.G_MISS_CHAR)
2704 THEN
2705 x_OKL_TAX_LINES_rec.attribute1 := l_db_OKL_TAX_LINES_rec.attribute1;
2706 END IF;
2707 IF (x_OKL_TAX_LINES_rec.attribute2 = OKC_API.G_MISS_CHAR)
2708 THEN
2709 x_OKL_TAX_LINES_rec.attribute2 := l_db_OKL_TAX_LINES_rec.attribute2;
2710 END IF;
2711 IF (x_OKL_TAX_LINES_rec.attribute3 = OKC_API.G_MISS_CHAR)
2712 THEN
2713 x_OKL_TAX_LINES_rec.attribute3 := l_db_OKL_TAX_LINES_rec.attribute3;
2714 END IF;
2715 IF (x_OKL_TAX_LINES_rec.attribute4 = OKC_API.G_MISS_CHAR)
2716 THEN
2717 x_OKL_TAX_LINES_rec.attribute4 := l_db_OKL_TAX_LINES_rec.attribute4;
2718 END IF;
2719 IF (x_OKL_TAX_LINES_rec.attribute5 = OKC_API.G_MISS_CHAR)
2720 THEN
2721 x_OKL_TAX_LINES_rec.attribute5 := l_db_OKL_TAX_LINES_rec.attribute5;
2722 END IF;
2723 IF (x_OKL_TAX_LINES_rec.attribute6 = OKC_API.G_MISS_CHAR)
2724 THEN
2725 x_OKL_TAX_LINES_rec.attribute6 := l_db_OKL_TAX_LINES_rec.attribute6;
2726 END IF;
2727 IF (x_OKL_TAX_LINES_rec.attribute7 = OKC_API.G_MISS_CHAR)
2728 THEN
2729 x_OKL_TAX_LINES_rec.attribute7 := l_db_OKL_TAX_LINES_rec.attribute7;
2730 END IF;
2731 IF (x_OKL_TAX_LINES_rec.attribute8 = OKC_API.G_MISS_CHAR)
2732 THEN
2733 x_OKL_TAX_LINES_rec.attribute8 := l_db_OKL_TAX_LINES_rec.attribute8;
2734 END IF;
2735 IF (x_OKL_TAX_LINES_rec.attribute9 = OKC_API.G_MISS_CHAR)
2736 THEN
2737 x_OKL_TAX_LINES_rec.attribute9 := l_db_OKL_TAX_LINES_rec.attribute9;
2738 END IF;
2739 IF (x_OKL_TAX_LINES_rec.attribute10 = OKC_API.G_MISS_CHAR)
2740 THEN
2741 x_OKL_TAX_LINES_rec.attribute10 := l_db_OKL_TAX_LINES_rec.attribute10;
2742 END IF;
2743 IF (x_OKL_TAX_LINES_rec.attribute11 = OKC_API.G_MISS_CHAR)
2744 THEN
2745 x_OKL_TAX_LINES_rec.attribute11 := l_db_OKL_TAX_LINES_rec.attribute11;
2746 END IF;
2747 IF (x_OKL_TAX_LINES_rec.attribute12 = OKC_API.G_MISS_CHAR)
2748 THEN
2749 x_OKL_TAX_LINES_rec.attribute12 := l_db_OKL_TAX_LINES_rec.attribute12;
2750 END IF;
2751 IF (x_OKL_TAX_LINES_rec.attribute13 = OKC_API.G_MISS_CHAR)
2752 THEN
2753 x_OKL_TAX_LINES_rec.attribute13 := l_db_OKL_TAX_LINES_rec.attribute13;
2754 END IF;
2755 IF (x_OKL_TAX_LINES_rec.attribute14 = OKC_API.G_MISS_CHAR)
2756 THEN
2757 x_OKL_TAX_LINES_rec.attribute14 := l_db_OKL_TAX_LINES_rec.attribute14;
2758 END IF;
2759 IF (x_OKL_TAX_LINES_rec.attribute15 = OKC_API.G_MISS_CHAR)
2760 THEN
2761 x_OKL_TAX_LINES_rec.attribute15 := l_db_OKL_TAX_LINES_rec.attribute15;
2762 END IF;
2763 IF (x_OKL_TAX_LINES_rec.created_by = OKC_API.G_MISS_NUM)
2764 THEN
2765 x_OKL_TAX_LINES_rec.created_by := l_db_OKL_TAX_LINES_rec.created_by;
2766 END IF;
2767 IF (x_OKL_TAX_LINES_rec.creation_date = OKC_API.G_MISS_DATE)
2768 THEN
2769 x_OKL_TAX_LINES_rec.creation_date := l_db_OKL_TAX_LINES_rec.creation_date;
2770 END IF;
2771 IF (x_OKL_TAX_LINES_rec.last_updated_by = OKC_API.G_MISS_NUM)
2772 THEN
2773 x_OKL_TAX_LINES_rec.last_updated_by := l_db_OKL_TAX_LINES_rec.last_updated_by;
2774 END IF;
2775 IF (x_OKL_TAX_LINES_rec.last_update_date = OKC_API.G_MISS_DATE)
2776 THEN
2777 x_OKL_TAX_LINES_rec.last_update_date := l_db_OKL_TAX_LINES_rec.last_update_date;
2778 END IF;
2779 IF (x_OKL_TAX_LINES_rec.last_update_login = OKC_API.G_MISS_NUM)
2780 THEN
2784 RETURN(l_return_status);
2781 x_OKL_TAX_LINES_rec.last_update_login := l_db_OKL_TAX_LINES_rec.last_update_login;
2782 END IF;
2783 END IF;
2785 END populate_new_record;
2786 ----------------------------------------
2787 -- Set_Attributes for:OKL_TAX_LINES_V --
2788 ----------------------------------------
2789 FUNCTION Set_Attributes (
2790 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type,
2791 x_OKL_TAX_LINES_rec OUT NOCOPY OKL_TAX_LINES_rec_type
2792 ) RETURN VARCHAR2 IS
2793 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2794 BEGIN
2795 x_OKL_TAX_LINES_rec := p_OKL_TAX_LINES_rec;
2796 RETURN(l_return_status);
2797 END Set_Attributes;
2798 BEGIN
2799 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2800 G_PKG_NAME,
2801 p_init_msg_list,
2802 l_api_version,
2803 p_api_version,
2804 '_PVT',
2805 x_return_status);
2806 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2807 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2808 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2809 RAISE OKC_API.G_EXCEPTION_ERROR;
2810 END IF;
2811 --- Setting item attributes
2812 l_return_status := Set_Attributes(
2813 p_OKL_TAX_LINES_rec, -- IN
2814 x_OKL_TAX_LINES_rec); -- OUT
2815 --- If any errors happen abort API
2816 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2817 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2818 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2819 RAISE OKC_API.G_EXCEPTION_ERROR;
2820 END IF;
2821 l_return_status := populate_new_record(l_OKL_TAX_LINES_rec, l_def_OKL_TAX_LINES_rec);
2822 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2823 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2824 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2825 RAISE OKC_API.G_EXCEPTION_ERROR;
2826 END IF;
2827 l_def_OKL_TAX_LINES_rec := fill_who_columns(l_def_OKL_TAX_LINES_rec);
2828 --- Validate all non-missing attributes (Item Level Validation)
2829 l_return_status := Validate_Attributes(l_def_OKL_TAX_LINES_rec);
2830 --- If any errors happen abort API
2831 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2832 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2833 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2834 RAISE OKC_API.G_EXCEPTION_ERROR;
2835 END IF;
2836 l_return_status := Validate_Record(l_def_OKL_TAX_LINES_rec, l_db_OKL_TAX_LINES_rec);
2837 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2838 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2839 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2840 RAISE OKC_API.G_EXCEPTION_ERROR;
2841 END IF;
2842
2843 -- Lock the Record
2844 lock_row(
2845 p_api_version => p_api_version,
2846 p_init_msg_list => p_init_msg_list,
2847 x_return_status => l_return_status,
2848 x_msg_count => x_msg_count,
2849 x_msg_data => x_msg_data,
2850 p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_rec);
2851 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2852 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2853 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2854 RAISE OKC_API.G_EXCEPTION_ERROR;
2855 END IF;
2856
2857 -----------------------------------------
2858 -- Move VIEW record to "Child" records --
2859 -----------------------------------------
2860 migrate(l_def_OKL_TAX_LINES_rec, l_tax_rec);
2861 -----------------------------------------------
2862 -- Call the UPDATE_ROW for each child record --
2863 -----------------------------------------------
2864 update_row(
2865 p_init_msg_list,
2866 l_return_status,
2867 x_msg_count,
2868 x_msg_data,
2869 l_tax_rec,
2870 lx_tax_rec
2871 );
2872 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2873 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2874 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2875 RAISE OKC_API.G_EXCEPTION_ERROR;
2876 END IF;
2877 migrate(lx_tax_rec, l_def_OKL_TAX_LINES_rec);
2878 x_OKL_TAX_LINES_rec := l_def_OKL_TAX_LINES_rec;
2879 x_return_status := l_return_status;
2880 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2881 EXCEPTION
2882 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2883 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2884 (
2885 l_api_name,
2886 G_PKG_NAME,
2887 'OKC_API.G_RET_STS_ERROR',
2888 x_msg_count,
2889 x_msg_data,
2890 '_PVT'
2891 );
2892 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2893 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2894 (
2895 l_api_name,
2896 G_PKG_NAME,
2897 'OKC_API.G_RET_STS_UNEXP_ERROR',
2898 x_msg_count,
2899 x_msg_data,
2900 '_PVT'
2901 );
2902 WHEN OTHERS THEN
2903 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2904 (
2905 l_api_name,
2906 G_PKG_NAME,
2907 'OTHERS',
2908 x_msg_count,
2909 x_msg_data,
2910 '_PVT'
2911 );
2912 END update_row;
2913 ---------------------------------------------------
2914 -- PL/SQL TBL update_row for:okl_tax_lines_v_tbl --
2918 p_init_msg_list IN VARCHAR2,
2915 ---------------------------------------------------
2916 PROCEDURE update_row(
2917 p_api_version IN NUMBER,
2919 x_return_status OUT NOCOPY VARCHAR2,
2920 x_msg_count OUT NOCOPY NUMBER,
2921 x_msg_data OUT NOCOPY VARCHAR2,
2922 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
2923 x_OKL_TAX_LINES_tbl OUT NOCOPY OKL_TAX_LINES_tbl_type,
2924 px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
2925
2926 l_api_version CONSTANT NUMBER := 1;
2927 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
2928 i NUMBER := 0;
2929 BEGIN
2930 OKC_API.init_msg_list(p_init_msg_list);
2931 -- Make sure PL/SQL table has records in it before passing
2932 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
2933 i := p_OKL_TAX_LINES_tbl.FIRST;
2934 LOOP
2935 DECLARE
2936 l_error_rec OKC_API.ERROR_REC_TYPE;
2937 BEGIN
2938 l_error_rec.api_name := l_api_name;
2939 l_error_rec.api_package := G_PKG_NAME;
2940 l_error_rec.idx := i;
2941 update_row (
2942 p_api_version => p_api_version,
2943 p_init_msg_list => OKC_API.G_FALSE,
2944 x_return_status => l_error_rec.error_type,
2945 x_msg_count => l_error_rec.msg_count,
2946 x_msg_data => l_error_rec.msg_data,
2947 p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_tbl(i),
2948 x_OKL_TAX_LINES_rec => x_OKL_TAX_LINES_tbl(i));
2949 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
2950 l_error_rec.sqlcode := SQLCODE;
2951 load_error_tbl(l_error_rec, px_error_tbl);
2952 ELSE
2953 x_msg_count := l_error_rec.msg_count;
2954 x_msg_data := l_error_rec.msg_data;
2955 END IF;
2956 EXCEPTION
2957 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2958 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
2959 l_error_rec.sqlcode := SQLCODE;
2960 load_error_tbl(l_error_rec, px_error_tbl);
2961 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2962 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
2963 l_error_rec.sqlcode := SQLCODE;
2964 load_error_tbl(l_error_rec, px_error_tbl);
2965 WHEN OTHERS THEN
2966 l_error_rec.error_type := 'OTHERS';
2967 l_error_rec.sqlcode := SQLCODE;
2968 load_error_tbl(l_error_rec, px_error_tbl);
2969 END;
2970 EXIT WHEN (i = p_OKL_TAX_LINES_tbl.LAST);
2971 i := p_OKL_TAX_LINES_tbl.NEXT(i);
2972 END LOOP;
2973 END IF;
2974 -- Loop through the error_tbl to find the error with the highest severity
2975 -- and return it.
2976 x_return_status := find_highest_exception(px_error_tbl);
2977 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2978 EXCEPTION
2979 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2980 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2981 (
2982 l_api_name,
2983 G_PKG_NAME,
2984 'OKC_API.G_RET_STS_ERROR',
2985 x_msg_count,
2986 x_msg_data,
2987 '_PVT'
2988 );
2989 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2990 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2991 (
2992 l_api_name,
2993 G_PKG_NAME,
2994 'OKC_API.G_RET_STS_UNEXP_ERROR',
2995 x_msg_count,
2996 x_msg_data,
2997 '_PVT'
2998 );
2999 WHEN OTHERS THEN
3000 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3001 (
3002 l_api_name,
3003 G_PKG_NAME,
3004 'OTHERS',
3005 x_msg_count,
3006 x_msg_data,
3007 '_PVT'
3008 );
3009 END update_row;
3010
3011 ---------------------------------------------------
3012 -- PL/SQL TBL update_row for:OKL_TAX_LINES_V_TBL --
3013 ---------------------------------------------------
3014 -- This procedure is the same as the one above except it does not have a "px_error_tbl" argument.
3015 -- This procedure was create for backward compatibility and simply is a wrapper for the one above.
3016 PROCEDURE update_row(
3017 p_api_version IN NUMBER,
3018 p_init_msg_list IN VARCHAR2,
3019 x_return_status OUT NOCOPY VARCHAR2,
3020 x_msg_count OUT NOCOPY NUMBER,
3021 x_msg_data OUT NOCOPY VARCHAR2,
3022 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
3023 x_OKL_TAX_LINES_tbl OUT NOCOPY OKL_TAX_LINES_tbl_type) IS
3024
3025 l_api_version CONSTANT NUMBER := 1;
3026 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3027 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3028 l_error_tbl OKC_API.ERROR_TBL_TYPE;
3029 BEGIN
3030 OKC_API.init_msg_list(p_init_msg_list);
3031 -- Make sure PL/SQL table has records in it before passing
3032 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
3033 update_row (
3034 p_api_version => p_api_version,
3035 p_init_msg_list => OKC_API.G_FALSE,
3036 x_return_status => x_return_status,
3037 x_msg_count => x_msg_count,
3038 x_msg_data => x_msg_data,
3039 p_OKL_TAX_LINES_tbl => p_OKL_TAX_LINES_tbl,
3040 x_OKL_TAX_LINES_tbl => x_OKL_TAX_LINES_tbl,
3044 EXCEPTION
3041 px_error_tbl => l_error_tbl);
3042 END IF;
3043 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3045 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3046 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3047 (
3048 l_api_name,
3049 G_PKG_NAME,
3050 'OKC_API.G_RET_STS_ERROR',
3051 x_msg_count,
3052 x_msg_data,
3053 '_PVT'
3054 );
3055 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3056 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3057 (
3058 l_api_name,
3059 G_PKG_NAME,
3060 'OKC_API.G_RET_STS_UNEXP_ERROR',
3061 x_msg_count,
3062 x_msg_data,
3063 '_PVT'
3064 );
3065 WHEN OTHERS THEN
3066 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3067 (
3068 l_api_name,
3069 G_PKG_NAME,
3070 'OTHERS',
3071 x_msg_count,
3072 x_msg_data,
3073 '_PVT'
3074 );
3075 END update_row;
3076
3077 ---------------------------------------------------------------------------
3078 -- PROCEDURE delete_row
3079 ---------------------------------------------------------------------------
3080 ----------------------------------
3081 -- delete_row for:OKL_TAX_LINES --
3082 ----------------------------------
3083 PROCEDURE delete_row(
3084 p_init_msg_list IN VARCHAR2,
3085 x_return_status OUT NOCOPY VARCHAR2,
3086 x_msg_count OUT NOCOPY NUMBER,
3087 x_msg_data OUT NOCOPY VARCHAR2,
3088 p_tax_rec IN tax_rec_type) IS
3089
3090 l_api_version CONSTANT NUMBER := 1;
3091 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
3092 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3093 l_tax_rec tax_rec_type := p_tax_rec;
3094 l_row_notfound BOOLEAN := TRUE;
3095 BEGIN
3096 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3097 p_init_msg_list,
3098 '_PVT',
3099 x_return_status);
3100 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3101 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3102 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3103 RAISE OKC_API.G_EXCEPTION_ERROR;
3104 END IF;
3105
3106 DELETE FROM OKL_TAX_LINES
3107 WHERE ID = p_tax_rec.id;
3108
3109 x_return_status := l_return_status;
3110 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3111 EXCEPTION
3112 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3113 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3114 (
3115 l_api_name,
3116 G_PKG_NAME,
3117 'OKC_API.G_RET_STS_ERROR',
3118 x_msg_count,
3119 x_msg_data,
3120 '_PVT'
3121 );
3122 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3123 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3124 (
3125 l_api_name,
3126 G_PKG_NAME,
3127 'OKC_API.G_RET_STS_UNEXP_ERROR',
3128 x_msg_count,
3129 x_msg_data,
3130 '_PVT'
3131 );
3132 WHEN OTHERS THEN
3133 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3134 (
3135 l_api_name,
3136 G_PKG_NAME,
3137 'OTHERS',
3138 x_msg_count,
3139 x_msg_data,
3140 '_PVT'
3141 );
3142 END delete_row;
3143 ------------------------------------
3144 -- delete_row for:OKL_TAX_LINES_V --
3145 ------------------------------------
3146 PROCEDURE delete_row(
3147 p_api_version IN NUMBER,
3148 p_init_msg_list IN VARCHAR2,
3149 x_return_status OUT NOCOPY VARCHAR2,
3150 x_msg_count OUT NOCOPY NUMBER,
3151 x_msg_data OUT NOCOPY VARCHAR2,
3152 p_OKL_TAX_LINES_rec IN OKL_TAX_LINES_rec_type) IS
3153
3154 l_api_version CONSTANT NUMBER := 1;
3155 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3156 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3157 l_OKL_TAX_LINES_rec OKL_TAX_LINES_rec_type := p_OKL_TAX_LINES_rec;
3158 l_tax_rec tax_rec_type;
3159 BEGIN
3160 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3161 G_PKG_NAME,
3162 p_init_msg_list,
3163 l_api_version,
3164 p_api_version,
3165 '_PVT',
3166 x_return_status);
3167 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3168 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3169 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3170 RAISE OKC_API.G_EXCEPTION_ERROR;
3171 END IF;
3172 -----------------------------------------
3173 -- Move VIEW record to "Child" records --
3174 -----------------------------------------
3175 migrate(l_OKL_TAX_LINES_rec, l_tax_rec);
3176 -----------------------------------------------
3177 -- Call the DELETE_ROW for each child record --
3178 -----------------------------------------------
3179 delete_row(
3180 p_init_msg_list,
3181 l_return_status,
3182 x_msg_count,
3183 x_msg_data,
3184 l_tax_rec
3188 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3185 );
3186 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3187 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3189 RAISE OKC_API.G_EXCEPTION_ERROR;
3190 END IF;
3191 x_return_status := l_return_status;
3192 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3193 EXCEPTION
3194 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3195 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3196 (
3197 l_api_name,
3198 G_PKG_NAME,
3199 'OKC_API.G_RET_STS_ERROR',
3200 x_msg_count,
3201 x_msg_data,
3202 '_PVT'
3203 );
3204 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3205 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3206 (
3207 l_api_name,
3208 G_PKG_NAME,
3209 'OKC_API.G_RET_STS_UNEXP_ERROR',
3210 x_msg_count,
3211 x_msg_data,
3212 '_PVT'
3213 );
3214 WHEN OTHERS THEN
3215 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3216 (
3217 l_api_name,
3218 G_PKG_NAME,
3219 'OTHERS',
3220 x_msg_count,
3221 x_msg_data,
3222 '_PVT'
3223 );
3224 END delete_row;
3225 -----------------------------------------------
3226 -- PL/SQL TBL delete_row for:OKL_TAX_LINES_V --
3227 -----------------------------------------------
3228 PROCEDURE delete_row(
3229 p_api_version IN NUMBER,
3230 p_init_msg_list IN VARCHAR2,
3231 x_return_status OUT NOCOPY VARCHAR2,
3232 x_msg_count OUT NOCOPY NUMBER,
3233 x_msg_data OUT NOCOPY VARCHAR2,
3234 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type,
3235 px_error_tbl IN OUT NOCOPY OKC_API.ERROR_TBL_TYPE) IS
3236
3237 l_api_version CONSTANT NUMBER := 1;
3238 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
3239 i NUMBER := 0;
3240 BEGIN
3241 OKC_API.init_msg_list(p_init_msg_list);
3242 -- Make sure PL/SQL table has records in it before passing
3243 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
3244 i := p_OKL_TAX_LINES_tbl.FIRST;
3245 LOOP
3246 DECLARE
3247 l_error_rec OKC_API.ERROR_REC_TYPE;
3248 BEGIN
3249 l_error_rec.api_name := l_api_name;
3250 l_error_rec.api_package := G_PKG_NAME;
3251 l_error_rec.idx := i;
3252 delete_row (
3253 p_api_version => p_api_version,
3254 p_init_msg_list => OKC_API.G_FALSE,
3255 x_return_status => l_error_rec.error_type,
3256 x_msg_count => l_error_rec.msg_count,
3257 x_msg_data => l_error_rec.msg_data,
3258 p_OKL_TAX_LINES_rec => p_OKL_TAX_LINES_tbl(i));
3259 IF (l_error_rec.error_type <> OKC_API.G_RET_STS_SUCCESS) THEN
3260 l_error_rec.sqlcode := SQLCODE;
3261 load_error_tbl(l_error_rec, px_error_tbl);
3262 ELSE
3263 x_msg_count := l_error_rec.msg_count;
3264 x_msg_data := l_error_rec.msg_data;
3265 END IF;
3266 EXCEPTION
3267 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3268 l_error_rec.error_type := OKC_API.G_RET_STS_ERROR;
3269 l_error_rec.sqlcode := SQLCODE;
3270 load_error_tbl(l_error_rec, px_error_tbl);
3271 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3272 l_error_rec.error_type := OKC_API.G_RET_STS_UNEXP_ERROR;
3273 l_error_rec.sqlcode := SQLCODE;
3274 load_error_tbl(l_error_rec, px_error_tbl);
3275 WHEN OTHERS THEN
3276 l_error_rec.error_type := 'OTHERS';
3277 l_error_rec.sqlcode := SQLCODE;
3278 load_error_tbl(l_error_rec, px_error_tbl);
3279 END;
3280 EXIT WHEN (i = p_OKL_TAX_LINES_tbl.LAST);
3281 i := p_OKL_TAX_LINES_tbl.NEXT(i);
3282 END LOOP;
3283 END IF;
3284 -- Loop through the error_tbl to find the error with the highest severity
3285 -- and return it.
3286 x_return_status := find_highest_exception(px_error_tbl);
3287 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3288 EXCEPTION
3289 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3290 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3291 (
3292 l_api_name,
3293 G_PKG_NAME,
3294 'OKC_API.G_RET_STS_ERROR',
3295 x_msg_count,
3296 x_msg_data,
3297 '_PVT'
3298 );
3299 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3300 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3301 (
3302 l_api_name,
3303 G_PKG_NAME,
3304 'OKC_API.G_RET_STS_UNEXP_ERROR',
3305 x_msg_count,
3306 x_msg_data,
3307 '_PVT'
3308 );
3309 WHEN OTHERS THEN
3310 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3311 (
3312 l_api_name,
3313 G_PKG_NAME,
3314 'OTHERS',
3315 x_msg_count,
3316 x_msg_data,
3317 '_PVT'
3318 );
3319 END delete_row;
3320
3321 -----------------------------------------------
3322 -- PL/SQL TBL delete_row for:OKL_TAX_LINES_V --
3323 -----------------------------------------------
3324 PROCEDURE delete_row(
3325 p_api_version IN NUMBER,
3326 p_init_msg_list IN VARCHAR2,
3327 x_return_status OUT NOCOPY VARCHAR2,
3328 x_msg_count OUT NOCOPY NUMBER,
3329 x_msg_data OUT NOCOPY VARCHAR2,
3330 p_OKL_TAX_LINES_tbl IN OKL_TAX_LINES_tbl_type) IS
3331
3332 l_api_version CONSTANT NUMBER := 1;
3333 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3334 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3335 l_error_tbl OKC_API.ERROR_TBL_TYPE;
3336 BEGIN
3337 OKC_API.init_msg_list(p_init_msg_list);
3338 -- Make sure PL/SQL table has records in it before passing
3339 IF (p_OKL_TAX_LINES_tbl.COUNT > 0) THEN
3340 delete_row (
3341 p_api_version => p_api_version,
3342 p_init_msg_list => OKC_API.G_FALSE,
3343 x_return_status => x_return_status,
3344 x_msg_count => x_msg_count,
3345 x_msg_data => x_msg_data,
3346 p_OKL_TAX_LINES_tbl => p_OKL_TAX_LINES_tbl,
3347 px_error_tbl => l_error_tbl);
3348 END IF;
3349 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3350 EXCEPTION
3351 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3352 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3353 (
3354 l_api_name,
3355 G_PKG_NAME,
3356 'OKC_API.G_RET_STS_ERROR',
3357 x_msg_count,
3358 x_msg_data,
3359 '_PVT'
3360 );
3361 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3362 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3363 (
3364 l_api_name,
3365 G_PKG_NAME,
3366 'OKC_API.G_RET_STS_UNEXP_ERROR',
3367 x_msg_count,
3368 x_msg_data,
3369 '_PVT'
3370 );
3371 WHEN OTHERS THEN
3372 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3373 (
3374 l_api_name,
3375 G_PKG_NAME,
3376 'OTHERS',
3377 x_msg_count,
3378 x_msg_data,
3379 '_PVT'
3380 );
3381 END delete_row;
3382
3383 END OKL_TAX_PVT;