[Home] [Help]
Skip to content
PACKAGE BODY: APPS.OKL_TQL_PVT
Source
1 PACKAGE BODY OKL_TQL_PVT AS
2 /* $Header: OKLSTQLB.pls 120.11 2007/08/08 12:54:28 arajagop noship $ */
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 -- Arrays to store pl-sql table and pass it to bulk insert
2999 in_id NumberTabTyp;
3000 in_sty_id NumberTabTyp;
3001 in_kle_id NumberTabTyp;
3002 in_qlt_code Var30TabTyp;
3003 in_qte_id NumberTabTyp;
3004 in_line_number NumberTabTyp;
3005 in_amount Number14p3TabTyp;
3006 in_object_version_number Number9TabTyp;
3007 in_modified_yn Var3TabTyp;
3008 in_defaulted_yn Var3TabTyp;
3009 in_taxed_yn Var3TabTyp;
3010 in_org_id Number15TabTyp;
3011 in_request_id Number15TabTyp;
3012 in_program_application_id Number15TabTyp;
3013 in_program_id Number15TabTyp;
3014 in_program_update_date DateTabTyp;
3015 in_attribute_category Var90TabTyp;
3016 in_attribute1 Var450TabTyp;
3017 in_attribute2 Var450TabTyp;
3018 in_attribute3 Var450TabTyp;
3019 in_attribute4 Var450TabTyp;
3020 in_attribute5 Var450TabTyp;
3021 in_attribute6 Var450TabTyp;
3022 in_attribute7 Var450TabTyp;
3023 in_attribute8 Var450TabTyp;
3024 in_attribute9 Var450TabTyp;
3025 in_attribute10 Var450TabTyp;
3026 in_attribute11 Var450TabTyp;
3027 in_attribute12 Var450TabTyp;
3028 in_attribute13 Var450TabTyp;
3029 in_attribute14 Var450TabTyp;
3030 in_attribute15 Var450TabTyp;
3031 in_created_by Number15TabTyp;
3032 in_creation_date DateTabTyp;
3033 in_last_updated_by Number15TabTyp;
3034 in_last_update_date DateTabTyp;
3035 in_last_update_login Number15TabTyp;
3036 in_start_date DateTabTyp;
3037 in_period Var30TabTyp;
3038 in_number_of_periods Number4TabTyp;
3039 in_lock_level_step Var10TabTyp;
3040 in_advance_or_arrears Var10TabTyp;
3041 in_yield_name Var150TabTyp;
3042 in_yield_value Number18p15TabTyp;
3043 in_implicit_interest_rate Number18p15TabTyp;
3044 in_asset_value Number14p3TabTyp;
3045 in_residual_value Number14p3TabTyp;
3046 in_unbilled_receivables Number14p3TabTyp;
3047 in_asset_quantity Number14p3TabTyp;
3048 in_quote_quantity Number14p3TabTyp;
3049 in_split_kle_id NumberTabTyp;
3050 in_split_kle_name Var150TabTyp;
3051 in_currency_code Var15TabTyp;
3052 in_currency_conversion_code Var15TabTyp;
3053 in_currency_conversion_type Var30TabTyp;
3054 in_currency_conversion_rate NumberTabTyp;
3055 in_currency_conversion_date DateTabTyp;
3056 in_language Var12TabTyp;
3057 in_source_lang Var15TabTyp;
3058 in_sfwt_flag Var3TabTyp;
3059 in_description Var1995TabTyp;
3060
3061 -- rmunjulu Sales_Tax_Enhancement
3062 in_try_id NumberTabTyp; -- *** Check
3063
3064 --dkagrawa Bug 4187250
3065 in_due_date DateTabTyp;
3066
3067 l_tabsize NUMBER := p_tqlv_tbl.COUNT;
3068 i NUMBER := 0;
3069 j NUMBER;
3070 l_org_id NUMBER;
3071 l_curr_code VARCHAR2(15);
3072 l_rounded_amount NUMBER;
3073 l_tqlv_rec tqlv_rec_type;
3074
3075 l_user_id NUMBER(15);
3076 l_conc_req_id NUMBER(15);
3077 l_login_id NUMBER(15);
3078 l_prog_appl_id NUMBER(15);
3079 l_conc_prog_id NUMBER(15);
3080 l_conc_reg_id NUMBER(15);
3081 l_lang VARCHAR2(12);
3082
3083 BEGIN
3084 OKL_API.init_msg_list(p_init_msg_list);
3085 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3086 G_PKG_NAME,
3087 p_init_msg_list,
3088 l_api_version,
3089 p_api_version,
3090 '_PVT',
3091 x_return_status);
3092 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3093 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3094 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3095 RAISE OKL_API.G_EXCEPTION_ERROR;
3096 END IF;
3097
3098 i := p_tqlv_tbl.FIRST;
3099 j :=0;
3100
3101 l_org_id := MO_GLOBAL.GET_CURRENT_ORG_ID();
3102 l_curr_code := OKL_AM_UTIL_PVT.get_functional_currency;
3103 l_user_id := FND_GLOBAL.USER_ID;
3104 l_login_id := FND_GLOBAL.LOGIN_ID;
3105 l_conc_req_id := FND_GLOBAL.CONC_REQUEST_ID;
3106 l_prog_appl_id := FND_GLOBAL.PROG_APPL_ID;
3107 l_conc_prog_id := FND_GLOBAL.CONC_PROGRAM_ID;
3108 l_lang := USERENV('LANG');
3109 WHILE i is not null LOOP
3110 l_tqlv_rec := null_out_defaults(p_tqlv_tbl(i));
3111
3112 l_tqlv_rec.id := get_seq_id;
3113 l_tqlv_rec.object_version_number := 1.0;
3114 l_tqlv_rec.created_by := l_user_id;
3115 l_tqlv_rec.creation_date := SYSDATE;
3116 l_tqlv_rec.last_updated_by := l_user_id;
3117 l_tqlv_rec.last_update_date := SYSDATE;
3118 l_tqlv_rec.last_update_login := l_login_id;
3119
3120 l_tqlv_rec.currency_conversion_code := l_curr_code;
3121 IF l_tqlv_rec.currency_code IS NULL
3122 OR l_tqlv_rec.currency_code = OKL_API.G_MISS_CHAR THEN
3123 l_tqlv_rec.currency_code := l_tqlv_rec.currency_conversion_code;
3124 END IF;
3125
3126 IF l_tqlv_rec.defaulted_yn IS NULL
3127 OR l_tqlv_rec.defaulted_yn = OKL_API.G_MISS_CHAR THEN
3128 l_tqlv_rec.defaulted_yn := 'N';
3129 END IF;
3130
3131 -- Default the ORG ID if a value is not passed
3132 IF l_tqlv_rec.org_id IS NULL
3133 OR l_tqlv_rec.org_id = OKL_API.G_MISS_NUM THEN
3134 l_tqlv_rec.org_id := l_org_id;
3135 END IF;
3136
3137 IF l_conc_req_id = -1
3138 THEN
3139 l_tqlv_rec.request_id := NULL;
3140 ELSE
3141 l_tqlv_rec.request_id := l_conc_req_id;
3142 END IF;
3143
3144 IF l_prog_appl_id = -1
3145 THEN
3146 l_tqlv_rec.program_application_id := NULL;
3147 ELSE
3148 l_tqlv_rec.program_application_id := l_prog_appl_id;
3149 END IF;
3150 IF l_conc_prog_id = -1
3151 THEN
3152 l_tqlv_rec.program_id := NULL;
3153 ELSE
3154 l_tqlv_rec.program_id := l_conc_prog_id;
3155 END IF;
3156 IF l_conc_req_id = -1
3157 THEN
3158 l_tqlv_rec.program_update_date := NULL;
3159 ELSE
3160 l_tqlv_rec.program_update_date := SYSDATE;
3161 END IF;
3162 l_tqlv_rec.sfwt_flag := 'N';
3163
3164 l_return_status := Validate_Attributes(l_tqlv_rec);
3165 -- If any errors happen abort API
3166 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3167 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3168 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3169 RAISE OKL_API.G_EXCEPTION_ERROR;
3170 END IF;
3171
3172 l_return_status := Validate_Record(l_tqlv_rec);
3173 -- If any errors happen abort API
3174 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3175 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3176 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3177 RAISE OKL_API.G_EXCEPTION_ERROR;
3178 END IF;
3179
3180 j:=j+1;
3181 in_id(j) := l_tqlv_rec.id;
3182 in_object_version_number(j) := l_tqlv_rec.object_version_number;
3183 in_created_by(j) := l_tqlv_rec.created_by;
3184 in_creation_date(j) := l_tqlv_rec.creation_date;
3185 in_last_updated_by(j) := l_tqlv_rec.last_updated_by;
3186 in_last_update_date(j) := l_tqlv_rec.last_update_date;
3187 in_last_update_login(j) := l_tqlv_rec.last_update_login;
3188 in_sty_id(j) := l_tqlv_rec.sty_id;
3189 in_kle_id(j) := l_tqlv_rec.kle_id;
3190 in_qlt_code(j) := l_tqlv_rec.qlt_code;
3191 in_qte_id(j) := l_tqlv_rec.qte_id;
3192 in_line_number(j) := l_tqlv_rec.line_number;
3193 in_modified_yn(j) := l_tqlv_rec.modified_yn;
3194 in_taxed_yn(j) := l_tqlv_rec.taxed_yn;
3195 in_attribute_category(j) := l_tqlv_rec.attribute_category;
3196 in_attribute1(j) := l_tqlv_rec.attribute1;
3197 in_attribute2(j) := l_tqlv_rec.attribute2;
3198 in_attribute3(j) := l_tqlv_rec.attribute3;
3199 in_attribute4(j) := l_tqlv_rec.attribute4;
3200 in_attribute5(j) := l_tqlv_rec.attribute5;
3201 in_attribute6(j) := l_tqlv_rec.attribute6;
3202 in_attribute7(j) := l_tqlv_rec.attribute7;
3203 in_attribute8(j) := l_tqlv_rec.attribute8;
3204 in_attribute9(j) := l_tqlv_rec.attribute9;
3205 in_attribute10(j) := l_tqlv_rec.attribute10;
3206 in_attribute11(j) := l_tqlv_rec.attribute11;
3207 in_attribute12(j) := l_tqlv_rec.attribute12;
3208 in_attribute13(j) := l_tqlv_rec.attribute13;
3209 in_attribute14(j) := l_tqlv_rec.attribute14;
3210 in_attribute15(j) := l_tqlv_rec.attribute15;
3211 in_start_date(j) := l_tqlv_rec.start_date;
3212 in_period(j) := l_tqlv_rec.period;
3213 in_number_of_periods(j) := l_tqlv_rec.number_of_periods;
3214 in_lock_level_step(j) := l_tqlv_rec.lock_level_step;
3215 in_advance_or_arrears(j) := l_tqlv_rec.advance_or_arrears;
3216 in_yield_name(j) := l_tqlv_rec.yield_name;
3217 in_yield_value(j) := l_tqlv_rec.yield_value;
3218 in_implicit_interest_rate(j) := l_tqlv_rec.implicit_interest_rate;
3219 in_asset_value(j) := l_tqlv_rec.asset_value;
3220 in_residual_value(j) := l_tqlv_rec.residual_value;
3221 in_unbilled_receivables(j) := l_tqlv_rec.unbilled_receivables;
3222 in_asset_quantity(j) := l_tqlv_rec.asset_quantity;
3223 in_quote_quantity(j) := l_tqlv_rec.quote_quantity;
3224 in_split_kle_id(j) := l_tqlv_rec.split_kle_id;
3225 in_split_kle_name(j) := l_tqlv_rec.split_kle_name;
3226 in_description(j) := l_tqlv_rec.description;
3227 in_language(j) := l_lang;
3228 in_source_lang(j) := l_lang;
3229 in_currency_code(j) := l_tqlv_rec.currency_code;
3230 in_currency_conversion_code(j) := l_tqlv_rec.currency_conversion_code;
3231 in_currency_conversion_type(j) := l_tqlv_rec.currency_conversion_type;
3232 in_currency_conversion_rate(j) := l_tqlv_rec.currency_conversion_rate;
3233 in_currency_conversion_date(j) := l_tqlv_rec.currency_conversion_date;
3234 in_defaulted_yn(j) := l_tqlv_rec.defaulted_yn;
3235 in_org_id(j) := l_tqlv_rec.org_id;
3236 in_request_id(j) := l_tqlv_rec.request_id;
3237 in_program_application_id(j) := l_tqlv_rec.program_application_id;
3238 in_program_id(j) := l_tqlv_rec.program_id;
3239 in_program_update_date(j) := l_tqlv_rec.program_update_date;
3240 in_sfwt_flag(j) := l_tqlv_rec.sfwt_flag;
3241 -- rmunjulu Sales_Tax_Enhancement
3242 in_try_id(j) := l_tqlv_rec.try_id;
3243
3244 in_amount(j) := l_tqlv_rec.amount;
3245 --dkagrawa bug 4187250
3246 in_due_date(j) := l_tqlv_rec.due_date;
3247
3248 OKL_ACCOUNTING_UTIL.cross_currency_round_amount
3249 (p_api_version => p_api_version,
3250 p_init_msg_list => p_init_msg_list,
3251 x_return_status => l_return_status,
3252 x_msg_count => x_msg_count,
3253 x_msg_data => x_msg_data,
3254 p_amount => in_amount(j),
3255 p_currency_code => in_currency_code(j),
3256 x_rounded_amount => l_rounded_amount);
3257
3258 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3259 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3260 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3261 RAISE OKL_API.G_EXCEPTION_ERROR;
3262 END IF;
3263 in_amount(j) := l_rounded_amount;
3264
3265 i := p_tqlv_tbl.next(i);
3266 END LOOP;
3267
3268 -- Bulk insert into base table
3269 FORALL i in 1..l_tabsize
3270 INSERT INTO OKL_TXL_QUOTE_LINES_B(
3271 id,
3272 sty_id,
3273 kle_id,
3274 qlt_code,
3275 qte_id,
3276 line_number,
3277 amount,
3278 object_version_number,
3279 modified_yn,
3280 defaulted_yn,
3281 taxed_yn,
3282 org_id,
3283 request_id,
3284 program_application_id,
3285 program_id,
3286 program_update_date,
3287 attribute_category,
3288 attribute1,
3289 attribute2,
3290 attribute3,
3291 attribute4,
3292 attribute5,
3293 attribute6,
3294 attribute7,
3295 attribute8,
3296 attribute9,
3297 attribute10,
3298 attribute11,
3299 attribute12,
3300 attribute13,
3301 attribute14,
3302 attribute15,
3303 created_by,
3304 creation_date,
3305 last_updated_by,
3306 last_update_date,
3307 last_update_login,
3308 start_date,
3309 period,
3310 number_of_periods,
3311 lock_level_step,
3312 advance_or_arrears,
3313 yield_name,
3314 yield_value,
3315 implicit_interest_rate,
3316 asset_value,
3317 residual_value,
3318 unbilled_receivables,
3319 asset_quantity,
3320 quote_quantity,
3321 split_kle_id,
3322 split_kle_name,
3323 currency_code,
3324 currency_conversion_code,
3325 currency_conversion_type,
3326 currency_conversion_rate,
3327 currency_conversion_date,
3328 try_id, -- rmunjulu Sales_Tax_Enhancement
3329 due_date ) --dkagrawa bug 4187250
3330
3331 VALUES (
3332 in_id(i),
3333 in_sty_id(i),
3334 in_kle_id(i),
3335 in_qlt_code(i),
3336 in_qte_id(i),
3337 in_line_number(i),
3338 in_amount(i),
3339 in_object_version_number(i),
3340 in_modified_yn(i),
3341 in_defaulted_yn(i),
3342 in_taxed_yn(i),
3343 in_org_id(i),
3344 in_request_id(i),
3345 in_program_application_id(i),
3346 in_program_id(i),
3347 in_program_update_date(i),
3348 in_attribute_category(i),
3349 in_attribute1(i),
3350 in_attribute2(i),
3351 in_attribute3(i),
3352 in_attribute4(i),
3353 in_attribute5(i),
3354 in_attribute6(i),
3355 in_attribute7(i),
3356 in_attribute8(i),
3357 in_attribute9(i),
3358 in_attribute10(i),
3359 in_attribute11(i),
3360 in_attribute12(i),
3361 in_attribute13(i),
3362 in_attribute14(i),
3363 in_attribute15(i),
3364 in_created_by(i),
3365 in_creation_date(i),
3366 in_last_updated_by(i),
3367 in_last_update_date(i),
3368 in_last_update_login(i),
3369 in_start_date(i),
3370 in_period(i),
3371 in_number_of_periods(i),
3372 in_lock_level_step(i),
3373 in_advance_or_arrears(i),
3374 in_yield_name(i),
3375 in_yield_value(i),
3376 in_implicit_interest_rate(i),
3377 in_asset_value(i),
3378 in_residual_value(i),
3379 in_unbilled_receivables(i),
3380 in_asset_quantity(i),
3381 in_quote_quantity(i),
3382 in_split_kle_id(i),
3383 in_split_kle_name(i),
3384 in_currency_code(i),
3385 in_currency_conversion_code(i),
3386 in_currency_conversion_type(i),
3387 in_currency_conversion_rate(i),
3388 in_currency_conversion_date(i),
3389 in_try_id(i), -- rmunjulu Sales_Tax_Enhancement
3390 in_due_date(i)); --dkagrawa bug 4187250
3391
3392 -- Bulk insert into tl table
3393 FORALL i in 1..l_tabsize
3394 INSERT INTO OKL_TXL_QUOTE_LINES_TL(
3395 id,
3396 language,
3397 source_lang,
3398 sfwt_flag,
3399 description,
3400 created_by,
3401 creation_date,
3402 last_updated_by,
3403 last_update_date,
3404 last_update_login)
3405 VALUES (
3406 in_id(i),
3407 in_language(i),
3408 in_source_lang(i),
3409 in_sfwt_flag(i),
3410 in_description(i),
3411 in_created_by(i),
3412 in_creation_date(i),
3413 in_last_updated_by(i),
3414 in_last_update_date(i),
3415 in_last_update_login(i));
3416
3417 x_tqlv_tbl := p_tqlv_tbl;
3418 x_return_status := OKL_API.G_RET_STS_SUCCESS;
3419 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3420
3421 EXCEPTION
3422 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3423 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3424 (
3425 l_api_name,
3426 G_PKG_NAME,
3427 'OKL_API.G_RET_STS_ERROR',
3428 x_msg_count,
3429 x_msg_data,
3430 '_PVT'
3431 );
3432 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
3438 x_msg_count,
3439 x_msg_data,
3440 '_PVT'
3441 );
3442 WHEN OTHERS THEN
3443 x_return_status :=OKL_API.HANDLE_EXCEPTIONS
3444 (
3445 l_api_name,
3446 G_PKG_NAME,
3447 'OTHERS',
3448 x_msg_count,
3449 x_msg_data,
3450 '_PVT'
3451 );
3452 END insert_row_bulk;
3453 -- PAGARG Bug 4299668 **End**
3454
3455 ---------------------------------------------------------------------------
3456 -- PROCEDURE lock_row
3457 ---------------------------------------------------------------------------
3458 ----------------------------------------
3459 -- lock_row for:OKL_TXL_QUOTE_LINES_B --
3460 ----------------------------------------
3461 PROCEDURE lock_row(
3462 p_init_msg_list IN VARCHAR2,
3463 x_return_status OUT NOCOPY VARCHAR2,
3464 x_msg_count OUT NOCOPY NUMBER,
3465 x_msg_data OUT NOCOPY VARCHAR2,
3466 p_tql_rec IN tql_rec_type) IS
3467
3468 E_Resource_Busy EXCEPTION;
3469 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3470 CURSOR lock_csr (p_tql_rec IN tql_rec_type) IS
3471 SELECT OBJECT_VERSION_NUMBER
3472 FROM OKL_TXL_QUOTE_LINES_B
3473 WHERE ID = p_tql_rec.id
3474 AND OBJECT_VERSION_NUMBER = p_tql_rec.object_version_number
3475 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
3476
3477 CURSOR lchk_csr (p_tql_rec IN tql_rec_type) IS
3478 SELECT OBJECT_VERSION_NUMBER
3479 FROM OKL_TXL_QUOTE_LINES_B
3480 WHERE ID = p_tql_rec.id;
3481 l_api_version CONSTANT NUMBER := 1;
3482 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
3483 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3484 l_object_version_number OKL_TXL_QUOTE_LINES_B.OBJECT_VERSION_NUMBER%TYPE;
3485 lc_object_version_number OKL_TXL_QUOTE_LINES_B.OBJECT_VERSION_NUMBER%TYPE;
3486 l_row_notfound BOOLEAN := FALSE;
3487 lc_row_notfound BOOLEAN := FALSE;
3488 BEGIN
3489 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3490 p_init_msg_list,
3491 '_PVT',
3492 x_return_status);
3493 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3494 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3495 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3496 RAISE OKC_API.G_EXCEPTION_ERROR;
3497 END IF;
3498 BEGIN
3499 OPEN lock_csr(p_tql_rec);
3500 FETCH lock_csr INTO l_object_version_number;
3501 l_row_notfound := lock_csr%NOTFOUND;
3502 CLOSE lock_csr;
3503 EXCEPTION
3504 WHEN E_Resource_Busy THEN
3505 IF (lock_csr%ISOPEN) THEN
3506 CLOSE lock_csr;
3507 END IF;
3508 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3509 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3510 END;
3511
3512 IF ( l_row_notfound ) THEN
3513 OPEN lchk_csr(p_tql_rec);
3514 FETCH lchk_csr INTO lc_object_version_number;
3515 lc_row_notfound := lchk_csr%NOTFOUND;
3516 CLOSE lchk_csr;
3517 END IF;
3518 IF (lc_row_notfound) THEN
3519 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3520 RAISE OKC_API.G_EXCEPTION_ERROR;
3521 ELSIF lc_object_version_number > p_tql_rec.object_version_number THEN
3522 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3523 RAISE OKC_API.G_EXCEPTION_ERROR;
3524 ELSIF lc_object_version_number <> p_tql_rec.object_version_number THEN
3525 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
3526 RAISE OKC_API.G_EXCEPTION_ERROR;
3527 ELSIF lc_object_version_number = -1 THEN
3528 OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
3529 RAISE OKC_API.G_EXCEPTION_ERROR;
3530 END IF;
3531 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3532 EXCEPTION
3533 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3534 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3535 (
3536 l_api_name,
3537 G_PKG_NAME,
3538 'OKC_API.G_RET_STS_ERROR',
3539 x_msg_count,
3540 x_msg_data,
3541 '_PVT'
3542 );
3543 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
3549 x_msg_count,
3550 x_msg_data,
3551 '_PVT'
3552 );
3553 WHEN OTHERS THEN
3554 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3555 (
3556 l_api_name,
3557 G_PKG_NAME,
3558 'OTHERS',
3559 x_msg_count,
3560 x_msg_data,
3561 '_PVT'
3562 );
3563 END lock_row;
3564 -----------------------------------------
3565 -- lock_row for:OKL_TXL_QUOTE_LINES_TL --
3566 -----------------------------------------
3567 PROCEDURE lock_row(
3568 p_init_msg_list IN VARCHAR2,
3569 x_return_status OUT NOCOPY VARCHAR2,
3570 x_msg_count OUT NOCOPY NUMBER,
3571 x_msg_data OUT NOCOPY VARCHAR2,
3572 p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType) IS
3573
3574 E_Resource_Busy EXCEPTION;
3575 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
3576 CURSOR lock_csr (p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType) IS
3577 SELECT *
3578 FROM OKL_TXL_QUOTE_LINES_TL
3579 WHERE ID = p_okl_txl_quote_lines_tl_rec.id
3580 FOR UPDATE NOWAIT;
3581
3582 l_api_version CONSTANT NUMBER := 1;
3583 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
3584 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3585 l_lock_var lock_csr%ROWTYPE;
3586 l_row_notfound BOOLEAN := FALSE;
3587 lc_row_notfound BOOLEAN := FALSE;
3588 BEGIN
3589 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3590 p_init_msg_list,
3591 '_PVT',
3592 x_return_status);
3593 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3594 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3595 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3596 RAISE OKC_API.G_EXCEPTION_ERROR;
3597 END IF;
3598 BEGIN
3599 OPEN lock_csr(p_okl_txl_quote_lines_tl_rec);
3600 FETCH lock_csr INTO l_lock_var;
3601 l_row_notfound := lock_csr%NOTFOUND;
3602 CLOSE lock_csr;
3603 EXCEPTION
3604 WHEN E_Resource_Busy THEN
3605 IF (lock_csr%ISOPEN) THEN
3606 CLOSE lock_csr;
3607 END IF;
3608 OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
3609 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
3610 END;
3611
3612 IF ( l_row_notfound ) THEN
3613 OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
3614 RAISE OKC_API.G_EXCEPTION_ERROR;
3615 END IF;
3616 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3617 EXCEPTION
3618 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3619 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3620 (
3621 l_api_name,
3622 G_PKG_NAME,
3623 'OKC_API.G_RET_STS_ERROR',
3624 x_msg_count,
3625 x_msg_data,
3626 '_PVT'
3627 );
3628 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
3634 x_msg_count,
3635 x_msg_data,
3636 '_PVT'
3637 );
3638 WHEN OTHERS THEN
3639 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3640 (
3641 l_api_name,
3642 G_PKG_NAME,
3643 'OTHERS',
3644 x_msg_count,
3645 x_msg_data,
3646 '_PVT'
3647 );
3648 END lock_row;
3649 ----------------------------------------
3650 -- lock_row for:OKL_TXL_QUOTE_LINES_V --
3651 ----------------------------------------
3652 PROCEDURE lock_row(
3653 p_api_version IN NUMBER,
3654 p_init_msg_list IN VARCHAR2,
3655 x_return_status OUT NOCOPY VARCHAR2,
3656 x_msg_count OUT NOCOPY NUMBER,
3657 x_msg_data OUT NOCOPY VARCHAR2,
3658 p_tqlv_rec IN tqlv_rec_type) IS
3659
3660 l_api_version CONSTANT NUMBER := 1;
3661 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
3662 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3663 l_tql_rec tql_rec_type;
3664 l_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType;
3665 BEGIN
3666 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3667 G_PKG_NAME,
3668 p_init_msg_list,
3669 l_api_version,
3670 p_api_version,
3671 '_PVT',
3672 x_return_status);
3673 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3674 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3675 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3676 RAISE OKC_API.G_EXCEPTION_ERROR;
3677 END IF;
3678 --------------------------------------
3679 -- Move VIEW record to "Child" records
3680 --------------------------------------
3681 migrate(p_tqlv_rec, l_tql_rec);
3682 migrate(p_tqlv_rec, l_okl_txl_quote_lines_tl_rec);
3683 --------------------------------------------
3684 -- Call the LOCK_ROW for each child record
3685 --------------------------------------------
3686 lock_row(
3687 p_init_msg_list,
3688 x_return_status,
3689 x_msg_count,
3690 x_msg_data,
3691 l_tql_rec
3692 );
3693 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3694 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3695 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3696 RAISE OKC_API.G_EXCEPTION_ERROR;
3697 END IF;
3698 lock_row(
3699 p_init_msg_list,
3700 x_return_status,
3701 x_msg_count,
3702 x_msg_data,
3703 l_okl_txl_quote_lines_tl_rec
3704 );
3705 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3706 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3707 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3708 RAISE OKC_API.G_EXCEPTION_ERROR;
3709 END IF;
3710 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3711 EXCEPTION
3712 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3713 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3714 (
3715 l_api_name,
3716 G_PKG_NAME,
3717 'OKC_API.G_RET_STS_ERROR',
3718 x_msg_count,
3719 x_msg_data,
3720 '_PVT'
3721 );
3722 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
3728 x_msg_count,
3729 x_msg_data,
3730 '_PVT'
3731 );
3732 WHEN OTHERS THEN
3733 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3734 (
3735 l_api_name,
3736 G_PKG_NAME,
3737 'OTHERS',
3738 x_msg_count,
3739 x_msg_data,
3740 '_PVT'
3741 );
3742 END lock_row;
3743 --------------------------------------
3744 -- PL/SQL TBL lock_row for:TQLV_TBL --
3745 --------------------------------------
3746 PROCEDURE lock_row(
3747 p_api_version IN NUMBER,
3748 p_init_msg_list IN VARCHAR2,
3749 x_return_status OUT NOCOPY VARCHAR2,
3750 x_msg_count OUT NOCOPY NUMBER,
3751 x_msg_data OUT NOCOPY VARCHAR2,
3752 p_tqlv_tbl IN tqlv_tbl_type) IS
3753
3754 l_api_version CONSTANT NUMBER := 1;
3755 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
3756 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3757 i NUMBER := 0;
3758 -- Begin Post-Generation Change
3759 -- overall error status
3760 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3761 -- End Post-Generation Change
3762 BEGIN
3763 OKC_API.init_msg_list(p_init_msg_list);
3764 -- Make sure PL/SQL table has records in it before passing
3765 IF (p_tqlv_tbl.COUNT > 0) THEN
3766 i := p_tqlv_tbl.FIRST;
3767 LOOP
3768 lock_row (
3769 p_api_version => p_api_version,
3770 p_init_msg_list => OKC_API.G_FALSE,
3771 x_return_status => x_return_status,
3772 x_msg_count => x_msg_count,
3773 x_msg_data => x_msg_data,
3774 p_tqlv_rec => p_tqlv_tbl(i));
3775 -- Begin Post-Generation Change
3776 -- store the highest degree of error
3777 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
3778 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
3779 l_overall_status := x_return_status;
3780 END IF;
3781 END IF;
3782 -- End Post-Generation Change
3783 EXIT WHEN (i = p_tqlv_tbl.LAST);
3784 i := p_tqlv_tbl.NEXT(i);
3785 END LOOP;
3786 -- Begin Post-Generation Change
3787 -- return overall status
3788 x_return_status := l_overall_status;
3789 -- End Post-Generation Change
3790 END IF;
3791 EXCEPTION
3792 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3793 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3794 (
3795 l_api_name,
3796 G_PKG_NAME,
3797 'OKC_API.G_RET_STS_ERROR',
3798 x_msg_count,
3799 x_msg_data,
3800 '_PVT'
3801 );
3802 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
3808 x_msg_count,
3809 x_msg_data,
3810 '_PVT'
3811 );
3812 WHEN OTHERS THEN
3813 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3814 (
3815 l_api_name,
3816 G_PKG_NAME,
3817 'OTHERS',
3818 x_msg_count,
3819 x_msg_data,
3820 '_PVT'
3821 );
3822 END lock_row;
3823
3824 ---------------------------------------------------------------------------
3825 -- PROCEDURE update_row
3826 ---------------------------------------------------------------------------
3827 ------------------------------------------
3828 -- update_row for:OKL_TXL_QUOTE_LINES_B --
3829 ------------------------------------------
3830 -- Start of comments
3831 -- Procedure Name : update_row
3832 -- Description : Update Row into OKL_TXL_QUOTE_LINES_B table
3833 -- Business Rules :
3834 -- Parameters : Record structure of OKL_TXL_QUOTE_LINES_B table
3835 -- Version : 1.0
3836 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
3837 -- : Added columns Currency code, currency Conversion_code
3838 -- Currency conversion type, currency conversion date
3839 -- currency conversion rate.
3840 -- : 15-Feb-2005 PAGARG 4161133 code for new column DUE_DATE
3841 -- End of comments
3842 PROCEDURE update_row(
3843 p_init_msg_list IN VARCHAR2,
3844 x_return_status OUT NOCOPY VARCHAR2,
3845 x_msg_count OUT NOCOPY NUMBER,
3846 x_msg_data OUT NOCOPY VARCHAR2,
3847 p_tql_rec IN tql_rec_type,
3848 x_tql_rec OUT NOCOPY tql_rec_type) IS
3849
3850 l_api_version CONSTANT NUMBER := 1;
3851 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
3852 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3853 l_tql_rec tql_rec_type := p_tql_rec;
3854 l_def_tql_rec tql_rec_type;
3855 l_row_notfound BOOLEAN := TRUE;
3856 ----------------------------------
3857 -- FUNCTION populate_new_record --
3858 ----------------------------------
3859 -- Start of comments
3860 -- Function Name : populate_new_record
3861 -- Description : Populate new record into OKL_TXL_QUOTE_LINES_B table
3862 -- Business Rules :
3863 -- Parameters : Record structure of OKL_TXL_QUOTE_LINES_B table
3864 -- Version : 1.0
3865 -- History : 18-DEC-2002 BAKUCHIB 2667636
3866 -- : Added columns Currency code, currency Conversion_code
3867 -- Currency conversion type, currency conversion date
3868 -- currency conversion rate.
3869 -- : 15-Feb-2005 PAGARG 4161133 code for new column DUE_DATE
3870 FUNCTION populate_new_record (
3871 p_tql_rec IN tql_rec_type,
3872 x_tql_rec OUT NOCOPY tql_rec_type
3873 ) RETURN VARCHAR2 IS
3874 l_tql_rec tql_rec_type;
3875 l_row_notfound BOOLEAN := TRUE;
3876 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3877 BEGIN
3878 -- Added by Suresh P Bagukkudumbi
3879 -- Added for handling concurrent manager fields
3880
3881 x_tql_rec := p_tql_rec;
3882 -- Get current database values
3883 l_tql_rec := get_rec(p_tql_rec, l_row_notfound);
3884 IF (l_row_notfound) THEN
3885 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3886 END IF;
3887 IF (x_tql_rec.id = OKC_API.G_MISS_NUM)
3888 THEN
3889 x_tql_rec.id := l_tql_rec.id;
3890 END IF;
3891 IF (x_tql_rec.sty_id = OKC_API.G_MISS_NUM)
3892 THEN
3893 x_tql_rec.sty_id := l_tql_rec.sty_id;
3894 END IF;
3895 IF (x_tql_rec.kle_id = OKC_API.G_MISS_NUM)
3896 THEN
3897 x_tql_rec.kle_id := l_tql_rec.kle_id;
3898 END IF;
3899 IF (x_tql_rec.qlt_code = OKC_API.G_MISS_CHAR)
3900 THEN
3901 x_tql_rec.qlt_code := l_tql_rec.qlt_code;
3902 END IF;
3903 IF (x_tql_rec.qte_id = OKC_API.G_MISS_NUM)
3904 THEN
3905 x_tql_rec.qte_id := l_tql_rec.qte_id;
3906 END IF;
3907 IF (x_tql_rec.line_number = OKC_API.G_MISS_NUM)
3908 THEN
3909 x_tql_rec.line_number := l_tql_rec.line_number;
3910 END IF;
3911 IF (x_tql_rec.amount = OKC_API.G_MISS_NUM)
3912 THEN
3913 x_tql_rec.amount := l_tql_rec.amount;
3914 END IF;
3915 IF (x_tql_rec.object_version_number = OKC_API.G_MISS_NUM)
3916 THEN
3917 x_tql_rec.object_version_number := l_tql_rec.object_version_number;
3918 END IF;
3919 IF (x_tql_rec.modified_yn = OKC_API.G_MISS_CHAR)
3920 THEN
3921 x_tql_rec.modified_yn := l_tql_rec.modified_yn;
3922 END IF;
3923 IF (x_tql_rec.defaulted_yn = OKC_API.G_MISS_CHAR)
3924 THEN
3925 x_tql_rec.defaulted_yn := l_tql_rec.defaulted_yn;
3926 END IF;
3927 IF (x_tql_rec.taxed_yn = OKC_API.G_MISS_CHAR)
3928 THEN
3929 x_tql_rec.taxed_yn := l_tql_rec.taxed_yn;
3930 END IF;
3931 IF (x_tql_rec.org_id = OKC_API.G_MISS_NUM)
3932 THEN
3933 x_tql_rec.org_id := l_tql_rec.org_id;
3934 END IF;
3935 IF (x_tql_rec.request_id = OKC_API.G_MISS_NUM)
3936 THEN
3937 x_tql_rec.request_id := l_tql_rec.request_id;
3938 END IF;
3939 IF (x_tql_rec.program_application_id = OKC_API.G_MISS_NUM)
3940 THEN
3941 x_tql_rec.program_application_id := l_tql_rec.program_application_id;
3942 END IF;
3943 IF (x_tql_rec.program_id = OKC_API.G_MISS_NUM)
3944 THEN
3945 x_tql_rec.program_id := l_tql_rec.program_id;
3946 END IF;
3947 IF (x_tql_rec.program_update_date = OKC_API.G_MISS_DATE)
3948 THEN
3949 x_tql_rec.program_update_date := l_tql_rec.program_update_date;
3950 END IF;
3951 IF (x_tql_rec.attribute_category = OKC_API.G_MISS_CHAR)
3952 THEN
3953 x_tql_rec.attribute_category := l_tql_rec.attribute_category;
3954 END IF;
3955 IF (x_tql_rec.attribute1 = OKC_API.G_MISS_CHAR)
3956 THEN
3957 x_tql_rec.attribute1 := l_tql_rec.attribute1;
3958 END IF;
3959 IF (x_tql_rec.attribute2 = OKC_API.G_MISS_CHAR)
3960 THEN
3961 x_tql_rec.attribute2 := l_tql_rec.attribute2;
3962 END IF;
3963 IF (x_tql_rec.attribute3 = OKC_API.G_MISS_CHAR)
3964 THEN
3965 x_tql_rec.attribute3 := l_tql_rec.attribute3;
3966 END IF;
3967 IF (x_tql_rec.attribute4 = OKC_API.G_MISS_CHAR)
3968 THEN
3969 x_tql_rec.attribute4 := l_tql_rec.attribute4;
3970 END IF;
3971 IF (x_tql_rec.attribute5 = OKC_API.G_MISS_CHAR)
3972 THEN
3973 x_tql_rec.attribute5 := l_tql_rec.attribute5;
3974 END IF;
3975 IF (x_tql_rec.attribute6 = OKC_API.G_MISS_CHAR)
3976 THEN
3977 x_tql_rec.attribute6 := l_tql_rec.attribute6;
3978 END IF;
3979 IF (x_tql_rec.attribute7 = OKC_API.G_MISS_CHAR)
3980 THEN
3981 x_tql_rec.attribute7 := l_tql_rec.attribute7;
3982 END IF;
3983 IF (x_tql_rec.attribute8 = OKC_API.G_MISS_CHAR)
3984 THEN
3985 x_tql_rec.attribute8 := l_tql_rec.attribute8;
3986 END IF;
3987 IF (x_tql_rec.attribute9 = OKC_API.G_MISS_CHAR)
3988 THEN
3989 x_tql_rec.attribute9 := l_tql_rec.attribute9;
3990 END IF;
3991 IF (x_tql_rec.attribute10 = OKC_API.G_MISS_CHAR)
3992 THEN
3993 x_tql_rec.attribute10 := l_tql_rec.attribute10;
3994 END IF;
3995 IF (x_tql_rec.attribute11 = OKC_API.G_MISS_CHAR)
3996 THEN
3997 x_tql_rec.attribute11 := l_tql_rec.attribute11;
3998 END IF;
3999 IF (x_tql_rec.attribute12 = OKC_API.G_MISS_CHAR)
4000 THEN
4001 x_tql_rec.attribute12 := l_tql_rec.attribute12;
4002 END IF;
4003 IF (x_tql_rec.attribute13 = OKC_API.G_MISS_CHAR)
4004 THEN
4005 x_tql_rec.attribute13 := l_tql_rec.attribute13;
4006 END IF;
4007 IF (x_tql_rec.attribute14 = OKC_API.G_MISS_CHAR)
4008 THEN
4009 x_tql_rec.attribute14 := l_tql_rec.attribute14;
4010 END IF;
4011 IF (x_tql_rec.attribute15 = OKC_API.G_MISS_CHAR)
4012 THEN
4013 x_tql_rec.attribute15 := l_tql_rec.attribute15;
4014 END IF;
4015 IF (x_tql_rec.created_by = OKC_API.G_MISS_NUM)
4016 THEN
4017 x_tql_rec.created_by := l_tql_rec.created_by;
4018 END IF;
4019 IF (x_tql_rec.creation_date = OKC_API.G_MISS_DATE)
4020 THEN
4021 x_tql_rec.creation_date := l_tql_rec.creation_date;
4022 END IF;
4023 IF (x_tql_rec.last_updated_by = OKC_API.G_MISS_NUM)
4024 THEN
4025 x_tql_rec.last_updated_by := l_tql_rec.last_updated_by;
4026 END IF;
4027 IF (x_tql_rec.last_update_date = OKC_API.G_MISS_DATE)
4028 THEN
4029 x_tql_rec.last_update_date := l_tql_rec.last_update_date;
4030 END IF;
4031 IF (x_tql_rec.last_update_login = OKC_API.G_MISS_NUM)
4032 THEN
4033 x_tql_rec.last_update_login := l_tql_rec.last_update_login;
4034 END IF;
4035 IF (x_tql_rec.start_date = OKC_API.G_MISS_DATE)
4036 THEN
4037 x_tql_rec.start_date := l_tql_rec.start_date;
4038 END IF;
4039 IF (x_tql_rec.period = OKC_API.G_MISS_CHAR)
4040 THEN
4041 x_tql_rec.period := l_tql_rec.period;
4042 END IF;
4043 IF (x_tql_rec.number_of_periods = OKC_API.G_MISS_NUM)
4044 THEN
4045 x_tql_rec.number_of_periods := l_tql_rec.number_of_periods;
4046 END IF;
4047 IF (x_tql_rec.lock_level_step = OKC_API.G_MISS_CHAR)
4048 THEN
4049 x_tql_rec.lock_level_step := l_tql_rec.lock_level_step;
4050 END IF;
4051 IF (x_tql_rec.advance_or_arrears = OKC_API.G_MISS_CHAR)
4052 THEN
4053 x_tql_rec.advance_or_arrears := l_tql_rec.advance_or_arrears;
4054 END IF;
4055 IF (x_tql_rec.yield_name = OKC_API.G_MISS_CHAR)
4056 THEN
4057 x_tql_rec.yield_name := l_tql_rec.yield_name;
4058 END IF;
4059 IF (x_tql_rec.yield_value = OKC_API.G_MISS_NUM)
4060 THEN
4061 x_tql_rec.yield_value := l_tql_rec.yield_value;
4062 END IF;
4063 IF (x_tql_rec.implicit_interest_rate = OKC_API.G_MISS_NUM)
4064 THEN
4065 x_tql_rec.implicit_interest_rate := l_tql_rec.implicit_interest_rate;
4066 END IF;
4067 IF (x_tql_rec.asset_value = OKC_API.G_MISS_NUM)
4068 THEN
4069 x_tql_rec.asset_value := l_tql_rec.asset_value;
4070 END IF;
4071 IF (x_tql_rec.residual_value = OKC_API.G_MISS_NUM)
4072 THEN
4073 x_tql_rec.residual_value := l_tql_rec.residual_value;
4074 END IF;
4075 IF (x_tql_rec.unbilled_receivables = OKC_API.G_MISS_NUM)
4076 THEN
4077 x_tql_rec.unbilled_receivables := l_tql_rec.unbilled_receivables;
4078 END IF;
4079 IF (x_tql_rec.asset_quantity = OKC_API.G_MISS_NUM)
4080 THEN
4081 x_tql_rec.asset_quantity := l_tql_rec.asset_quantity;
4082 END IF;
4083 IF (x_tql_rec.quote_quantity = OKC_API.G_MISS_NUM)
4084 THEN
4085 x_tql_rec.quote_quantity := l_tql_rec.quote_quantity;
4086 END IF;
4087 IF (x_tql_rec.split_kle_id = OKC_API.G_MISS_NUM)
4088 THEN
4089 x_tql_rec.split_kle_id := l_tql_rec.split_kle_id;
4090 END IF;
4091 -- RMUNJULU 2757312
4092 IF (x_tql_rec.split_kle_name = OKC_API.G_MISS_CHAR)
4093 THEN
4094 x_tql_rec.split_kle_name := l_tql_rec.split_kle_name;
4095 END IF;
4096 -- BAKUCHIB 2667636 Start
4097 IF (x_tql_rec.currency_code = OKC_API.G_MISS_CHAR)
4098 THEN
4099 x_tql_rec.currency_code := l_tql_rec.currency_code;
4100 END IF;
4101 IF (x_tql_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
4102 THEN
4103 x_tql_rec.currency_conversion_code := l_tql_rec.currency_conversion_code;
4104 END IF;
4105 IF (x_tql_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
4106 THEN
4107 x_tql_rec.currency_conversion_type := l_tql_rec.currency_conversion_type;
4108 END IF;
4109 IF (x_tql_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
4110 THEN
4111 x_tql_rec.currency_conversion_rate := l_tql_rec.currency_conversion_rate;
4112 END IF;
4113 IF (x_tql_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
4114 THEN
4115 x_tql_rec.currency_conversion_date := l_tql_rec.currency_conversion_date;
4116 END IF;
4117 -- BAKUCHIB 2667636 End
4118 --PAGARG 4161133 start
4119 -- populate attribute due date, added new to column
4120 IF (x_tql_rec.due_date = OKC_API.G_MISS_DATE)
4121 THEN
4122 x_tql_rec.due_date := l_tql_rec.due_date;
4123 END IF;
4124 --PAGARG 4161133 end
4125 -- rmunjulu Sales_Tax_Enhancement
4126 IF (x_tql_rec.try_id = OKC_API.G_MISS_NUM)
4127 THEN
4128 x_tql_rec.try_id := l_tql_rec.try_id;
4129 END IF;
4130 RETURN(l_return_status);
4131 END populate_new_record;
4132 ----------------------------------------------
4133 -- Set_Attributes for:OKL_TXL_QUOTE_LINES_B --
4134 ----------------------------------------------
4135 FUNCTION Set_Attributes (
4136 p_tql_rec IN tql_rec_type,
4137 x_tql_rec OUT NOCOPY tql_rec_type
4138 ) RETURN VARCHAR2 IS
4139 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4140 BEGIN
4141 x_tql_rec := p_tql_rec;
4142 RETURN(l_return_status);
4143 END Set_Attributes;
4144 BEGIN
4145 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4146 p_init_msg_list,
4147 '_PVT',
4148 x_return_status);
4149 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4150 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4151 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4152 RAISE OKC_API.G_EXCEPTION_ERROR;
4153 END IF;
4154 --- Setting item attributes
4155 l_return_status := Set_Attributes(
4156 p_tql_rec, -- IN
4157 l_tql_rec); -- OUT
4158 --- If any errors happen abort API
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 l_return_status := populate_new_record(l_tql_rec, l_def_tql_rec);
4165 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4166 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4167 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4168 RAISE OKC_API.G_EXCEPTION_ERROR;
4169 END IF;
4170 UPDATE OKL_TXL_QUOTE_LINES_B
4171 SET STY_ID = l_def_tql_rec.sty_id,
4172 KLE_ID = l_def_tql_rec.kle_id,
4173 QLT_CODE = l_def_tql_rec.qlt_code,
4174 QTE_ID = l_def_tql_rec.qte_id,
4175 LINE_NUMBER = l_def_tql_rec.line_number,
4176 AMOUNT = l_def_tql_rec.amount,
4177 OBJECT_VERSION_NUMBER = l_def_tql_rec.object_version_number,
4178 MODIFIED_YN = l_def_tql_rec.modified_yn,
4179 DEFAULTED_YN = l_def_tql_rec.defaulted_yn,
4180 TAXED_YN = l_def_tql_rec.taxed_yn,
4181 ORG_ID = l_def_tql_rec.org_id,
4182 REQUEST_ID = NVL(decode(FND_GLOBAL.CONC_REQUEST_ID,-1, NULL,
4183 FND_GLOBAL.CONC_REQUEST_ID),l_def_tql_rec.request_id),
4184 PROGRAM_APPLICATION_ID = NVL(decode(FND_GLOBAL.PROG_APPL_ID,-1,NULL,
4185 FND_GLOBAL.PROG_APPL_ID),l_def_tql_rec.program_application_id),
4186 PROGRAM_ID = NVL(decode(FND_GLOBAL.CONC_PROGRAM_ID,-1,NULL,
4187 FND_GLOBAL.CONC_PROGRAM_ID),l_def_tql_rec.program_id),
4188 PROGRAM_UPDATE_DATE = decode(decode(FND_GLOBAL.CONC_REQUEST_ID,-1,NULL,
4189 SYSDATE),NULL,l_def_tql_rec.program_update_date,SYSDATE),
4190
4191 ATTRIBUTE_CATEGORY = l_def_tql_rec.attribute_category,
4192 ATTRIBUTE1 = l_def_tql_rec.attribute1,
4193 ATTRIBUTE2 = l_def_tql_rec.attribute2,
4194 ATTRIBUTE3 = l_def_tql_rec.attribute3,
4195 ATTRIBUTE4 = l_def_tql_rec.attribute4,
4196 ATTRIBUTE5 = l_def_tql_rec.attribute5,
4197 ATTRIBUTE6 = l_def_tql_rec.attribute6,
4198 ATTRIBUTE7 = l_def_tql_rec.attribute7,
4199 ATTRIBUTE8 = l_def_tql_rec.attribute8,
4200 ATTRIBUTE9 = l_def_tql_rec.attribute9,
4201 ATTRIBUTE10 = l_def_tql_rec.attribute10,
4202 ATTRIBUTE11 = l_def_tql_rec.attribute11,
4203 ATTRIBUTE12 = l_def_tql_rec.attribute12,
4204 ATTRIBUTE13 = l_def_tql_rec.attribute13,
4205 ATTRIBUTE14 = l_def_tql_rec.attribute14,
4206 ATTRIBUTE15 = l_def_tql_rec.attribute15,
4207 CREATED_BY = l_def_tql_rec.created_by,
4208 CREATION_DATE = l_def_tql_rec.creation_date,
4209 LAST_UPDATED_BY = l_def_tql_rec.last_updated_by,
4210 LAST_UPDATE_DATE = l_def_tql_rec.last_update_date,
4211 LAST_UPDATE_LOGIN = l_def_tql_rec.last_update_login,
4212 START_DATE = l_def_tql_rec.start_date,
4213 PERIOD = l_def_tql_rec.period,
4214 NUMBER_OF_PERIODS = l_def_tql_rec.number_of_periods,
4215 LOCK_LEVEL_STEP = l_def_tql_rec.lock_level_step,
4216 ADVANCE_OR_ARREARS = l_def_tql_rec.advance_or_arrears,
4217 YIELD_NAME = l_def_tql_rec.yield_name,
4218 YIELD_VALUE = l_def_tql_rec.yield_value,
4219 IMPLICIT_INTEREST_RATE = l_def_tql_rec.implicit_interest_rate,
4220 ASSET_VALUE = l_def_tql_rec.asset_value,
4221 RESIDUAL_VALUE = l_def_tql_rec.residual_value,
4222 UNBILLED_RECEIVABLES = l_def_tql_rec.unbilled_receivables,
4223 ASSET_QUANTITY = l_def_tql_rec.asset_quantity,
4224 QUOTE_QUANTITY = l_def_tql_rec.quote_quantity,
4225 SPLIT_KLE_ID = l_def_tql_rec.split_kle_id,
4226 -- RMUNJULU 2757312
4227 SPLIT_KLE_NAME = l_def_tql_rec.split_kle_name,
4228 -- BAKCUHIUB 2667636 Start
4229 CURRENCY_CODE = l_def_tql_rec.currency_code,
4230 CURRENCY_CONVERSION_CODE = l_def_tql_rec.currency_conversion_code,
4231 CURRENCY_CONVERSION_TYPE = l_def_tql_rec.currency_conversion_type,
4232 CURRENCY_CONVERSION_RATE = l_def_tql_rec.currency_conversion_rate,
4233 CURRENCY_CONVERSION_DATE = l_def_tql_rec.currency_conversion_date,
4234 -- BAKUCHIB 2667636 End
4235 DUE_DATE = l_def_tql_rec.due_date, -- PAGARG Bug 4161133 new column
4236 TRY_ID = l_def_tql_rec.try_id-- rmunjulu Sales_Tax_Enhancement
4237 WHERE ID = l_def_tql_rec.id;
4238
4239 x_tql_rec := l_def_tql_rec;
4240 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4241 EXCEPTION
4242 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4243 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4244 (
4245 l_api_name,
4246 G_PKG_NAME,
4247 'OKC_API.G_RET_STS_ERROR',
4248 x_msg_count,
4249 x_msg_data,
4250 '_PVT'
4251 );
4252 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
4258 x_msg_count,
4259 x_msg_data,
4260 '_PVT'
4261 );
4262 WHEN OTHERS THEN
4263 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4264 (
4265 l_api_name,
4266 G_PKG_NAME,
4267 'OTHERS',
4268 x_msg_count,
4269 x_msg_data,
4270 '_PVT'
4271 );
4272 END update_row;
4273 -------------------------------------------
4274 -- update_row for:OKL_TXL_QUOTE_LINES_TL --
4275 -------------------------------------------
4276 PROCEDURE update_row(
4277 p_init_msg_list IN VARCHAR2,
4278 x_return_status OUT NOCOPY VARCHAR2,
4279 x_msg_count OUT NOCOPY NUMBER,
4280 x_msg_data OUT NOCOPY VARCHAR2,
4281 p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType,
4282 x_okl_txl_quote_lines_tl_rec OUT NOCOPY OklTxlQuoteLinesTlRecType) IS
4283
4284 l_api_version CONSTANT NUMBER := 1;
4285 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
4286 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4287 l_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType := p_okl_txl_quote_lines_tl_rec;
4288 ldefokltxlquotelinestlrec OklTxlQuoteLinesTlRecType;
4289 l_row_notfound BOOLEAN := TRUE;
4290 ----------------------------------
4291 -- FUNCTION populate_new_record --
4292 ----------------------------------
4293 FUNCTION populate_new_record (
4294 p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType,
4295 x_okl_txl_quote_lines_tl_rec OUT NOCOPY OklTxlQuoteLinesTlRecType
4296 ) RETURN VARCHAR2 IS
4297 l_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType;
4298 l_row_notfound BOOLEAN := TRUE;
4299 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4300 BEGIN
4301 x_okl_txl_quote_lines_tl_rec := p_okl_txl_quote_lines_tl_rec;
4302 -- Get current database values
4303 l_okl_txl_quote_lines_tl_rec := get_rec(p_okl_txl_quote_lines_tl_rec, l_row_notfound);
4304 IF (l_row_notfound) THEN
4305 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4306 END IF;
4307 IF (x_okl_txl_quote_lines_tl_rec.id = OKC_API.G_MISS_NUM)
4308 THEN
4309 x_okl_txl_quote_lines_tl_rec.id := l_okl_txl_quote_lines_tl_rec.id;
4310 END IF;
4311 IF (x_okl_txl_quote_lines_tl_rec.language = OKC_API.G_MISS_CHAR)
4312 THEN
4313 x_okl_txl_quote_lines_tl_rec.language := l_okl_txl_quote_lines_tl_rec.language;
4314 END IF;
4315 IF (x_okl_txl_quote_lines_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
4316 THEN
4317 x_okl_txl_quote_lines_tl_rec.source_lang := l_okl_txl_quote_lines_tl_rec.source_lang;
4318 END IF;
4319 IF (x_okl_txl_quote_lines_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
4320 THEN
4321 x_okl_txl_quote_lines_tl_rec.sfwt_flag := l_okl_txl_quote_lines_tl_rec.sfwt_flag;
4322 END IF;
4323 IF (x_okl_txl_quote_lines_tl_rec.description = OKC_API.G_MISS_CHAR)
4324 THEN
4325 x_okl_txl_quote_lines_tl_rec.description := l_okl_txl_quote_lines_tl_rec.description;
4326 END IF;
4327 IF (x_okl_txl_quote_lines_tl_rec.created_by = OKC_API.G_MISS_NUM)
4328 THEN
4329 x_okl_txl_quote_lines_tl_rec.created_by := l_okl_txl_quote_lines_tl_rec.created_by;
4330 END IF;
4331 IF (x_okl_txl_quote_lines_tl_rec.creation_date = OKC_API.G_MISS_DATE)
4332 THEN
4333 x_okl_txl_quote_lines_tl_rec.creation_date := l_okl_txl_quote_lines_tl_rec.creation_date;
4334 END IF;
4335 IF (x_okl_txl_quote_lines_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
4336 THEN
4337 x_okl_txl_quote_lines_tl_rec.last_updated_by := l_okl_txl_quote_lines_tl_rec.last_updated_by;
4338 END IF;
4339 IF (x_okl_txl_quote_lines_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
4340 THEN
4341 x_okl_txl_quote_lines_tl_rec.last_update_date := l_okl_txl_quote_lines_tl_rec.last_update_date;
4342 END IF;
4343 IF (x_okl_txl_quote_lines_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
4344 THEN
4345 x_okl_txl_quote_lines_tl_rec.last_update_login := l_okl_txl_quote_lines_tl_rec.last_update_login;
4346 END IF;
4347 RETURN(l_return_status);
4348 END populate_new_record;
4349 -----------------------------------------------
4350 -- Set_Attributes for:OKL_TXL_QUOTE_LINES_TL --
4351 -----------------------------------------------
4352 FUNCTION Set_Attributes (
4353 p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType,
4354 x_okl_txl_quote_lines_tl_rec OUT NOCOPY OklTxlQuoteLinesTlRecType
4355 ) RETURN VARCHAR2 IS
4356 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4357 BEGIN
4358 x_okl_txl_quote_lines_tl_rec := p_okl_txl_quote_lines_tl_rec;
4359 x_okl_txl_quote_lines_tl_rec.LANGUAGE := USERENV('LANG');
4360 x_okl_txl_quote_lines_tl_rec.SOURCE_LANG := USERENV('LANG');
4361 RETURN(l_return_status);
4362 END Set_Attributes;
4363 BEGIN
4364 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4365 p_init_msg_list,
4366 '_PVT',
4367 x_return_status);
4368 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4369 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4370 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4371 RAISE OKC_API.G_EXCEPTION_ERROR;
4372 END IF;
4373 --- Setting item attributes
4374 l_return_status := Set_Attributes(
4375 p_okl_txl_quote_lines_tl_rec, -- IN
4376 l_okl_txl_quote_lines_tl_rec); -- OUT
4377 --- If any errors happen abort API
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 l_return_status := populate_new_record(l_okl_txl_quote_lines_tl_rec, ldefokltxlquotelinestlrec);
4384 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4385 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4386 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4387 RAISE OKC_API.G_EXCEPTION_ERROR;
4388 END IF;
4389 UPDATE OKL_TXL_QUOTE_LINES_TL
4390 SET DESCRIPTION = ldefokltxlquotelinestlrec.description,
4391 CREATED_BY = ldefokltxlquotelinestlrec.created_by,
4392 SOURCE_LANG = ldefokltxlquotelinestlrec.source_lang, --Fix for bug 3637102
4393 CREATION_DATE = ldefokltxlquotelinestlrec.creation_date,
4394 LAST_UPDATED_BY = ldefokltxlquotelinestlrec.last_updated_by,
4395 LAST_UPDATE_DATE = ldefokltxlquotelinestlrec.last_update_date,
4396 LAST_UPDATE_LOGIN = ldefokltxlquotelinestlrec.last_update_login
4397 WHERE ID = ldefokltxlquotelinestlrec.id
4398 AND USERENV('LANG') in (SOURCE_LANG,LANGUAGE);--Fix for bug 3637102
4399 --AND SOURCE_LANG = USERENV('LANG');
4400
4401 UPDATE OKL_TXL_QUOTE_LINES_TL
4402 SET SFWT_FLAG = 'Y'
4403 WHERE ID = ldefokltxlquotelinestlrec.id
4404 AND SOURCE_LANG <> USERENV('LANG');
4405
4406 x_okl_txl_quote_lines_tl_rec := ldefokltxlquotelinestlrec;
4407 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4408 EXCEPTION
4409 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4410 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4411 (
4412 l_api_name,
4413 G_PKG_NAME,
4414 'OKC_API.G_RET_STS_ERROR',
4415 x_msg_count,
4416 x_msg_data,
4417 '_PVT'
4418 );
4419 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
4425 x_msg_count,
4426 x_msg_data,
4427 '_PVT'
4428 );
4429 WHEN OTHERS THEN
4430 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4431 (
4432 l_api_name,
4433 G_PKG_NAME,
4434 'OTHERS',
4435 x_msg_count,
4436 x_msg_data,
4437 '_PVT'
4438 );
4439 END update_row;
4440 ------------------------------------------
4441 -- update_row for:OKL_TXL_QUOTE_LINES_V --
4442 ------------------------------------------
4443 -- Start of comments
4444 -- Procedure Name : update_row
4445 -- Description : Update Row into OKL_TXL_QUOTE_LINES_V table
4446 -- Business Rules :
4447 -- Parameters : Record structure of OKL_TXL_QUOTE_LINES_V table
4448 -- Version : 1.0
4449 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
4450 -- : Added columns Currency code, currency Conversion_code
4451 -- Currency conversion type, currency conversion date
4452 -- currency conversion rate.
4453 -- : RMUNJULU 09-MAY-03 2949544 Added code to round
4454 -- the amount field before saving to table
4455 -- : PAGARG 15-Feb-2005 Bug 4161133 Code for new column due_date
4456 PROCEDURE update_row(
4457 p_api_version IN NUMBER,
4458 p_init_msg_list IN VARCHAR2,
4459 x_return_status OUT NOCOPY VARCHAR2,
4460 x_msg_count OUT NOCOPY NUMBER,
4461 x_msg_data OUT NOCOPY VARCHAR2,
4462 p_tqlv_rec IN tqlv_rec_type,
4463 x_tqlv_rec OUT NOCOPY tqlv_rec_type) IS
4464
4465 l_api_version CONSTANT NUMBER := 1;
4466 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
4467 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4468 l_tqlv_rec tqlv_rec_type := p_tqlv_rec;
4469 l_def_tqlv_rec tqlv_rec_type;
4470 l_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType;
4471 lx_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType;
4472 l_tql_rec tql_rec_type;
4473 lx_tql_rec tql_rec_type;
4474
4475
4476 -- RMUNJULU 09-MAY-03 2949544 Added variable
4477 l_rounded_amount NUMBER;
4478 -------------------------------
4479 -- FUNCTION fill_who_columns --
4480 -------------------------------
4481 FUNCTION fill_who_columns (
4482 p_tqlv_rec IN tqlv_rec_type
4483 ) RETURN tqlv_rec_type IS
4484 l_tqlv_rec tqlv_rec_type := p_tqlv_rec;
4485 BEGIN
4486 l_tqlv_rec.LAST_UPDATE_DATE := SYSDATE;
4487 l_tqlv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4488 l_tqlv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4489 RETURN(l_tqlv_rec);
4490 END fill_who_columns;
4491 ----------------------------------
4492 -- FUNCTION populate_new_record --
4493 ----------------------------------
4494 -- Start of comments
4495 -- Function Name : populate_new_record
4496 -- Description : Populate new record into OKL_TXL_QUOTE_LINES_V table
4497 -- Business Rules :
4498 -- Parameters : Record structure of OKL_TXL_QUOTE_LINES_V table
4499 -- Version : 1.0
4500 -- History : 18-DEC-2002 BAKUCHIB 2667636 Modified
4501 -- : Added columns Currency code, currency Conversion_code
4502 -- Currency conversion type, currency conversion date
4503 -- currency conversion rate.
4504 -- : PAGARG 15-Feb-2005 Bug 4161133 Code for new column due_date
4505 FUNCTION populate_new_record (
4506 p_tqlv_rec IN tqlv_rec_type,
4507 x_tqlv_rec OUT NOCOPY tqlv_rec_type
4508 ) RETURN VARCHAR2 IS
4509 l_tqlv_rec tqlv_rec_type;
4510 l_row_notfound BOOLEAN := TRUE;
4511 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4512 BEGIN
4513 x_tqlv_rec := p_tqlv_rec;
4514 -- Get current database values
4515 l_tqlv_rec := get_rec(p_tqlv_rec, l_row_notfound);
4516 IF (l_row_notfound) THEN
4517 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
4518 END IF;
4519 IF (x_tqlv_rec.id = OKC_API.G_MISS_NUM)
4520 THEN
4521 x_tqlv_rec.id := l_tqlv_rec.id;
4522 END IF;
4523 IF (x_tqlv_rec.object_version_number = OKC_API.G_MISS_NUM)
4524 THEN
4525 x_tqlv_rec.object_version_number := l_tqlv_rec.object_version_number;
4526 END IF;
4527 IF (x_tqlv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
4528 THEN
4529 x_tqlv_rec.sfwt_flag := l_tqlv_rec.sfwt_flag;
4530 END IF;
4531 IF (x_tqlv_rec.qlt_code = OKC_API.G_MISS_CHAR)
4532 THEN
4533 x_tqlv_rec.qlt_code := l_tqlv_rec.qlt_code;
4534 END IF;
4535 IF (x_tqlv_rec.kle_id = OKC_API.G_MISS_NUM)
4536 THEN
4537 x_tqlv_rec.kle_id := l_tqlv_rec.kle_id;
4538 END IF;
4539 IF (x_tqlv_rec.sty_id = OKC_API.G_MISS_NUM)
4540 THEN
4541 x_tqlv_rec.sty_id := l_tqlv_rec.sty_id;
4542 END IF;
4543 IF (x_tqlv_rec.qte_id = OKC_API.G_MISS_NUM)
4544 THEN
4545 x_tqlv_rec.qte_id := l_tqlv_rec.qte_id;
4546 END IF;
4547 IF (x_tqlv_rec.line_number = OKC_API.G_MISS_NUM)
4548 THEN
4549 x_tqlv_rec.line_number := l_tqlv_rec.line_number;
4550 END IF;
4551 IF (x_tqlv_rec.description = OKC_API.G_MISS_CHAR)
4552 THEN
4553 x_tqlv_rec.description := l_tqlv_rec.description;
4554 END IF;
4555 IF (x_tqlv_rec.amount = OKC_API.G_MISS_NUM)
4556 THEN
4557 x_tqlv_rec.amount := l_tqlv_rec.amount;
4558 -- DAPATEL - 01/08/02 - Added to reflect a manual amount updated.
4559 ELSE
4560 IF (x_tqlv_rec.amount <> l_tqlv_rec.amount) THEN
4561 x_tqlv_rec.MODIFIED_YN := G_YES;
4562 END IF;
4563 -- End
4564 END IF;
4565 IF (x_tqlv_rec.modified_yn = OKC_API.G_MISS_CHAR)
4566 THEN
4567 x_tqlv_rec.modified_yn := l_tqlv_rec.modified_yn;
4568 END IF;
4569 IF (x_tqlv_rec.defaulted_yn = OKC_API.G_MISS_CHAR)
4570 THEN
4571 x_tqlv_rec.defaulted_yn := l_tqlv_rec.defaulted_yn;
4572 END IF;
4573 IF (x_tqlv_rec.taxed_yn = OKC_API.G_MISS_CHAR)
4574 THEN
4575 x_tqlv_rec.taxed_yn := l_tqlv_rec.taxed_yn;
4576 END IF;
4577 IF (x_tqlv_rec.attribute_category = OKC_API.G_MISS_CHAR)
4578 THEN
4579 x_tqlv_rec.attribute_category := l_tqlv_rec.attribute_category;
4580 END IF;
4581 IF (x_tqlv_rec.attribute1 = OKC_API.G_MISS_CHAR)
4582 THEN
4583 x_tqlv_rec.attribute1 := l_tqlv_rec.attribute1;
4584 END IF;
4585 IF (x_tqlv_rec.attribute2 = OKC_API.G_MISS_CHAR)
4586 THEN
4587 x_tqlv_rec.attribute2 := l_tqlv_rec.attribute2;
4588 END IF;
4589 IF (x_tqlv_rec.attribute3 = OKC_API.G_MISS_CHAR)
4590 THEN
4591 x_tqlv_rec.attribute3 := l_tqlv_rec.attribute3;
4592 END IF;
4593 IF (x_tqlv_rec.attribute4 = OKC_API.G_MISS_CHAR)
4594 THEN
4595 x_tqlv_rec.attribute4 := l_tqlv_rec.attribute4;
4596 END IF;
4597 IF (x_tqlv_rec.attribute5 = OKC_API.G_MISS_CHAR)
4598 THEN
4599 x_tqlv_rec.attribute5 := l_tqlv_rec.attribute5;
4600 END IF;
4601 IF (x_tqlv_rec.attribute6 = OKC_API.G_MISS_CHAR)
4602 THEN
4603 x_tqlv_rec.attribute6 := l_tqlv_rec.attribute6;
4604 END IF;
4605 IF (x_tqlv_rec.attribute7 = OKC_API.G_MISS_CHAR)
4606 THEN
4607 x_tqlv_rec.attribute7 := l_tqlv_rec.attribute7;
4608 END IF;
4609 IF (x_tqlv_rec.attribute8 = OKC_API.G_MISS_CHAR)
4610 THEN
4611 x_tqlv_rec.attribute8 := l_tqlv_rec.attribute8;
4612 END IF;
4613 IF (x_tqlv_rec.attribute9 = OKC_API.G_MISS_CHAR)
4614 THEN
4615 x_tqlv_rec.attribute9 := l_tqlv_rec.attribute9;
4616 END IF;
4617 IF (x_tqlv_rec.attribute10 = OKC_API.G_MISS_CHAR)
4618 THEN
4619 x_tqlv_rec.attribute10 := l_tqlv_rec.attribute10;
4620 END IF;
4621 IF (x_tqlv_rec.attribute11 = OKC_API.G_MISS_CHAR)
4622 THEN
4623 x_tqlv_rec.attribute11 := l_tqlv_rec.attribute11;
4624 END IF;
4625 IF (x_tqlv_rec.attribute12 = OKC_API.G_MISS_CHAR)
4626 THEN
4627 x_tqlv_rec.attribute12 := l_tqlv_rec.attribute12;
4628 END IF;
4629 IF (x_tqlv_rec.attribute13 = OKC_API.G_MISS_CHAR)
4630 THEN
4631 x_tqlv_rec.attribute13 := l_tqlv_rec.attribute13;
4632 END IF;
4633 IF (x_tqlv_rec.attribute14 = OKC_API.G_MISS_CHAR)
4634 THEN
4635 x_tqlv_rec.attribute14 := l_tqlv_rec.attribute14;
4636 END IF;
4637 IF (x_tqlv_rec.attribute15 = OKC_API.G_MISS_CHAR)
4638 THEN
4639 x_tqlv_rec.attribute15 := l_tqlv_rec.attribute15;
4640 END IF;
4641 IF (x_tqlv_rec.org_id = OKC_API.G_MISS_NUM)
4642 THEN
4643 x_tqlv_rec.org_id := l_tqlv_rec.org_id;
4644 END IF;
4645 IF (x_tqlv_rec.request_id = OKC_API.G_MISS_NUM)
4646 THEN
4647 x_tqlv_rec.request_id := l_tqlv_rec.request_id;
4648 END IF;
4649 IF (x_tqlv_rec.program_application_id = OKC_API.G_MISS_NUM)
4650 THEN
4651 x_tqlv_rec.program_application_id := l_tqlv_rec.program_application_id;
4652 END IF;
4653 IF (x_tqlv_rec.program_id = OKC_API.G_MISS_NUM)
4654 THEN
4655 x_tqlv_rec.program_id := l_tqlv_rec.program_id;
4656 END IF;
4657 IF (x_tqlv_rec.program_update_date = OKC_API.G_MISS_DATE)
4658 THEN
4659 x_tqlv_rec.program_update_date := l_tqlv_rec.program_update_date;
4660 END IF;
4661 IF (x_tqlv_rec.created_by = OKC_API.G_MISS_NUM)
4662 THEN
4663 x_tqlv_rec.created_by := l_tqlv_rec.created_by;
4664 END IF;
4665 IF (x_tqlv_rec.creation_date = OKC_API.G_MISS_DATE)
4666 THEN
4667 x_tqlv_rec.creation_date := l_tqlv_rec.creation_date;
4668 END IF;
4669 IF (x_tqlv_rec.last_updated_by = OKC_API.G_MISS_NUM)
4670 THEN
4671 x_tqlv_rec.last_updated_by := l_tqlv_rec.last_updated_by;
4672 END IF;
4673 IF (x_tqlv_rec.last_update_date = OKC_API.G_MISS_DATE)
4674 THEN
4675 x_tqlv_rec.last_update_date := l_tqlv_rec.last_update_date;
4676 END IF;
4677 IF (x_tqlv_rec.last_update_login = OKC_API.G_MISS_NUM)
4678 THEN
4679 x_tqlv_rec.last_update_login := l_tqlv_rec.last_update_login;
4680 END IF;
4681 IF (x_tqlv_rec.start_date = OKC_API.G_MISS_DATE)
4682 THEN
4683 x_tqlv_rec.start_date := l_tqlv_rec.start_date;
4684 END IF;
4685 IF (x_tqlv_rec.period = OKC_API.G_MISS_CHAR)
4686 THEN
4687 x_tqlv_rec.period := l_tqlv_rec.period;
4688 END IF;
4689 IF (x_tqlv_rec.number_of_periods = OKC_API.G_MISS_NUM)
4690 THEN
4691 x_tqlv_rec.number_of_periods := l_tqlv_rec.number_of_periods;
4692 END IF;
4693 IF (x_tqlv_rec.lock_level_step = OKC_API.G_MISS_CHAR)
4694 THEN
4695 x_tqlv_rec.lock_level_step := l_tqlv_rec.lock_level_step;
4696 END IF;
4697 IF (x_tqlv_rec.advance_or_arrears = OKC_API.G_MISS_CHAR)
4698 THEN
4699 x_tqlv_rec.advance_or_arrears := l_tqlv_rec.advance_or_arrears;
4700 END IF;
4701 IF (x_tqlv_rec.yield_name = OKC_API.G_MISS_CHAR)
4702 THEN
4703 x_tqlv_rec.yield_name := l_tqlv_rec.yield_name;
4704 END IF;
4705 IF (x_tqlv_rec.yield_value = OKC_API.G_MISS_NUM)
4706 THEN
4707 x_tqlv_rec.yield_value := l_tqlv_rec.yield_value;
4708 END IF;
4709 IF (x_tqlv_rec.implicit_interest_rate = OKC_API.G_MISS_NUM)
4710 THEN
4711 x_tqlv_rec.implicit_interest_rate := l_tqlv_rec.implicit_interest_rate;
4712 END IF;
4713 IF (x_tqlv_rec.asset_value = OKC_API.G_MISS_NUM)
4714 THEN
4715 x_tqlv_rec.asset_value := l_tqlv_rec.asset_value;
4716 END IF;
4717 IF (x_tqlv_rec.residual_value = OKC_API.G_MISS_NUM)
4718 THEN
4719 x_tqlv_rec.residual_value := l_tqlv_rec.residual_value;
4720 END IF;
4721 IF (x_tqlv_rec.unbilled_receivables = OKC_API.G_MISS_NUM)
4722 THEN
4723 x_tqlv_rec.unbilled_receivables := l_tqlv_rec.unbilled_receivables;
4724 END IF;
4725 IF (x_tqlv_rec.asset_quantity = OKC_API.G_MISS_NUM)
4726 THEN
4727 x_tqlv_rec.asset_quantity := l_tqlv_rec.asset_quantity;
4728 END IF;
4729 IF (x_tqlv_rec.quote_quantity = OKC_API.G_MISS_NUM)
4730 THEN
4731 x_tqlv_rec.quote_quantity := l_tqlv_rec.quote_quantity;
4732 END IF;
4733 IF (x_tqlv_rec.split_kle_id = OKC_API.G_MISS_NUM)
4734 THEN
4735 x_tqlv_rec.split_kle_id := l_tqlv_rec.split_kle_id;
4736 END IF;
4737 -- RMUNJULU 2757312
4738 IF (x_tqlv_rec.split_kle_name = OKC_API.G_MISS_CHAR)
4739 THEN
4740 x_tqlv_rec.split_kle_name := l_tqlv_rec.split_kle_name;
4741 END IF;
4742 -- BAKUCHIB 2667636 Start
4743 IF (x_tqlv_rec.currency_code = OKC_API.G_MISS_CHAR)
4744 THEN
4745 x_tqlv_rec.currency_code := l_tqlv_rec.currency_code;
4746 END IF;
4747 IF (x_tqlv_rec.currency_conversion_code = OKC_API.G_MISS_CHAR)
4748 THEN
4749 x_tqlv_rec.currency_conversion_code := l_tqlv_rec.currency_conversion_code;
4750 END IF;
4751 IF (x_tqlv_rec.currency_conversion_type = OKC_API.G_MISS_CHAR)
4752 THEN
4753 x_tqlv_rec.currency_conversion_type := l_tqlv_rec.currency_conversion_type;
4754 END IF;
4755 IF (x_tqlv_rec.currency_conversion_rate = OKC_API.G_MISS_NUM)
4756 THEN
4757 x_tqlv_rec.currency_conversion_rate := l_tqlv_rec.currency_conversion_rate;
4758 END IF;
4759 IF (x_tqlv_rec.currency_conversion_date = OKC_API.G_MISS_DATE)
4760 THEN
4761 x_tqlv_rec.currency_conversion_date := l_tqlv_rec.currency_conversion_date;
4762 END IF;
4763 -- BAKUCHIB 2667636 End
4764 -- PAGARG Bug 4161133 start
4765 -- Populate new column due_date
4766 IF (x_tqlv_rec.due_date = OKL_API.G_MISS_DATE)
4767 THEN
4768 x_tqlv_rec.due_date := l_tqlv_rec.due_date;
4769 END IF;
4770 -- PAGARG Bug 4161133 end
4771 -- rmunjulu Sales_Tax_Enhancement
4772 IF (x_tqlv_rec.try_id = OKL_API.G_MISS_NUM)
4773 THEN
4774 x_tqlv_rec.try_id := l_tqlv_rec.try_id;
4775 END IF;
4776 RETURN(l_return_status);
4777 END populate_new_record;
4778 ----------------------------------------------
4779 -- Set_Attributes for:OKL_TXL_QUOTE_LINES_V --
4780 ----------------------------------------------
4781 FUNCTION Set_Attributes (
4782 p_tqlv_rec IN tqlv_rec_type,
4783 x_tqlv_rec OUT NOCOPY tqlv_rec_type
4784 ) RETURN VARCHAR2 IS
4785 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4786 BEGIN
4787 x_tqlv_rec := p_tqlv_rec;
4788 x_tqlv_rec.OBJECT_VERSION_NUMBER := NVL(x_tqlv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
4789 -- Default the YN columns if value not passed
4790 IF p_tqlv_rec.defaulted_yn IS NULL
4791 OR p_tqlv_rec.defaulted_yn = OKC_API.G_MISS_CHAR THEN
4792 x_tqlv_rec.defaulted_yn := 'N';
4793 END IF;
4794
4795 RETURN(l_return_status);
4796 END Set_Attributes;
4797 BEGIN
4798 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4799 G_PKG_NAME,
4800 p_init_msg_list,
4801 l_api_version,
4802 p_api_version,
4803 '_PVT',
4804 x_return_status);
4805 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4806 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4807 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4808 RAISE OKC_API.G_EXCEPTION_ERROR;
4809 END IF;
4810 --- Setting item attributes
4811 l_return_status := Set_Attributes(
4812 p_tqlv_rec, -- IN
4813 l_tqlv_rec); -- OUT
4814 --- If any errors happen abort API
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 l_return_status := populate_new_record(l_tqlv_rec, l_def_tqlv_rec);
4821 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4822 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4823 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4824 RAISE OKC_API.G_EXCEPTION_ERROR;
4825 END IF;
4826 l_def_tqlv_rec := fill_who_columns(l_def_tqlv_rec);
4827 --- Validate all non-missing attributes (Item Level Validation)
4828 l_return_status := Validate_Attributes(l_def_tqlv_rec);
4829 --- If any errors happen abort API
4830 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4831 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4832 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4833 RAISE OKC_API.G_EXCEPTION_ERROR;
4834 END IF;
4835 l_return_status := Validate_Record(l_def_tqlv_rec);
4836 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4837 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4838 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4839 RAISE OKC_API.G_EXCEPTION_ERROR;
4840 END IF;
4841
4842
4843 -- RMUNJULU 09-MAY-03 2949544 Added code to round
4844 -- the amount field before saving to table
4845 OKL_ACCOUNTING_UTIL.cross_currency_round_amount
4846 (p_api_version => p_api_version,
4847 p_init_msg_list => p_init_msg_list,
4848 x_return_status => l_return_status,
4849 x_msg_count => x_msg_count,
4850 x_msg_data => x_msg_data,
4851 p_amount => l_def_tqlv_rec.amount,
4852 p_currency_code => l_def_tqlv_rec.currency_code,
4853 x_rounded_amount => l_rounded_amount);
4854
4855 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4856 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4857 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4858 RAISE OKC_API.G_EXCEPTION_ERROR;
4859 END IF;
4860
4861
4862 l_def_tqlv_rec.amount := l_rounded_amount;
4863
4864
4865 --------------------------------------
4866 -- Move VIEW record to "Child" records
4867 --------------------------------------
4868 migrate(l_def_tqlv_rec, l_okl_txl_quote_lines_tl_rec);
4869 migrate(l_def_tqlv_rec, l_tql_rec);
4870 --------------------------------------------
4871 -- Call the UPDATE_ROW for each child record
4872 --------------------------------------------
4873 update_row(
4874 p_init_msg_list,
4875 x_return_status,
4876 x_msg_count,
4877 x_msg_data,
4878 l_okl_txl_quote_lines_tl_rec,
4879 lx_okl_txl_quote_lines_tl_rec
4880 );
4881 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4882 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4883 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4884 RAISE OKC_API.G_EXCEPTION_ERROR;
4885 END IF;
4886 migrate(lx_okl_txl_quote_lines_tl_rec, l_def_tqlv_rec);
4887 update_row(
4888 p_init_msg_list,
4889 x_return_status,
4890 x_msg_count,
4891 x_msg_data,
4892 l_tql_rec,
4893 lx_tql_rec
4894 );
4895 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4896 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4897 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
4898 RAISE OKC_API.G_EXCEPTION_ERROR;
4899 END IF;
4900 migrate(lx_tql_rec, l_def_tqlv_rec);
4901 x_tqlv_rec := l_def_tqlv_rec;
4902 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4903 EXCEPTION
4904 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4905 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4906 (
4907 l_api_name,
4908 G_PKG_NAME,
4909 'OKC_API.G_RET_STS_ERROR',
4910 x_msg_count,
4911 x_msg_data,
4912 '_PVT'
4913 );
4914 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
4920 x_msg_count,
4921 x_msg_data,
4922 '_PVT'
4923 );
4924 WHEN OTHERS THEN
4925 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
4926 (
4927 l_api_name,
4928 G_PKG_NAME,
4929 'OTHERS',
4930 x_msg_count,
4931 x_msg_data,
4932 '_PVT'
4933 );
4934 END update_row;
4935 ----------------------------------------
4936 -- PL/SQL TBL update_row for:TQLV_TBL --
4937 ----------------------------------------
4938 PROCEDURE update_row(
4939 p_api_version IN NUMBER,
4940 p_init_msg_list IN VARCHAR2,
4941 x_return_status OUT NOCOPY VARCHAR2,
4942 x_msg_count OUT NOCOPY NUMBER,
4943 x_msg_data OUT NOCOPY VARCHAR2,
4944 p_tqlv_tbl IN tqlv_tbl_type,
4945 x_tqlv_tbl OUT NOCOPY tqlv_tbl_type) IS
4946
4947 l_api_version CONSTANT NUMBER := 1;
4948 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
4949 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4950 i NUMBER := 0;
4951 -- Begin Post-Generation Change
4952 -- overall error status
4953 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4954 -- End Post-Generation Change
4955 BEGIN
4956 OKC_API.init_msg_list(p_init_msg_list);
4957 -- Make sure PL/SQL table has records in it before passing
4958 IF (p_tqlv_tbl.COUNT > 0) THEN
4959 i := p_tqlv_tbl.FIRST;
4960 LOOP
4961 update_row (
4962 p_api_version => p_api_version,
4963 p_init_msg_list => OKC_API.G_FALSE,
4964 x_return_status => x_return_status,
4965 x_msg_count => x_msg_count,
4966 x_msg_data => x_msg_data,
4967 p_tqlv_rec => p_tqlv_tbl(i),
4968 x_tqlv_rec => x_tqlv_tbl(i));
4969 -- Begin Post-Generation Change
4970 -- store the highest degree of error
4971 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
4972 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
4973 l_overall_status := x_return_status;
4974 END IF;
4975 END IF;
4976 -- End Post-Generation Change
4977 EXIT WHEN (i = p_tqlv_tbl.LAST);
4978 i := p_tqlv_tbl.NEXT(i);
4979 END LOOP;
4980 -- Begin Post-Generation Change
4981 -- return overall status
4982 x_return_status := l_overall_status;
4983 -- End Post-Generation Change
4984 END IF;
4985 EXCEPTION
4986 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4987 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4988 (
4989 l_api_name,
4990 G_PKG_NAME,
4991 'OKC_API.G_RET_STS_ERROR',
4992 x_msg_count,
4993 x_msg_data,
4994 '_PVT'
4995 );
4996 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5002 x_msg_count,
5003 x_msg_data,
5004 '_PVT'
5005 );
5006 WHEN OTHERS THEN
5007 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5008 (
5009 l_api_name,
5010 G_PKG_NAME,
5011 'OTHERS',
5012 x_msg_count,
5013 x_msg_data,
5014 '_PVT'
5015 );
5016 END update_row;
5017
5018 ---------------------------------------------------------------------------
5019 -- PROCEDURE delete_row
5020 ---------------------------------------------------------------------------
5021 ------------------------------------------
5022 -- delete_row for:OKL_TXL_QUOTE_LINES_B --
5023 ------------------------------------------
5024 PROCEDURE delete_row(
5025 p_init_msg_list IN VARCHAR2,
5026 x_return_status OUT NOCOPY VARCHAR2,
5027 x_msg_count OUT NOCOPY NUMBER,
5028 x_msg_data OUT NOCOPY VARCHAR2,
5029 p_tql_rec IN tql_rec_type) IS
5030
5031 l_api_version CONSTANT NUMBER := 1;
5032 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
5033 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5034 l_tql_rec tql_rec_type:= p_tql_rec;
5035 l_row_notfound BOOLEAN := TRUE;
5036 BEGIN
5037 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5038 p_init_msg_list,
5039 '_PVT',
5040 x_return_status);
5041 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5042 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5043 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5044 RAISE OKC_API.G_EXCEPTION_ERROR;
5045 END IF;
5046 DELETE FROM OKL_TXL_QUOTE_LINES_B
5047 WHERE ID = l_tql_rec.id;
5048
5049 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5050 EXCEPTION
5051 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5052 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5053 (
5054 l_api_name,
5055 G_PKG_NAME,
5056 'OKC_API.G_RET_STS_ERROR',
5057 x_msg_count,
5058 x_msg_data,
5059 '_PVT'
5060 );
5061 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5067 x_msg_count,
5068 x_msg_data,
5069 '_PVT'
5070 );
5071 WHEN OTHERS THEN
5072 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5073 (
5074 l_api_name,
5075 G_PKG_NAME,
5076 'OTHERS',
5077 x_msg_count,
5078 x_msg_data,
5079 '_PVT'
5080 );
5081 END delete_row;
5082 -------------------------------------------
5083 -- delete_row for:OKL_TXL_QUOTE_LINES_TL --
5084 -------------------------------------------
5085 PROCEDURE delete_row(
5086 p_init_msg_list IN VARCHAR2,
5087 x_return_status OUT NOCOPY VARCHAR2,
5088 x_msg_count OUT NOCOPY NUMBER,
5089 x_msg_data OUT NOCOPY VARCHAR2,
5090 p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType) IS
5091
5092 l_api_version CONSTANT NUMBER := 1;
5093 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
5094 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5095 l_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType:= p_okl_txl_quote_lines_tl_rec;
5096 l_row_notfound BOOLEAN := TRUE;
5097 -----------------------------------------------
5098 -- Set_Attributes for:OKL_TXL_QUOTE_LINES_TL --
5099 -----------------------------------------------
5100 FUNCTION Set_Attributes (
5101 p_okl_txl_quote_lines_tl_rec IN OklTxlQuoteLinesTlRecType,
5102 x_okl_txl_quote_lines_tl_rec OUT NOCOPY OklTxlQuoteLinesTlRecType
5103 ) RETURN VARCHAR2 IS
5104 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5105 BEGIN
5106 x_okl_txl_quote_lines_tl_rec := p_okl_txl_quote_lines_tl_rec;
5107 x_okl_txl_quote_lines_tl_rec.LANGUAGE := USERENV('LANG');
5108 RETURN(l_return_status);
5109 END Set_Attributes;
5110 BEGIN
5111 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5112 p_init_msg_list,
5113 '_PVT',
5114 x_return_status);
5115 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5116 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5117 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5118 RAISE OKC_API.G_EXCEPTION_ERROR;
5119 END IF;
5120 --- Setting item attributes
5121 l_return_status := Set_Attributes(
5122 p_okl_txl_quote_lines_tl_rec, -- IN
5123 l_okl_txl_quote_lines_tl_rec); -- OUT
5124 --- If any errors happen abort API
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 DELETE FROM OKL_TXL_QUOTE_LINES_TL
5131 WHERE ID = l_okl_txl_quote_lines_tl_rec.id;
5132
5133 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5134 EXCEPTION
5135 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5136 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5137 (
5138 l_api_name,
5139 G_PKG_NAME,
5140 'OKC_API.G_RET_STS_ERROR',
5141 x_msg_count,
5142 x_msg_data,
5143 '_PVT'
5144 );
5145 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5151 x_msg_count,
5152 x_msg_data,
5153 '_PVT'
5154 );
5155 WHEN OTHERS THEN
5156 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5157 (
5158 l_api_name,
5159 G_PKG_NAME,
5160 'OTHERS',
5161 x_msg_count,
5162 x_msg_data,
5163 '_PVT'
5164 );
5165 END delete_row;
5166 ------------------------------------------
5167 -- delete_row for:OKL_TXL_QUOTE_LINES_V --
5168 ------------------------------------------
5169 PROCEDURE delete_row(
5170 p_api_version IN NUMBER,
5171 p_init_msg_list IN VARCHAR2,
5172 x_return_status OUT NOCOPY VARCHAR2,
5173 x_msg_count OUT NOCOPY NUMBER,
5174 x_msg_data OUT NOCOPY VARCHAR2,
5175 p_tqlv_rec IN tqlv_rec_type) IS
5176
5177 l_api_version CONSTANT NUMBER := 1;
5178 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
5179 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5180 l_tqlv_rec tqlv_rec_type := p_tqlv_rec;
5181 l_okl_txl_quote_lines_tl_rec OklTxlQuoteLinesTlRecType;
5182 l_tql_rec tql_rec_type;
5183 BEGIN
5184 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5185 G_PKG_NAME,
5186 p_init_msg_list,
5187 l_api_version,
5188 p_api_version,
5189 '_PVT',
5190 x_return_status);
5191 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5192 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5193 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5194 RAISE OKC_API.G_EXCEPTION_ERROR;
5195 END IF;
5196 --------------------------------------
5197 -- Move VIEW record to "Child" records
5198 --------------------------------------
5199 migrate(l_tqlv_rec, l_okl_txl_quote_lines_tl_rec);
5200 migrate(l_tqlv_rec, l_tql_rec);
5201 --------------------------------------------
5202 -- Call the DELETE_ROW for each child record
5203 --------------------------------------------
5204 delete_row(
5205 p_init_msg_list,
5206 x_return_status,
5207 x_msg_count,
5208 x_msg_data,
5209 l_okl_txl_quote_lines_tl_rec
5210 );
5211 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5212 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5213 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5214 RAISE OKC_API.G_EXCEPTION_ERROR;
5215 END IF;
5216 delete_row(
5217 p_init_msg_list,
5218 x_return_status,
5219 x_msg_count,
5220 x_msg_data,
5221 l_tql_rec
5222 );
5223 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5224 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5225 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5226 RAISE OKC_API.G_EXCEPTION_ERROR;
5227 END IF;
5228 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5229 EXCEPTION
5230 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5231 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5232 (
5233 l_api_name,
5234 G_PKG_NAME,
5235 'OKC_API.G_RET_STS_ERROR',
5236 x_msg_count,
5237 x_msg_data,
5238 '_PVT'
5239 );
5240 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5246 x_msg_count,
5247 x_msg_data,
5248 '_PVT'
5249 );
5250 WHEN OTHERS THEN
5251 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5252 (
5253 l_api_name,
5254 G_PKG_NAME,
5255 'OTHERS',
5256 x_msg_count,
5257 x_msg_data,
5258 '_PVT'
5259 );
5260 END delete_row;
5261 ----------------------------------------
5262 -- PL/SQL TBL delete_row for:TQLV_TBL --
5263 ----------------------------------------
5264 PROCEDURE delete_row(
5265 p_api_version IN NUMBER,
5266 p_init_msg_list IN VARCHAR2,
5267 x_return_status OUT NOCOPY VARCHAR2,
5268 x_msg_count OUT NOCOPY NUMBER,
5269 x_msg_data OUT NOCOPY VARCHAR2,
5270 p_tqlv_tbl IN tqlv_tbl_type) IS
5271
5272 l_api_version CONSTANT NUMBER := 1;
5273 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
5274 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5275 i NUMBER := 0;
5276 -- Begin Post-Generation Change
5277 -- overall error status
5278 l_overall_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
5279 -- End Post-Generation Change
5280 BEGIN
5281 OKC_API.init_msg_list(p_init_msg_list);
5282 -- Make sure PL/SQL table has records in it before passing
5283 IF (p_tqlv_tbl.COUNT > 0) THEN
5284 i := p_tqlv_tbl.FIRST;
5285 LOOP
5286 delete_row (
5287 p_api_version => p_api_version,
5288 p_init_msg_list => OKC_API.G_FALSE,
5289 x_return_status => x_return_status,
5290 x_msg_count => x_msg_count,
5291 x_msg_data => x_msg_data,
5292 p_tqlv_rec => p_tqlv_tbl(i));
5293 -- Begin Post-Generation Change
5294 -- store the highest degree of error
5295 IF x_return_status <> OKL_API.G_RET_STS_SUCCESS THEN
5296 IF l_overall_status <> OKL_API.G_RET_STS_UNEXP_ERROR THEN
5297 l_overall_status := x_return_status;
5298 END IF;
5299 END IF;
5300 -- End Post-Generation Change
5301 EXIT WHEN (i = p_tqlv_tbl.LAST);
5302 i := p_tqlv_tbl.NEXT(i);
5303 END LOOP;
5304 -- Begin Post-Generation Change
5305 -- return overall status
5306 x_return_status := l_overall_status;
5307 -- End Post-Generation Change
5308 END IF;
5309 EXCEPTION
5310 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5311 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5312 (
5313 l_api_name,
5314 G_PKG_NAME,
5315 'OKC_API.G_RET_STS_ERROR',
5316 x_msg_count,
5317 x_msg_data,
5318 '_PVT'
5319 );
5320 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5326 x_msg_count,
5327 x_msg_data,
5328 '_PVT'
5329 );
5330 WHEN OTHERS THEN
5331 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
5332 (
5333 l_api_name,
5334 G_PKG_NAME,
5335 'OTHERS',
5336 x_msg_count,
5337 x_msg_data,
5338 '_PVT'
5339 );
5340 END delete_row;
5341
5342 END OKL_TQL_PVT;