[Home] [Help]
PACKAGE BODY: APPS.OKL_TEH_PVT
Source
1 PACKAGE BODY OKL_TEH_PVT AS
2 /* $Header: OKLSTEHB.pls 120.6 2007/12/21 12:46:50 rajnisku noship $ */
3 ---------------------------------------------------------------------------
4 -- PROCEDURE load_error_tbl
5 ---------------------------------------------------------------------------
6 PROCEDURE load_error_tbl (
7 px_error_rec IN OUT NOCOPY OKL_API.ERROR_REC_TYPE,
8 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
9
10 j INTEGER := NVL(px_error_tbl.LAST, 0) + 1;
11 last_msg_idx INTEGER := FND_MSG_PUB.COUNT_MSG;
12 l_msg_idx INTEGER := FND_MSG_PUB.G_NEXT;
13 BEGIN
14 -- FND_MSG_PUB has a small error in it. If we call FND_MSG_PUB.COUNT_AND_GET before
15 -- we call FND_MSG_PUB.GET, the variable FND_MSG_PUB uses to control the index of the
16 -- message stack gets set to 1. This makes sense until we call FND_MSG_PUB.GET which
17 -- automatically increments the index by 1, (making it 2), however, when the GET function
18 -- attempts to pull message 2, we get a NO_DATA_FOUND exception because there isn't any
19 -- message 2. To circumvent this problem, check the amount of messages and compensate.
20 -- Again, this error only occurs when 1 message is on the stack because COUNT_AND_GET
21 -- will only update the index variable when 1 and only 1 message is on the stack.
22 IF (last_msg_idx = 1) THEN
23 l_msg_idx := FND_MSG_PUB.G_FIRST;
24 END IF;
25 LOOP
26 fnd_msg_pub.get(
27 p_msg_index => l_msg_idx,
28 p_encoded => fnd_api.g_false,
29 p_data => px_error_rec.msg_data,
30 p_msg_index_out => px_error_rec.msg_count);
31 px_error_tbl(j) := px_error_rec;
32 j := j + 1;
33 EXIT WHEN (px_error_rec.msg_count = last_msg_idx);
34 END LOOP;
35 END load_error_tbl;
36 ---------------------------------------------------------------------------
37 -- FUNCTION find_highest_exception
38 ---------------------------------------------------------------------------
39 -- Finds the highest exception (G_RET_STS_UNEXP_ERROR)
40 -- in a OKL_API.ERROR_TBL_TYPE, and returns it.
41 FUNCTION find_highest_exception(
42 p_error_tbl IN OKL_API.ERROR_TBL_TYPE
43 ) RETURN VARCHAR2 IS
44 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
45 i INTEGER := 1;
46 BEGIN
47 IF (p_error_tbl.COUNT > 0) THEN
48 i := p_error_tbl.FIRST;
49 LOOP
50 IF (p_error_tbl(i).error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
51 IF (l_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
52 l_return_status := p_error_tbl(i).error_type;
53 END IF;
54 END IF;
55 EXIT WHEN (i = p_error_tbl.LAST);
56 i := p_error_tbl.NEXT(i);
57 END LOOP;
58 END IF;
59 RETURN(l_return_status);
60 END find_highest_exception;
61 ---------------------------------------------------------------------------
62 -- FUNCTION get_seq_id
63 ---------------------------------------------------------------------------
64 FUNCTION get_seq_id RETURN NUMBER IS
65 l_pk_value NUMBER;
66 CURSOR c_pk_csr IS SELECT okl_trx_extension_b_s.NEXTVAL FROM DUAL;
67 BEGIN
68 /* Fetch the pk value from the sequence */
69 OPEN c_pk_csr;
70 FETCH c_pk_csr INTO l_pk_value;
71 CLOSE c_pk_csr;
72 RETURN l_pk_value;
73 END get_seq_id;
74
75 ---------------------------------------------------------------------------
76 -- PROCEDURE qc
77 ---------------------------------------------------------------------------
78 PROCEDURE qc IS
79 BEGIN
80 null;
81 END qc;
82
83 ---------------------------------------------------------------------------
84 -- PROCEDURE change_version
85 ---------------------------------------------------------------------------
86 PROCEDURE change_version IS
87 BEGIN
88 null;
89 END change_version;
90
91 ---------------------------------------------------------------------------
92 -- PROCEDURE api_copy
93 ---------------------------------------------------------------------------
94 PROCEDURE api_copy IS
95 BEGIN
96 null;
97 END api_copy;
98
99 ---------------------------------------------------------------------------
100 -- PROCEDURE add_language
101 ---------------------------------------------------------------------------
102 PROCEDURE add_language IS
103 BEGIN
104 DELETE FROM OKL_TRX_EXTENSION_TL T
105 WHERE NOT EXISTS (
106 SELECT NULL
107 FROM OKL_TRX_EXTENSION_B B
108 WHERE B.HEADER_EXTENSION_ID =T.HEADER_EXTENSION_ID
109 );
110
111 UPDATE OKL_TRX_EXTENSION_TL T SET(
112 CONTRACT_STATUS,
113 INV_AGRMNT_STATUS,
114 CHR_OPERATING_UNIT_NAME,
115 TRANSACTION_TYPE_NAME) = (SELECT
116 B.CONTRACT_STATUS,
117 B.INV_AGRMNT_STATUS,
118 B.CHR_OPERATING_UNIT_NAME,
119 B.TRANSACTION_TYPE_NAME
120 FROM OKL_TRX_EXTENSION_TL B
121 WHERE B.HEADER_EXTENSION_ID = T.HEADER_EXTENSION_ID
122 AND B.LANGUAGE = T.SOURCE_LANG)
123 WHERE ( T.HEADER_EXTENSION_ID,
124 T.LANGUAGE)
125 IN (SELECT
126 SUBT.HEADER_EXTENSION_ID,
127 SUBT.LANGUAGE
128 FROM OKL_TRX_EXTENSION_TL SUBB, OKL_TRX_EXTENSION_TL SUBT
129 WHERE SUBB.HEADER_EXTENSION_ID = SUBT.HEADER_EXTENSION_ID
130 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
131 AND (SUBB.CONTRACT_STATUS <> SUBT.CONTRACT_STATUS
132 OR SUBB.INV_AGRMNT_STATUS <> SUBT.INV_AGRMNT_STATUS
133 OR SUBB.CHR_OPERATING_UNIT_NAME <> SUBT.CHR_OPERATING_UNIT_NAME
134 OR SUBB.TRANSACTION_TYPE_NAME <> SUBT.TRANSACTION_TYPE_NAME
135 OR (SUBB.CONTRACT_STATUS IS NULL AND SUBT.CONTRACT_STATUS IS NOT NULL)
136 OR (SUBB.INV_AGRMNT_STATUS IS NULL AND SUBT.INV_AGRMNT_STATUS IS NOT NULL)
137 OR (SUBB.CHR_OPERATING_UNIT_NAME IS NULL AND SUBT.CHR_OPERATING_UNIT_NAME IS NOT NULL)
138 OR (SUBB.TRANSACTION_TYPE_NAME IS NULL AND SUBT.TRANSACTION_TYPE_NAME IS NOT NULL)
139 ));
140
141 INSERT INTO OKL_TRX_EXTENSION_TL (
142 HEADER_EXTENSION_ID,
143 LANGUAGE,
144 SOURCE_LANG,
145 SFWT_FLAG,
146 CONTRACT_STATUS,
147 INV_AGRMNT_STATUS,
148 CHR_OPERATING_UNIT_NAME,
149 TRANSACTION_TYPE_NAME,
150 CREATED_BY,
151 CREATION_DATE,
152 LAST_UPDATED_BY,
153 LAST_UPDATE_DATE,
154 LAST_UPDATE_LOGIN)
155 SELECT
156 B.HEADER_EXTENSION_ID,
157 L.LANGUAGE_CODE,
158 B.SOURCE_LANG,
159 B.SFWT_FLAG,
160 B.CONTRACT_STATUS,
161 B.INV_AGRMNT_STATUS,
162 B.CHR_OPERATING_UNIT_NAME,
163 B.TRANSACTION_TYPE_NAME,
164 B.CREATED_BY,
165 B.CREATION_DATE,
166 B.LAST_UPDATED_BY,
167 B.LAST_UPDATE_DATE,
168 B.LAST_UPDATE_LOGIN
169 FROM OKL_TRX_EXTENSION_TL B, FND_LANGUAGES L
170 WHERE L.INSTALLED_FLAG IN ('I', 'B')
171 AND B.LANGUAGE = USERENV('LANG')
172 AND NOT EXISTS (
173 SELECT NULL
174 FROM OKL_TRX_EXTENSION_TL T
175 WHERE T.HEADER_EXTENSION_ID = B.HEADER_EXTENSION_ID
176 AND T.LANGUAGE = L.LANGUAGE_CODE
177 );
178 END add_language;
179
180 ---------------------------------------------------------------------------
181 -- FUNCTION get_rec for: OKL_TRX_EXTENSION_V
182 ---------------------------------------------------------------------------
183 FUNCTION get_rec (
184 p_tehv_rec IN tehv_rec_type,
185 x_no_data_found OUT NOCOPY BOOLEAN
186 ) RETURN tehv_rec_type IS
187 CURSOR okl_trx_extension_pk_csr (p_header_extension_id IN NUMBER) IS
188 SELECT
189 HEADER_EXTENSION_ID,
190 SOURCE_ID,
191 SOURCE_TABLE,
192 OBJECT_VERSION_NUMBER,
193 LANGUAGE,
194 CONTRACT_NUMBER,
195 INV_AGRMNT_NUMBER,
196 CONTRACT_CURRENCY_CODE,
197 INV_AGRMNT_CURRENCY_CODE,
198 CONTRACT_EFFECTIVE_FROM,
199 INV_AGRMNT_EFFECTIVE_FROM,
200 CUSTOMER_NAME,
201 SALES_REP_NAME,
202 CUSTOMER_ACCOUNT_NUMBER,
203 BILL_TO_ADDRESS_NUM,
204 INT_CALC_METHOD_CODE,
205 REV_REC_METHOD_CODE,
206 CONVERTED_NUMBER,
207 ASSIGNABLE_FLAG,
208 CREDIT_LINE_NUMBER,
209 MASTER_LEASE_NUMBER,
210 PO_ORDER_NUMBER,
211 VENDOR_PROGRAM_NUMBER,
212 INS_POLICY_TYPE_CODE,
213 INS_POLICY_NUMBER,
214 TERM_QUOTE_ACCEPT_DATE,
215 TERM_QUOTE_NUM,
216 TERM_QUOTE_TYPE_CODE,
217 CONVERTED_ACCOUNT_FLAG,
218 ACCRUAL_OVERRIDE_FLAG,
219 CUST_ATTRIBUTE_CATEGORY,
220 CUST_ATTRIBUTE1,
221 CUST_ATTRIBUTE2,
222 CUST_ATTRIBUTE3,
223 CUST_ATTRIBUTE4,
224 CUST_ATTRIBUTE5,
225 CUST_ATTRIBUTE6,
226 CUST_ATTRIBUTE7,
227 CUST_ATTRIBUTE8,
228 CUST_ATTRIBUTE9,
229 CUST_ATTRIBUTE10,
230 CUST_ATTRIBUTE11,
231 CUST_ATTRIBUTE12,
232 CUST_ATTRIBUTE13,
233 CUST_ATTRIBUTE14,
234 CUST_ATTRIBUTE15,
235 RENT_IA_CONTRACT_NUMBER,
236 RES_IA_CONTRACT_NUMBER,
237 INV_AGRMNT_POOL_NUMBER,
238 RENT_IA_PRODUCT_NAME,
239 RES_IA_PRODUCT_NAME,
240 RENT_IA_ACCOUNTING_CODE,
241 RES_IA_ACCOUNTING_CODE,
242 INV_AGRMNT_SYND_CODE,
243 CREATED_BY,
244 CREATION_DATE,
245 LAST_UPDATED_BY,
246 LAST_UPDATE_DATE,
247 LAST_UPDATE_LOGIN,
248 CONTRACT_STATUS,
249 INV_AGRMNT_STATUS,
250 CHR_OPERATING_UNIT_NAME,
251 TRANSACTION_TYPE_NAME,
252 CONTRACT_STATUS_CODE,
253 INV_AGRMNT_STATUS_CODE,
254 TRX_TYPE_CLASS_CODE,
255 CHR_OPERATING_UNIT_CODE,
256 PARTY_ID,
257 CUST_ACCOUNT_ID,
258 CUST_SITE_USE_ID
259 FROM Okl_Trx_Extension_V
260 WHERE okl_trx_extension_v.header_extension_id = p_header_extension_id;
261 l_okl_trx_extension_pk okl_trx_extension_pk_csr%ROWTYPE;
262 l_tehv_rec tehv_rec_type;
263 BEGIN
264 x_no_data_found := TRUE;
265 -- Get current database values
266 OPEN okl_trx_extension_pk_csr (p_tehv_rec.header_extension_id);
267 FETCH okl_trx_extension_pk_csr INTO
268 l_tehv_rec.header_extension_id,
269 l_tehv_rec.source_id,
270 l_tehv_rec.source_table,
271 l_tehv_rec.object_version_number,
272 l_tehv_rec.language,
273 l_tehv_rec.contract_number,
274 l_tehv_rec.inv_agrmnt_number,
275 l_tehv_rec.contract_currency_code,
276 l_tehv_rec.inv_agrmnt_currency_code,
277 l_tehv_rec.contract_effective_from,
278 l_tehv_rec.inv_agrmnt_effective_from,
279 l_tehv_rec.customer_name,
280 l_tehv_rec.sales_rep_name,
281 l_tehv_rec.customer_account_number,
282 l_tehv_rec.bill_to_address_num,
283 l_tehv_rec.int_calc_method_code,
284 l_tehv_rec.rev_rec_method_code,
285 l_tehv_rec.converted_number,
286 l_tehv_rec.assignable_flag,
287 l_tehv_rec.credit_line_number,
288 l_tehv_rec.master_lease_number,
289 l_tehv_rec.po_order_number,
290 l_tehv_rec.vendor_program_number,
291 l_tehv_rec.ins_policy_type_code,
292 l_tehv_rec.ins_policy_number,
293 l_tehv_rec.term_quote_accept_date,
294 l_tehv_rec.term_quote_num,
295 l_tehv_rec.term_quote_type_code,
296 l_tehv_rec.converted_account_flag,
297 l_tehv_rec.accrual_override_flag,
298 l_tehv_rec.cust_attribute_category,
299 l_tehv_rec.cust_attribute1,
300 l_tehv_rec.cust_attribute2,
301 l_tehv_rec.cust_attribute3,
302 l_tehv_rec.cust_attribute4,
303 l_tehv_rec.cust_attribute5,
304 l_tehv_rec.cust_attribute6,
305 l_tehv_rec.cust_attribute7,
306 l_tehv_rec.cust_attribute8,
307 l_tehv_rec.cust_attribute9,
308 l_tehv_rec.cust_attribute10,
309 l_tehv_rec.cust_attribute11,
310 l_tehv_rec.cust_attribute12,
311 l_tehv_rec.cust_attribute13,
312 l_tehv_rec.cust_attribute14,
313 l_tehv_rec.cust_attribute15,
314 l_tehv_rec.rent_ia_contract_number,
315 l_tehv_rec.res_ia_contract_number,
316 l_tehv_rec.inv_agrmnt_pool_number,
317 l_tehv_rec.rent_ia_product_name,
318 l_tehv_rec.res_ia_product_name,
319 l_tehv_rec.rent_ia_accounting_code,
320 l_tehv_rec.res_ia_accounting_code,
321 l_tehv_rec.inv_agrmnt_synd_code,
322 l_tehv_rec.created_by,
323 l_tehv_rec.creation_date,
324 l_tehv_rec.last_updated_by,
325 l_tehv_rec.last_update_date,
326 l_tehv_rec.last_update_login,
327 l_tehv_rec.contract_status,
328 l_tehv_rec.inv_agrmnt_status,
329 l_tehv_rec.chr_operating_unit_name,
330 l_tehv_rec.transaction_type_name,
331 l_tehv_rec.contract_status_code,
332 l_tehv_rec.inv_agrmnt_status_code,
333 l_tehv_rec.trx_type_class_code,
334 l_tehv_rec.chr_operating_unit_code,
335 l_tehv_rec.party_id ,
336 l_tehv_rec.cust_account_id,
337 l_tehv_rec.cust_site_use_id;
338 x_no_data_found := okl_trx_extension_pk_csr%NOTFOUND;
339 CLOSE okl_trx_extension_pk_csr;
340 RETURN(l_tehv_rec);
341 END get_rec;
342
343 ------------------------------------------------------------------
344 -- This version of get_rec sets error messages if no data found --
345 ------------------------------------------------------------------
346 FUNCTION get_rec (
347 p_tehv_rec IN tehv_rec_type,
348 x_return_status OUT NOCOPY VARCHAR2
349 ) RETURN tehv_rec_type IS
350 l_tehv_rec tehv_rec_type;
351 l_row_notfound BOOLEAN := TRUE;
352 BEGIN
353 x_return_status := OKL_API.G_RET_STS_SUCCESS;
354 l_tehv_rec := get_rec(p_tehv_rec, l_row_notfound);
355 IF (l_row_notfound) THEN
356 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'HEADER_EXTENSION_ID');
357 x_return_status := OKL_API.G_RET_STS_ERROR;
358 END IF;
359 RETURN(l_tehv_rec);
360 END get_rec;
361 -----------------------------------------------------------
362 -- So we don't have to pass an "l_row_notfound" variable --
363 -----------------------------------------------------------
364 FUNCTION get_rec (
365 p_tehv_rec IN tehv_rec_type
366 ) RETURN tehv_rec_type IS
367 l_row_not_found BOOLEAN := TRUE;
368 BEGIN
369 RETURN(get_rec(p_tehv_rec, l_row_not_found));
370 END get_rec;
371 ---------------------------------------------------------------------------
372 -- FUNCTION get_rec for: OKL_TRX_EXTENSION_B
373 ---------------------------------------------------------------------------
374 FUNCTION get_rec (
375 p_teh_rec IN teh_rec_type,
376 x_no_data_found OUT NOCOPY BOOLEAN
377 ) RETURN teh_rec_type IS
378 CURSOR okl_trx_extension_b_pk_csr (p_header_extension_id IN NUMBER) IS
379 SELECT
380 HEADER_EXTENSION_ID,
381 SOURCE_ID,
382 SOURCE_TABLE,
383 OBJECT_VERSION_NUMBER,
384 CONTRACT_NUMBER,
385 INV_AGRMNT_NUMBER,
386 CONTRACT_CURRENCY_CODE,
387 INV_AGRMNT_CURRENCY_CODE,
388 CONTRACT_EFFECTIVE_FROM,
389 INV_AGRMNT_EFFECTIVE_FROM,
390 CUSTOMER_NAME,
391 SALES_REP_NAME,
392 CUSTOMER_ACCOUNT_NUMBER,
393 BILL_TO_ADDRESS_NUM,
394 INT_CALC_METHOD_CODE,
395 REV_REC_METHOD_CODE,
396 CONVERTED_NUMBER,
397 ASSIGNABLE_FLAG,
398 CREDIT_LINE_NUMBER,
399 MASTER_LEASE_NUMBER,
400 PO_ORDER_NUMBER,
401 VENDOR_PROGRAM_NUMBER,
402 INS_POLICY_TYPE_CODE,
403 INS_POLICY_NUMBER,
404 TERM_QUOTE_ACCEPT_DATE,
405 TERM_QUOTE_NUM,
406 TERM_QUOTE_TYPE_CODE,
407 CONVERTED_ACCOUNT_FLAG,
408 ACCRUAL_OVERRIDE_FLAG,
409 CUST_ATTRIBUTE_CATEGORY,
410 CUST_ATTRIBUTE1,
411 CUST_ATTRIBUTE2,
412 CUST_ATTRIBUTE3,
413 CUST_ATTRIBUTE4,
414 CUST_ATTRIBUTE5,
415 CUST_ATTRIBUTE6,
416 CUST_ATTRIBUTE7,
417 CUST_ATTRIBUTE8,
418 CUST_ATTRIBUTE9,
419 CUST_ATTRIBUTE10,
420 CUST_ATTRIBUTE11,
421 CUST_ATTRIBUTE12,
422 CUST_ATTRIBUTE13,
423 CUST_ATTRIBUTE14,
424 CUST_ATTRIBUTE15,
425 RENT_IA_CONTRACT_NUMBER,
426 RES_IA_CONTRACT_NUMBER,
427 INV_AGRMNT_POOL_NUMBER,
428 RENT_IA_PRODUCT_NAME,
429 RES_IA_PRODUCT_NAME,
430 RENT_IA_ACCOUNTING_CODE,
431 RES_IA_ACCOUNTING_CODE,
432 INV_AGRMNT_SYND_CODE,
433 CREATED_BY,
434 CREATION_DATE,
435 LAST_UPDATED_BY,
436 LAST_UPDATE_DATE,
437 LAST_UPDATE_LOGIN,
438 CONTRACT_STATUS_CODE,
439 INV_AGRMNT_STATUS_CODE,
440 TRX_TYPE_CLASS_CODE,
441 CHR_OPERATING_UNIT_CODE,
442 PARTY_ID ,
443 CUST_ACCOUNT_ID,
444 CUST_SITE_USE_ID
445 FROM Okl_Trx_Extension_B
446 WHERE okl_trx_extension_b.header_extension_id = p_header_extension_id;
447 l_okl_trx_extension_b_pk okl_trx_extension_b_pk_csr%ROWTYPE;
448 l_teh_rec teh_rec_type;
449 BEGIN
450 x_no_data_found := TRUE;
451 -- Get current database values
452 OPEN okl_trx_extension_b_pk_csr (p_teh_rec.header_extension_id);
453 FETCH okl_trx_extension_b_pk_csr INTO
454 l_teh_rec.header_extension_id,
455 l_teh_rec.source_id,
456 l_teh_rec.source_table,
457 l_teh_rec.object_version_number,
458 l_teh_rec.contract_number,
459 l_teh_rec.inv_agrmnt_number,
460 l_teh_rec.contract_currency_code,
461 l_teh_rec.inv_agrmnt_currency_code,
462 l_teh_rec.contract_effective_from,
463 l_teh_rec.inv_agrmnt_effective_from,
464 l_teh_rec.customer_name,
465 l_teh_rec.sales_rep_name,
466 l_teh_rec.customer_account_number,
467 l_teh_rec.bill_to_address_num,
468 l_teh_rec.int_calc_method_code,
469 l_teh_rec.rev_rec_method_code,
470 l_teh_rec.converted_number,
471 l_teh_rec.assignable_flag,
472 l_teh_rec.credit_line_number,
473 l_teh_rec.master_lease_number,
474 l_teh_rec.po_order_number,
475 l_teh_rec.vendor_program_number,
476 l_teh_rec.ins_policy_type_code,
477 l_teh_rec.ins_policy_number,
478 l_teh_rec.term_quote_accept_date,
479 l_teh_rec.term_quote_num,
480 l_teh_rec.term_quote_type_code,
481 l_teh_rec.converted_account_flag,
482 l_teh_rec.accrual_override_flag,
483 l_teh_rec.cust_attribute_category,
484 l_teh_rec.cust_attribute1,
485 l_teh_rec.cust_attribute2,
486 l_teh_rec.cust_attribute3,
487 l_teh_rec.cust_attribute4,
488 l_teh_rec.cust_attribute5,
489 l_teh_rec.cust_attribute6,
490 l_teh_rec.cust_attribute7,
491 l_teh_rec.cust_attribute8,
492 l_teh_rec.cust_attribute9,
493 l_teh_rec.cust_attribute10,
494 l_teh_rec.cust_attribute11,
495 l_teh_rec.cust_attribute12,
496 l_teh_rec.cust_attribute13,
497 l_teh_rec.cust_attribute14,
498 l_teh_rec.cust_attribute15,
499 l_teh_rec.rent_ia_contract_number,
500 l_teh_rec.res_ia_contract_number,
501 l_teh_rec.inv_agrmnt_pool_number,
502 l_teh_rec.rent_ia_product_name,
503 l_teh_rec.res_ia_product_name,
504 l_teh_rec.rent_ia_accounting_code,
505 l_teh_rec.res_ia_accounting_code,
506 l_teh_rec.inv_agrmnt_synd_code,
507 l_teh_rec.created_by,
508 l_teh_rec.creation_date,
509 l_teh_rec.last_updated_by,
510 l_teh_rec.last_update_date,
511 l_teh_rec.last_update_login,
512 l_teh_rec.contract_status_code,
513 l_teh_rec.inv_agrmnt_status_code,
514 l_teh_rec.trx_type_class_code,
515 l_teh_rec.chr_operating_unit_code,
516 l_teh_rec.party_id ,
517 l_teh_rec.cust_account_id,
518 l_teh_rec.cust_site_use_id;
519 x_no_data_found := okl_trx_extension_b_pk_csr%NOTFOUND;
520 CLOSE okl_trx_extension_b_pk_csr;
521 RETURN(l_teh_rec);
522 END get_rec;
523
524 ------------------------------------------------------------------
525 -- This version of get_rec sets error messages if no data found --
526 ------------------------------------------------------------------
527 FUNCTION get_rec (
528 p_teh_rec IN teh_rec_type,
529 x_return_status OUT NOCOPY VARCHAR2
530 ) RETURN teh_rec_type IS
531 l_teh_rec teh_rec_type;
532 l_row_notfound BOOLEAN := TRUE;
533 BEGIN
534 x_return_status := OKL_API.G_RET_STS_SUCCESS;
535 l_teh_rec := get_rec(p_teh_rec, l_row_notfound);
536 IF (l_row_notfound) THEN
537 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'HEADER_EXTENSION_ID');
538 x_return_status := OKL_API.G_RET_STS_ERROR;
539 END IF;
540 RETURN(l_teh_rec);
541 END get_rec;
542 -----------------------------------------------------------
543 -- So we don't have to pass an "l_row_notfound" variable --
544 -----------------------------------------------------------
545 FUNCTION get_rec (
546 p_teh_rec IN teh_rec_type
547 ) RETURN teh_rec_type IS
548 l_row_not_found BOOLEAN := TRUE;
549 BEGIN
550 RETURN(get_rec(p_teh_rec, l_row_not_found));
551 END get_rec;
552 ---------------------------------------------------------------------------
553 -- FUNCTION get_rec for: OKL_TRX_EXTENSION_TL
554 ---------------------------------------------------------------------------
555 FUNCTION get_rec (
556 p_tehl_rec IN tehl_rec_type,
557 x_no_data_found OUT NOCOPY BOOLEAN
558 ) RETURN tehl_rec_type IS
559 CURSOR okl_trx_extension_tl_pk_csr (p_header_extension_id IN NUMBER,
560 p_language IN VARCHAR2) IS
561 SELECT
562 HEADER_EXTENSION_ID,
563 LANGUAGE,
564 SOURCE_LANG,
565 SFWT_FLAG,
566 CONTRACT_STATUS,
567 INV_AGRMNT_STATUS,
568 CHR_OPERATING_UNIT_NAME,
569 TRANSACTION_TYPE_NAME,
570 CREATED_BY,
571 CREATION_DATE,
572 LAST_UPDATED_BY,
573 LAST_UPDATE_DATE,
574 LAST_UPDATE_LOGIN
575 FROM Okl_Trx_Extension_Tl
576 WHERE okl_trx_extension_tl.header_extension_id = p_header_extension_id
577 AND okl_trx_extension_tl.language = p_language;
578 l_okl_trx_extension_tl_pk okl_trx_extension_tl_pk_csr%ROWTYPE;
579 l_tehl_rec tehl_rec_type;
580 BEGIN
581 x_no_data_found := TRUE;
582 -- Get current database values
583 OPEN okl_trx_extension_tl_pk_csr (p_tehl_rec.header_extension_id,
584 p_tehl_rec.language);
585 FETCH okl_trx_extension_tl_pk_csr INTO
586 l_tehl_rec.header_extension_id,
587 l_tehl_rec.language,
588 l_tehl_rec.source_lang,
589 l_tehl_rec.sfwt_flag,
590 l_tehl_rec.contract_status,
591 l_tehl_rec.inv_agrmnt_status,
592 l_tehl_rec.chr_operating_unit_name,
593 l_tehl_rec.transaction_type_name,
594 l_tehl_rec.created_by,
595 l_tehl_rec.creation_date,
596 l_tehl_rec.last_updated_by,
597 l_tehl_rec.last_update_date,
598 l_tehl_rec.last_update_login;
599 x_no_data_found := okl_trx_extension_tl_pk_csr%NOTFOUND;
600 CLOSE okl_trx_extension_tl_pk_csr;
601 RETURN(l_tehl_rec);
602 END get_rec;
603
604 ------------------------------------------------------------------
605 -- This version of get_rec sets error messages if no data found --
606 ------------------------------------------------------------------
607 FUNCTION get_rec (
608 p_tehl_rec IN tehl_rec_type,
609 x_return_status OUT NOCOPY VARCHAR2
610 ) RETURN tehl_rec_type IS
611 l_tehl_rec tehl_rec_type;
612 l_row_notfound BOOLEAN := TRUE;
613 BEGIN
614 x_return_status := OKL_API.G_RET_STS_SUCCESS;
615 l_tehl_rec := get_rec(p_tehl_rec, l_row_notfound);
616 IF (l_row_notfound) THEN
617 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'HEADER_EXTENSION_ID');
618 OKL_API.set_message(G_APP_NAME,G_INVALID_VALUE,G_COL_NAME_TOKEN,'LANGUAGE');
619 x_return_status := OKL_API.G_RET_STS_ERROR;
620 END IF;
621 RETURN(l_tehl_rec);
622 END get_rec;
623 -----------------------------------------------------------
624 -- So we don't have to pass an "l_row_notfound" variable --
625 -----------------------------------------------------------
626 FUNCTION get_rec (
627 p_tehl_rec IN tehl_rec_type
628 ) RETURN tehl_rec_type IS
629 l_row_not_found BOOLEAN := TRUE;
630 BEGIN
631 RETURN(get_rec(p_tehl_rec, l_row_not_found));
632 END get_rec;
633 ---------------------------------------------------------------------------
634 -- FUNCTION null_out_defaults for: OKL_TRX_EXTENSION_V
635 ---------------------------------------------------------------------------
636 FUNCTION null_out_defaults (
637 p_tehv_rec IN tehv_rec_type
638 ) RETURN tehv_rec_type IS
639 l_tehv_rec tehv_rec_type := p_tehv_rec;
640 BEGIN
641 IF (l_tehv_rec.header_extension_id = OKL_API.G_MISS_NUM ) THEN
642 l_tehv_rec.header_extension_id := NULL;
643 END IF;
644 IF (l_tehv_rec.source_id = OKL_API.G_MISS_NUM ) THEN
645 l_tehv_rec.source_id := NULL;
646 END IF;
647 IF (l_tehv_rec.source_table = OKL_API.G_MISS_CHAR ) THEN
648 l_tehv_rec.source_table := NULL;
649 END IF;
650 IF (l_tehv_rec.object_version_number = OKL_API.G_MISS_NUM ) THEN
651 l_tehv_rec.object_version_number := NULL;
652 END IF;
653 IF (l_tehv_rec.language = OKL_API.G_MISS_CHAR ) THEN
654 l_tehv_rec.language := NULL;
655 END IF;
656 IF (l_tehv_rec.contract_number = OKL_API.G_MISS_CHAR ) THEN
657 l_tehv_rec.contract_number := NULL;
658 END IF;
659 IF (l_tehv_rec.inv_agrmnt_number = OKL_API.G_MISS_CHAR ) THEN
660 l_tehv_rec.inv_agrmnt_number := NULL;
661 END IF;
662 IF (l_tehv_rec.contract_currency_code = OKL_API.G_MISS_CHAR ) THEN
663 l_tehv_rec.contract_currency_code := NULL;
664 END IF;
665 IF (l_tehv_rec.inv_agrmnt_currency_code = OKL_API.G_MISS_CHAR ) THEN
666 l_tehv_rec.inv_agrmnt_currency_code := NULL;
667 END IF;
668 IF (l_tehv_rec.contract_effective_from = OKL_API.G_MISS_DATE ) THEN
669 l_tehv_rec.contract_effective_from := NULL;
670 END IF;
671 IF (l_tehv_rec.inv_agrmnt_effective_from = OKL_API.G_MISS_DATE ) THEN
672 l_tehv_rec.inv_agrmnt_effective_from := NULL;
673 END IF;
674 IF (l_tehv_rec.customer_name = OKL_API.G_MISS_CHAR ) THEN
675 l_tehv_rec.customer_name := NULL;
676 END IF;
677 IF (l_tehv_rec.sales_rep_name = OKL_API.G_MISS_CHAR ) THEN
678 l_tehv_rec.sales_rep_name := NULL;
679 END IF;
680 IF (l_tehv_rec.customer_account_number = OKL_API.G_MISS_CHAR ) THEN
681 l_tehv_rec.customer_account_number := NULL;
682 END IF;
683 IF (l_tehv_rec.bill_to_address_num = OKL_API.G_MISS_NUM ) THEN
684 l_tehv_rec.bill_to_address_num := NULL;
685 END IF;
686 IF (l_tehv_rec.int_calc_method_code = OKL_API.G_MISS_CHAR ) THEN
687 l_tehv_rec.int_calc_method_code := NULL;
688 END IF;
689 IF (l_tehv_rec.rev_rec_method_code = OKL_API.G_MISS_CHAR ) THEN
690 l_tehv_rec.rev_rec_method_code := NULL;
691 END IF;
692 IF (l_tehv_rec.converted_number = OKL_API.G_MISS_CHAR ) THEN
693 l_tehv_rec.converted_number := NULL;
694 END IF;
695 IF (l_tehv_rec.assignable_flag = OKL_API.G_MISS_CHAR ) THEN
696 l_tehv_rec.assignable_flag := NULL;
697 END IF;
698 IF (l_tehv_rec.credit_line_number = OKL_API.G_MISS_CHAR ) THEN
699 l_tehv_rec.credit_line_number := NULL;
700 END IF;
701 IF (l_tehv_rec.master_lease_number = OKL_API.G_MISS_CHAR ) THEN
702 l_tehv_rec.master_lease_number := NULL;
703 END IF;
704 IF (l_tehv_rec.po_order_number = OKL_API.G_MISS_CHAR ) THEN
705 l_tehv_rec.po_order_number := NULL;
706 END IF;
707 IF (l_tehv_rec.vendor_program_number = OKL_API.G_MISS_CHAR ) THEN
708 l_tehv_rec.vendor_program_number := NULL;
709 END IF;
710 IF (l_tehv_rec.ins_policy_type_code = OKL_API.G_MISS_CHAR ) THEN
711 l_tehv_rec.ins_policy_type_code := NULL;
712 END IF;
713 IF (l_tehv_rec.ins_policy_number = OKL_API.G_MISS_CHAR ) THEN
714 l_tehv_rec.ins_policy_number := NULL;
715 END IF;
716 IF (l_tehv_rec.term_quote_accept_date = OKL_API.G_MISS_DATE ) THEN
717 l_tehv_rec.term_quote_accept_date := NULL;
718 END IF;
719 IF (l_tehv_rec.term_quote_num = OKL_API.G_MISS_NUM ) THEN
720 l_tehv_rec.term_quote_num := NULL;
721 END IF;
722 IF (l_tehv_rec.term_quote_type_code = OKL_API.G_MISS_CHAR ) THEN
723 l_tehv_rec.term_quote_type_code := NULL;
724 END IF;
725 IF (l_tehv_rec.converted_account_flag = OKL_API.G_MISS_CHAR ) THEN
726 l_tehv_rec.converted_account_flag := NULL;
727 END IF;
728 IF (l_tehv_rec.accrual_override_flag = OKL_API.G_MISS_CHAR ) THEN
729 l_tehv_rec.accrual_override_flag := NULL;
730 END IF;
731 IF (l_tehv_rec.cust_attribute_category = OKL_API.G_MISS_CHAR ) THEN
732 l_tehv_rec.cust_attribute_category := NULL;
733 END IF;
734 IF (l_tehv_rec.cust_attribute1 = OKL_API.G_MISS_CHAR ) THEN
735 l_tehv_rec.cust_attribute1 := NULL;
736 END IF;
737 IF (l_tehv_rec.cust_attribute2 = OKL_API.G_MISS_CHAR ) THEN
738 l_tehv_rec.cust_attribute2 := NULL;
739 END IF;
740 IF (l_tehv_rec.cust_attribute3 = OKL_API.G_MISS_CHAR ) THEN
741 l_tehv_rec.cust_attribute3 := NULL;
742 END IF;
743 IF (l_tehv_rec.cust_attribute4 = OKL_API.G_MISS_CHAR ) THEN
744 l_tehv_rec.cust_attribute4 := NULL;
745 END IF;
746 IF (l_tehv_rec.cust_attribute5 = OKL_API.G_MISS_CHAR ) THEN
747 l_tehv_rec.cust_attribute5 := NULL;
748 END IF;
749 IF (l_tehv_rec.cust_attribute6 = OKL_API.G_MISS_CHAR ) THEN
750 l_tehv_rec.cust_attribute6 := NULL;
751 END IF;
752 IF (l_tehv_rec.cust_attribute7 = OKL_API.G_MISS_CHAR ) THEN
753 l_tehv_rec.cust_attribute7 := NULL;
754 END IF;
755 IF (l_tehv_rec.cust_attribute8 = OKL_API.G_MISS_CHAR ) THEN
756 l_tehv_rec.cust_attribute8 := NULL;
757 END IF;
758 IF (l_tehv_rec.cust_attribute9 = OKL_API.G_MISS_CHAR ) THEN
759 l_tehv_rec.cust_attribute9 := NULL;
760 END IF;
761 IF (l_tehv_rec.cust_attribute10 = OKL_API.G_MISS_CHAR ) THEN
762 l_tehv_rec.cust_attribute10 := NULL;
763 END IF;
764 IF (l_tehv_rec.cust_attribute11 = OKL_API.G_MISS_CHAR ) THEN
765 l_tehv_rec.cust_attribute11 := NULL;
766 END IF;
767 IF (l_tehv_rec.cust_attribute12 = OKL_API.G_MISS_CHAR ) THEN
768 l_tehv_rec.cust_attribute12 := NULL;
769 END IF;
770 IF (l_tehv_rec.cust_attribute13 = OKL_API.G_MISS_CHAR ) THEN
771 l_tehv_rec.cust_attribute13 := NULL;
772 END IF;
773 IF (l_tehv_rec.cust_attribute14 = OKL_API.G_MISS_CHAR ) THEN
774 l_tehv_rec.cust_attribute14 := NULL;
775 END IF;
776 IF (l_tehv_rec.cust_attribute15 = OKL_API.G_MISS_CHAR ) THEN
777 l_tehv_rec.cust_attribute15 := NULL;
778 END IF;
779 IF (l_tehv_rec.rent_ia_contract_number = OKL_API.G_MISS_CHAR ) THEN
780 l_tehv_rec.rent_ia_contract_number := NULL;
781 END IF;
782 IF (l_tehv_rec.res_ia_contract_number = OKL_API.G_MISS_CHAR ) THEN
783 l_tehv_rec.res_ia_contract_number := NULL;
784 END IF;
785 IF (l_tehv_rec.inv_agrmnt_pool_number = OKL_API.G_MISS_CHAR ) THEN
786 l_tehv_rec.inv_agrmnt_pool_number := NULL;
787 END IF;
788 IF (l_tehv_rec.rent_ia_product_name = OKL_API.G_MISS_CHAR ) THEN
789 l_tehv_rec.rent_ia_product_name := NULL;
790 END IF;
791 IF (l_tehv_rec.res_ia_product_name = OKL_API.G_MISS_CHAR ) THEN
792 l_tehv_rec.res_ia_product_name := NULL;
793 END IF;
794 IF (l_tehv_rec.rent_ia_accounting_code = OKL_API.G_MISS_CHAR ) THEN
795 l_tehv_rec.rent_ia_accounting_code := NULL;
796 END IF;
797 IF (l_tehv_rec.res_ia_accounting_code = OKL_API.G_MISS_CHAR ) THEN
798 l_tehv_rec.res_ia_accounting_code := NULL;
799 END IF;
800 IF (l_tehv_rec.inv_agrmnt_synd_code = OKL_API.G_MISS_CHAR ) THEN
801 l_tehv_rec.inv_agrmnt_synd_code := NULL;
802 END IF;
803 IF (l_tehv_rec.created_by = OKL_API.G_MISS_NUM ) THEN
804 l_tehv_rec.created_by := NULL;
805 END IF;
806 IF (l_tehv_rec.creation_date = OKL_API.G_MISS_DATE ) THEN
807 l_tehv_rec.creation_date := NULL;
808 END IF;
809 IF (l_tehv_rec.last_updated_by = OKL_API.G_MISS_NUM ) THEN
810 l_tehv_rec.last_updated_by := NULL;
811 END IF;
812 IF (l_tehv_rec.last_update_date = OKL_API.G_MISS_DATE ) THEN
813 l_tehv_rec.last_update_date := NULL;
814 END IF;
815 IF (l_tehv_rec.last_update_login = OKL_API.G_MISS_NUM ) THEN
816 l_tehv_rec.last_update_login := NULL;
817 END IF;
818 IF (l_tehv_rec.contract_status = OKL_API.G_MISS_CHAR ) THEN
819 l_tehv_rec.contract_status := NULL;
820 END IF;
821 IF (l_tehv_rec.inv_agrmnt_status = OKL_API.G_MISS_CHAR ) THEN
822 l_tehv_rec.inv_agrmnt_status := NULL;
823 END IF;
824 IF (l_tehv_rec.chr_operating_unit_name = OKL_API.G_MISS_CHAR ) THEN
825 l_tehv_rec.chr_operating_unit_name := NULL;
826 END IF;
827 IF (l_tehv_rec.transaction_type_name = OKL_API.G_MISS_CHAR ) THEN
828 l_tehv_rec.transaction_type_name := NULL;
829 END IF;
830 IF (l_tehv_rec.contract_status_code = OKL_API.G_MISS_CHAR ) THEN
831 l_tehv_rec.contract_status_code := NULL;
832 END IF;
833 IF (l_tehv_rec.inv_agrmnt_status_code = OKL_API.G_MISS_CHAR ) THEN
834 l_tehv_rec.inv_agrmnt_status_code := NULL;
835 END IF;
836 IF (l_tehv_rec.trx_type_class_code = OKL_API.G_MISS_CHAR ) THEN
837 l_tehv_rec.trx_type_class_code := NULL;
838 END IF;
839 IF (l_tehv_rec.chr_operating_unit_code = OKL_API.G_MISS_CHAR ) THEN
840 l_tehv_rec.chr_operating_unit_code := NULL;
841 END IF;
842 IF (l_tehv_rec.party_id = OKL_API.G_MISS_NUM ) THEN
843 l_tehv_rec.party_id:= NULL;
844 END IF;
845 IF (l_tehv_rec.cust_account_id = OKL_API.G_MISS_NUM ) THEN
846 l_tehv_rec.cust_account_id := NULL;
847 END IF;
848 IF (l_tehv_rec.cust_site_use_id = OKL_API.G_MISS_NUM ) THEN
849 l_tehv_rec.cust_site_use_id := NULL;
850 END IF;
851 RETURN(l_tehv_rec);
852 END null_out_defaults;
853 --------------------------------------------------
854 -- Validate_Attributes for: HEADER_EXTENSION_ID --
855 --------------------------------------------------
856 PROCEDURE validate_header_extension_id(
857 x_return_status OUT NOCOPY VARCHAR2,
858 p_header_extension_id IN NUMBER) IS
859 BEGIN
860 x_return_status := OKL_API.G_RET_STS_SUCCESS;
861 IF (p_header_extension_id IS NULL) THEN
862 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'header_extension_id');
863 x_return_status := OKL_API.G_RET_STS_ERROR;
864 RAISE G_EXCEPTION_HALT_VALIDATION;
865 END IF;
866 EXCEPTION
867 WHEN G_EXCEPTION_HALT_VALIDATION THEN
868 null;
869 WHEN OTHERS THEN
870 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
871 ,p_msg_name => G_UNEXPECTED_ERROR
872 ,p_token1 => G_SQLCODE_TOKEN
873 ,p_token1_value => SQLCODE
874 ,p_token2 => G_SQLERRM_TOKEN
875 ,p_token2_value => SQLERRM);
876 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
877 END validate_header_extension_id;
878 ----------------------------------------
879 -- Validate_Attributes for: SOURCE_ID --
880 ----------------------------------------
881 PROCEDURE validate_source_id(
882 x_return_status OUT NOCOPY VARCHAR2,
883 p_source_id IN NUMBER) IS
884 BEGIN
885 x_return_status := OKL_API.G_RET_STS_SUCCESS;
886 IF (p_source_id IS NULL) THEN
887 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'source_id');
888 x_return_status := OKL_API.G_RET_STS_ERROR;
889 RAISE G_EXCEPTION_HALT_VALIDATION;
890 END IF;
891 EXCEPTION
892 WHEN G_EXCEPTION_HALT_VALIDATION THEN
893 null;
894 WHEN OTHERS THEN
895 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
896 ,p_msg_name => G_UNEXPECTED_ERROR
897 ,p_token1 => G_SQLCODE_TOKEN
898 ,p_token1_value => SQLCODE
899 ,p_token2 => G_SQLERRM_TOKEN
900 ,p_token2_value => SQLERRM);
901 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
902 END validate_source_id;
903 ----------------------------------------------------
904 -- Validate_Attributes for: OBJECT_VERSION_NUMBER --
905 ----------------------------------------------------
906 PROCEDURE validate_object_version_number(
907 x_return_status OUT NOCOPY VARCHAR2,
908 p_object_version_number IN NUMBER) IS
909 BEGIN
910 x_return_status := OKL_API.G_RET_STS_SUCCESS;
911 IF (p_object_version_number IS NULL) THEN
912 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'object_version_number');
913 x_return_status := OKL_API.G_RET_STS_ERROR;
914 RAISE G_EXCEPTION_HALT_VALIDATION;
915 END IF;
916 EXCEPTION
917 WHEN G_EXCEPTION_HALT_VALIDATION THEN
918 null;
919 WHEN OTHERS THEN
920 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
921 ,p_msg_name => G_UNEXPECTED_ERROR
922 ,p_token1 => G_SQLCODE_TOKEN
923 ,p_token1_value => SQLCODE
924 ,p_token2 => G_SQLERRM_TOKEN
925 ,p_token2_value => SQLERRM);
926 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
927 END validate_object_version_number;
928 ---------------------------------------
929 -- Validate_Attributes for: LANGUAGE --
930 ---------------------------------------
931 PROCEDURE validate_language(
932 x_return_status OUT NOCOPY VARCHAR2,
933 p_language IN VARCHAR2) IS
934 BEGIN
935 x_return_status := OKL_API.G_RET_STS_SUCCESS;
936 IF (p_language IS NULL) THEN
937 OKL_API.set_message(G_APP_NAME, G_REQUIRED_VALUE, G_COL_NAME_TOKEN, 'language');
938 x_return_status := OKL_API.G_RET_STS_ERROR;
939 RAISE G_EXCEPTION_HALT_VALIDATION;
940 END IF;
941 EXCEPTION
942 WHEN G_EXCEPTION_HALT_VALIDATION THEN
943 null;
944 WHEN OTHERS THEN
945 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
946 ,p_msg_name => G_UNEXPECTED_ERROR
947 ,p_token1 => G_SQLCODE_TOKEN
948 ,p_token1_value => SQLCODE
949 ,p_token2 => G_SQLERRM_TOKEN
950 ,p_token2_value => SQLERRM);
951 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
952 END validate_language;
953 ----------------------------------------------------
954 -- Validate_Attributes for: party_id --
955 ----------------------------------------------------
956 PROCEDURE validate_party(
957 x_return_status OUT NOCOPY VARCHAR2,
958 p_party_id IN NUMBER) IS
959 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
960 l_party_id VARCHAR2(1);
961 l_row_not_found BOOLEAN := FALSE;
962 CURSOR c1(p_party_id NUMBER) IS
963 SELECT '1'
964 FROM hz_parties
965 WHERE party_id = p_party_id ;
966 BEGIN
967 IF ( p_party_id IS NOT NULL) THEN
968 -- initialize return status
969 x_return_status := OKC_API.G_RET_STS_SUCCESS;
970 OPEN c1(p_party_id );
971 FETCH c1 INTO l_party_id;
972 l_row_not_found := c1%NOTFOUND;
973 CLOSE c1;
974 IF l_row_not_found THEN
975 OKC_API.set_message('OKL',G_INVALID_VALUE , G_COL_NAME_TOKEN, 'PARTY_ID');
976 x_return_status := OKC_API.G_RET_STS_ERROR;
977 END IF;
978 END IF;
979 EXCEPTION
980 WHEN G_EXCEPTION_HALT_VALIDATION THEN
981 -- no processing necessary; validation can continue
982 -- with the next column
983 NULL;
984
985 WHEN OTHERS THEN
986 -- store SQL error message on message stack for caller
987 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
988
989 p_msg_name => g_unexpected_error,
990 p_token1 => g_sqlcode_token,
991 p_token1_value => SQLCODE,
992 p_token2 => g_sqlerrm_token,
993 p_token2_value => SQLERRM);
994
995 -- notify caller of an UNEXPECTED error
996 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
997 END validate_party;
998 ----------------------------------------------------
999 -- Validate_Attributes for: cust_account_id --
1000 ----------------------------------------------------
1001 PROCEDURE validate_cust_account(
1002 x_return_status OUT NOCOPY VARCHAR2,
1003 p_cust_account_id IN NUMBER) IS
1004 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1005 l_cust_account_id VARCHAR2(1);
1006 l_row_not_found BOOLEAN := FALSE;
1007 CURSOR c1(p_cust_account_id NUMBER) IS
1008 SELECT '1'
1009 FROM hz_cust_accounts
1010 WHERE cust_account_id= p_cust_account_id ;
1011 BEGIN
1012
1013 -- initialize return status
1014 IF ( p_cust_account_id IS NOT NULL) THEN
1015 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1016 OPEN c1(p_cust_account_id );
1017 FETCH c1 INTO l_cust_account_id;
1018 l_row_not_found := c1%NOTFOUND;
1019 CLOSE c1;
1020 IF l_row_not_found THEN
1021 OKC_API.set_message('OKL',G_INVALID_VALUE , G_COL_NAME_TOKEN, 'CUST_ACCOUNT_ID');
1022 x_return_status := OKC_API.G_RET_STS_ERROR;
1023 END IF;
1024 END IF;
1025 EXCEPTION
1026 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1027 -- no processing necessary; validation can continue
1028 -- with the next column
1029 NULL;
1030
1031 WHEN OTHERS THEN
1032 -- store SQL error message on message stack for caller
1033 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1034
1035 p_msg_name => g_unexpected_error,
1036 p_token1 => g_sqlcode_token,
1037 p_token1_value => SQLCODE,
1038 p_token2 => g_sqlerrm_token,
1039 p_token2_value => SQLERRM);
1040
1041 -- notify caller of an UNEXPECTED error
1042 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1043 END validate_cust_account;
1044 ----------------------------------------------------
1045 -- Validate_Attributes for: cust_site_use_id --
1046 ----------------------------------------------------
1047 PROCEDURE validate_cust_site_use(
1048 x_return_status OUT NOCOPY VARCHAR2,
1049 p_cust_site_use_id IN NUMBER) IS
1050 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1051 l_cust_site_use_id VARCHAR2(1);
1052 l_row_not_found BOOLEAN := FALSE;
1053 CURSOR c1(p_cust_account_id NUMBER) IS
1054 SELECT '1'
1055 FROM hz_cust_site_uses
1056 WHERE site_use_id= p_cust_site_use_id ;
1057 BEGIN
1058
1059 -- initialize return status
1060 IF ( p_cust_site_use_id IS NOT NULL) THEN
1061 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1062 OPEN c1( p_cust_site_use_id );
1063 FETCH c1 INTO l_cust_site_use_id ;
1064 l_row_not_found := c1%NOTFOUND;
1065 CLOSE c1;
1066 IF l_row_not_found THEN
1067 OKC_API.set_message('OKL',G_INVALID_VALUE , G_COL_NAME_TOKEN, 'CUST_SITE_USE_ID');
1068 x_return_status := OKC_API.G_RET_STS_ERROR;
1069 END IF;
1070 END IF ;
1071 EXCEPTION
1072 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1073 -- no processing necessary; validation can continue
1074 -- with the next column
1075 NULL;
1076
1077 WHEN OTHERS THEN
1078 -- store SQL error message on message stack for caller
1079 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1080
1081 p_msg_name => g_unexpected_error,
1082 p_token1 => g_sqlcode_token,
1083 p_token1_value => SQLCODE,
1084 p_token2 => g_sqlerrm_token,
1085 p_token2_value => SQLERRM);
1086
1087 -- notify caller of an UNEXPECTED error
1088 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1089 END validate_cust_site_use;
1090 ---------------------------------------------------------------------------
1091 -- FUNCTION Validate_Attributes
1092 ---------------------------------------------------------------------------
1093 -------------------------------------------------
1094 -- Validate_Attributes for:OKL_TRX_EXTENSION_V --
1095 -------------------------------------------------
1096 FUNCTION Validate_Attributes (
1097 p_tehv_rec IN tehv_rec_type
1098 ) RETURN VARCHAR2 IS
1099 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1100 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1101 BEGIN
1102 -----------------------------
1103 -- Column Level Validation --
1104 -----------------------------
1105 -- ***
1106 -- header_extension_id
1107 -- ***
1108 validate_header_extension_id(x_return_status, p_tehv_rec.header_extension_id);
1109 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1110 l_return_status := x_return_status;
1111 RAISE G_EXCEPTION_HALT_VALIDATION;
1112 END IF;
1113
1114 -- ***
1115 -- source_id
1116 -- ***
1117 validate_source_id(x_return_status, p_tehv_rec.source_id);
1118 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1119 l_return_status := x_return_status;
1120 RAISE G_EXCEPTION_HALT_VALIDATION;
1121 END IF;
1122
1123 -- ***
1124 -- object_version_number
1125 -- ***
1126 validate_object_version_number(x_return_status, p_tehv_rec.object_version_number);
1127 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1128 l_return_status := x_return_status;
1129 RAISE G_EXCEPTION_HALT_VALIDATION;
1130 END IF;
1131
1132 -- ***
1133 -- language
1134 -- ***
1135 validate_party(x_return_status, p_tehv_rec.party_id);
1136 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1137 l_return_status := x_return_status;
1138 RAISE G_EXCEPTION_HALT_VALIDATION;
1139 END IF;
1140 validate_cust_account(x_return_status, p_tehv_rec.cust_account_id);
1141 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1142 l_return_status := x_return_status;
1143 RAISE G_EXCEPTION_HALT_VALIDATION;
1144 END IF;
1145 validate_cust_site_use(x_return_status, p_tehv_rec.cust_site_use_id);
1146 IF (x_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
1147 l_return_status := x_return_status;
1148 RAISE G_EXCEPTION_HALT_VALIDATION;
1149 END IF;
1150
1151 RETURN(l_return_status);
1152 EXCEPTION
1153 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1154 RETURN(l_return_status);
1155 WHEN OTHERS THEN
1156 OKL_API.SET_MESSAGE( p_app_name => G_APP_NAME
1157 ,p_msg_name => G_UNEXPECTED_ERROR
1158 ,p_token1 => G_SQLCODE_TOKEN
1159 ,p_token1_value => SQLCODE
1160 ,p_token2 => G_SQLERRM_TOKEN
1161 ,p_token2_value => SQLERRM);
1162 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
1163 RETURN(l_return_status);
1164 END Validate_Attributes;
1165 ---------------------------------------------------------------------------
1166 -- PROCEDURE Validate_Record
1167 ---------------------------------------------------------------------------
1168 ---------------------------------------------
1169 -- Validate Record for:OKL_TRX_EXTENSION_V --
1170 ---------------------------------------------
1171 FUNCTION Validate_Record (
1172 p_tehv_rec IN tehv_rec_type,
1173 p_db_tehv_rec IN tehv_rec_type
1174 ) RETURN VARCHAR2 IS
1175 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1176 BEGIN
1177 RETURN (l_return_status);
1178 END Validate_Record;
1179 FUNCTION Validate_Record (
1180 p_tehv_rec IN tehv_rec_type
1181 ) RETURN VARCHAR2 IS
1182 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1183 l_db_tehv_rec tehv_rec_type := get_rec(p_tehv_rec);
1184 BEGIN
1185 l_return_status := Validate_Record(p_tehv_rec => p_tehv_rec,
1186 p_db_tehv_rec => l_db_tehv_rec);
1187 RETURN (l_return_status);
1188 END Validate_Record;
1189
1190 ---------------------------------------------------------------------------
1191 -- PROCEDURE Migrate
1192 ---------------------------------------------------------------------------
1193 PROCEDURE migrate (
1194 p_from IN tehv_rec_type,
1195 p_to IN OUT NOCOPY teh_rec_type
1196 ) IS
1197 BEGIN
1198 p_to.header_extension_id := p_from.header_extension_id;
1199 p_to.source_id := p_from.source_id;
1200 p_to.source_table := p_from.source_table;
1201 p_to.object_version_number := p_from.object_version_number;
1202 p_to.contract_number := p_from.contract_number;
1203 p_to.inv_agrmnt_number := p_from.inv_agrmnt_number;
1204 p_to.contract_currency_code := p_from.contract_currency_code;
1205 p_to.inv_agrmnt_currency_code := p_from.inv_agrmnt_currency_code;
1206 p_to.contract_effective_from := p_from.contract_effective_from;
1207 p_to.inv_agrmnt_effective_from := p_from.inv_agrmnt_effective_from;
1208 p_to.customer_name := p_from.customer_name;
1209 p_to.sales_rep_name := p_from.sales_rep_name;
1210 p_to.customer_account_number := p_from.customer_account_number;
1211 p_to.bill_to_address_num := p_from.bill_to_address_num;
1212 p_to.int_calc_method_code := p_from.int_calc_method_code;
1213 p_to.rev_rec_method_code := p_from.rev_rec_method_code;
1214 p_to.converted_number := p_from.converted_number;
1215 p_to.assignable_flag := p_from.assignable_flag;
1216 p_to.credit_line_number := p_from.credit_line_number;
1217 p_to.master_lease_number := p_from.master_lease_number;
1218 p_to.po_order_number := p_from.po_order_number;
1219 p_to.vendor_program_number := p_from.vendor_program_number;
1220 p_to.ins_policy_type_code := p_from.ins_policy_type_code;
1221 p_to.ins_policy_number := p_from.ins_policy_number;
1222 p_to.term_quote_accept_date := p_from.term_quote_accept_date;
1223 p_to.term_quote_num := p_from.term_quote_num;
1224 p_to.term_quote_type_code := p_from.term_quote_type_code;
1225 p_to.converted_account_flag := p_from.converted_account_flag;
1226 p_to.accrual_override_flag := p_from.accrual_override_flag;
1227 p_to.cust_attribute_category := p_from.cust_attribute_category;
1228 p_to.cust_attribute1 := p_from.cust_attribute1;
1229 p_to.cust_attribute2 := p_from.cust_attribute2;
1230 p_to.cust_attribute3 := p_from.cust_attribute3;
1231 p_to.cust_attribute4 := p_from.cust_attribute4;
1232 p_to.cust_attribute5 := p_from.cust_attribute5;
1233 p_to.cust_attribute6 := p_from.cust_attribute6;
1234 p_to.cust_attribute7 := p_from.cust_attribute7;
1235 p_to.cust_attribute8 := p_from.cust_attribute8;
1236 p_to.cust_attribute9 := p_from.cust_attribute9;
1237 p_to.cust_attribute10 := p_from.cust_attribute10;
1238 p_to.cust_attribute11 := p_from.cust_attribute11;
1239 p_to.cust_attribute12 := p_from.cust_attribute12;
1240 p_to.cust_attribute13 := p_from.cust_attribute13;
1241 p_to.cust_attribute14 := p_from.cust_attribute14;
1242 p_to.cust_attribute15 := p_from.cust_attribute15;
1243 p_to.rent_ia_contract_number := p_from.rent_ia_contract_number;
1244 p_to.res_ia_contract_number := p_from.res_ia_contract_number;
1245 p_to.inv_agrmnt_pool_number := p_from.inv_agrmnt_pool_number;
1246 p_to.rent_ia_product_name := p_from.rent_ia_product_name;
1247 p_to.res_ia_product_name := p_from.res_ia_product_name;
1248 p_to.rent_ia_accounting_code := p_from.rent_ia_accounting_code;
1249 p_to.res_ia_accounting_code := p_from.res_ia_accounting_code;
1250 p_to.inv_agrmnt_synd_code := p_from.inv_agrmnt_synd_code;
1251 p_to.created_by := p_from.created_by;
1252 p_to.creation_date := p_from.creation_date;
1253 p_to.last_updated_by := p_from.last_updated_by;
1254 p_to.last_update_date := p_from.last_update_date;
1255 p_to.last_update_login := p_from.last_update_login;
1256 p_to.contract_status_code := p_from.contract_status_code;
1257 p_to.inv_agrmnt_status_code := p_from.inv_agrmnt_status_code;
1258 p_to.trx_type_class_code := p_from.trx_type_class_code;
1259 p_to.chr_operating_unit_code := p_from.chr_operating_unit_code;
1260 p_to.party_id := p_from.party_id ;
1261 p_to.cust_account_id:= p_from.cust_account_id;
1262 p_to.cust_site_use_id := p_from.cust_site_use_id;
1263 END migrate;
1264 PROCEDURE migrate (
1265 p_from IN teh_rec_type,
1266 p_to IN OUT NOCOPY tehv_rec_type
1267 ) IS
1268 BEGIN
1269 p_to.header_extension_id := p_from.header_extension_id;
1270 p_to.source_id := p_from.source_id;
1271 p_to.source_table := p_from.source_table;
1272 p_to.object_version_number := p_from.object_version_number;
1273 p_to.contract_number := p_from.contract_number;
1274 p_to.inv_agrmnt_number := p_from.inv_agrmnt_number;
1275 p_to.contract_currency_code := p_from.contract_currency_code;
1276 p_to.inv_agrmnt_currency_code := p_from.inv_agrmnt_currency_code;
1277 p_to.contract_effective_from := p_from.contract_effective_from;
1278 p_to.inv_agrmnt_effective_from := p_from.inv_agrmnt_effective_from;
1279 p_to.customer_name := p_from.customer_name;
1280 p_to.sales_rep_name := p_from.sales_rep_name;
1281 p_to.customer_account_number := p_from.customer_account_number;
1282 p_to.bill_to_address_num := p_from.bill_to_address_num;
1283 p_to.int_calc_method_code := p_from.int_calc_method_code;
1284 p_to.rev_rec_method_code := p_from.rev_rec_method_code;
1285 p_to.converted_number := p_from.converted_number;
1286 p_to.assignable_flag := p_from.assignable_flag;
1287 p_to.credit_line_number := p_from.credit_line_number;
1288 p_to.master_lease_number := p_from.master_lease_number;
1289 p_to.po_order_number := p_from.po_order_number;
1290 p_to.vendor_program_number := p_from.vendor_program_number;
1291 p_to.ins_policy_type_code := p_from.ins_policy_type_code;
1292 p_to.ins_policy_number := p_from.ins_policy_number;
1293 p_to.term_quote_accept_date := p_from.term_quote_accept_date;
1294 p_to.term_quote_num := p_from.term_quote_num;
1295 p_to.term_quote_type_code := p_from.term_quote_type_code;
1296 p_to.converted_account_flag := p_from.converted_account_flag;
1297 p_to.accrual_override_flag := p_from.accrual_override_flag;
1298 p_to.cust_attribute_category := p_from.cust_attribute_category;
1299 p_to.cust_attribute1 := p_from.cust_attribute1;
1300 p_to.cust_attribute2 := p_from.cust_attribute2;
1301 p_to.cust_attribute3 := p_from.cust_attribute3;
1302 p_to.cust_attribute4 := p_from.cust_attribute4;
1303 p_to.cust_attribute5 := p_from.cust_attribute5;
1304 p_to.cust_attribute6 := p_from.cust_attribute6;
1305 p_to.cust_attribute7 := p_from.cust_attribute7;
1306 p_to.cust_attribute8 := p_from.cust_attribute8;
1307 p_to.cust_attribute9 := p_from.cust_attribute9;
1308 p_to.cust_attribute10 := p_from.cust_attribute10;
1309 p_to.cust_attribute11 := p_from.cust_attribute11;
1310 p_to.cust_attribute12 := p_from.cust_attribute12;
1311 p_to.cust_attribute13 := p_from.cust_attribute13;
1312 p_to.cust_attribute14 := p_from.cust_attribute14;
1313 p_to.cust_attribute15 := p_from.cust_attribute15;
1314 p_to.rent_ia_contract_number := p_from.rent_ia_contract_number;
1315 p_to.res_ia_contract_number := p_from.res_ia_contract_number;
1316 p_to.inv_agrmnt_pool_number := p_from.inv_agrmnt_pool_number;
1317 p_to.rent_ia_product_name := p_from.rent_ia_product_name;
1318 p_to.res_ia_product_name := p_from.res_ia_product_name;
1319 p_to.rent_ia_accounting_code := p_from.rent_ia_accounting_code;
1320 p_to.res_ia_accounting_code := p_from.res_ia_accounting_code;
1321 p_to.inv_agrmnt_synd_code := p_from.inv_agrmnt_synd_code;
1322 p_to.created_by := p_from.created_by;
1323 p_to.creation_date := p_from.creation_date;
1324 p_to.last_updated_by := p_from.last_updated_by;
1325 p_to.last_update_date := p_from.last_update_date;
1326 p_to.last_update_login := p_from.last_update_login;
1327 p_to.contract_status_code := p_from.contract_status_code;
1328 p_to.inv_agrmnt_status_code := p_from.inv_agrmnt_status_code;
1329 p_to.trx_type_class_code := p_from.trx_type_class_code;
1330 p_to.chr_operating_unit_code := p_from.chr_operating_unit_code;
1331 p_to.party_id := p_from.party_id ;
1332 p_to.cust_account_id:= p_from.cust_account_id;
1333 p_to.cust_site_use_id := p_from.cust_site_use_id;
1334 END migrate;
1335 PROCEDURE migrate (
1336 p_from IN tehv_rec_type,
1337 p_to IN OUT NOCOPY tehl_rec_type
1338 ) IS
1339 BEGIN
1340 p_to.header_extension_id := p_from.header_extension_id;
1341 p_to.language := p_from.language;
1342 p_to.contract_status := p_from.contract_status;
1343 p_to.inv_agrmnt_status := p_from.inv_agrmnt_status;
1344 p_to.chr_operating_unit_name := p_from.chr_operating_unit_name;
1345 p_to.transaction_type_name := p_from.transaction_type_name;
1346 p_to.created_by := p_from.created_by;
1347 p_to.creation_date := p_from.creation_date;
1348 p_to.last_updated_by := p_from.last_updated_by;
1349 p_to.last_update_date := p_from.last_update_date;
1350 p_to.last_update_login := p_from.last_update_login;
1351 END migrate;
1352 PROCEDURE migrate (
1353 p_from IN tehl_rec_type,
1354 p_to IN OUT NOCOPY tehv_rec_type
1355 ) IS
1356 BEGIN
1357 p_to.header_extension_id := p_from.header_extension_id;
1358 p_to.language := p_from.language;
1359 p_to.created_by := p_from.created_by;
1360 p_to.creation_date := p_from.creation_date;
1361 p_to.last_updated_by := p_from.last_updated_by;
1362 p_to.last_update_date := p_from.last_update_date;
1363 p_to.last_update_login := p_from.last_update_login;
1364 p_to.contract_status := p_from.contract_status;
1365 p_to.inv_agrmnt_status := p_from.inv_agrmnt_status;
1366 p_to.chr_operating_unit_name := p_from.chr_operating_unit_name;
1367 p_to.transaction_type_name := p_from.transaction_type_name;
1368 END migrate;
1369 ---------------------------------------------------------------------------
1370 -- PROCEDURE validate_row
1371 ---------------------------------------------------------------------------
1372 ------------------------------------------
1373 -- validate_row for:OKL_TRX_EXTENSION_V --
1374 ------------------------------------------
1375 PROCEDURE validate_row(
1376 p_api_version IN NUMBER,
1377 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1378 x_return_status OUT NOCOPY VARCHAR2,
1379 x_msg_count OUT NOCOPY NUMBER,
1380 x_msg_data OUT NOCOPY VARCHAR2,
1381 p_tehv_rec IN tehv_rec_type) IS
1382
1383 l_api_version CONSTANT NUMBER := 1;
1384 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
1385 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1386 l_tehv_rec tehv_rec_type := p_tehv_rec;
1387 l_teh_rec teh_rec_type;
1388 l_tehl_rec tehl_rec_type;
1389 BEGIN
1390 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1391 G_PKG_NAME,
1392 p_init_msg_list,
1393 l_api_version,
1394 p_api_version,
1395 '_PVT',
1396 x_return_status);
1397 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1398 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1399 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1400 RAISE OKL_API.G_EXCEPTION_ERROR;
1401 END IF;
1402 --- Validate all non-missing attributes (Item Level Validation)
1403 l_return_status := Validate_Attributes(l_tehv_rec);
1404 --- If any errors happen abort API
1405 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1406 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1407 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1408 RAISE OKL_API.G_EXCEPTION_ERROR;
1409 END IF;
1410 l_return_status := Validate_Record(l_tehv_rec);
1411 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1412 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1413 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1414 RAISE OKL_API.G_EXCEPTION_ERROR;
1415 END IF;
1416 x_return_status := l_return_status;
1417 EXCEPTION
1418 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1419 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1420 (
1421 l_api_name,
1422 G_PKG_NAME,
1423 'OKL_API.G_RET_STS_ERROR',
1424 x_msg_count,
1425 x_msg_data,
1426 '_PVT'
1427 );
1428 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1429 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1430 (
1431 l_api_name,
1432 G_PKG_NAME,
1433 'OKL_API.G_RET_STS_UNEXP_ERROR',
1434 x_msg_count,
1435 x_msg_data,
1436 '_PVT'
1437 );
1438 WHEN OTHERS THEN
1439 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1440 (
1441 l_api_name,
1442 G_PKG_NAME,
1443 'OTHERS',
1444 x_msg_count,
1445 x_msg_data,
1446 '_PVT'
1447 );
1448 END validate_row;
1449 -----------------------------------------------------
1450 -- PL/SQL TBL validate_row for:OKL_TRX_EXTENSION_V --
1451 -----------------------------------------------------
1452 PROCEDURE validate_row(
1453 p_api_version IN NUMBER,
1454 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1455 x_return_status OUT NOCOPY VARCHAR2,
1456 x_msg_count OUT NOCOPY NUMBER,
1457 x_msg_data OUT NOCOPY VARCHAR2,
1458 p_tehv_tbl IN tehv_tbl_type,
1459 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
1460
1461 l_api_version CONSTANT NUMBER := 1;
1462 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_validate_row';
1463 i NUMBER := 0;
1464 BEGIN
1465 OKL_API.init_msg_list(p_init_msg_list);
1466 -- Make sure PL/SQL table has records in it before passing
1467 IF (p_tehv_tbl.COUNT > 0) THEN
1468 i := p_tehv_tbl.FIRST;
1469 LOOP
1470 DECLARE
1471 l_error_rec OKL_API.ERROR_REC_TYPE;
1472 BEGIN
1473 l_error_rec.api_name := l_api_name;
1474 l_error_rec.api_package := G_PKG_NAME;
1475 l_error_rec.idx := i;
1476 validate_row (
1477 p_api_version => p_api_version,
1478 p_init_msg_list => OKL_API.G_FALSE,
1479 x_return_status => l_error_rec.error_type,
1480 x_msg_count => l_error_rec.msg_count,
1481 x_msg_data => l_error_rec.msg_data,
1482 p_tehv_rec => p_tehv_tbl(i));
1483 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
1484 l_error_rec.sqlcode := SQLCODE;
1485 load_error_tbl(l_error_rec, px_error_tbl);
1486 ELSE
1487 x_msg_count := l_error_rec.msg_count;
1488 x_msg_data := l_error_rec.msg_data;
1489 END IF;
1490 EXCEPTION
1491 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1492 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
1493 l_error_rec.sqlcode := SQLCODE;
1494 load_error_tbl(l_error_rec, px_error_tbl);
1495 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1496 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
1497 l_error_rec.sqlcode := SQLCODE;
1498 load_error_tbl(l_error_rec, px_error_tbl);
1499 WHEN OTHERS THEN
1500 l_error_rec.error_type := 'OTHERS';
1501 l_error_rec.sqlcode := SQLCODE;
1502 load_error_tbl(l_error_rec, px_error_tbl);
1503 END;
1504 EXIT WHEN (i = p_tehv_tbl.LAST);
1505 i := p_tehv_tbl.NEXT(i);
1506 END LOOP;
1507 END IF;
1508 -- Loop through the error_tbl to find the error with the highest severity
1509 -- and return it.
1510 x_return_status := find_highest_exception(px_error_tbl);
1511 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1512 EXCEPTION
1513 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1514 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1515 (
1516 l_api_name,
1517 G_PKG_NAME,
1518 'OKL_API.G_RET_STS_ERROR',
1519 x_msg_count,
1520 x_msg_data,
1521 '_PVT'
1522 );
1523 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1524 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1525 (
1526 l_api_name,
1527 G_PKG_NAME,
1528 'OKL_API.G_RET_STS_UNEXP_ERROR',
1529 x_msg_count,
1530 x_msg_data,
1531 '_PVT'
1532 );
1533 WHEN OTHERS THEN
1534 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1535 (
1536 l_api_name,
1537 G_PKG_NAME,
1538 'OTHERS',
1539 x_msg_count,
1540 x_msg_data,
1541 '_PVT'
1542 );
1543 END validate_row;
1544
1545 -----------------------------------------------------
1546 -- PL/SQL TBL validate_row for:OKL_TRX_EXTENSION_V --
1547 -----------------------------------------------------
1548 PROCEDURE validate_row(
1549 p_api_version IN NUMBER,
1550 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1551 x_return_status OUT NOCOPY VARCHAR2,
1552 x_msg_count OUT NOCOPY NUMBER,
1553 x_msg_data OUT NOCOPY VARCHAR2,
1554 p_tehv_tbl IN tehv_tbl_type) IS
1555
1556 l_api_version CONSTANT NUMBER := 1;
1557 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1558 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1559 l_error_tbl OKL_API.ERROR_TBL_TYPE;
1560 BEGIN
1561 OKL_API.init_msg_list(p_init_msg_list);
1562 -- Make sure PL/SQL table has records in it before passing
1563 IF (p_tehv_tbl.COUNT > 0) THEN
1564 validate_row (
1565 p_api_version => p_api_version,
1566 p_init_msg_list => OKL_API.G_FALSE,
1567 x_return_status => x_return_status,
1568 x_msg_count => x_msg_count,
1569 x_msg_data => x_msg_data,
1570 p_tehv_tbl => p_tehv_tbl,
1571 px_error_tbl => l_error_tbl);
1572 END IF;
1573 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1574 EXCEPTION
1575 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1576 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1577 (
1578 l_api_name,
1579 G_PKG_NAME,
1580 'OKL_API.G_RET_STS_ERROR',
1581 x_msg_count,
1582 x_msg_data,
1583 '_PVT'
1584 );
1585 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1586 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1587 (
1588 l_api_name,
1589 G_PKG_NAME,
1590 'OKL_API.G_RET_STS_UNEXP_ERROR',
1591 x_msg_count,
1592 x_msg_data,
1593 '_PVT'
1594 );
1595 WHEN OTHERS THEN
1596 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1597 (
1598 l_api_name,
1599 G_PKG_NAME,
1600 'OTHERS',
1601 x_msg_count,
1602 x_msg_data,
1603 '_PVT'
1604 );
1605 END validate_row;
1606
1607 ---------------------------------------------------------------------------
1608 -- PROCEDURE insert_row
1609 ---------------------------------------------------------------------------
1610 ----------------------------------------
1611 -- insert_row for:OKL_TRX_EXTENSION_B --
1612 ----------------------------------------
1613 PROCEDURE insert_row(
1614 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1615 x_return_status OUT NOCOPY VARCHAR2,
1616 x_msg_count OUT NOCOPY NUMBER,
1617 x_msg_data OUT NOCOPY VARCHAR2,
1618 p_teh_rec IN teh_rec_type,
1619 x_teh_rec OUT NOCOPY teh_rec_type) IS
1620
1621 l_api_version CONSTANT NUMBER := 1;
1622 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
1623 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1624 l_teh_rec teh_rec_type := p_teh_rec;
1625 l_def_teh_rec teh_rec_type;
1626 --------------------------------------------
1627 -- Set_Attributes for:OKL_TRX_EXTENSION_B --
1628 --------------------------------------------
1629 FUNCTION Set_Attributes (
1630 p_teh_rec IN teh_rec_type,
1631 x_teh_rec OUT NOCOPY teh_rec_type
1632 ) RETURN VARCHAR2 IS
1633 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1634 BEGIN
1635 x_teh_rec := p_teh_rec;
1636 RETURN(l_return_status);
1637 END Set_Attributes;
1638 BEGIN
1639 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1640 p_init_msg_list,
1641 '_PVT',
1642 x_return_status);
1643 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1644 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1645 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1646 RAISE OKL_API.G_EXCEPTION_ERROR;
1647 END IF;
1648 --- Setting item atributes
1649 l_return_status := Set_Attributes(
1650 l_teh_rec, -- IN
1651 l_def_teh_rec); -- OUT
1652 --- If any errors happen abort API
1653 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1654 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1655 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1656 RAISE OKL_API.G_EXCEPTION_ERROR;
1657 END IF;
1658 INSERT INTO OKL_TRX_EXTENSION_B(
1659 header_extension_id,
1660 source_id,
1661 source_table,
1662 object_version_number,
1663 contract_number,
1664 inv_agrmnt_number,
1665 contract_currency_code,
1666 inv_agrmnt_currency_code,
1667 contract_effective_from,
1668 inv_agrmnt_effective_from,
1669 customer_name,
1670 sales_rep_name,
1671 customer_account_number,
1672 bill_to_address_num,
1673 int_calc_method_code,
1674 rev_rec_method_code,
1675 converted_number,
1676 assignable_flag,
1677 credit_line_number,
1678 master_lease_number,
1679 po_order_number,
1680 vendor_program_number,
1681 ins_policy_type_code,
1682 ins_policy_number,
1683 term_quote_accept_date,
1684 term_quote_num,
1685 term_quote_type_code,
1686 converted_account_flag,
1687 accrual_override_flag,
1688 cust_attribute_category,
1689 cust_attribute1,
1690 cust_attribute2,
1691 cust_attribute3,
1692 cust_attribute4,
1693 cust_attribute5,
1694 cust_attribute6,
1695 cust_attribute7,
1696 cust_attribute8,
1697 cust_attribute9,
1698 cust_attribute10,
1699 cust_attribute11,
1700 cust_attribute12,
1701 cust_attribute13,
1702 cust_attribute14,
1703 cust_attribute15,
1704 rent_ia_contract_number,
1705 res_ia_contract_number,
1706 inv_agrmnt_pool_number,
1707 rent_ia_product_name,
1708 res_ia_product_name,
1709 rent_ia_accounting_code,
1710 res_ia_accounting_code,
1711 inv_agrmnt_synd_code,
1712 created_by,
1713 creation_date,
1714 last_updated_by,
1715 last_update_date,
1716 last_update_login,
1717 contract_status_code,
1718 inv_agrmnt_status_code,
1719 trx_type_class_code,
1720 chr_operating_unit_code,
1721 party_id ,
1722 cust_account_id,
1723 cust_site_use_id)
1724 VALUES (
1725 l_def_teh_rec.header_extension_id,
1726 l_def_teh_rec.source_id,
1727 l_def_teh_rec.source_table,
1728 l_def_teh_rec.object_version_number,
1729 l_def_teh_rec.contract_number,
1730 l_def_teh_rec.inv_agrmnt_number,
1731 l_def_teh_rec.contract_currency_code,
1732 l_def_teh_rec.inv_agrmnt_currency_code,
1733 l_def_teh_rec.contract_effective_from,
1734 l_def_teh_rec.inv_agrmnt_effective_from,
1735 l_def_teh_rec.customer_name,
1736 l_def_teh_rec.sales_rep_name,
1737 l_def_teh_rec.customer_account_number,
1738 l_def_teh_rec.bill_to_address_num,
1739 l_def_teh_rec.int_calc_method_code,
1740 l_def_teh_rec.rev_rec_method_code,
1741 l_def_teh_rec.converted_number,
1742 l_def_teh_rec.assignable_flag,
1743 l_def_teh_rec.credit_line_number,
1744 l_def_teh_rec.master_lease_number,
1745 l_def_teh_rec.po_order_number,
1746 l_def_teh_rec.vendor_program_number,
1747 l_def_teh_rec.ins_policy_type_code,
1748 l_def_teh_rec.ins_policy_number,
1749 l_def_teh_rec.term_quote_accept_date,
1750 l_def_teh_rec.term_quote_num,
1751 l_def_teh_rec.term_quote_type_code,
1752 l_def_teh_rec.converted_account_flag,
1753 l_def_teh_rec.accrual_override_flag,
1754 l_def_teh_rec.cust_attribute_category,
1755 l_def_teh_rec.cust_attribute1,
1756 l_def_teh_rec.cust_attribute2,
1757 l_def_teh_rec.cust_attribute3,
1758 l_def_teh_rec.cust_attribute4,
1759 l_def_teh_rec.cust_attribute5,
1760 l_def_teh_rec.cust_attribute6,
1761 l_def_teh_rec.cust_attribute7,
1762 l_def_teh_rec.cust_attribute8,
1763 l_def_teh_rec.cust_attribute9,
1764 l_def_teh_rec.cust_attribute10,
1765 l_def_teh_rec.cust_attribute11,
1766 l_def_teh_rec.cust_attribute12,
1767 l_def_teh_rec.cust_attribute13,
1768 l_def_teh_rec.cust_attribute14,
1769 l_def_teh_rec.cust_attribute15,
1770 l_def_teh_rec.rent_ia_contract_number,
1771 l_def_teh_rec.res_ia_contract_number,
1772 l_def_teh_rec.inv_agrmnt_pool_number,
1773 l_def_teh_rec.rent_ia_product_name,
1774 l_def_teh_rec.res_ia_product_name,
1775 l_def_teh_rec.rent_ia_accounting_code,
1776 l_def_teh_rec.res_ia_accounting_code,
1777 l_def_teh_rec.inv_agrmnt_synd_code,
1778 l_def_teh_rec.created_by,
1779 l_def_teh_rec.creation_date,
1780 l_def_teh_rec.last_updated_by,
1781 l_def_teh_rec.last_update_date,
1782 l_def_teh_rec.last_update_login,
1783 l_def_teh_rec.contract_status_code,
1784 l_def_teh_rec.inv_agrmnt_status_code,
1785 l_def_teh_rec.trx_type_class_code,
1786 l_def_teh_rec.chr_operating_unit_code,
1787 l_def_teh_rec.party_id ,
1788 l_def_teh_rec.cust_account_id,
1789 l_def_teh_rec.cust_site_use_id);
1790 -- Set OUT values
1791 x_teh_rec := l_def_teh_rec;
1792 x_return_status := l_return_status;
1793 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1794 EXCEPTION
1795 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1796 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1797 (
1798 l_api_name,
1799 G_PKG_NAME,
1800 'OKL_API.G_RET_STS_ERROR',
1801 x_msg_count,
1802 x_msg_data,
1803 '_PVT'
1804 );
1805 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1806 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1807 (
1808 l_api_name,
1809 G_PKG_NAME,
1810 'OKL_API.G_RET_STS_UNEXP_ERROR',
1811 x_msg_count,
1812 x_msg_data,
1813 '_PVT'
1814 );
1815 WHEN OTHERS THEN
1816 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1817 (
1818 l_api_name,
1819 G_PKG_NAME,
1820 'OTHERS',
1821 x_msg_count,
1822 x_msg_data,
1823 '_PVT'
1824 );
1825 END insert_row;
1826 -----------------------------------------
1827 -- insert_row for:OKL_TRX_EXTENSION_TL --
1828 -----------------------------------------
1829 PROCEDURE insert_row(
1830 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1831 x_return_status OUT NOCOPY VARCHAR2,
1832 x_msg_count OUT NOCOPY NUMBER,
1833 x_msg_data OUT NOCOPY VARCHAR2,
1834 p_tehl_rec IN tehl_rec_type,
1835 x_tehl_rec OUT NOCOPY tehl_rec_type) IS
1836
1837 l_api_version CONSTANT NUMBER := 1;
1838 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
1839 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1840 l_tehl_rec tehl_rec_type := p_tehl_rec;
1841 l_def_tehl_rec tehl_rec_type;
1842 /*CURSOR get_languages IS
1843 SELECT *
1844 FROM FND_LANGUAGES
1845 WHERE INSTALLED_FLAG IN ('I', 'B');*/
1846 ---------------------------------------------
1847 -- Set_Attributes for:OKL_TRX_EXTENSION_TL --
1848 ---------------------------------------------
1849 FUNCTION Set_Attributes (
1850 p_tehl_rec IN tehl_rec_type,
1851 x_tehl_rec OUT NOCOPY tehl_rec_type
1852 ) RETURN VARCHAR2 IS
1853 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1854 BEGIN
1855 x_tehl_rec := p_tehl_rec;
1856 --x_tehl_rec.LANGUAGE := USERENV('LANG');
1857 x_tehl_rec.SOURCE_LANG := USERENV('LANG');
1858 x_tehl_rec.SFWT_FLAG := 'N';
1859 RETURN(l_return_status);
1860 END Set_Attributes;
1861 BEGIN
1862 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1863 p_init_msg_list,
1864 '_PVT',
1865 x_return_status);
1866 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1867 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1868 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1869 RAISE OKL_API.G_EXCEPTION_ERROR;
1870 END IF;
1871 --- Setting item attributes
1872 l_return_status := Set_Attributes(
1873 p_tehl_rec, -- IN
1874 l_tehl_rec); -- OUT
1875 --- If any errors happen abort API
1876 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
1877 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
1878 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
1879 RAISE OKL_API.G_EXCEPTION_ERROR;
1880 END IF;
1881 /*FOR l_lang_rec IN get_languages LOOP
1882 l_tehl_rec.language := l_lang_rec.language_code;*/
1883 INSERT INTO OKL_TRX_EXTENSION_TL(
1884 header_extension_id,
1885 language,
1886 source_lang,
1887 sfwt_flag,
1888 contract_status,
1889 inv_agrmnt_status,
1890 chr_operating_unit_name,
1891 transaction_type_name,
1892 created_by,
1893 creation_date,
1894 last_updated_by,
1895 last_update_date,
1896 last_update_login)
1897 VALUES (
1898 l_tehl_rec.header_extension_id,
1899 l_tehl_rec.language,
1900 l_tehl_rec.source_lang,
1901 l_tehl_rec.sfwt_flag,
1902 l_tehl_rec.contract_status,
1903 l_tehl_rec.inv_agrmnt_status,
1904 l_tehl_rec.chr_operating_unit_name,
1905 l_tehl_rec.transaction_type_name,
1906 l_tehl_rec.created_by,
1907 l_tehl_rec.creation_date,
1908 l_tehl_rec.last_updated_by,
1909 l_tehl_rec.last_update_date,
1910 l_tehl_rec.last_update_login);
1911 --END LOOP;
1912 -- Set OUT values
1913 x_tehl_rec := l_tehl_rec;
1914 x_return_status := l_return_status;
1915 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
1916 EXCEPTION
1917 WHEN OKL_API.G_EXCEPTION_ERROR THEN
1918 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1919 (
1920 l_api_name,
1921 G_PKG_NAME,
1922 'OKL_API.G_RET_STS_ERROR',
1923 x_msg_count,
1924 x_msg_data,
1925 '_PVT'
1926 );
1927 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1928 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1929 (
1930 l_api_name,
1931 G_PKG_NAME,
1932 'OKL_API.G_RET_STS_UNEXP_ERROR',
1933 x_msg_count,
1934 x_msg_data,
1935 '_PVT'
1936 );
1937 WHEN OTHERS THEN
1938 x_return_status := OKL_API.HANDLE_EXCEPTIONS
1939 (
1940 l_api_name,
1941 G_PKG_NAME,
1942 'OTHERS',
1943 x_msg_count,
1944 x_msg_data,
1945 '_PVT'
1946 );
1947 END insert_row;
1948 -----------------------------------------
1949 -- insert_row for :OKL_TRX_EXTENSION_B --
1950 -----------------------------------------
1951 PROCEDURE insert_row(
1952 p_api_version IN NUMBER,
1953 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
1954 x_return_status OUT NOCOPY VARCHAR2,
1955 x_msg_count OUT NOCOPY NUMBER,
1956 x_msg_data OUT NOCOPY VARCHAR2,
1957 p_tehv_rec IN tehv_rec_type,
1958 x_tehv_rec OUT NOCOPY tehv_rec_type) IS
1959
1960 l_api_version CONSTANT NUMBER := 1;
1961 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
1962 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1963 l_tehv_rec tehv_rec_type := p_tehv_rec;
1964 l_def_tehv_rec tehv_rec_type;
1965 l_teh_rec teh_rec_type;
1966 lx_teh_rec teh_rec_type;
1967 l_tehl_rec tehl_rec_type;
1968 lx_tehl_rec tehl_rec_type;
1969 -------------------------------
1970 -- FUNCTION fill_who_columns --
1971 -------------------------------
1972 FUNCTION fill_who_columns (
1973 p_tehv_rec IN tehv_rec_type
1974 ) RETURN tehv_rec_type IS
1975 l_tehv_rec tehv_rec_type := p_tehv_rec;
1976 BEGIN
1977 l_tehv_rec.CREATION_DATE := SYSDATE;
1978 l_tehv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
1979 l_tehv_rec.LAST_UPDATE_DATE := l_tehv_rec.CREATION_DATE;
1980 l_tehv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1981 l_tehv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1982 RETURN(l_tehv_rec);
1983 END fill_who_columns;
1984 --------------------------------------------
1985 -- Set_Attributes for:OKL_TRX_EXTENSION_B --
1986 --------------------------------------------
1987 FUNCTION Set_Attributes (
1988 p_tehv_rec IN tehv_rec_type,
1989 x_tehv_rec OUT NOCOPY tehv_rec_type
1990 ) RETURN VARCHAR2 IS
1991 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
1992 BEGIN
1993 x_tehv_rec := p_tehv_rec;
1994 x_tehv_rec.OBJECT_VERSION_NUMBER := 1;
1995 RETURN(l_return_status);
1996 END Set_Attributes;
1997 BEGIN
1998 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
1999 G_PKG_NAME,
2000 p_init_msg_list,
2001 l_api_version,
2002 p_api_version,
2003 '_PVT',
2004 x_return_status);
2005 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2006 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2007 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2008 RAISE OKL_API.G_EXCEPTION_ERROR;
2009 END IF;
2010 l_tehv_rec := null_out_defaults(p_tehv_rec);
2011 -- Set primary key value
2012 l_tehv_rec.HEADER_EXTENSION_ID := get_seq_id;
2013 -- Setting item attributes
2014 l_return_Status := Set_Attributes(
2015 l_tehv_rec, -- IN
2016 l_def_tehv_rec); -- OUT
2017 --- If any errors happen abort API
2018 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2019 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2020 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2021 RAISE OKL_API.G_EXCEPTION_ERROR;
2022 END IF;
2023 l_def_tehv_rec := fill_who_columns(l_def_tehv_rec);
2024 --- Validate all non-missing attributes (Item Level Validation)
2025 l_return_status := Validate_Attributes(l_def_tehv_rec);
2026 --- If any errors happen abort API
2027 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2028 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2029 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2030 RAISE OKL_API.G_EXCEPTION_ERROR;
2031 END IF;
2032 l_return_status := Validate_Record(l_def_tehv_rec);
2033 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2034 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2035 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2036 RAISE OKL_API.G_EXCEPTION_ERROR;
2037 END IF;
2038 -----------------------------------------
2039 -- Move VIEW record to "Child" records --
2040 -----------------------------------------
2041 migrate(l_def_tehv_rec, l_teh_rec);
2042 migrate(l_def_tehv_rec, l_tehl_rec);
2043 -----------------------------------------------
2044 -- Call the INSERT_ROW for each child record --
2045 -----------------------------------------------
2046 insert_row(
2047 p_init_msg_list,
2048 l_return_status,
2049 x_msg_count,
2050 x_msg_data,
2051 l_teh_rec,
2052 lx_teh_rec
2053 );
2054 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2055 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2056 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2057 RAISE OKL_API.G_EXCEPTION_ERROR;
2058 END IF;
2059 migrate(lx_teh_rec, l_def_tehv_rec);
2060 insert_row(
2061 p_init_msg_list,
2062 l_return_status,
2063 x_msg_count,
2064 x_msg_data,
2065 l_tehl_rec,
2066 lx_tehl_rec
2067 );
2068 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2069 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2070 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2071 RAISE OKL_API.G_EXCEPTION_ERROR;
2072 END IF;
2073 migrate(lx_tehl_rec, l_def_tehv_rec);
2074 -- Set OUT values
2075 x_tehv_rec := l_def_tehv_rec;
2076 x_return_status := l_return_status;
2077 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2078 EXCEPTION
2079 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2080 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2081 (
2082 l_api_name,
2083 G_PKG_NAME,
2084 'OKL_API.G_RET_STS_ERROR',
2085 x_msg_count,
2086 x_msg_data,
2087 '_PVT'
2088 );
2089 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2090 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2091 (
2092 l_api_name,
2093 G_PKG_NAME,
2094 'OKL_API.G_RET_STS_UNEXP_ERROR',
2095 x_msg_count,
2096 x_msg_data,
2097 '_PVT'
2098 );
2099 WHEN OTHERS THEN
2100 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2101 (
2102 l_api_name,
2103 G_PKG_NAME,
2104 'OTHERS',
2105 x_msg_count,
2106 x_msg_data,
2107 '_PVT'
2108 );
2109 END insert_row;
2110 ----------------------------------------
2111 -- PL/SQL TBL insert_row for:TEHV_TBL --
2112 ----------------------------------------
2113 PROCEDURE insert_row(
2114 p_api_version IN NUMBER,
2115 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2116 x_return_status OUT NOCOPY VARCHAR2,
2117 x_msg_count OUT NOCOPY NUMBER,
2118 x_msg_data OUT NOCOPY VARCHAR2,
2119 p_tehv_tbl IN tehv_tbl_type,
2120 x_tehv_tbl OUT NOCOPY tehv_tbl_type,
2121 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
2122
2123 l_api_version CONSTANT NUMBER := 1;
2124 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_insert_row';
2125 i NUMBER := 0;
2126 BEGIN
2127 OKL_API.init_msg_list(p_init_msg_list);
2128 -- Make sure PL/SQL table has records in it before passing
2129 IF (p_tehv_tbl.COUNT > 0) THEN
2130 i := p_tehv_tbl.FIRST;
2131 LOOP
2132 DECLARE
2133 l_error_rec OKL_API.ERROR_REC_TYPE;
2134 BEGIN
2135 l_error_rec.api_name := l_api_name;
2136 l_error_rec.api_package := G_PKG_NAME;
2137 l_error_rec.idx := i;
2138 insert_row (
2139 p_api_version => p_api_version,
2140 p_init_msg_list => OKL_API.G_FALSE,
2141 x_return_status => l_error_rec.error_type,
2142 x_msg_count => l_error_rec.msg_count,
2143 x_msg_data => l_error_rec.msg_data,
2144 p_tehv_rec => p_tehv_tbl(i),
2145 x_tehv_rec => x_tehv_tbl(i));
2146 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
2147 l_error_rec.sqlcode := SQLCODE;
2148 load_error_tbl(l_error_rec, px_error_tbl);
2149 ELSE
2150 x_msg_count := l_error_rec.msg_count;
2151 x_msg_data := l_error_rec.msg_data;
2152 END IF;
2153 EXCEPTION
2154 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2155 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
2156 l_error_rec.sqlcode := SQLCODE;
2157 load_error_tbl(l_error_rec, px_error_tbl);
2158 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2159 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
2160 l_error_rec.sqlcode := SQLCODE;
2161 load_error_tbl(l_error_rec, px_error_tbl);
2162 WHEN OTHERS THEN
2163 l_error_rec.error_type := 'OTHERS';
2164 l_error_rec.sqlcode := SQLCODE;
2165 load_error_tbl(l_error_rec, px_error_tbl);
2166 END;
2167 EXIT WHEN (i = p_tehv_tbl.LAST);
2168 i := p_tehv_tbl.NEXT(i);
2169 END LOOP;
2170 END IF;
2171 -- Loop through the error_tbl to find the error with the highest severity
2172 -- and return it.
2173 x_return_status := find_highest_exception(px_error_tbl);
2174 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2175 EXCEPTION
2176 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2177 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2178 (
2179 l_api_name,
2180 G_PKG_NAME,
2181 'OKL_API.G_RET_STS_ERROR',
2182 x_msg_count,
2183 x_msg_data,
2184 '_PVT'
2185 );
2186 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2187 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2188 (
2189 l_api_name,
2190 G_PKG_NAME,
2191 'OKL_API.G_RET_STS_UNEXP_ERROR',
2192 x_msg_count,
2193 x_msg_data,
2194 '_PVT'
2195 );
2196 WHEN OTHERS THEN
2197 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2198 (
2199 l_api_name,
2200 G_PKG_NAME,
2201 'OTHERS',
2202 x_msg_count,
2203 x_msg_data,
2204 '_PVT'
2205 );
2206 END insert_row;
2207
2208 ----------------------------------------
2209 -- PL/SQL TBL insert_row for:TEHV_TBL --
2210 ----------------------------------------
2211 PROCEDURE insert_row(
2212 p_api_version IN NUMBER,
2213 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2214 x_return_status OUT NOCOPY VARCHAR2,
2215 x_msg_count OUT NOCOPY NUMBER,
2216 x_msg_data OUT NOCOPY VARCHAR2,
2217 p_tehv_tbl IN tehv_tbl_type,
2218 x_tehv_tbl OUT NOCOPY tehv_tbl_type) IS
2219
2220 l_api_version CONSTANT NUMBER := 1;
2221 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
2222 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2223 l_error_tbl OKL_API.ERROR_TBL_TYPE;
2224 BEGIN
2225 OKL_API.init_msg_list(p_init_msg_list);
2226 -- Make sure PL/SQL table has records in it before passing
2227 IF (p_tehv_tbl.COUNT > 0) THEN
2228 insert_row (
2229 p_api_version => p_api_version,
2230 p_init_msg_list => OKL_API.G_FALSE,
2231 x_return_status => x_return_status,
2232 x_msg_count => x_msg_count,
2233 x_msg_data => x_msg_data,
2234 p_tehv_tbl => p_tehv_tbl,
2235 x_tehv_tbl => x_tehv_tbl,
2236 px_error_tbl => l_error_tbl);
2237 END IF;
2238 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2239 EXCEPTION
2240 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2241 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2242 (
2243 l_api_name,
2244 G_PKG_NAME,
2245 'OKL_API.G_RET_STS_ERROR',
2246 x_msg_count,
2247 x_msg_data,
2248 '_PVT'
2249 );
2250 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2251 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2252 (
2253 l_api_name,
2254 G_PKG_NAME,
2255 'OKL_API.G_RET_STS_UNEXP_ERROR',
2256 x_msg_count,
2257 x_msg_data,
2258 '_PVT'
2259 );
2260 WHEN OTHERS THEN
2261 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2262 (
2263 l_api_name,
2264 G_PKG_NAME,
2265 'OTHERS',
2266 x_msg_count,
2267 x_msg_data,
2268 '_PVT'
2269 );
2270 END insert_row;
2271
2272 ---------------------------------------------------------------------------
2273 -- PROCEDURE lock_row
2274 ---------------------------------------------------------------------------
2275 --------------------------------------
2276 -- lock_row for:OKL_TRX_EXTENSION_B --
2277 --------------------------------------
2278 PROCEDURE lock_row(
2279 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2280 x_return_status OUT NOCOPY VARCHAR2,
2281 x_msg_count OUT NOCOPY NUMBER,
2282 x_msg_data OUT NOCOPY VARCHAR2,
2283 p_teh_rec IN teh_rec_type) IS
2284
2285 E_Resource_Busy EXCEPTION;
2286 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2287 CURSOR lock_csr (p_teh_rec IN teh_rec_type) IS
2288 SELECT OBJECT_VERSION_NUMBER
2289 FROM OKL_TRX_EXTENSION_B
2290 WHERE HEADER_EXTENSION_ID = p_teh_rec.header_extension_id
2291 AND OBJECT_VERSION_NUMBER = p_teh_rec.object_version_number
2292 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
2293
2294 CURSOR lchk_csr (p_teh_rec IN teh_rec_type) IS
2295 SELECT OBJECT_VERSION_NUMBER
2296 FROM OKL_TRX_EXTENSION_B
2297 WHERE HEADER_EXTENSION_ID = p_teh_rec.header_extension_id;
2298 l_api_version CONSTANT NUMBER := 1;
2299 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
2300 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2301 l_object_version_number OKL_TRX_EXTENSION_B.OBJECT_VERSION_NUMBER%TYPE;
2302 lc_object_version_number OKL_TRX_EXTENSION_B.OBJECT_VERSION_NUMBER%TYPE;
2303 l_row_notfound BOOLEAN := FALSE;
2304 lc_row_notfound BOOLEAN := FALSE;
2305 BEGIN
2306 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2307 p_init_msg_list,
2308 '_PVT',
2309 x_return_status);
2310 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2311 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2312 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2313 RAISE OKL_API.G_EXCEPTION_ERROR;
2314 END IF;
2315 BEGIN
2316 OPEN lock_csr(p_teh_rec);
2317 FETCH lock_csr INTO l_object_version_number;
2318 l_row_notfound := lock_csr%NOTFOUND;
2319 CLOSE lock_csr;
2320 EXCEPTION
2321 WHEN E_Resource_Busy THEN
2322 IF (lock_csr%ISOPEN) THEN
2323 CLOSE lock_csr;
2324 END IF;
2325 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2326 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2327 END;
2328
2329 IF ( l_row_notfound ) THEN
2330 OPEN lchk_csr(p_teh_rec);
2331 FETCH lchk_csr INTO lc_object_version_number;
2332 lc_row_notfound := lchk_csr%NOTFOUND;
2333 CLOSE lchk_csr;
2334 END IF;
2335 IF (lc_row_notfound) THEN
2336 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2337 RAISE OKL_API.G_EXCEPTION_ERROR;
2338 ELSIF lc_object_version_number > p_teh_rec.object_version_number THEN
2339 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2340 RAISE OKL_API.G_EXCEPTION_ERROR;
2341 ELSIF lc_object_version_number <> p_teh_rec.object_version_number THEN
2342 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
2343 RAISE OKL_API.G_EXCEPTION_ERROR;
2344 ELSIF lc_object_version_number = -1 THEN
2345 OKL_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
2346 RAISE OKL_API.G_EXCEPTION_ERROR;
2347 END IF;
2348 x_return_status := l_return_status;
2349 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2350 EXCEPTION
2351 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2352 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2353 (
2354 l_api_name,
2355 G_PKG_NAME,
2356 'OKL_API.G_RET_STS_ERROR',
2357 x_msg_count,
2358 x_msg_data,
2359 '_PVT'
2360 );
2361 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2362 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2363 (
2364 l_api_name,
2365 G_PKG_NAME,
2366 'OKL_API.G_RET_STS_UNEXP_ERROR',
2367 x_msg_count,
2368 x_msg_data,
2369 '_PVT'
2370 );
2371 WHEN OTHERS THEN
2372 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2373 (
2374 l_api_name,
2375 G_PKG_NAME,
2376 'OTHERS',
2377 x_msg_count,
2378 x_msg_data,
2379 '_PVT'
2380 );
2381 END lock_row;
2382 ---------------------------------------
2383 -- lock_row for:OKL_TRX_EXTENSION_TL --
2384 ---------------------------------------
2385 PROCEDURE lock_row(
2386 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2387 x_return_status OUT NOCOPY VARCHAR2,
2388 x_msg_count OUT NOCOPY NUMBER,
2389 x_msg_data OUT NOCOPY VARCHAR2,
2390 p_tehl_rec IN tehl_rec_type) IS
2391
2392 E_Resource_Busy EXCEPTION;
2393 PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
2394 CURSOR lock_csr (p_tehl_rec IN tehl_rec_type) IS
2395 SELECT *
2396 FROM OKL_TRX_EXTENSION_TL
2397 WHERE HEADER_EXTENSION_ID = p_tehl_rec.header_extension_id
2398 FOR UPDATE NOWAIT;
2399
2400 l_api_version CONSTANT NUMBER := 1;
2401 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
2402 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2403 l_lock_var lock_csr%ROWTYPE;
2404 l_row_notfound BOOLEAN := FALSE;
2405 lc_row_notfound BOOLEAN := FALSE;
2406 BEGIN
2407 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2408 p_init_msg_list,
2409 '_PVT',
2410 x_return_status);
2411 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2412 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2413 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2414 RAISE OKL_API.G_EXCEPTION_ERROR;
2415 END IF;
2416 BEGIN
2417 OPEN lock_csr(p_tehl_rec);
2418 FETCH lock_csr INTO l_lock_var;
2419 l_row_notfound := lock_csr%NOTFOUND;
2420 CLOSE lock_csr;
2421 EXCEPTION
2422 WHEN E_Resource_Busy THEN
2423 IF (lock_csr%ISOPEN) THEN
2424 CLOSE lock_csr;
2425 END IF;
2426 OKL_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
2427 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
2428 END;
2429
2430 IF ( l_row_notfound ) THEN
2431 OKL_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
2432 RAISE OKL_API.G_EXCEPTION_ERROR;
2433 END IF;
2434 x_return_status := l_return_status;
2435 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2436 EXCEPTION
2437 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2438 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2439 (
2440 l_api_name,
2441 G_PKG_NAME,
2442 'OKL_API.G_RET_STS_ERROR',
2443 x_msg_count,
2444 x_msg_data,
2445 '_PVT'
2446 );
2447 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2448 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2449 (
2450 l_api_name,
2451 G_PKG_NAME,
2452 'OKL_API.G_RET_STS_UNEXP_ERROR',
2453 x_msg_count,
2454 x_msg_data,
2455 '_PVT'
2456 );
2457 WHEN OTHERS THEN
2458 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2459 (
2460 l_api_name,
2461 G_PKG_NAME,
2462 'OTHERS',
2463 x_msg_count,
2464 x_msg_data,
2465 '_PVT'
2466 );
2467 END lock_row;
2468 ---------------------------------------
2469 -- lock_row for: OKL_TRX_EXTENSION_V --
2470 ---------------------------------------
2471 PROCEDURE lock_row(
2472 p_api_version IN NUMBER,
2473 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2474 x_return_status OUT NOCOPY VARCHAR2,
2475 x_msg_count OUT NOCOPY NUMBER,
2476 x_msg_data OUT NOCOPY VARCHAR2,
2477 p_tehv_rec IN tehv_rec_type) IS
2478
2479 l_api_version CONSTANT NUMBER := 1;
2480 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
2481 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2482 l_teh_rec teh_rec_type;
2483 l_tehl_rec tehl_rec_type;
2484 BEGIN
2485 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2486 G_PKG_NAME,
2487 p_init_msg_list,
2488 l_api_version,
2489 p_api_version,
2490 '_PVT',
2491 x_return_status);
2492 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2493 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2494 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2495 RAISE OKL_API.G_EXCEPTION_ERROR;
2496 END IF;
2497 -----------------------------------------
2498 -- Move VIEW record to "Child" records --
2499 -----------------------------------------
2500 migrate(p_tehv_rec, l_teh_rec);
2501 migrate(p_tehv_rec, l_tehl_rec);
2502 ---------------------------------------------
2503 -- Call the LOCK_ROW for each child record --
2504 ---------------------------------------------
2505 lock_row(
2506 p_init_msg_list,
2507 l_return_status,
2508 x_msg_count,
2509 x_msg_data,
2510 l_teh_rec
2511 );
2512 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2513 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2514 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2515 RAISE OKL_API.G_EXCEPTION_ERROR;
2516 END IF;
2517 lock_row(
2518 p_init_msg_list,
2519 l_return_status,
2520 x_msg_count,
2521 x_msg_data,
2522 l_tehl_rec
2523 );
2524 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2525 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2526 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2527 RAISE OKL_API.G_EXCEPTION_ERROR;
2528 END IF;
2529 x_return_status := l_return_status;
2530 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2531 EXCEPTION
2532 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2533 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2534 (
2535 l_api_name,
2536 G_PKG_NAME,
2537 'OKL_API.G_RET_STS_ERROR',
2538 x_msg_count,
2539 x_msg_data,
2540 '_PVT'
2541 );
2542 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2543 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2544 (
2545 l_api_name,
2546 G_PKG_NAME,
2547 'OKL_API.G_RET_STS_UNEXP_ERROR',
2548 x_msg_count,
2549 x_msg_data,
2550 '_PVT'
2551 );
2552 WHEN OTHERS THEN
2553 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2554 (
2555 l_api_name,
2556 G_PKG_NAME,
2557 'OTHERS',
2558 x_msg_count,
2559 x_msg_data,
2560 '_PVT'
2561 );
2562 END lock_row;
2563 --------------------------------------
2564 -- PL/SQL TBL lock_row for:TEHV_TBL --
2565 --------------------------------------
2566 PROCEDURE lock_row(
2567 p_api_version IN NUMBER,
2568 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2569 x_return_status OUT NOCOPY VARCHAR2,
2570 x_msg_count OUT NOCOPY NUMBER,
2571 x_msg_data OUT NOCOPY VARCHAR2,
2572 p_tehv_tbl IN tehv_tbl_type,
2573 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
2574
2575 l_api_version CONSTANT NUMBER := 1;
2576 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_lock_row';
2577 i NUMBER := 0;
2578 BEGIN
2579 OKL_API.init_msg_list(p_init_msg_list);
2580 -- Make sure PL/SQL table has recrods in it before passing
2581 IF (p_tehv_tbl.COUNT > 0) THEN
2582 i := p_tehv_tbl.FIRST;
2583 LOOP
2584 DECLARE
2585 l_error_rec OKL_API.ERROR_REC_TYPE;
2586 BEGIN
2587 l_error_rec.api_name := l_api_name;
2588 l_error_rec.api_package := G_PKG_NAME;
2589 l_error_rec.idx := i;
2590 lock_row(
2591 p_api_version => p_api_version,
2592 p_init_msg_list => OKL_API.G_FALSE,
2593 x_return_status => l_error_rec.error_type,
2594 x_msg_count => l_error_rec.msg_count,
2595 x_msg_data => l_error_rec.msg_data,
2596 p_tehv_rec => p_tehv_tbl(i));
2597 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
2598 l_error_rec.sqlcode := SQLCODE;
2599 load_error_tbl(l_error_rec, px_error_tbl);
2600 ELSE
2601 x_msg_count := l_error_rec.msg_count;
2602 x_msg_data := l_error_rec.msg_data;
2603 END IF;
2604 EXCEPTION
2605 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2606 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
2607 l_error_rec.sqlcode := SQLCODE;
2608 load_error_tbl(l_error_rec, px_error_tbl);
2609 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2610 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
2611 l_error_rec.sqlcode := SQLCODE;
2612 load_error_tbl(l_error_rec, px_error_tbl);
2613 WHEN OTHERS THEN
2614 l_error_rec.error_type := 'OTHERS';
2615 l_error_rec.sqlcode := SQLCODE;
2616 load_error_tbl(l_error_rec, px_error_tbl);
2617 END;
2618 EXIT WHEN (i = p_tehv_tbl.LAST);
2619 i := p_tehv_tbl.NEXT(i);
2620 END LOOP;
2621 END IF;
2622 -- Loop through the error_tbl to find the error with the highest severity
2623 -- and return it.
2624 x_return_status := find_highest_exception(px_error_tbl);
2625 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2626 EXCEPTION
2627 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2628 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2629 (
2630 l_api_name,
2631 G_PKG_NAME,
2632 'OKL_API.G_RET_STS_ERROR',
2633 x_msg_count,
2634 x_msg_data,
2635 '_PVT'
2636 );
2637 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2638 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2639 (
2640 l_api_name,
2641 G_PKG_NAME,
2642 'OKL_API.G_RET_STS_UNEXP_ERROR',
2643 x_msg_count,
2644 x_msg_data,
2645 '_PVT'
2646 );
2647 WHEN OTHERS THEN
2648 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2649 (
2650 l_api_name,
2651 G_PKG_NAME,
2652 'OTHERS',
2653 x_msg_count,
2654 x_msg_data,
2655 '_PVT'
2656 );
2657 END lock_row;
2658 --------------------------------------
2659 -- PL/SQL TBL lock_row for:TEHV_TBL --
2660 --------------------------------------
2661 PROCEDURE lock_row(
2662 p_api_version IN NUMBER,
2663 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2664 x_return_status OUT NOCOPY VARCHAR2,
2665 x_msg_count OUT NOCOPY NUMBER,
2666 x_msg_data OUT NOCOPY VARCHAR2,
2667 p_tehv_tbl IN tehv_tbl_type) IS
2668
2669 l_api_version CONSTANT NUMBER := 1;
2670 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2671 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2672 l_error_tbl OKL_API.ERROR_TBL_TYPE;
2673 BEGIN
2674 OKL_API.init_msg_list(p_init_msg_list);
2675 -- Make sure PL/SQL table has recrods in it before passing
2676 IF (p_tehv_tbl.COUNT > 0) THEN
2677 lock_row(
2678 p_api_version => p_api_version,
2679 p_init_msg_list => OKL_API.G_FALSE,
2680 x_return_status => x_return_status,
2681 x_msg_count => x_msg_count,
2682 x_msg_data => x_msg_data,
2683 p_tehv_tbl => p_tehv_tbl,
2684 px_error_tbl => l_error_tbl);
2685 END IF;
2686 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
2687 EXCEPTION
2688 WHEN OKL_API.G_EXCEPTION_ERROR THEN
2689 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2690 (
2691 l_api_name,
2692 G_PKG_NAME,
2693 'OKL_API.G_RET_STS_ERROR',
2694 x_msg_count,
2695 x_msg_data,
2696 '_PVT'
2697 );
2698 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2699 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2700 (
2701 l_api_name,
2702 G_PKG_NAME,
2703 'OKL_API.G_RET_STS_UNEXP_ERROR',
2704 x_msg_count,
2705 x_msg_data,
2706 '_PVT'
2707 );
2708 WHEN OTHERS THEN
2709 x_return_status := OKL_API.HANDLE_EXCEPTIONS
2710 (
2711 l_api_name,
2712 G_PKG_NAME,
2713 'OTHERS',
2714 x_msg_count,
2715 x_msg_data,
2716 '_PVT'
2717 );
2718 END lock_row;
2719 ---------------------------------------------------------------------------
2720 -- PROCEDURE update_row
2721 ---------------------------------------------------------------------------
2722 ----------------------------------------
2723 -- update_row for:OKL_TRX_EXTENSION_B --
2724 ----------------------------------------
2725 PROCEDURE update_row(
2726 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
2727 x_return_status OUT NOCOPY VARCHAR2,
2728 x_msg_count OUT NOCOPY NUMBER,
2729 x_msg_data OUT NOCOPY VARCHAR2,
2730 p_teh_rec IN teh_rec_type,
2731 x_teh_rec OUT NOCOPY teh_rec_type) IS
2732
2733 l_api_version CONSTANT NUMBER := 1;
2734 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
2735 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2736 l_teh_rec teh_rec_type := p_teh_rec;
2737 l_def_teh_rec teh_rec_type;
2738 l_row_notfound BOOLEAN := TRUE;
2739 ----------------------------------
2740 -- FUNCTION populate_new_record --
2741 ----------------------------------
2742 FUNCTION populate_new_record (
2743 p_teh_rec IN teh_rec_type,
2744 x_teh_rec OUT NOCOPY teh_rec_type
2745 ) RETURN VARCHAR2 IS
2746 l_teh_rec teh_rec_type;
2747 l_row_notfound BOOLEAN := TRUE;
2748 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2749 BEGIN
2750 x_teh_rec := p_teh_rec;
2751 -- Get current database values
2752 l_teh_rec := get_rec(p_teh_rec, l_return_status);
2753 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
2754 IF x_teh_rec.header_extension_id IS NULL THEN
2755 x_teh_rec.header_extension_id := l_teh_rec.header_extension_id;
2756 END IF;
2757 IF x_teh_rec.source_id IS NULL THEN
2758 x_teh_rec.source_id := l_teh_rec.source_id;
2759 END IF;
2760 IF x_teh_rec.source_table IS NULL THEN
2761 x_teh_rec.source_table := l_teh_rec.source_table;
2762 END IF;
2763 IF x_teh_rec.object_version_number IS NULL THEN
2764 x_teh_rec.object_version_number := l_teh_rec.object_version_number;
2765 END IF;
2766 IF x_teh_rec.contract_number IS NULL THEN
2767 x_teh_rec.contract_number := l_teh_rec.contract_number;
2768 END IF;
2769 IF x_teh_rec.inv_agrmnt_number IS NULL THEN
2770 x_teh_rec.inv_agrmnt_number := l_teh_rec.inv_agrmnt_number;
2771 END IF;
2772 IF x_teh_rec.contract_currency_code IS NULL THEN
2773 x_teh_rec.contract_currency_code := l_teh_rec.contract_currency_code;
2774 END IF;
2775 IF x_teh_rec.inv_agrmnt_currency_code IS NULL THEN
2776 x_teh_rec.inv_agrmnt_currency_code := l_teh_rec.inv_agrmnt_currency_code;
2777 END IF;
2778 IF x_teh_rec.contract_effective_from IS NULL THEN
2779 x_teh_rec.contract_effective_from := l_teh_rec.contract_effective_from;
2780 END IF;
2781 IF x_teh_rec.inv_agrmnt_effective_from IS NULL THEN
2782 x_teh_rec.inv_agrmnt_effective_from := l_teh_rec.inv_agrmnt_effective_from;
2783 END IF;
2784 IF x_teh_rec.customer_name IS NULL THEN
2785 x_teh_rec.customer_name := l_teh_rec.customer_name;
2786 END IF;
2787 IF x_teh_rec.sales_rep_name IS NULL THEN
2788 x_teh_rec.sales_rep_name := l_teh_rec.sales_rep_name;
2789 END IF;
2790 IF x_teh_rec.customer_account_number IS NULL THEN
2791 x_teh_rec.customer_account_number := l_teh_rec.customer_account_number;
2792 END IF;
2793 IF x_teh_rec.bill_to_address_num IS NULL THEN
2794 x_teh_rec.bill_to_address_num := l_teh_rec.bill_to_address_num;
2795 END IF;
2796 IF x_teh_rec.int_calc_method_code IS NULL THEN
2797 x_teh_rec.int_calc_method_code := l_teh_rec.int_calc_method_code;
2798 END IF;
2799 IF x_teh_rec.rev_rec_method_code IS NULL THEN
2800 x_teh_rec.rev_rec_method_code := l_teh_rec.rev_rec_method_code;
2801 END IF;
2802 IF x_teh_rec.converted_number IS NULL THEN
2803 x_teh_rec.converted_number := l_teh_rec.converted_number;
2804 END IF;
2805 IF x_teh_rec.assignable_flag IS NULL THEN
2806 x_teh_rec.assignable_flag := l_teh_rec.assignable_flag;
2807 END IF;
2808 IF x_teh_rec.credit_line_number IS NULL THEN
2809 x_teh_rec.credit_line_number := l_teh_rec.credit_line_number;
2810 END IF;
2811 IF x_teh_rec.master_lease_number IS NULL THEN
2812 x_teh_rec.master_lease_number := l_teh_rec.master_lease_number;
2813 END IF;
2814 IF x_teh_rec.po_order_number IS NULL THEN
2815 x_teh_rec.po_order_number := l_teh_rec.po_order_number;
2816 END IF;
2817 IF x_teh_rec.vendor_program_number IS NULL THEN
2818 x_teh_rec.vendor_program_number := l_teh_rec.vendor_program_number;
2819 END IF;
2820 IF x_teh_rec.ins_policy_type_code IS NULL THEN
2821 x_teh_rec.ins_policy_type_code := l_teh_rec.ins_policy_type_code;
2822 END IF;
2823 IF x_teh_rec.ins_policy_number IS NULL THEN
2824 x_teh_rec.ins_policy_number := l_teh_rec.ins_policy_number;
2825 END IF;
2826 IF x_teh_rec.term_quote_accept_date IS NULL THEN
2827 x_teh_rec.term_quote_accept_date := l_teh_rec.term_quote_accept_date;
2828 END IF;
2829 IF x_teh_rec.term_quote_num IS NULL THEN
2830 x_teh_rec.term_quote_num := l_teh_rec.term_quote_num;
2831 END IF;
2832 IF x_teh_rec.term_quote_type_code IS NULL THEN
2833 x_teh_rec.term_quote_type_code := l_teh_rec.term_quote_type_code;
2834 END IF;
2835 IF x_teh_rec.converted_account_flag IS NULL THEN
2836 x_teh_rec.converted_account_flag := l_teh_rec.converted_account_flag;
2837 END IF;
2838 IF x_teh_rec.accrual_override_flag IS NULL THEN
2839 x_teh_rec.accrual_override_flag := l_teh_rec.accrual_override_flag;
2840 END IF;
2841 IF x_teh_rec.cust_attribute_category IS NULL THEN
2842 x_teh_rec.cust_attribute_category := l_teh_rec.cust_attribute_category;
2843 END IF;
2844 IF x_teh_rec.cust_attribute1 IS NULL THEN
2845 x_teh_rec.cust_attribute1 := l_teh_rec.cust_attribute1;
2846 END IF;
2847 IF x_teh_rec.cust_attribute2 IS NULL THEN
2848 x_teh_rec.cust_attribute2 := l_teh_rec.cust_attribute2;
2849 END IF;
2850 IF x_teh_rec.cust_attribute3 IS NULL THEN
2851 x_teh_rec.cust_attribute3 := l_teh_rec.cust_attribute3;
2852 END IF;
2853 IF x_teh_rec.cust_attribute4 IS NULL THEN
2854 x_teh_rec.cust_attribute4 := l_teh_rec.cust_attribute4;
2855 END IF;
2856 IF x_teh_rec.cust_attribute5 IS NULL THEN
2857 x_teh_rec.cust_attribute5 := l_teh_rec.cust_attribute5;
2858 END IF;
2859 IF x_teh_rec.cust_attribute6 IS NULL THEN
2860 x_teh_rec.cust_attribute6 := l_teh_rec.cust_attribute6;
2861 END IF;
2862 IF x_teh_rec.cust_attribute7 IS NULL THEN
2863 x_teh_rec.cust_attribute7 := l_teh_rec.cust_attribute7;
2864 END IF;
2865 IF x_teh_rec.cust_attribute8 IS NULL THEN
2866 x_teh_rec.cust_attribute8 := l_teh_rec.cust_attribute8;
2867 END IF;
2868 IF x_teh_rec.cust_attribute9 IS NULL THEN
2869 x_teh_rec.cust_attribute9 := l_teh_rec.cust_attribute9;
2870 END IF;
2871 IF x_teh_rec.cust_attribute10 IS NULL THEN
2872 x_teh_rec.cust_attribute10 := l_teh_rec.cust_attribute10;
2873 END IF;
2874 IF x_teh_rec.cust_attribute11 IS NULL THEN
2875 x_teh_rec.cust_attribute11 := l_teh_rec.cust_attribute11;
2876 END IF;
2877 IF x_teh_rec.cust_attribute12 IS NULL THEN
2878 x_teh_rec.cust_attribute12 := l_teh_rec.cust_attribute12;
2879 END IF;
2880 IF x_teh_rec.cust_attribute13 IS NULL THEN
2881 x_teh_rec.cust_attribute13 := l_teh_rec.cust_attribute13;
2882 END IF;
2883 IF x_teh_rec.cust_attribute14 IS NULL THEN
2884 x_teh_rec.cust_attribute14 := l_teh_rec.cust_attribute14;
2885 END IF;
2886 IF x_teh_rec.cust_attribute15 IS NULL THEN
2887 x_teh_rec.cust_attribute15 := l_teh_rec.cust_attribute15;
2888 END IF;
2889 IF x_teh_rec.rent_ia_contract_number IS NULL THEN
2890 x_teh_rec.rent_ia_contract_number := l_teh_rec.rent_ia_contract_number;
2891 END IF;
2892 IF x_teh_rec.res_ia_contract_number IS NULL THEN
2893 x_teh_rec.res_ia_contract_number := l_teh_rec.res_ia_contract_number;
2894 END IF;
2895 IF x_teh_rec.inv_agrmnt_pool_number IS NULL THEN
2896 x_teh_rec.inv_agrmnt_pool_number := l_teh_rec.inv_agrmnt_pool_number;
2897 END IF;
2898 IF x_teh_rec.rent_ia_product_name IS NULL THEN
2899 x_teh_rec.rent_ia_product_name := l_teh_rec.rent_ia_product_name;
2900 END IF;
2901 IF x_teh_rec.res_ia_product_name IS NULL THEN
2902 x_teh_rec.res_ia_product_name := l_teh_rec.res_ia_product_name;
2903 END IF;
2904 IF x_teh_rec.rent_ia_accounting_code IS NULL THEN
2905 x_teh_rec.rent_ia_accounting_code := l_teh_rec.rent_ia_accounting_code;
2906 END IF;
2907 IF x_teh_rec.res_ia_accounting_code IS NULL THEN
2908 x_teh_rec.res_ia_accounting_code := l_teh_rec.res_ia_accounting_code;
2909 END IF;
2910 IF x_teh_rec.inv_agrmnt_synd_code IS NULL THEN
2911 x_teh_rec.inv_agrmnt_synd_code := l_teh_rec.inv_agrmnt_synd_code;
2912 END IF;
2913 IF x_teh_rec.created_by IS NULL THEN
2914 x_teh_rec.created_by := l_teh_rec.created_by;
2915 END IF;
2916 IF x_teh_rec.creation_date IS NULL THEN
2917 x_teh_rec.creation_date := l_teh_rec.creation_date;
2918 END IF;
2919 IF x_teh_rec.last_updated_by IS NULL THEN
2920 x_teh_rec.last_updated_by := l_teh_rec.last_updated_by;
2921 END IF;
2922 IF x_teh_rec.last_update_date IS NULL THEN
2923 x_teh_rec.last_update_date := l_teh_rec.last_update_date;
2924 END IF;
2925 IF x_teh_rec.last_update_login IS NULL THEN
2926 x_teh_rec.last_update_login := l_teh_rec.last_update_login;
2927 END IF;
2928 IF x_teh_rec.contract_status_code IS NULL THEN
2929 x_teh_rec.contract_status_code := l_teh_rec.contract_status_code;
2930 END IF;
2931 IF x_teh_rec.inv_agrmnt_status_code IS NULL THEN
2932 x_teh_rec.inv_agrmnt_status_code := l_teh_rec.inv_agrmnt_status_code;
2933 END IF;
2934 IF x_teh_rec.trx_type_class_code IS NULL THEN
2935 x_teh_rec.trx_type_class_code := l_teh_rec.trx_type_class_code;
2936 END IF;
2937 IF x_teh_rec.chr_operating_unit_code IS NULL THEN
2938 x_teh_rec.chr_operating_unit_code := l_teh_rec.chr_operating_unit_code;
2939 END IF;
2940 IF x_teh_rec.party_id IS NULL THEN
2941 x_teh_rec.party_id:= l_teh_rec.party_id;
2942 END IF;
2943 IF x_teh_rec.cust_account_id IS NULL THEN
2944 x_teh_rec.cust_account_id:= l_teh_rec.cust_account_id;
2945 END IF;
2946 IF x_teh_rec.cust_site_use_id IS NULL THEN
2947 x_teh_rec.cust_site_use_id :=l_teh_rec.cust_site_use_id ;
2948 END IF;
2949 END IF;
2950 RETURN(l_return_status);
2951 END populate_new_record;
2952 --------------------------------------------
2953 -- Set_Attributes for:OKL_TRX_EXTENSION_B --
2954 --------------------------------------------
2955 FUNCTION Set_Attributes (
2956 p_teh_rec IN teh_rec_type,
2957 x_teh_rec OUT NOCOPY teh_rec_type
2958 ) RETURN VARCHAR2 IS
2959 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
2960 BEGIN
2961 x_teh_rec := p_teh_rec;
2962 x_teh_rec.OBJECT_VERSION_NUMBER := p_teh_rec.OBJECT_VERSION_NUMBER + 1;
2963 RETURN(l_return_status);
2964 END Set_Attributes;
2965 BEGIN
2966 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
2967 p_init_msg_list,
2968 '_PVT',
2969 x_return_status);
2970 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2971 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2972 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2973 RAISE OKL_API.G_EXCEPTION_ERROR;
2974 END IF;
2975 --- Setting item attributes
2976 l_return_status := Set_Attributes(
2977 p_teh_rec, -- IN
2978 l_teh_rec); -- OUT
2979 --- If any errors happen abort API
2980 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2981 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2982 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2983 RAISE OKL_API.G_EXCEPTION_ERROR;
2984 END IF;
2985 l_return_status := populate_new_record(l_teh_rec, l_def_teh_rec);
2986 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
2987 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
2988 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
2989 RAISE OKL_API.G_EXCEPTION_ERROR;
2990 END IF;
2991 UPDATE OKL_TRX_EXTENSION_B
2992 SET SOURCE_ID = l_def_teh_rec.source_id,
2993 SOURCE_TABLE = l_def_teh_rec.source_table,
2994 OBJECT_VERSION_NUMBER = l_def_teh_rec.object_version_number,
2995 CONTRACT_NUMBER = l_def_teh_rec.contract_number,
2996 INV_AGRMNT_NUMBER = l_def_teh_rec.inv_agrmnt_number,
2997 CONTRACT_CURRENCY_CODE = l_def_teh_rec.contract_currency_code,
2998 INV_AGRMNT_CURRENCY_CODE = l_def_teh_rec.inv_agrmnt_currency_code,
2999 CONTRACT_EFFECTIVE_FROM = l_def_teh_rec.contract_effective_from,
3000 INV_AGRMNT_EFFECTIVE_FROM = l_def_teh_rec.inv_agrmnt_effective_from,
3001 CUSTOMER_NAME = l_def_teh_rec.customer_name,
3002 SALES_REP_NAME = l_def_teh_rec.sales_rep_name,
3003 CUSTOMER_ACCOUNT_NUMBER = l_def_teh_rec.customer_account_number,
3004 BILL_TO_ADDRESS_NUM = l_def_teh_rec.bill_to_address_num,
3005 INT_CALC_METHOD_CODE = l_def_teh_rec.int_calc_method_code,
3006 REV_REC_METHOD_CODE = l_def_teh_rec.rev_rec_method_code,
3007 CONVERTED_NUMBER = l_def_teh_rec.converted_number,
3008 ASSIGNABLE_FLAG = l_def_teh_rec.assignable_flag,
3009 CREDIT_LINE_NUMBER = l_def_teh_rec.credit_line_number,
3010 MASTER_LEASE_NUMBER = l_def_teh_rec.master_lease_number,
3011 PO_ORDER_NUMBER = l_def_teh_rec.po_order_number,
3012 VENDOR_PROGRAM_NUMBER = l_def_teh_rec.vendor_program_number,
3013 INS_POLICY_TYPE_CODE = l_def_teh_rec.ins_policy_type_code,
3014 INS_POLICY_NUMBER = l_def_teh_rec.ins_policy_number,
3015 TERM_QUOTE_ACCEPT_DATE = l_def_teh_rec.term_quote_accept_date,
3016 TERM_QUOTE_NUM = l_def_teh_rec.term_quote_num,
3017 TERM_QUOTE_TYPE_CODE = l_def_teh_rec.term_quote_type_code,
3018 CONVERTED_ACCOUNT_FLAG = l_def_teh_rec.converted_account_flag,
3019 ACCRUAL_OVERRIDE_FLAG = l_def_teh_rec.accrual_override_flag,
3020 CUST_ATTRIBUTE_CATEGORY = l_def_teh_rec.cust_attribute_category,
3021 CUST_ATTRIBUTE1 = l_def_teh_rec.cust_attribute1,
3022 CUST_ATTRIBUTE2 = l_def_teh_rec.cust_attribute2,
3023 CUST_ATTRIBUTE3 = l_def_teh_rec.cust_attribute3,
3024 CUST_ATTRIBUTE4 = l_def_teh_rec.cust_attribute4,
3025 CUST_ATTRIBUTE5 = l_def_teh_rec.cust_attribute5,
3026 CUST_ATTRIBUTE6 = l_def_teh_rec.cust_attribute6,
3027 CUST_ATTRIBUTE7 = l_def_teh_rec.cust_attribute7,
3028 CUST_ATTRIBUTE8 = l_def_teh_rec.cust_attribute8,
3029 CUST_ATTRIBUTE9 = l_def_teh_rec.cust_attribute9,
3030 CUST_ATTRIBUTE10 = l_def_teh_rec.cust_attribute10,
3031 CUST_ATTRIBUTE11 = l_def_teh_rec.cust_attribute11,
3032 CUST_ATTRIBUTE12 = l_def_teh_rec.cust_attribute12,
3033 CUST_ATTRIBUTE13 = l_def_teh_rec.cust_attribute13,
3034 CUST_ATTRIBUTE14 = l_def_teh_rec.cust_attribute14,
3035 CUST_ATTRIBUTE15 = l_def_teh_rec.cust_attribute15,
3036 RENT_IA_CONTRACT_NUMBER = l_def_teh_rec.rent_ia_contract_number,
3037 RES_IA_CONTRACT_NUMBER = l_def_teh_rec.res_ia_contract_number,
3038 INV_AGRMNT_POOL_NUMBER = l_def_teh_rec.inv_agrmnt_pool_number,
3039 RENT_IA_PRODUCT_NAME = l_def_teh_rec.rent_ia_product_name,
3040 RES_IA_PRODUCT_NAME = l_def_teh_rec.res_ia_product_name,
3041 RENT_IA_ACCOUNTING_CODE = l_def_teh_rec.rent_ia_accounting_code,
3042 RES_IA_ACCOUNTING_CODE = l_def_teh_rec.res_ia_accounting_code,
3043 INV_AGRMNT_SYND_CODE = l_def_teh_rec.inv_agrmnt_synd_code,
3044 CREATED_BY = l_def_teh_rec.created_by,
3045 CREATION_DATE = l_def_teh_rec.creation_date,
3046 LAST_UPDATED_BY = l_def_teh_rec.last_updated_by,
3047 LAST_UPDATE_DATE = l_def_teh_rec.last_update_date,
3048 LAST_UPDATE_LOGIN = l_def_teh_rec.last_update_login,
3049 CONTRACT_STATUS_CODE = l_def_teh_rec.contract_status_code,
3050 INV_AGRMNT_STATUS_CODE = l_def_teh_rec.inv_agrmnt_status_code,
3051 TRX_TYPE_CLASS_CODE = l_def_teh_rec.trx_type_class_code,
3052 CHR_OPERATING_UNIT_CODE = l_def_teh_rec.chr_operating_unit_code,
3053 PARTY_ID =l_def_teh_rec.party_id,
3054 CUST_ACCOUNT_ID=l_def_teh_rec.cust_account_id,
3055 CUST_SITE_USE_ID=l_def_teh_rec.cust_site_use_id
3056 WHERE HEADER_EXTENSION_ID = l_def_teh_rec.header_extension_id;
3057
3058 x_teh_rec := l_teh_rec;
3059 x_return_status := l_return_status;
3060 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3061 EXCEPTION
3062 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3063 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3064 (
3065 l_api_name,
3066 G_PKG_NAME,
3067 'OKL_API.G_RET_STS_ERROR',
3068 x_msg_count,
3069 x_msg_data,
3070 '_PVT'
3071 );
3072 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3073 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3074 (
3075 l_api_name,
3076 G_PKG_NAME,
3077 'OKL_API.G_RET_STS_UNEXP_ERROR',
3078 x_msg_count,
3079 x_msg_data,
3080 '_PVT'
3081 );
3082 WHEN OTHERS THEN
3083 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3084 (
3085 l_api_name,
3086 G_PKG_NAME,
3087 'OTHERS',
3088 x_msg_count,
3089 x_msg_data,
3090 '_PVT'
3091 );
3092 END update_row;
3093 -----------------------------------------
3094 -- update_row for:OKL_TRX_EXTENSION_TL --
3095 -----------------------------------------
3096 PROCEDURE update_row(
3097 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3098 x_return_status OUT NOCOPY VARCHAR2,
3099 x_msg_count OUT NOCOPY NUMBER,
3100 x_msg_data OUT NOCOPY VARCHAR2,
3101 p_tehl_rec IN tehl_rec_type,
3102 x_tehl_rec OUT NOCOPY tehl_rec_type) IS
3103
3104 l_api_version CONSTANT NUMBER := 1;
3105 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
3106 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3107 l_tehl_rec tehl_rec_type := p_tehl_rec;
3108 l_def_tehl_rec tehl_rec_type;
3109 l_row_notfound BOOLEAN := TRUE;
3110 ----------------------------------
3111 -- FUNCTION populate_new_record --
3112 ----------------------------------
3113 FUNCTION populate_new_record (
3114 p_tehl_rec IN tehl_rec_type,
3115 x_tehl_rec OUT NOCOPY tehl_rec_type
3116 ) RETURN VARCHAR2 IS
3117 l_tehl_rec tehl_rec_type;
3118 l_row_notfound BOOLEAN := TRUE;
3119 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3120 BEGIN
3121 x_tehl_rec := p_tehl_rec;
3122 -- Get current database values
3123 l_tehl_rec := get_rec(p_tehl_rec, l_return_status);
3124 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
3125 IF x_tehl_rec.header_extension_id IS NULL THEN
3126 x_tehl_rec.header_extension_id := l_tehl_rec.header_extension_id;
3127 END IF;
3128 IF x_tehl_rec.language IS NULL THEN
3129 x_tehl_rec.language := l_tehl_rec.language;
3130 END IF;
3131 IF x_tehl_rec.source_lang IS NULL THEN
3132 x_tehl_rec.source_lang := l_tehl_rec.source_lang;
3133 END IF;
3134 IF x_tehl_rec.sfwt_flag IS NULL THEN
3135 x_tehl_rec.sfwt_flag := l_tehl_rec.sfwt_flag;
3136 END IF;
3137 IF x_tehl_rec.contract_status IS NULL THEN
3138 x_tehl_rec.contract_status := l_tehl_rec.contract_status;
3139 END IF;
3140 IF x_tehl_rec.inv_agrmnt_status IS NULL THEN
3141 x_tehl_rec.inv_agrmnt_status := l_tehl_rec.inv_agrmnt_status;
3142 END IF;
3143 IF x_tehl_rec.chr_operating_unit_name IS NULL THEN
3144 x_tehl_rec.chr_operating_unit_name := l_tehl_rec.chr_operating_unit_name;
3145 END IF;
3146 IF x_tehl_rec.transaction_type_name IS NULL THEN
3147 x_tehl_rec.transaction_type_name := l_tehl_rec.transaction_type_name;
3148 END IF;
3149 IF x_tehl_rec.created_by IS NULL THEN
3150 x_tehl_rec.created_by := l_tehl_rec.created_by;
3151 END IF;
3152 IF x_tehl_rec.creation_date IS NULL THEN
3153 x_tehl_rec.creation_date := l_tehl_rec.creation_date;
3154 END IF;
3155 IF x_tehl_rec.last_updated_by IS NULL THEN
3156 x_tehl_rec.last_updated_by := l_tehl_rec.last_updated_by;
3157 END IF;
3158 IF x_tehl_rec.last_update_date IS NULL THEN
3159 x_tehl_rec.last_update_date := l_tehl_rec.last_update_date;
3160 END IF;
3161 IF x_tehl_rec.last_update_login IS NULL THEN
3162 x_tehl_rec.last_update_login := l_tehl_rec.last_update_login;
3163 END IF;
3164 END IF;
3165 RETURN(l_return_status);
3166 END populate_new_record;
3167 ---------------------------------------------
3168 -- Set_Attributes for:OKL_TRX_EXTENSION_TL --
3169 ---------------------------------------------
3170 FUNCTION Set_Attributes (
3171 p_tehl_rec IN tehl_rec_type,
3172 x_tehl_rec OUT NOCOPY tehl_rec_type
3173 ) RETURN VARCHAR2 IS
3174 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3175 BEGIN
3176 x_tehl_rec := p_tehl_rec;
3177 --x_tehl_rec.LANGUAGE := USERENV('LANG');
3178 --x_tehl_rec.LANGUAGE := USERENV('LANG');
3179 RETURN(l_return_status);
3180 END Set_Attributes;
3181 BEGIN
3182 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3183 p_init_msg_list,
3184 '_PVT',
3185 x_return_status);
3186 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3187 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3188 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3189 RAISE OKL_API.G_EXCEPTION_ERROR;
3190 END IF;
3191 --- Setting item attributes
3192 l_return_status := Set_Attributes(
3193 p_tehl_rec, -- IN
3194 l_tehl_rec); -- OUT
3195 --- If any errors happen abort API
3196 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3197 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3198 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3199 RAISE OKL_API.G_EXCEPTION_ERROR;
3200 END IF;
3201 l_return_status := populate_new_record(l_tehl_rec, l_def_tehl_rec);
3202 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3203 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3204 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3205 RAISE OKL_API.G_EXCEPTION_ERROR;
3206 END IF;
3207 UPDATE OKL_TRX_EXTENSION_TL
3208 SET CONTRACT_STATUS = l_def_tehl_rec.contract_status,
3209 INV_AGRMNT_STATUS = l_def_tehl_rec.inv_agrmnt_status,
3210 CHR_OPERATING_UNIT_NAME = l_def_tehl_rec.chr_operating_unit_name,
3211 TRANSACTION_TYPE_NAME = l_def_tehl_rec.transaction_type_name,
3212 CREATED_BY = l_def_tehl_rec.created_by,
3213 CREATION_DATE = l_def_tehl_rec.creation_date,
3214 LAST_UPDATED_BY = l_def_tehl_rec.last_updated_by,
3215 LAST_UPDATE_DATE = l_def_tehl_rec.last_update_date,
3216 LAST_UPDATE_LOGIN = l_def_tehl_rec.last_update_login
3217 WHERE HEADER_EXTENSION_ID = l_def_tehl_rec.header_extension_id
3218 AND SOURCE_LANG = USERENV('LANG');
3219
3220 UPDATE OKL_TRX_EXTENSION_TL
3221 SET SFWT_FLAG = 'Y'
3222 WHERE HEADER_EXTENSION_ID = l_def_tehl_rec.header_extension_id
3223 AND SOURCE_LANG <> USERENV('LANG');
3224
3225 x_tehl_rec := l_tehl_rec;
3226 x_return_status := l_return_status;
3227 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3228 EXCEPTION
3229 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3230 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3231 (
3232 l_api_name,
3233 G_PKG_NAME,
3234 'OKL_API.G_RET_STS_ERROR',
3235 x_msg_count,
3236 x_msg_data,
3237 '_PVT'
3238 );
3239 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3240 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3241 (
3242 l_api_name,
3243 G_PKG_NAME,
3244 'OKL_API.G_RET_STS_UNEXP_ERROR',
3245 x_msg_count,
3246 x_msg_data,
3247 '_PVT'
3248 );
3249 WHEN OTHERS THEN
3250 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3251 (
3252 l_api_name,
3253 G_PKG_NAME,
3254 'OTHERS',
3255 x_msg_count,
3256 x_msg_data,
3257 '_PVT'
3258 );
3259 END update_row;
3260 ----------------------------------------
3261 -- update_row for:OKL_TRX_EXTENSION_V --
3262 ----------------------------------------
3263 PROCEDURE update_row(
3264 p_api_version IN NUMBER,
3265 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3266 x_return_status OUT NOCOPY VARCHAR2,
3267 x_msg_count OUT NOCOPY NUMBER,
3268 x_msg_data OUT NOCOPY VARCHAR2,
3269 p_tehv_rec IN tehv_rec_type,
3270 x_tehv_rec OUT NOCOPY tehv_rec_type) IS
3271
3272 l_api_version CONSTANT NUMBER := 1;
3273 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
3274 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3275 l_tehv_rec tehv_rec_type := p_tehv_rec;
3276 l_def_tehv_rec tehv_rec_type;
3277 l_db_tehv_rec tehv_rec_type;
3278 l_teh_rec teh_rec_type;
3279 lx_teh_rec teh_rec_type;
3280 l_tehl_rec tehl_rec_type;
3281 lx_tehl_rec tehl_rec_type;
3282 -------------------------------
3283 -- FUNCTION fill_who_columns --
3284 -------------------------------
3285 FUNCTION fill_who_columns (
3286 p_tehv_rec IN tehv_rec_type
3287 ) RETURN tehv_rec_type IS
3288 l_tehv_rec tehv_rec_type := p_tehv_rec;
3289 BEGIN
3290 l_tehv_rec.LAST_UPDATE_DATE := SYSDATE;
3291 l_tehv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3292 l_tehv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3293 RETURN(l_tehv_rec);
3294 END fill_who_columns;
3295 ----------------------------------
3296 -- FUNCTION populate_new_record --
3297 ----------------------------------
3298 FUNCTION populate_new_record (
3299 p_tehv_rec IN tehv_rec_type,
3300 x_tehv_rec OUT NOCOPY tehv_rec_type
3301 ) RETURN VARCHAR2 IS
3302 l_row_notfound BOOLEAN := TRUE;
3303 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3304 BEGIN
3305 x_tehv_rec := p_tehv_rec;
3306 -- Get current database values
3307 -- NOTE: Never assign the OBJECT_VERSION_NUMBER. Force the user to pass it
3308 -- so it may be verified through LOCK_ROW.
3309 l_db_tehv_rec := get_rec(p_tehv_rec, l_return_status);
3310 IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
3311 IF x_tehv_rec.header_extension_id IS NULL THEN
3312 x_tehv_rec.header_extension_id := l_db_tehv_rec.header_extension_id;
3313 END IF;
3314 IF x_tehv_rec.source_id IS NULL THEN
3315 x_tehv_rec.source_id := l_db_tehv_rec.source_id;
3316 END IF;
3317 IF x_tehv_rec.source_table IS NULL THEN
3318 x_tehv_rec.source_table := l_db_tehv_rec.source_table;
3319 END IF;
3320 IF x_tehv_rec.language IS NULL THEN
3321 x_tehv_rec.language := l_db_tehv_rec.language;
3322 END IF;
3323 IF x_tehv_rec.contract_number IS NULL THEN
3324 x_tehv_rec.contract_number := l_db_tehv_rec.contract_number;
3325 END IF;
3326 IF x_tehv_rec.inv_agrmnt_number IS NULL THEN
3327 x_tehv_rec.inv_agrmnt_number := l_db_tehv_rec.inv_agrmnt_number;
3328 END IF;
3329 IF x_tehv_rec.contract_currency_code IS NULL THEN
3330 x_tehv_rec.contract_currency_code := l_db_tehv_rec.contract_currency_code;
3331 END IF;
3332 IF x_tehv_rec.inv_agrmnt_currency_code IS NULL THEN
3333 x_tehv_rec.inv_agrmnt_currency_code := l_db_tehv_rec.inv_agrmnt_currency_code;
3334 END IF;
3335 IF x_tehv_rec.contract_effective_from IS NULL THEN
3336 x_tehv_rec.contract_effective_from := l_db_tehv_rec.contract_effective_from;
3337 END IF;
3338 IF x_tehv_rec.inv_agrmnt_effective_from IS NULL THEN
3339 x_tehv_rec.inv_agrmnt_effective_from := l_db_tehv_rec.inv_agrmnt_effective_from;
3340 END IF;
3341 IF x_tehv_rec.customer_name IS NULL THEN
3342 x_tehv_rec.customer_name := l_db_tehv_rec.customer_name;
3343 END IF;
3344 IF x_tehv_rec.sales_rep_name IS NULL THEN
3345 x_tehv_rec.sales_rep_name := l_db_tehv_rec.sales_rep_name;
3346 END IF;
3347 IF x_tehv_rec.customer_account_number IS NULL THEN
3348 x_tehv_rec.customer_account_number := l_db_tehv_rec.customer_account_number;
3349 END IF;
3350 IF x_tehv_rec.bill_to_address_num IS NULL THEN
3351 x_tehv_rec.bill_to_address_num := l_db_tehv_rec.bill_to_address_num;
3352 END IF;
3353 IF x_tehv_rec.int_calc_method_code IS NULL THEN
3354 x_tehv_rec.int_calc_method_code := l_db_tehv_rec.int_calc_method_code;
3355 END IF;
3356 IF x_tehv_rec.rev_rec_method_code IS NULL THEN
3357 x_tehv_rec.rev_rec_method_code := l_db_tehv_rec.rev_rec_method_code;
3358 END IF;
3359 IF x_tehv_rec.converted_number IS NULL THEN
3360 x_tehv_rec.converted_number := l_db_tehv_rec.converted_number;
3361 END IF;
3362 IF x_tehv_rec.assignable_flag IS NULL THEN
3363 x_tehv_rec.assignable_flag := l_db_tehv_rec.assignable_flag;
3364 END IF;
3365 IF x_tehv_rec.credit_line_number IS NULL THEN
3366 x_tehv_rec.credit_line_number := l_db_tehv_rec.credit_line_number;
3367 END IF;
3368 IF x_tehv_rec.master_lease_number IS NULL THEN
3369 x_tehv_rec.master_lease_number := l_db_tehv_rec.master_lease_number;
3370 END IF;
3371 IF x_tehv_rec.po_order_number IS NULL THEN
3372 x_tehv_rec.po_order_number := l_db_tehv_rec.po_order_number;
3373 END IF;
3374 IF x_tehv_rec.vendor_program_number IS NULL THEN
3375 x_tehv_rec.vendor_program_number := l_db_tehv_rec.vendor_program_number;
3376 END IF;
3377 IF x_tehv_rec.ins_policy_type_code IS NULL THEN
3378 x_tehv_rec.ins_policy_type_code := l_db_tehv_rec.ins_policy_type_code;
3379 END IF;
3380 IF x_tehv_rec.ins_policy_number IS NULL THEN
3381 x_tehv_rec.ins_policy_number := l_db_tehv_rec.ins_policy_number;
3382 END IF;
3383 IF x_tehv_rec.term_quote_accept_date IS NULL THEN
3384 x_tehv_rec.term_quote_accept_date := l_db_tehv_rec.term_quote_accept_date;
3385 END IF;
3386 IF x_tehv_rec.term_quote_num IS NULL THEN
3387 x_tehv_rec.term_quote_num := l_db_tehv_rec.term_quote_num;
3388 END IF;
3389 IF x_tehv_rec.term_quote_type_code IS NULL THEN
3390 x_tehv_rec.term_quote_type_code := l_db_tehv_rec.term_quote_type_code;
3391 END IF;
3392 IF x_tehv_rec.converted_account_flag IS NULL THEN
3393 x_tehv_rec.converted_account_flag := l_db_tehv_rec.converted_account_flag;
3394 END IF;
3395 IF x_tehv_rec.accrual_override_flag IS NULL THEN
3396 x_tehv_rec.accrual_override_flag := l_db_tehv_rec.accrual_override_flag;
3397 END IF;
3398 IF x_tehv_rec.cust_attribute_category IS NULL THEN
3399 x_tehv_rec.cust_attribute_category := l_db_tehv_rec.cust_attribute_category;
3400 END IF;
3401 IF x_tehv_rec.cust_attribute1 IS NULL THEN
3402 x_tehv_rec.cust_attribute1 := l_db_tehv_rec.cust_attribute1;
3403 END IF;
3404 IF x_tehv_rec.cust_attribute2 IS NULL THEN
3405 x_tehv_rec.cust_attribute2 := l_db_tehv_rec.cust_attribute2;
3406 END IF;
3407 IF x_tehv_rec.cust_attribute3 IS NULL THEN
3408 x_tehv_rec.cust_attribute3 := l_db_tehv_rec.cust_attribute3;
3409 END IF;
3410 IF x_tehv_rec.cust_attribute4 IS NULL THEN
3411 x_tehv_rec.cust_attribute4 := l_db_tehv_rec.cust_attribute4;
3412 END IF;
3413 IF x_tehv_rec.cust_attribute5 IS NULL THEN
3414 x_tehv_rec.cust_attribute5 := l_db_tehv_rec.cust_attribute5;
3415 END IF;
3416 IF x_tehv_rec.cust_attribute6 IS NULL THEN
3417 x_tehv_rec.cust_attribute6 := l_db_tehv_rec.cust_attribute6;
3418 END IF;
3419 IF x_tehv_rec.cust_attribute7 IS NULL THEN
3420 x_tehv_rec.cust_attribute7 := l_db_tehv_rec.cust_attribute7;
3421 END IF;
3422 IF x_tehv_rec.cust_attribute8 IS NULL THEN
3423 x_tehv_rec.cust_attribute8 := l_db_tehv_rec.cust_attribute8;
3424 END IF;
3425 IF x_tehv_rec.cust_attribute9 IS NULL THEN
3426 x_tehv_rec.cust_attribute9 := l_db_tehv_rec.cust_attribute9;
3427 END IF;
3428 IF x_tehv_rec.cust_attribute10 IS NULL THEN
3429 x_tehv_rec.cust_attribute10 := l_db_tehv_rec.cust_attribute10;
3430 END IF;
3431 IF x_tehv_rec.cust_attribute11 IS NULL THEN
3432 x_tehv_rec.cust_attribute11 := l_db_tehv_rec.cust_attribute11;
3433 END IF;
3434 IF x_tehv_rec.cust_attribute12 IS NULL THEN
3435 x_tehv_rec.cust_attribute12 := l_db_tehv_rec.cust_attribute12;
3436 END IF;
3437 IF x_tehv_rec.cust_attribute13 IS NULL THEN
3438 x_tehv_rec.cust_attribute13 := l_db_tehv_rec.cust_attribute13;
3439 END IF;
3440 IF x_tehv_rec.cust_attribute14 IS NULL THEN
3441 x_tehv_rec.cust_attribute14 := l_db_tehv_rec.cust_attribute14;
3442 END IF;
3443 IF x_tehv_rec.cust_attribute15 IS NULL THEN
3444 x_tehv_rec.cust_attribute15 := l_db_tehv_rec.cust_attribute15;
3445 END IF;
3446 IF x_tehv_rec.rent_ia_contract_number IS NULL THEN
3447 x_tehv_rec.rent_ia_contract_number := l_db_tehv_rec.rent_ia_contract_number;
3448 END IF;
3449 IF x_tehv_rec.res_ia_contract_number IS NULL THEN
3450 x_tehv_rec.res_ia_contract_number := l_db_tehv_rec.res_ia_contract_number;
3451 END IF;
3452 IF x_tehv_rec.inv_agrmnt_pool_number IS NULL THEN
3453 x_tehv_rec.inv_agrmnt_pool_number := l_db_tehv_rec.inv_agrmnt_pool_number;
3454 END IF;
3455 IF x_tehv_rec.rent_ia_product_name IS NULL THEN
3456 x_tehv_rec.rent_ia_product_name := l_db_tehv_rec.rent_ia_product_name;
3457 END IF;
3458 IF x_tehv_rec.res_ia_product_name IS NULL THEN
3459 x_tehv_rec.res_ia_product_name := l_db_tehv_rec.res_ia_product_name;
3460 END IF;
3461 IF x_tehv_rec.rent_ia_accounting_code IS NULL THEN
3462 x_tehv_rec.rent_ia_accounting_code := l_db_tehv_rec.rent_ia_accounting_code;
3463 END IF;
3464 IF x_tehv_rec.res_ia_accounting_code IS NULL THEN
3465 x_tehv_rec.res_ia_accounting_code := l_db_tehv_rec.res_ia_accounting_code;
3466 END IF;
3467 IF x_tehv_rec.inv_agrmnt_synd_code IS NULL THEN
3468 x_tehv_rec.inv_agrmnt_synd_code := l_db_tehv_rec.inv_agrmnt_synd_code;
3469 END IF;
3470 IF x_tehv_rec.created_by IS NULL THEN
3471 x_tehv_rec.created_by := l_db_tehv_rec.created_by;
3472 END IF;
3473 IF x_tehv_rec.creation_date IS NULL THEN
3474 x_tehv_rec.creation_date := l_db_tehv_rec.creation_date;
3475 END IF;
3476 IF x_tehv_rec.last_updated_by IS NULL THEN
3477 x_tehv_rec.last_updated_by := l_db_tehv_rec.last_updated_by;
3478 END IF;
3479 IF x_tehv_rec.last_update_date IS NULL THEN
3480 x_tehv_rec.last_update_date := l_db_tehv_rec.last_update_date;
3481 END IF;
3482 IF x_tehv_rec.last_update_login IS NULL THEN
3483 x_tehv_rec.last_update_login := l_db_tehv_rec.last_update_login;
3484 END IF;
3485 IF x_tehv_rec.contract_status IS NULL THEN
3486 x_tehv_rec.contract_status := l_db_tehv_rec.contract_status;
3487 END IF;
3488 IF x_tehv_rec.inv_agrmnt_status IS NULL THEN
3489 x_tehv_rec.inv_agrmnt_status := l_db_tehv_rec.inv_agrmnt_status;
3490 END IF;
3491 IF x_tehv_rec.chr_operating_unit_name IS NULL THEN
3492 x_tehv_rec.chr_operating_unit_name := l_db_tehv_rec.chr_operating_unit_name;
3493 END IF;
3494 IF x_tehv_rec.transaction_type_name IS NULL THEN
3495 x_tehv_rec.transaction_type_name := l_db_tehv_rec.transaction_type_name;
3496 END IF;
3497 IF x_tehv_rec.contract_status_code IS NULL THEN
3498 x_tehv_rec.contract_status_code := l_db_tehv_rec.contract_status_code;
3499 END IF;
3500 IF x_tehv_rec.inv_agrmnt_status_code IS NULL THEN
3501 x_tehv_rec.inv_agrmnt_status_code := l_db_tehv_rec.inv_agrmnt_status_code;
3502 END IF;
3503 IF x_tehv_rec.trx_type_class_code IS NULL THEN
3504 x_tehv_rec.trx_type_class_code := l_db_tehv_rec.trx_type_class_code;
3505 END IF;
3506 IF x_tehv_rec.chr_operating_unit_code IS NULL THEN
3507 x_tehv_rec.chr_operating_unit_code := l_db_tehv_rec.chr_operating_unit_code;
3508 END IF;
3509 IF x_tehv_rec.party_id IS NULL THEN
3510 x_tehv_rec.party_id:= l_db_tehv_rec.party_id;
3511 END IF;
3512 IF x_tehv_rec.cust_account_id IS NULL THEN
3513 x_tehv_rec.cust_account_id:= l_db_tehv_rec.cust_account_id ;
3514 END IF;
3515 IF x_tehv_rec.cust_site_use_id IS NULL THEN
3516 x_tehv_rec.cust_site_use_id := l_db_tehv_rec.cust_site_use_id;
3517 END IF;
3518 END IF;
3519 RETURN(l_return_status);
3520 END populate_new_record;
3521 --------------------------------------------
3522 -- Set_Attributes for:OKL_TRX_EXTENSION_V --
3523 --------------------------------------------
3524 FUNCTION Set_Attributes (
3525 p_tehv_rec IN tehv_rec_type,
3526 x_tehv_rec OUT NOCOPY tehv_rec_type
3527 ) RETURN VARCHAR2 IS
3528 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3529 BEGIN
3530 x_tehv_rec := p_tehv_rec;
3531 RETURN(l_return_status);
3532 END Set_Attributes;
3533 BEGIN
3534 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3535 G_PKG_NAME,
3536 p_init_msg_list,
3537 l_api_version,
3538 p_api_version,
3539 '_PVT',
3540 x_return_status);
3541 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3542 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3543 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3544 RAISE OKL_API.G_EXCEPTION_ERROR;
3545 END IF;
3546 --- Setting item attributes
3547 l_return_status := Set_Attributes(
3548 p_tehv_rec, -- IN
3549 x_tehv_rec); -- OUT
3550 --- If any errors happen abort API
3551 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3552 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3553 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3554 RAISE OKL_API.G_EXCEPTION_ERROR;
3555 END IF;
3556 l_return_status := populate_new_record(l_tehv_rec, l_def_tehv_rec);
3557 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3558 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3559 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3560 RAISE OKL_API.G_EXCEPTION_ERROR;
3561 END IF;
3562 l_def_tehv_rec := null_out_defaults(l_def_tehv_rec);
3563 l_def_tehv_rec := fill_who_columns(l_def_tehv_rec);
3564 --- Validate all non-missing attributes (Item Level Validation)
3565 l_return_status := Validate_Attributes(l_def_tehv_rec);
3566 --- If any errors happen abort API
3567 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3568 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3569 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3570 RAISE OKL_API.G_EXCEPTION_ERROR;
3571 END IF;
3572 l_return_status := Validate_Record(l_def_tehv_rec, l_db_tehv_rec);
3573 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3574 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3575 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3576 RAISE OKL_API.G_EXCEPTION_ERROR;
3577 END IF;
3578
3579 -- Lock the Record
3580 lock_row(
3581 p_api_version => p_api_version,
3582 p_init_msg_list => p_init_msg_list,
3583 x_return_status => l_return_status,
3584 x_msg_count => x_msg_count,
3585 x_msg_data => x_msg_data,
3586 p_tehv_rec => p_tehv_rec);
3587 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3588 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3589 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3590 RAISE OKL_API.G_EXCEPTION_ERROR;
3591 END IF;
3592
3593 -----------------------------------------
3594 -- Move VIEW record to "Child" records --
3595 -----------------------------------------
3596 migrate(l_def_tehv_rec, l_teh_rec);
3597 migrate(l_def_tehv_rec, l_tehl_rec);
3598 -----------------------------------------------
3599 -- Call the UPDATE_ROW for each child record --
3600 -----------------------------------------------
3601 update_row(
3602 p_init_msg_list,
3603 l_return_status,
3604 x_msg_count,
3605 x_msg_data,
3606 l_teh_rec,
3607 lx_teh_rec
3608 );
3609 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3610 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3611 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3612 RAISE OKL_API.G_EXCEPTION_ERROR;
3613 END IF;
3614 migrate(lx_teh_rec, l_def_tehv_rec);
3615 update_row(
3616 p_init_msg_list,
3617 l_return_status,
3618 x_msg_count,
3619 x_msg_data,
3620 l_tehl_rec,
3621 lx_tehl_rec
3622 );
3623 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3624 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3625 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3626 RAISE OKL_API.G_EXCEPTION_ERROR;
3627 END IF;
3628 migrate(lx_tehl_rec, l_def_tehv_rec);
3629 x_tehv_rec := l_def_tehv_rec;
3630 x_return_status := l_return_status;
3631 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3632 EXCEPTION
3633 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3634 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3635 (
3636 l_api_name,
3637 G_PKG_NAME,
3638 'OKL_API.G_RET_STS_ERROR',
3639 x_msg_count,
3640 x_msg_data,
3641 '_PVT'
3642 );
3643 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3644 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3645 (
3646 l_api_name,
3647 G_PKG_NAME,
3648 'OKL_API.G_RET_STS_UNEXP_ERROR',
3649 x_msg_count,
3650 x_msg_data,
3651 '_PVT'
3652 );
3653 WHEN OTHERS THEN
3654 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3655 (
3656 l_api_name,
3657 G_PKG_NAME,
3658 'OTHERS',
3659 x_msg_count,
3660 x_msg_data,
3661 '_PVT'
3662 );
3663 END update_row;
3664 ----------------------------------------
3665 -- PL/SQL TBL update_row for:tehv_tbl --
3666 ----------------------------------------
3667 PROCEDURE update_row(
3668 p_api_version IN NUMBER,
3669 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3670 x_return_status OUT NOCOPY VARCHAR2,
3671 x_msg_count OUT NOCOPY NUMBER,
3672 x_msg_data OUT NOCOPY VARCHAR2,
3673 p_tehv_tbl IN tehv_tbl_type,
3674 x_tehv_tbl OUT NOCOPY tehv_tbl_type,
3675 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
3676
3677 l_api_version CONSTANT NUMBER := 1;
3678 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_update_row';
3679 i NUMBER := 0;
3680 BEGIN
3681 OKL_API.init_msg_list(p_init_msg_list);
3682 -- Make sure PL/SQL table has records in it before passing
3683 IF (p_tehv_tbl.COUNT > 0) THEN
3684 i := p_tehv_tbl.FIRST;
3685 LOOP
3686 DECLARE
3687 l_error_rec OKL_API.ERROR_REC_TYPE;
3688 BEGIN
3689 l_error_rec.api_name := l_api_name;
3690 l_error_rec.api_package := G_PKG_NAME;
3691 l_error_rec.idx := i;
3692 update_row (
3693 p_api_version => p_api_version,
3694 p_init_msg_list => OKL_API.G_FALSE,
3695 x_return_status => l_error_rec.error_type,
3696 x_msg_count => l_error_rec.msg_count,
3697 x_msg_data => l_error_rec.msg_data,
3698 p_tehv_rec => p_tehv_tbl(i),
3699 x_tehv_rec => x_tehv_tbl(i));
3700 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
3701 l_error_rec.sqlcode := SQLCODE;
3702 load_error_tbl(l_error_rec, px_error_tbl);
3703 ELSE
3704 x_msg_count := l_error_rec.msg_count;
3705 x_msg_data := l_error_rec.msg_data;
3706 END IF;
3707 EXCEPTION
3708 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3709 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
3710 l_error_rec.sqlcode := SQLCODE;
3711 load_error_tbl(l_error_rec, px_error_tbl);
3712 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3713 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
3714 l_error_rec.sqlcode := SQLCODE;
3715 load_error_tbl(l_error_rec, px_error_tbl);
3716 WHEN OTHERS THEN
3717 l_error_rec.error_type := 'OTHERS';
3718 l_error_rec.sqlcode := SQLCODE;
3719 load_error_tbl(l_error_rec, px_error_tbl);
3720 END;
3721 EXIT WHEN (i = p_tehv_tbl.LAST);
3722 i := p_tehv_tbl.NEXT(i);
3723 END LOOP;
3724 END IF;
3725 -- Loop through the error_tbl to find the error with the highest severity
3726 -- and return it.
3727 x_return_status := find_highest_exception(px_error_tbl);
3728 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3729 EXCEPTION
3730 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3731 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3732 (
3733 l_api_name,
3734 G_PKG_NAME,
3735 'OKL_API.G_RET_STS_ERROR',
3736 x_msg_count,
3737 x_msg_data,
3738 '_PVT'
3739 );
3740 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3741 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3742 (
3743 l_api_name,
3744 G_PKG_NAME,
3745 'OKL_API.G_RET_STS_UNEXP_ERROR',
3746 x_msg_count,
3747 x_msg_data,
3748 '_PVT'
3749 );
3750 WHEN OTHERS THEN
3751 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3752 (
3753 l_api_name,
3754 G_PKG_NAME,
3755 'OTHERS',
3756 x_msg_count,
3757 x_msg_data,
3758 '_PVT'
3759 );
3760 END update_row;
3761
3762 ----------------------------------------
3763 -- PL/SQL TBL update_row for:TEHV_TBL --
3764 ----------------------------------------
3765 PROCEDURE update_row(
3766 p_api_version IN NUMBER,
3767 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3768 x_return_status OUT NOCOPY VARCHAR2,
3769 x_msg_count OUT NOCOPY NUMBER,
3770 x_msg_data OUT NOCOPY VARCHAR2,
3771 p_tehv_tbl IN tehv_tbl_type,
3772 x_tehv_tbl OUT NOCOPY tehv_tbl_type) IS
3773
3774 l_api_version CONSTANT NUMBER := 1;
3775 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
3776 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3777 l_error_tbl OKL_API.ERROR_TBL_TYPE;
3778 BEGIN
3779 OKL_API.init_msg_list(p_init_msg_list);
3780 -- Make sure PL/SQL table has records in it before passing
3781 IF (p_tehv_tbl.COUNT > 0) THEN
3782 update_row (
3783 p_api_version => p_api_version,
3784 p_init_msg_list => OKL_API.G_FALSE,
3785 x_return_status => x_return_status,
3786 x_msg_count => x_msg_count,
3787 x_msg_data => x_msg_data,
3788 p_tehv_tbl => p_tehv_tbl,
3789 x_tehv_tbl => x_tehv_tbl,
3790 px_error_tbl => l_error_tbl);
3791 END IF;
3792 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3793 EXCEPTION
3794 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3795 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3796 (
3797 l_api_name,
3798 G_PKG_NAME,
3799 'OKL_API.G_RET_STS_ERROR',
3800 x_msg_count,
3801 x_msg_data,
3802 '_PVT'
3803 );
3804 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3805 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3806 (
3807 l_api_name,
3808 G_PKG_NAME,
3809 'OKL_API.G_RET_STS_UNEXP_ERROR',
3810 x_msg_count,
3811 x_msg_data,
3812 '_PVT'
3813 );
3814 WHEN OTHERS THEN
3815 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3816 (
3817 l_api_name,
3818 G_PKG_NAME,
3819 'OTHERS',
3820 x_msg_count,
3821 x_msg_data,
3822 '_PVT'
3823 );
3824 END update_row;
3825
3826 ---------------------------------------------------------------------------
3827 -- PROCEDURE delete_row
3828 ---------------------------------------------------------------------------
3829 ----------------------------------------
3830 -- delete_row for:OKL_TRX_EXTENSION_B --
3831 ----------------------------------------
3832 PROCEDURE delete_row(
3833 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3834 x_return_status OUT NOCOPY VARCHAR2,
3835 x_msg_count OUT NOCOPY NUMBER,
3836 x_msg_data OUT NOCOPY VARCHAR2,
3837 p_teh_rec IN teh_rec_type) IS
3838
3839 l_api_version CONSTANT NUMBER := 1;
3840 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
3841 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3842 l_teh_rec teh_rec_type := p_teh_rec;
3843 l_row_notfound BOOLEAN := TRUE;
3844 BEGIN
3845 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3846 p_init_msg_list,
3847 '_PVT',
3848 x_return_status);
3849 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3850 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3851 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3852 RAISE OKL_API.G_EXCEPTION_ERROR;
3853 END IF;
3854
3855 DELETE FROM OKL_TRX_EXTENSION_B
3856 WHERE HEADER_EXTENSION_ID = p_teh_rec.header_extension_id;
3857
3858 x_return_status := l_return_status;
3859 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3860 EXCEPTION
3861 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3862 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3863 (
3864 l_api_name,
3865 G_PKG_NAME,
3866 'OKL_API.G_RET_STS_ERROR',
3867 x_msg_count,
3868 x_msg_data,
3869 '_PVT'
3870 );
3871 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3872 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3873 (
3874 l_api_name,
3875 G_PKG_NAME,
3876 'OKL_API.G_RET_STS_UNEXP_ERROR',
3877 x_msg_count,
3878 x_msg_data,
3879 '_PVT'
3880 );
3881 WHEN OTHERS THEN
3882 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3883 (
3884 l_api_name,
3885 G_PKG_NAME,
3886 'OTHERS',
3887 x_msg_count,
3888 x_msg_data,
3889 '_PVT'
3890 );
3891 END delete_row;
3892 -----------------------------------------
3893 -- delete_row for:OKL_TRX_EXTENSION_TL --
3894 -----------------------------------------
3895 PROCEDURE delete_row(
3896 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3897 x_return_status OUT NOCOPY VARCHAR2,
3898 x_msg_count OUT NOCOPY NUMBER,
3899 x_msg_data OUT NOCOPY VARCHAR2,
3900 p_tehl_rec IN tehl_rec_type) IS
3901
3902 l_api_version CONSTANT NUMBER := 1;
3903 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
3904 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3905 l_tehl_rec tehl_rec_type := p_tehl_rec;
3906 l_row_notfound BOOLEAN := TRUE;
3907 BEGIN
3908 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3909 p_init_msg_list,
3910 '_PVT',
3911 x_return_status);
3912 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3913 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3914 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3915 RAISE OKL_API.G_EXCEPTION_ERROR;
3916 END IF;
3917
3918 DELETE FROM OKL_TRX_EXTENSION_TL
3919 WHERE HEADER_EXTENSION_ID = p_tehl_rec.header_extension_id;
3920
3921 x_return_status := l_return_status;
3922 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
3923 EXCEPTION
3924 WHEN OKL_API.G_EXCEPTION_ERROR THEN
3925 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3926 (
3927 l_api_name,
3928 G_PKG_NAME,
3929 'OKL_API.G_RET_STS_ERROR',
3930 x_msg_count,
3931 x_msg_data,
3932 '_PVT'
3933 );
3934 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3935 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3936 (
3937 l_api_name,
3938 G_PKG_NAME,
3939 'OKL_API.G_RET_STS_UNEXP_ERROR',
3940 x_msg_count,
3941 x_msg_data,
3942 '_PVT'
3943 );
3944 WHEN OTHERS THEN
3945 x_return_status := OKL_API.HANDLE_EXCEPTIONS
3946 (
3947 l_api_name,
3948 G_PKG_NAME,
3949 'OTHERS',
3950 x_msg_count,
3951 x_msg_data,
3952 '_PVT'
3953 );
3954 END delete_row;
3955 ----------------------------------------
3956 -- delete_row for:OKL_TRX_EXTENSION_V --
3957 ----------------------------------------
3958 PROCEDURE delete_row(
3959 p_api_version IN NUMBER,
3960 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
3961 x_return_status OUT NOCOPY VARCHAR2,
3962 x_msg_count OUT NOCOPY NUMBER,
3963 x_msg_data OUT NOCOPY VARCHAR2,
3964 p_tehv_rec IN tehv_rec_type) IS
3965
3966 l_api_version CONSTANT NUMBER := 1;
3967 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
3968 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
3969 l_tehv_rec tehv_rec_type := p_tehv_rec;
3970 l_tehl_rec tehl_rec_type;
3971 l_teh_rec teh_rec_type;
3972 BEGIN
3973 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
3974 G_PKG_NAME,
3975 p_init_msg_list,
3976 l_api_version,
3977 p_api_version,
3978 '_PVT',
3979 x_return_status);
3980 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
3981 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
3982 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
3983 RAISE OKL_API.G_EXCEPTION_ERROR;
3984 END IF;
3985 -----------------------------------------
3986 -- Move VIEW record to "Child" records --
3987 -----------------------------------------
3988 migrate(l_tehv_rec, l_tehl_rec);
3989 migrate(l_tehv_rec, l_teh_rec);
3990 -----------------------------------------------
3991 -- Call the DELETE_ROW for each child record --
3992 -----------------------------------------------
3993 delete_row(
3994 p_init_msg_list,
3995 l_return_status,
3996 x_msg_count,
3997 x_msg_data,
3998 l_tehl_rec
3999 );
4000 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4001 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4002 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4003 RAISE OKL_API.G_EXCEPTION_ERROR;
4004 END IF;
4005 delete_row(
4006 p_init_msg_list,
4007 l_return_status,
4008 x_msg_count,
4009 x_msg_data,
4010 l_teh_rec
4011 );
4012 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4013 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4014 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4015 RAISE OKL_API.G_EXCEPTION_ERROR;
4016 END IF;
4017 x_return_status := l_return_status;
4018 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4019 EXCEPTION
4020 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4021 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4022 (
4023 l_api_name,
4024 G_PKG_NAME,
4025 'OKL_API.G_RET_STS_ERROR',
4026 x_msg_count,
4027 x_msg_data,
4028 '_PVT'
4029 );
4030 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4031 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4032 (
4033 l_api_name,
4034 G_PKG_NAME,
4035 'OKL_API.G_RET_STS_UNEXP_ERROR',
4036 x_msg_count,
4037 x_msg_data,
4038 '_PVT'
4039 );
4040 WHEN OTHERS THEN
4041 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4042 (
4043 l_api_name,
4044 G_PKG_NAME,
4045 'OTHERS',
4046 x_msg_count,
4047 x_msg_data,
4048 '_PVT'
4049 );
4050 END delete_row;
4051 ---------------------------------------------------
4052 -- PL/SQL TBL delete_row for:OKL_TRX_EXTENSION_V --
4053 ---------------------------------------------------
4054 PROCEDURE delete_row(
4055 p_api_version IN NUMBER,
4056 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4057 x_return_status OUT NOCOPY VARCHAR2,
4058 x_msg_count OUT NOCOPY NUMBER,
4059 x_msg_data OUT NOCOPY VARCHAR2,
4060 p_tehv_tbl IN tehv_tbl_type,
4061 px_error_tbl IN OUT NOCOPY OKL_API.ERROR_TBL_TYPE) IS
4062
4063 l_api_version CONSTANT NUMBER := 1;
4064 l_api_name CONSTANT VARCHAR2(30) := 'V_error_tbl_delete_row';
4065 i NUMBER := 0;
4066 BEGIN
4067 OKL_API.init_msg_list(p_init_msg_list);
4068 -- Make sure PL/SQL table has records in it before passing
4069 IF (p_tehv_tbl.COUNT > 0) THEN
4070 i := p_tehv_tbl.FIRST;
4071 LOOP
4072 DECLARE
4073 l_error_rec OKL_API.ERROR_REC_TYPE;
4074 BEGIN
4075 l_error_rec.api_name := l_api_name;
4076 l_error_rec.api_package := G_PKG_NAME;
4077 l_error_rec.idx := i;
4078 delete_row (
4079 p_api_version => p_api_version,
4080 p_init_msg_list => OKL_API.G_FALSE,
4081 x_return_status => l_error_rec.error_type,
4082 x_msg_count => l_error_rec.msg_count,
4083 x_msg_data => l_error_rec.msg_data,
4084 p_tehv_rec => p_tehv_tbl(i));
4085 IF (l_error_rec.error_type <> OKL_API.G_RET_STS_SUCCESS) THEN
4086 l_error_rec.sqlcode := SQLCODE;
4087 load_error_tbl(l_error_rec, px_error_tbl);
4088 ELSE
4089 x_msg_count := l_error_rec.msg_count;
4090 x_msg_data := l_error_rec.msg_data;
4091 END IF;
4092 EXCEPTION
4093 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4094 l_error_rec.error_type := OKL_API.G_RET_STS_ERROR;
4095 l_error_rec.sqlcode := SQLCODE;
4096 load_error_tbl(l_error_rec, px_error_tbl);
4097 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4098 l_error_rec.error_type := OKL_API.G_RET_STS_UNEXP_ERROR;
4099 l_error_rec.sqlcode := SQLCODE;
4100 load_error_tbl(l_error_rec, px_error_tbl);
4101 WHEN OTHERS THEN
4102 l_error_rec.error_type := 'OTHERS';
4103 l_error_rec.sqlcode := SQLCODE;
4104 load_error_tbl(l_error_rec, px_error_tbl);
4105 END;
4106 EXIT WHEN (i = p_tehv_tbl.LAST);
4107 i := p_tehv_tbl.NEXT(i);
4108 END LOOP;
4109 END IF;
4110 -- Loop through the error_tbl to find the error with the highest severity
4111 -- and return it.
4112 x_return_status := find_highest_exception(px_error_tbl);
4113 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4114 EXCEPTION
4115 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4116 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4117 (
4118 l_api_name,
4119 G_PKG_NAME,
4120 'OKL_API.G_RET_STS_ERROR',
4121 x_msg_count,
4122 x_msg_data,
4123 '_PVT'
4124 );
4125 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4126 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4127 (
4128 l_api_name,
4129 G_PKG_NAME,
4130 'OKL_API.G_RET_STS_UNEXP_ERROR',
4131 x_msg_count,
4132 x_msg_data,
4133 '_PVT'
4134 );
4135 WHEN OTHERS THEN
4136 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4137 (
4138 l_api_name,
4139 G_PKG_NAME,
4140 'OTHERS',
4141 x_msg_count,
4142 x_msg_data,
4143 '_PVT'
4144 );
4145 END delete_row;
4146
4147 ---------------------------------------------------
4148 -- PL/SQL TBL delete_row for:OKL_TRX_EXTENSION_V --
4149 ---------------------------------------------------
4150 PROCEDURE delete_row(
4151 p_api_version IN NUMBER,
4152 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4153 x_return_status OUT NOCOPY VARCHAR2,
4154 x_msg_count OUT NOCOPY NUMBER,
4155 x_msg_data OUT NOCOPY VARCHAR2,
4156 p_tehv_tbl IN tehv_tbl_type) IS
4157
4158 l_api_version CONSTANT NUMBER := 1;
4159 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
4160 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4161 l_error_tbl OKL_API.ERROR_TBL_TYPE;
4162 BEGIN
4163 OKL_API.init_msg_list(p_init_msg_list);
4164 -- Make sure PL/SQL table has records in it before passing
4165 IF (p_tehv_tbl.COUNT > 0) THEN
4166 delete_row (
4167 p_api_version => p_api_version,
4168 p_init_msg_list => OKL_API.G_FALSE,
4169 x_return_status => x_return_status,
4170 x_msg_count => x_msg_count,
4171 x_msg_data => x_msg_data,
4172 p_tehv_tbl => p_tehv_tbl,
4173 px_error_tbl => l_error_tbl);
4174 END IF;
4175 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4176 EXCEPTION
4177 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4178 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4179 (
4180 l_api_name,
4181 G_PKG_NAME,
4182 'OKL_API.G_RET_STS_ERROR',
4183 x_msg_count,
4184 x_msg_data,
4185 '_PVT'
4186 );
4187 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4188 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4189 (
4190 l_api_name,
4191 G_PKG_NAME,
4192 'OKL_API.G_RET_STS_UNEXP_ERROR',
4193 x_msg_count,
4194 x_msg_data,
4195 '_PVT'
4196 );
4197 WHEN OTHERS THEN
4198 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4199 (
4200 l_api_name,
4201 G_PKG_NAME,
4202 'OTHERS',
4203 x_msg_count,
4204 x_msg_data,
4205 '_PVT'
4206 );
4207 END delete_row;
4208
4209 ---------------------------------------------------------------------------
4210 -- PROCEDURE insert_row
4211 ---------------------------------------------------------------------------
4212 -- Added : PRASJAIN : Bug# 6268782
4213 ---------------------------------------------------------------------------
4214 -- insert_row for:OKL_TRX_EXTENSION_B/OKL_TRX_EXTENSION_TL ----------------
4215 ---------------------------------------------------------------------------
4216 PROCEDURE insert_row(
4217 p_api_version IN NUMBER,
4218 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
4219 x_return_status OUT NOCOPY VARCHAR2,
4220 x_msg_count OUT NOCOPY NUMBER,
4221 x_msg_data OUT NOCOPY VARCHAR2,
4222 p_teh_rec IN teh_rec_type,
4223 p_tehl_tbl IN tehl_tbl_type,
4224 x_teh_rec OUT NOCOPY teh_rec_type,
4225 x_tehl_tbl OUT NOCOPY tehl_tbl_type) IS
4226
4227 l_api_version CONSTANT NUMBER := 1;
4228 l_api_name CONSTANT VARCHAR2(30) := 'B_TL_insert_row';
4229 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4230
4231 l_teh_rec teh_rec_type := p_teh_rec;
4232 l_def_teh_rec teh_rec_type;
4233 lx_teh_rec teh_rec_type;
4234
4235 l_tehl_tbl tehl_tbl_type := p_tehl_tbl;
4236 lx_tehl_tbl tehl_tbl_type;
4237
4238 idx NUMBER := 0;
4239 -------------------------------
4240 -- FUNCTION fill_who_columns --
4241 -------------------------------
4242 FUNCTION fill_who_columns (
4243 p_teh_rec IN teh_rec_type
4244 ) RETURN teh_rec_type IS
4245 l_teh_rec teh_rec_type := p_teh_rec;
4246 BEGIN
4247 l_teh_rec.CREATION_DATE := SYSDATE;
4248 l_teh_rec.CREATED_BY := FND_GLOBAL.USER_ID;
4249 l_teh_rec.LAST_UPDATE_DATE := l_teh_rec.CREATION_DATE;
4250 l_teh_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4251 l_teh_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4252 RETURN(l_teh_rec);
4253 END fill_who_columns;
4254 --------------------------------------------
4255 -- Set_Attributes for:OKL_TRX_EXTENSION_B --
4256 --------------------------------------------
4257 FUNCTION Set_Attributes (
4258 p_teh_rec IN teh_rec_type,
4259 x_teh_rec OUT NOCOPY teh_rec_type
4260 ) RETURN VARCHAR2 IS
4261 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
4262 BEGIN
4263 x_teh_rec := p_teh_rec;
4264 x_teh_rec.OBJECT_VERSION_NUMBER := 1;
4265 RETURN(l_return_status);
4266 END Set_Attributes;
4267 BEGIN
4268 l_return_status := OKL_API.START_ACTIVITY(l_api_name,
4269 G_PKG_NAME,
4270 p_init_msg_list,
4271 l_api_version,
4272 p_api_version,
4273 '_PVT',
4274 x_return_status);
4275 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4276 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4277 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4278 RAISE OKL_API.G_EXCEPTION_ERROR;
4279 END IF;
4280 -- Set primary key value
4281 l_teh_rec.HEADER_EXTENSION_ID := get_seq_id;
4282 -- Setting item attributes
4283 l_return_Status := Set_Attributes(
4284 l_teh_rec, -- IN
4285 l_def_teh_rec); -- OUT
4286 --- If any errors happen abort API
4287 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4288 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4289 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4290 RAISE OKL_API.G_EXCEPTION_ERROR;
4291 END IF;
4292 l_def_teh_rec := fill_who_columns(l_def_teh_rec);
4293 l_teh_rec := l_def_teh_rec;
4294 -----------------------------------------------
4295 -- Call the INSERT_ROW for each child record --
4296 -----------------------------------------------
4297 insert_row(
4298 p_init_msg_list,
4299 l_return_status,
4300 x_msg_count,
4301 x_msg_data,
4302 l_teh_rec,
4303 lx_teh_rec
4304 );
4305 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4306 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4307 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4308 RAISE OKL_API.G_EXCEPTION_ERROR;
4309 END IF;
4310
4311 FOR idx in p_tehl_tbl.FIRST .. p_tehl_tbl.LAST
4312 LOOP
4313 l_tehl_tbl(idx).header_extension_id := lx_teh_rec.header_extension_id;
4314 l_tehl_tbl(idx).CREATION_DATE := SYSDATE;
4315 l_tehl_tbl(idx).CREATED_BY := FND_GLOBAL.USER_ID;
4316 l_tehl_tbl(idx).LAST_UPDATE_DATE := l_tehl_tbl(idx).CREATION_DATE;
4317 l_tehl_tbl(idx).LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
4318 l_tehl_tbl(idx).LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
4319 insert_row(
4320 p_init_msg_list,
4321 l_return_status,
4322 x_msg_count,
4323 x_msg_data,
4324 l_tehl_tbl(idx),
4325 lx_tehl_tbl(idx)
4326 );
4327 END LOOP;
4328 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
4329 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
4330 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
4331 RAISE OKL_API.G_EXCEPTION_ERROR;
4332 END IF;
4333 -- Set OUT values
4334 x_teh_rec := lx_teh_rec;
4335 x_tehl_tbl := lx_tehl_tbl;
4336 x_return_status := l_return_status;
4337 OKL_API.END_ACTIVITY(x_msg_count, x_msg_data);
4338 EXCEPTION
4339 WHEN OKL_API.G_EXCEPTION_ERROR THEN
4340 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4341 (
4342 l_api_name,
4343 G_PKG_NAME,
4344 'OKL_API.G_RET_STS_ERROR',
4345 x_msg_count,
4346 x_msg_data,
4347 '_PVT'
4348 );
4349 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4350 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4351 (
4352 l_api_name,
4353 G_PKG_NAME,
4354 'OKL_API.G_RET_STS_UNEXP_ERROR',
4355 x_msg_count,
4356 x_msg_data,
4357 '_PVT'
4358 );
4359 WHEN OTHERS THEN
4360 x_return_status := OKL_API.HANDLE_EXCEPTIONS
4361 (
4362 l_api_name,
4363 G_PKG_NAME,
4364 'OTHERS',
4365 x_msg_count,
4366 x_msg_data,
4367 '_PVT'
4368 );
4369 END insert_row;
4370 END OKL_TEH_PVT;