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