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