[Home] [Help]
PACKAGE BODY: APPS.HZ_ORG_INFO_PUB
Source
1 package body HZ_ORG_INFO_PUB as
2 /* $Header: ARHORISB.pls 120.11 2005/12/07 19:32:52 acng ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'HZ_ORG_INFO_PUB';
5
6 -- Bug 2197181: added for mix-n-match project.
7
8 g_fin_mixnmatch_enabled VARCHAR2(1);
9 g_fin_selected_datasources VARCHAR2(255);
10 g_fin_is_datasource_selected VARCHAR2(1) := 'N';
11 g_fin_entity_attr_id NUMBER;
12
13 /*===========================================================================+
14 | PROCEDURE
15 | do_create_stock_markets
16 |
17 | DESCRIPTION
18 | Creates stock markets.
19 |
20 | SCOPE - PRIVATE
21 |
22 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
23 |
24 | ARGUMENTS : IN:
25 | OUT:
26 | x_stock_exchange_id
27 | IN/ OUT:
28 | p_stock_markets_rec
29 | x_return_status
30 |
31 | RETURNS : NONE
32 |
33 | NOTES
34 |
35 | MODIFICATION HISTORY
36 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
37 | 'IN OUT' in order to pass the changed record
38 | to caller.
39 |
40 | 16-MAR-01 Suresh P Bug No :1478910 Added the status column in
41 | HZ_CERTIFICATIONS_PKG.INSERT_ROW(),HZ_CERTIFICATION_PKG.UPDATE_ROW(),
42 | HZ_FINANCIAL_REPORTS_PKG.INSERT_ROW(),HZ_FINANCIAL_REPORTS_PKG.UPDATE_ROW(),
43 | HZ_FINANCIAL_NUMBER_PKG.INSERT_ROW(),HZ_FINANCIAL_NUMBER_PKG.UPDATE_ROW(),
44 | HZ_INDUSTRIAL_REFERENCE_PKG.INSERT_ROW(),HZ_INDUSTRIAL_REFERENCE_PKG.UPDATE_ROW,
45 | HZ_SECURITY_ISSUED_PKG.INSERT_ROW(),HZ_SECURITY_ISSUED_PKG.UPDATE_ROW.
46 +===========================================================================*/
47
48 procedure do_create_stock_markets(
49 p_stock_markets_rec IN OUT NOCOPY stock_markets_rec_type,
50 x_stock_exchange_id OUT NOCOPY NUMBER,
51 x_return_status IN OUT NOCOPY VARCHAR2
52 ) IS
53 l_stock_exchange_id NUMBER := p_stock_markets_rec.stock_exchange_id;
54 l_rowid ROWID := NULL;
55 l_count NUMBER;
56 BEGIN
57 -- if l_stock_exchange_id is NULL, then generate PK.
58 IF l_stock_exchange_id is NULL OR
59 l_stock_exchange_id = FND_API.G_MISS_NUM THEN
60 l_count := 1;
61
62 WHILE l_count >0 LOOP
63 SELECT hz_stock_markets_s.nextval
64 INTO l_stock_exchange_id from dual;
65
66 SELECT count(*)
67 INTO l_count
68 FROM HZ_STOCK_MARKETS
69 WHERE stock_exchange_id = l_stock_exchange_id;
70 END LOOP;
71
72 ELSE
73 l_count := 0;
74
75 SELECT count(*)
76 INTO l_count
77 FROM HZ_STOCK_MARKETS
78 WHERE stock_exchange_id = l_stock_exchange_id;
79
80 if l_count > 0 THEN
81 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
82 FND_MESSAGE.SET_TOKEN('COLUMN', 'stock_exchange_id');
83 FND_MSG_PUB.ADD;
84 RAISE FND_API.G_EXC_ERROR;
85 end if;
86
87 END IF;
88
89 x_stock_exchange_id := l_stock_exchange_id;
90
91 -- validate stock market record
92 HZ_ORG_INFO_VALIDATE.validate_stock_markets(p_stock_markets_rec,'C',
93 x_return_status);
94
95 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
96 RAISE FND_API.G_EXC_ERROR;
97 END IF;
98
99 -- Bug 1428526: Should pass updated stock market info. to caller.
100 -- Make sure to use values in p_stock_markets_rec.* when calling insert table
101 -- handler. Need to update p_stock_markets_rec first.
102 p_stock_markets_rec.stock_exchange_id := l_stock_exchange_id;
103
104 -- call table handler to insert a row
105 HZ_STOCK_MARKETS_PKG.INSERT_ROW(
106 X_Rowid => l_rowid,
107 X_STOCK_EXCHANGE_ID => p_stock_markets_rec.stock_exchange_id,
108 X_COUNTRY_OF_RESIDENCE => p_stock_markets_rec.COUNTRY_OF_RESIDENCE,
109 X_STOCK_EXCHANGE_CODE => p_stock_markets_rec.STOCK_EXCHANGE_CODE,
110 X_STOCK_EXCHANGE_NAME => p_stock_markets_rec.STOCK_EXCHANGE_NAME,
111 X_CREATED_BY => hz_utility_pub.CREATED_BY,
112 X_CREATION_DATE => hz_utility_pub.CREATION_DATE,
113 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
114 X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
115 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
116 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
117 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
118 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
119 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
120 X_WH_UPDATE_DATE => p_stock_markets_rec.WH_UPDATE_DATE
121 );
122
123 END do_create_stock_markets;
124
125 /*===========================================================================+
126 | PROCEDURE
127 | do_update_stock_markets
128 |
129 | DESCRIPTION
130 | Updates stock markets.
131 |
132 | SCOPE - PRIVATE
133 |
134 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
135 |
136 | ARGUMENTS : IN:
137 | OUT:
138 | IN/ OUT:
139 | p_stock_markets_rec
140 | p_last_update_date
141 | x_return_status
142 |
143 | RETURNS : NONE
144 |
145 | NOTES
146 |
147 | MODIFICATION HISTORY
148 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
149 | 'IN OUT' in order to pass the changed record
150 | to caller.
151 |
152 +===========================================================================*/
153
154 procedure do_update_stock_markets(
155 p_stock_markets_rec IN OUT NOCOPY stock_markets_rec_type,
156 p_last_update_date IN OUT NOCOPY DATE,
157 x_return_status IN OUT NOCOPY VARCHAR2
158 ) IS
159 l_count NUMBER;
160 l_rowid ROWID := NULL;
161 l_last_update_date DATE;
162 BEGIN
163 -- check primary key
164 IF p_stock_markets_rec.stock_exchange_id is NULL OR
165 p_stock_markets_rec.stock_exchange_id = FND_API.G_MISS_NUM THEN
166 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
167 FND_MESSAGE.SET_TOKEN('COLUMN', 'stock_exchange_id');
168 FND_MSG_PUB.ADD;
169 RAISE FND_API.G_EXC_ERROR;
170 END IF;
171
172 -- check last_update_date
173 IF p_last_update_date is NULL OR
174 p_last_update_date = FND_API.G_MISS_DATE THEN
175 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
176 FND_MESSAGE.SET_TOKEN('COLUMN', 'last_update_date');
177 FND_MSG_PUB.ADD;
178 RAISE FND_API.G_EXC_ERROR;
179 END IF;
180
181 -- select rowid , last_update_date for lock a row
182
183 begin
184 SELECT rowid, last_update_date
185 INTO l_rowid, l_last_update_date
186 FROM HZ_STOCK_MARKETS
187 WHERE stock_exchange_id = p_stock_markets_rec.stock_exchange_id
188 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
189 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
190 FOR UPDATE NOWAIT;
191
192 EXCEPTION WHEN NO_DATA_FOUND THEN
193 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
194 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_STOCK_MARKETS');
195 FND_MSG_PUB.ADD;
196 RAISE FND_API.G_EXC_ERROR;
197 end;
198
199 -- validate stock market record
200 HZ_ORG_INFO_VALIDATE.validate_stock_markets(p_stock_markets_rec,'U',
201 x_return_status);
202
203 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
204 RAISE FND_API.G_EXC_ERROR;
205 END IF;
206
207 -- pass back last update date
208 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
209
210 -- Bug 1428526: Should pass updated stock market info. to caller.
211 -- Make sure to use values in p_stock_markets_rec.* when calling update table
212 -- handler. Need to update p_stock_markets_rec first.
213 NULL;
214
215 -- call table handler to update a row
216 HZ_STOCK_MARKETS_PKG.UPDATE_ROW(
217 X_Rowid => l_rowid,
218 X_STOCK_EXCHANGE_ID => p_stock_markets_rec.STOCK_EXCHANGE_ID,
219 X_COUNTRY_OF_RESIDENCE => p_stock_markets_rec.COUNTRY_OF_RESIDENCE,
220 X_STOCK_EXCHANGE_CODE => p_stock_markets_rec.STOCK_EXCHANGE_CODE,
221 X_STOCK_EXCHANGE_NAME => p_stock_markets_rec.STOCK_EXCHANGE_NAME,
222 X_CREATED_BY => FND_API.G_MISS_NUM,
223 X_CREATION_DATE => FND_API.G_MISS_DATE,
224 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
225 X_LAST_UPDATE_DATE => p_last_update_date,
226 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
227 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
228 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
229 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
230 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
231 X_WH_UPDATE_DATE => p_stock_markets_rec.WH_UPDATE_DATE
232 );
233
234 END do_update_stock_markets;
235
236 /*===========================================================================+
237 | PROCEDURE
238 | do_create_security_issued
239 |
240 | DESCRIPTION
241 | Creates security issued.
242 |
243 | SCOPE - PRIVATE
244 |
245 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
246 |
247 | ARGUMENTS : IN:
248 | OUT:
249 | x_security_issued_id
250 | IN/ OUT:
251 | p_security_issued_rec
252 | x_return_status
253 |
254 | RETURNS : NONE
255 |
256 | NOTES
257 |
258 | MODIFICATION HISTORY
259 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
260 | 'IN OUT' in order to pass the changed record
261 | to caller.
262 |
263 +===========================================================================*/
264
265 procedure do_create_security_issued(
266 p_security_issued_rec IN OUT NOCOPY security_issued_rec_type,
267 x_security_issued_id OUT NOCOPY NUMBER,
268 x_return_status IN OUT NOCOPY VARCHAR2
269 ) IS
270 l_security_issued_id NUMBER := p_security_issued_rec.security_issued_id;
271 l_count NUMBER ;
272 l_rowid ROWID := NULL;
273 BEGIN
274 -- if l_security_issued_id NULL, generate primary key.
275 IF l_security_issued_id is NULL OR
276 l_security_issued_id = FND_API.G_MISS_NUM THEN
277 l_count := 1;
278
279 WHILE l_count > 0 LOOP
280 SELECT hz_security_issued_s.nextval
281 INTO l_security_issued_id from DUAL;
282
283 SELECT count(*)
284 INTO l_count
285 FROM HZ_SECURITY_ISSUED
286 WHERE security_issued_id = l_security_issued_id;
287 END LOOP;
288
289 ELSE
290 l_count := 0;
291
292 SELECT count(*)
293 INTO l_count
294 FROM HZ_SECURITY_ISSUED
295 WHERE security_issued_id = l_security_issued_id;
296
297 if l_count > 0 THEN
298 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
299 FND_MESSAGE.SET_TOKEN('COLUMN', 'security_issued_id');
300 FND_MSG_PUB.ADD;
301 RAISE FND_API.G_EXC_ERROR;
302 end if;
303
304 END IF;
305
306 x_security_issued_id := l_security_issued_id;
307
308 -- validate security issued record
309 HZ_ORG_INFO_VALIDATE.validate_security_issued(p_security_issued_rec,'C',
310 x_return_status );
311 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
312 RAISE FND_API.G_EXC_ERROR;
313 END IF;
314
315 -- Bug 1428526: Should pass updated security issued info. to caller.
316 -- Make sure to use values in p_security_issued_rec.* when calling insert table
317 -- handler. Need to update p_security_issued_rec first.
318 p_security_issued_rec.security_issued_id := l_security_issued_id;
319 -- call table handler to insert a row
320 HZ_SECURITY_ISSUED_PKG.INSERT_ROW(
321 X_Rowid => l_rowid,
322 X_SECURITY_ISSUED_ID => p_security_issued_rec.security_issued_id,
323 X_ESTIMATED_TOTAL_AMOUNT => p_security_issued_rec.ESTIMATED_TOTAL_AMOUNT,
324 X_PARTY_ID => p_security_issued_rec.PARTY_ID,
325 X_STOCK_EXCHANGE_ID => p_security_issued_rec.STOCK_EXCHANGE_ID,
326 X_SECURITY_ISSUED_CLASS => p_security_issued_rec.SECURITY_ISSUED_CLASS,
327 X_SECURITY_ISSUED_NAME => p_security_issued_rec.SECURITY_ISSUED_NAME,
328 X_TOTAL_AMOUNT_IN_A_CURRENCY => p_security_issued_rec.TOTAL_AMOUNT_IN_A_CURRENCY,
329 X_STOCK_TICKER_SYMBOL => p_security_issued_rec.STOCK_TICKER_SYMBOL,
330 X_SECURITY_CURRENCY_CODE => p_security_issued_rec.SECURITY_CURRENCY_CODE,
331 X_BEGIN_DATE => p_security_issued_rec.BEGIN_DATE,
332 X_END_DATE => p_security_issued_rec.END_DATE,
333 X_CREATED_BY => hz_utility_pub.CREATED_BY,
334 X_CREATION_DATE => hz_utility_pub.CREATION_DATE,
335 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
336 X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
337 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
338 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
339 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
340 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
341 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
342 X_WH_UPDATE_DATE => p_security_issued_rec.WH_UPDATE_DATE,
343 X_STATUS =>p_security_issued_rec.STATUS
344 );
345
346 END do_create_security_issued;
347
348 /*===========================================================================+
349 | PROCEDURE
350 | do_update_security_issued
351 |
352 | DESCRIPTION
353 | Updates security issued.
354 |
355 | SCOPE - PRIVATE
356 |
357 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
358 |
359 | ARGUMENTS : IN:
360 | OUT:
361 | IN/ OUT:
362 | p_security_issued_rec
363 | p_last_update_date
364 | x_return_status
365 |
366 | RETURNS : NONE
367 |
368 | NOTES
369 |
370 | MODIFICATION HISTORY
371 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
372 | 'IN OUT' in order to pass the changed record
373 | to caller.
374 |
375 +===========================================================================*/
376
377 procedure do_update_security_issued(
378 p_security_issued_rec IN OUT NOCOPY security_issued_rec_type,
379 p_last_update_date IN OUT NOCOPY DATE,
380 x_return_status IN OUT NOCOPY VARCHAR2
381 ) IS
382 l_last_update_date DATE;
383 l_count NUMBER;
384 l_rowid ROWID := NULL;
385 BEGIN
386
387 -- check required field:
388 IF p_security_issued_rec.security_issued_id is NULL OR
389 p_security_issued_rec.security_issued_id = FND_API.G_MISS_NUM THEN
390
391 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
392 FND_MESSAGE.SET_TOKEN('COLUMN', 'security_issued_id');
393 FND_MSG_PUB.ADD;
394 RAISE FND_API.G_EXC_ERROR;
395
396 END IF;
397
398 IF p_last_update_date IS NULL OR
399 p_last_update_date = FND_API.G_MISS_DATE
400 THEN
401 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
402 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
403 FND_MSG_PUB.ADD;
404 RAISE FND_API.G_EXC_ERROR;
405 END IF;
406 begin
407 -- check last update date.
408 SELECT rowid, last_update_date
409 INTO l_rowid, l_last_update_date
410 FROM HZ_SECURITY_ISSUED
411 where security_issued_id
412 = p_security_issued_rec.security_issued_id
413 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
414 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
415 FOR UPDATE NOWAIT;
416
417 EXCEPTION WHEN NO_DATA_FOUND THEN
418 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
419 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_SECURITY_ISSUED');
420 FND_MSG_PUB.ADD;
421 RAISE FND_API.G_EXC_ERROR;
422 end;
423
424 -- validate security issued record
425 HZ_ORG_INFO_VALIDATE.validate_security_issued(p_security_issued_rec,'U',
426 x_return_status);
427
428 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
429 RAISE FND_API.G_EXC_ERROR;
430 END IF;
431
432 -- pass back last_update_date
433 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
434
435 -- Bug 1428526: Should pass updated security issued info. to caller.
436 -- Make sure to use values in p_security_issued_rec.* when calling update table
437 -- handler. Need to update p_security_issued_rec first.
438 NULL;
439
440 -- call table handler to update a row
441 HZ_SECURITY_ISSUED_PKG.UPDATE_ROW(
442 X_Rowid => l_rowid,
443 X_SECURITY_ISSUED_ID => p_security_issued_rec.SECURITY_ISSUED_ID,
444 X_ESTIMATED_TOTAL_AMOUNT => p_security_issued_rec.ESTIMATED_TOTAL_AMOUNT,
445 X_PARTY_ID => p_security_issued_rec.PARTY_ID,
446 X_STOCK_EXCHANGE_ID => p_security_issued_rec.STOCK_EXCHANGE_ID,
447 X_SECURITY_ISSUED_CLASS => p_security_issued_rec.SECURITY_ISSUED_CLASS,
448 X_SECURITY_ISSUED_NAME => p_security_issued_rec.SECURITY_ISSUED_NAME,
449 X_TOTAL_AMOUNT_IN_A_CURRENCY => p_security_issued_rec.TOTAL_AMOUNT_IN_A_CURRENCY,
450 X_STOCK_TICKER_SYMBOL => p_security_issued_rec.STOCK_TICKER_SYMBOL,
451 X_SECURITY_CURRENCY_CODE => p_security_issued_rec.SECURITY_CURRENCY_CODE,
452 X_BEGIN_DATE => p_security_issued_rec.BEGIN_DATE,
453 X_END_DATE => p_security_issued_rec.END_DATE,
454 X_CREATED_BY => FND_API.G_MISS_NUM,
455 X_CREATION_DATE => FND_API.G_MISS_DATE,
456 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
457 X_LAST_UPDATE_DATE => p_last_update_date,
458 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
459 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
460 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
461 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
462 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
463 X_WH_UPDATE_DATE => p_security_issued_rec.WH_UPDATE_DATE,
464 X_STATUS => p_security_issued_rec.STATUS
465 );
466
467 END do_update_security_issued;
468
469 /*===========================================================================+
470 | PROCEDURE
471 | do_create_financial_reports
472 |
473 | DESCRIPTION
474 | Creates financial reports.
475 |
476 | SCOPE - PRIVATE
477 |
478 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
479 |
480 | ARGUMENTS : IN:
481 | OUT:
482 | x_financial_report_id
483 | IN/ OUT:
484 | p_financial_reports_rec
485 | x_return_status
486 |
487 | RETURNS : NONE
488 |
489 | NOTES
490 |
491 | MODIFICATION HISTORY
492 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
493 | 'IN OUT' in order to pass the changed record
494 | to caller.
495 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
496 | For non-profile entities, the concept of
497 | select/de-select data-sources is obsoleted.
498 +===========================================================================*/
499
500 procedure do_create_financial_reports(
501 p_financial_reports_rec IN OUT NOCOPY financial_reports_rec_type,
502 x_financial_report_id OUT NOCOPY NUMBER,
503 x_return_status IN OUT NOCOPY VARCHAR2
504 ) IS
505
506 l_financial_report_id NUMBER := p_financial_reports_rec.financial_report_id;
507 l_rowid ROWID := NULL;
508 l_count NUMBER;
509 x_msg_count NUMBER;
510 x_msg_data VARCHAR2(2000);
511
512 BEGIN
513
514 /*
515 --Call to User-Hook pre Processing Procedure
516 --Bug 1363124: validation#3 of content_source_type
517
518 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
519 -- Bug 2197181: Modifed the condition
520 g_fin_is_datasource_selected = 'Y'
521 THEN
522 hz_org_info_crmhk.create_financial_reports_pre(
523 p_financial_reports_rec,
524 x_return_status,
525 x_msg_count,
526 x_msg_data);
527
528 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
529 RAISE FND_API.G_EXC_ERROR;
530 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
531 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
532 FND_MESSAGE.SET_TOKEN('PROCEDURE',
533 'HZ_ORG_INFO_CRMHK.CREATE_FINANCIAL_REPORTS_PRE');
534 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
535 FND_MSG_PUB.ADD;
536 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537 END IF;
538 END IF;
539 */
540
541 -- if l_financial_report_id is NULL, then generate PK.
542 IF l_financial_report_id is NULL OR
543 l_financial_report_id = FND_API.G_MISS_NUM
544 THEN
545 l_count := 1;
546
547 WHILE l_count >0 LOOP
548 SELECT hz_financial_reports_s.nextval
549 INTO l_financial_report_id from dual;
550
551 SELECT count(*)
552 INTO l_count
553 FROM HZ_FINANCIAL_REPORTS
554 WHERE financial_report_id = l_financial_report_id;
555 END LOOP;
556 ELSE
557 l_count := 0;
558
559 SELECT count(*)
560 INTO l_count
561 FROM HZ_FINANCIAL_REPORTS
562 WHERE financial_report_id = l_financial_report_id;
563
564 IF l_count > 0 THEN
565 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
566 FND_MESSAGE.SET_TOKEN('COLUMN', 'financial_report_id');
567 FND_MSG_PUB.ADD;
568 RAISE FND_API.G_EXC_ERROR;
569 END IF;
570 END IF;
571
572 x_financial_report_id := l_financial_report_id;
573
574 -- validate financial report record
575 HZ_ORG_INFO_VALIDATE.validate_financial_reports(
576 p_financial_reports_rec, 'C', x_return_status);
577
578 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
579 RAISE FND_API.G_EXC_ERROR;
580 END IF;
581
582 -- Bug 1428526: Should pass updated financial reports info. to caller.
583 -- Make sure to use values in p_financial_reports_rec.* when calling insert table
584 -- handler. Need to update p_financial_reports_rec first.
585 p_financial_reports_rec.financial_report_id := l_financial_report_id;
586 /*
587 -- call table handler to insert a row
588 HZ_FINANCIAL_REPORTS_PKG.INSERT_ROW(
589 x_rowid => l_rowid,
590 x_financial_report_id => p_financial_reports_rec.financial_report_id,
591 x_date_report_issued => p_financial_reports_rec.date_report_issued,
592 x_party_id => p_financial_reports_rec.party_id,
593 x_document_reference => p_financial_reports_rec.document_reference,
594 x_issued_period => p_financial_reports_rec.issued_period,
595 x_requiring_authority => p_financial_reports_rec.requiring_authority,
596 x_type_of_financial_report => p_financial_reports_rec.type_of_financial_report,
597 x_created_by => hz_utility_pub.created_by,
598 x_creation_date => hz_utility_pub.creation_date,
599 x_last_update_login => hz_utility_pub.last_update_login,
600 x_last_update_date => hz_utility_pub.last_update_date,
601 x_last_updated_by => hz_utility_pub.last_updated_by,
602 x_request_id => hz_utility_pub.request_id,
603 x_program_application_id => hz_utility_pub.program_application_id,
604 x_program_id => hz_utility_pub.program_id,
605 x_program_update_date => hz_utility_pub.program_update_date,
606 x_wh_udpate_id => p_financial_reports_rec.wh_udpate_id,
607 x_report_start_date => p_financial_reports_rec.report_start_date,
608 x_report_end_date => p_financial_reports_rec.report_end_date,
609 x_audit_ind => p_financial_reports_rec.audit_ind,
610 x_consolidated_ind => p_financial_reports_rec.consolidated_ind,
611 x_estimated_ind => p_financial_reports_rec.estimated_ind,
612 x_fiscal_ind => p_financial_reports_rec.fiscal_ind,
613 x_final_ind => p_financial_reports_rec.final_ind,
614 x_forecast_ind => p_financial_reports_rec.forecast_ind,
615 x_opening_ind => p_financial_reports_rec.opening_ind,
616 x_proforma_ind => p_financial_reports_rec.proforma_ind,
617 x_qualified_ind => p_financial_reports_rec.qualified_ind,
618 x_restated_ind => p_financial_reports_rec.restated_ind,
619 x_signed_by_principals_ind => p_financial_reports_rec.signed_by_principals_ind,
620 x_trial_balance_ind => p_financial_reports_rec.trial_balance_ind,
621 x_unbalanced_ind => p_financial_reports_rec.unbalanced_ind,
622 x_content_source_type => p_financial_reports_rec.content_source_type ,
623 x_status => p_financial_reports_rec.status,
624 x_actual_content_source => p_financial_reports_rec.actual_content_source
625 );
626 */
627 /*
628 --Call to User-Hook pre Processing Procedure
629 --Bug 1363124: validation#3 of content_source_type
630
631 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
632 -- Bug 2197181: Modifed the condition
633 g_fin_is_datasource_selected = 'Y'
634 THEN
635 hz_org_info_crmhk.create_financial_reports_post(
636 p_financial_reports_rec,
637 x_return_status,
638 x_msg_count,
639 x_msg_data);
640
641 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
642 RAISE FND_API.G_EXC_ERROR;
643 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
644 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
645 FND_MESSAGE.SET_TOKEN('PROCEDURE',
646 'HZ_ORG_INFO_CRMHK.CREATE_FINANCIAL_REPORTS_POST');
647 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
648 FND_MSG_PUB.ADD;
649 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
650 END IF;
651 END IF;
652 */
653
654 END do_create_financial_reports;
655
656 /*===========================================================================+
657 | PROCEDURE
658 | do_update_financial_reports
659 |
660 | DESCRIPTION
661 | Updates financial reports.
662 |
663 | SCOPE - PRIVATE
664 |
665 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
666 |
667 | ARGUMENTS : IN:
668 | OUT:
669 | IN/ OUT:
670 | p_financial_reports_rec
671 | p_last_update_date
672 | x_return_status
673 |
674 | RETURNS : NONE
675 |
676 | NOTES
677 |
678 | MODIFICATION HISTORY
679 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
680 | 'IN OUT' in order to pass the changed record
681 | to caller.
682 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
683 | For non-profile entities, the concept of
684 | select/de-select data-sources is obsoleted.
685 +===========================================================================*/
686
687 procedure do_update_financial_reports(
688 p_financial_reports_rec IN OUT NOCOPY financial_reports_rec_type,
689 p_last_update_date IN OUT NOCOPY DATE,
690 x_return_status IN OUT NOCOPY VARCHAR2
691 ) IS
692
693 l_rowid ROWID := NULL;
694 l_last_update_date DATE;
695 x_msg_count NUMBER;
696 x_msg_data VARCHAR2(2000);
697
698 BEGIN
699
700 -- check required fields:
701 IF p_financial_reports_rec.financial_report_id is NULL OR
702 p_financial_reports_rec.financial_report_id = FND_API.G_MISS_NUM
703 THEN
704 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
705 FND_MESSAGE.SET_TOKEN('COLUMN', 'financial_report_id');
706 FND_MSG_PUB.ADD;
707 RAISE FND_API.G_EXC_ERROR;
708 END IF;
709
710 IF p_last_update_date IS NULL OR
711 p_last_update_date = FND_API.G_MISS_DATE
712 THEN
713 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
714 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
715 FND_MSG_PUB.ADD;
716 RAISE FND_API.G_EXC_ERROR;
717 END IF;
718
719 BEGIN
720 -- check last update date.
721 SELECT rowid, last_update_date
722 INTO l_rowid, l_last_update_date
723 FROM hz_financial_reports
724 where financial_report_id = p_financial_reports_rec.financial_report_id
725 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
726 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
727 FOR UPDATE NOWAIT;
728
729 EXCEPTION
730 WHEN NO_DATA_FOUND THEN
731 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
732 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_FINANCIAL_REPORTS');
733 FND_MSG_PUB.ADD;
734 RAISE FND_API.G_EXC_ERROR;
735 END;
736
737 /*
738 --Call to User-Hook pre Processing Procedure
739 --Bug 1363124: validation#3 of content_source_type
740
741 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
742 -- Bug 2197181: Modifed the condition
743 g_fin_is_datasource_selected = 'Y'
744 THEN
745 hz_org_info_crmhk.update_financial_reports_pre(
746 p_financial_reports_rec,
747 x_return_status,
748 x_msg_count,
749 x_msg_data);
750
751 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
752 RAISE FND_API.G_EXC_ERROR;
753 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
754 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
755 FND_MESSAGE.SET_TOKEN('PROCEDURE',
756 'HZ_ORG_INFO_CRMHK.UPDATE_FINANCIAL_REPORTS_PRE');
757 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
758 FND_MSG_PUB.ADD;
759 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
760 END IF;
761 END IF;
762 */
763
764 -- validate financial report record
765 HZ_ORG_INFO_VALIDATE.validate_financial_reports(
766 p_financial_reports_rec, 'U', x_return_status);
767
768 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
769 RAISE FND_API.G_EXC_ERROR;
770 END IF;
771
772 -- pass back last update date
773 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
774
775 -- Bug 1428526: Should pass updated financial reports info. to caller.
776 -- Make sure to use values in p_financial_reports_rec.* when calling update table
777 -- handler. Need to update p_financial_reports_rec first.
778 NULL;
779 /*
780 -- call table handler to update a row
781 HZ_FINANCIAL_REPORTS_PKG.UPDATE_ROW(
782 x_rowid => l_rowid,
783 x_financial_report_id => p_financial_reports_rec.financial_report_id,
784 x_date_report_issued => p_financial_reports_rec.date_report_issued,
785 x_party_id => p_financial_reports_rec.party_id,
786 x_document_reference => p_financial_reports_rec.document_reference,
787 x_issued_period => p_financial_reports_rec.issued_period,
788 x_requiring_authority => p_financial_reports_rec.requiring_authority,
789 x_type_of_financial_report => p_financial_reports_rec.type_of_financial_report,
790 x_created_by => fnd_api.g_miss_num,
791 x_creation_date => fnd_api.g_miss_date,
792 x_last_update_login => hz_utility_pub.last_update_login,
793 x_last_update_date => p_last_update_date,
794 x_last_updated_by => hz_utility_pub.last_updated_by,
795 x_request_id => hz_utility_pub.request_id,
796 x_program_application_id => hz_utility_pub.program_application_id,
797 x_program_id => hz_utility_pub.program_id,
798 x_program_update_date => hz_utility_pub.program_update_date,
799 x_wh_udpate_id => p_financial_reports_rec.wh_udpate_id,
800 x_report_start_date => p_financial_reports_rec.report_start_date,
801 x_report_end_date => p_financial_reports_rec.report_end_date,
802 x_audit_ind => p_financial_reports_rec.audit_ind,
803 x_consolidated_ind => p_financial_reports_rec.consolidated_ind,
804 x_estimated_ind => p_financial_reports_rec.estimated_ind,
805 x_fiscal_ind => p_financial_reports_rec.fiscal_ind,
806 x_final_ind => p_financial_reports_rec.final_ind,
807 x_forecast_ind => p_financial_reports_rec.forecast_ind,
808 x_opening_ind => p_financial_reports_rec.opening_ind,
809 x_proforma_ind => p_financial_reports_rec.proforma_ind,
810 x_qualified_ind => p_financial_reports_rec.qualified_ind,
811 x_restated_ind => p_financial_reports_rec.restated_ind,
812 x_signed_by_principals_ind => p_financial_reports_rec.signed_by_principals_ind,
813 x_trial_balance_ind => p_financial_reports_rec.trial_balance_ind,
814 x_unbalanced_ind => p_financial_reports_rec.unbalanced_ind,
815 -- bug 2197181 : content_source_type is obsolete and it is non-updateable.
816 x_content_source_type => fnd_api.g_miss_char,
817 x_status =>p_financial_reports_rec.status,
818 x_actual_content_source => p_financial_reports_rec.actual_content_source
819 );
820 */
821 /*
822 --Call to User-Hook post Processing Procedure
823 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
824 -- Bug 2197181: Modifed the condition
825 g_fin_is_datasource_selected = 'Y'
826 THEN
827 hz_org_info_crmhk.update_financial_reports_post(
828 p_financial_reports_rec,
829 x_return_status,
830 x_msg_count,
831 x_msg_data);
832
833 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
834 RAISE FND_API.G_EXC_ERROR;
835 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
836 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
837 FND_MESSAGE.SET_TOKEN('PROCEDURE',
838 'HZ_ORG_INFO_CRMHK.UPDATE_FINANCIAL_REPORTS_POST');
839 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
840 FND_MSG_PUB.ADD;
841 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
842 END IF;
843 END IF;
844 */
845
846 END do_update_financial_reports;
847
848 /*===========================================================================+
849 | PROCEDURE
850 | do_create_financial_numbers
851 |
852 | DESCRIPTION
853 | Creates financial numbers.
854 |
855 | SCOPE - PRIVATE
856 |
857 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
858 |
859 | ARGUMENTS : IN:
860 | OUT:
861 | x_financial_number_id
862 | IN/ OUT:
863 | p_financial_numbers_rec
864 | x_return_status
865 |
866 | RETURNS : NONE
867 |
868 | NOTES
869 |
870 | MODIFICATION HISTORY
871 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
872 | 'IN OUT' in order to pass the changed record
873 | to caller.
874 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
875 | For non-profile entities, the concept of
876 | select/de-select data-sources is obsoleted.
877 +===========================================================================*/
878
879 procedure do_create_financial_numbers(
880 p_financial_numbers_rec IN OUT NOCOPY financial_numbers_rec_type,
881 x_financial_number_id OUT NOCOPY NUMBER,
882 x_return_status IN OUT NOCOPY VARCHAR2
883 ) IS
884
885 l_financial_number_id NUMBER := p_financial_numbers_rec.financial_number_id;
886 l_rep_content_source_type hz_financial_reports.content_source_type%TYPE;
887 l_rep_actual_content_source hz_financial_reports.actual_content_source%TYPE;
888 l_rowid ROWID := NULL;
889 l_count NUMBER;
890 x_msg_count NUMBER;
891 x_msg_data VARCHAR2(2000);
892
893 BEGIN
894
895 -- if l_financial_number_id is NULL, then generate PK.
896 IF l_financial_number_id is NULL OR
897 l_financial_number_id = FND_API.G_MISS_NUM
898 THEN
899 l_count := 1;
900
901 WHILE l_count >0 LOOP
902 SELECT hz_financial_numbers_s.nextval
903 INTO l_financial_number_id from dual;
904
905 SELECT count(*)
906 INTO l_count
907 FROM HZ_FINANCIAL_NUMBERS
908 WHERE financial_number_id = l_financial_number_id;
909 END LOOP;
910 ELSE
911 l_count := 0;
912
913 SELECT count(*)
914 INTO l_count
915 FROM HZ_FINANCIAL_NUMBERS
916 WHERE financial_number_id = l_financial_number_id;
917
918 IF l_count > 0 THEN
919 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
920 FND_MESSAGE.SET_TOKEN('COLUMN', 'financial_number_id');
921 FND_MSG_PUB.ADD;
922 RAISE FND_API.G_EXC_ERROR;
923 END IF;
924 END IF;
925
926 x_financial_number_id := l_financial_number_id;
927
928 -- validate financial number record
929 HZ_ORG_INFO_VALIDATE.validate_financial_numbers(
930 p_financial_numbers_rec, 'C', x_return_status,
931 l_rep_content_source_type, l_rep_actual_content_source);
932
933 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
934 RAISE FND_API.G_EXC_ERROR;
935 END IF;
936
937 -- Bug 2197181: added for mix-n-match project. first check if user
938 -- has privilege to create user-entered data if mix-n-match is enabled.
939
940 -- SSM SST Integration and Extension
941 -- For non-profile entities, the concept of select/de-select data-sources is obsoleted.
942 -- There is no need to check if the data-source is selected.
943
944 IF /*NVL(g_fin_mixnmatch_enabled, 'N') = 'Y' AND*/
945 l_rep_actual_content_source = G_MISS_CONTENT_SOURCE_TYPE
946 THEN
947 HZ_MIXNM_UTILITY.CheckUserCreationPrivilege (
948 p_entity_name => 'HZ_FINANCIAL_REPORTS',
949 p_entity_attr_id => g_fin_entity_attr_id,
950 p_mixnmatch_enabled => g_fin_mixnmatch_enabled,
951 p_actual_content_source => l_rep_actual_content_source,
952 x_return_status => x_return_status );
953 END IF;
954
955 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
956 RAISE FND_API.G_EXC_ERROR;
957 END IF;
958
959 -- Bug 2197181: added for mix-n-match project.
960 -- check if the data source is seleted.
961
962 /* SSM SST Integration and Extension
963 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
964 * There is no need to check if the data-source is selected.
965
966 g_fin_is_datasource_selected :=
967 HZ_MIXNM_UTILITY.isDataSourceSelected (
968 p_selected_datasources => g_fin_selected_datasources,
969 p_actual_content_source => l_rep_actual_content_source );
970 */
971 /*
972 --Call to User-Hook pre Processing Procedure
973 --Bug 1363124: validation#3 of content_source_type
974
975 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
976 -- Bug 2197181: Added below condition for Mix-n-Match
977 g_fin_is_datasource_selected = 'Y'
978 THEN
979 hz_org_info_crmhk.create_financial_numbers_pre(
980 p_financial_numbers_rec,
981 x_return_status,
982 x_msg_count,
983 x_msg_data);
984
985 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
986 RAISE FND_API.G_EXC_ERROR;
987 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
988 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
989 FND_MESSAGE.SET_TOKEN('PROCEDURE',
990 'HZ_ORG_INFO_CRMHK.CREATE_FINANCIAL_NUMBERS_PRE');
991 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
992 FND_MSG_PUB.ADD;
993 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
994 END IF;
995 END IF;
996 */
997
998 -- Bug 1428526: Should pass updated financial numbers info. to caller.
999 -- Make sure to use values in p_financial_numbers_rec.* when calling insert table
1000 -- handler. Need to update p_financial_numbers_rec first.
1001 p_financial_numbers_rec.financial_number_id := l_financial_number_id;
1002 /*
1003 -- call table handler to insert a row
1004 HZ_FINANCIAL_NUMBERS_PKG.INSERT_ROW(
1005 x_rowid => l_rowid,
1006 x_financial_number_id => p_financial_numbers_rec.financial_number_id,
1007 x_financial_report_id => p_financial_numbers_rec.financial_report_id,
1008 x_financial_number => p_financial_numbers_rec.financial_number,
1009 x_financial_number_name => p_financial_numbers_rec.financial_number_name,
1010 x_financial_units_applied => p_financial_numbers_rec.financial_units_applied,
1011 x_financial_number_currency => p_financial_numbers_rec.financial_number_currency,
1012 x_projected_actual_flag => p_financial_numbers_rec.projected_actual_flag,
1013 x_created_by => hz_utility_pub.created_by,
1014 x_creation_date => hz_utility_pub.creation_date,
1015 x_last_update_login => hz_utility_pub.last_update_login,
1016 x_last_update_date => hz_utility_pub.last_update_date,
1017 x_last_updated_by => hz_utility_pub.last_updated_by,
1018 x_request_id => hz_utility_pub.request_id,
1019 x_program_application_id => hz_utility_pub.program_application_id,
1020 x_program_id => hz_utility_pub.program_id,
1021 x_program_update_date => hz_utility_pub.program_update_date,
1022 x_wh_update_date => p_financial_numbers_rec.wh_update_date,
1023 x_content_source_type => l_rep_content_source_type,
1024 x_status => p_financial_numbers_rec.status,
1025 x_actual_content_source => l_rep_actual_content_source
1026 );
1027 */
1028 /*
1029 --Call to User-Hook post Processing Procedure
1030 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
1031 -- Bug 2197181: Added below condition for Mix-n-Match
1032 g_fin_is_datasource_selected = 'Y'
1033 THEN
1034 hz_org_info_crmhk.create_financial_numbers_post(
1035 p_financial_numbers_rec,
1036 x_return_status,
1037 x_msg_count,
1038 x_msg_data);
1039
1040 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1041 RAISE FND_API.G_EXC_ERROR;
1042 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1043 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
1044 FND_MESSAGE.SET_TOKEN('PROCEDURE',
1045 'HZ_ORG_INFO_CRMHK.CREATE_FINANCIAL_NUMBERS_POST');
1046 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1047 FND_MSG_PUB.ADD;
1048 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1049 END IF;
1050 END IF;
1051 */
1052
1053 END do_create_financial_numbers;
1054
1055 /*===========================================================================+
1056 | PROCEDURE
1057 | do_update_financial_numbers
1058 |
1059 | DESCRIPTION
1060 | Updates financial numbers.
1061 |
1062 | SCOPE - PRIVATE
1063 |
1064 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1065 |
1066 | ARGUMENTS : IN:
1067 | OUT:
1068 | IN/ OUT:
1069 | p_financial_numbers_rec
1070 | p_last_update_date
1071 | x_return_status
1072 |
1073 | RETURNS : NONE
1074 |
1075 | NOTES
1076 |
1077 | MODIFICATION HISTORY
1078 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1079 | 'IN OUT' in order to pass the changed record
1080 | to caller.
1081 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
1082 | For non-profile entities, the concept of
1083 | select/de-select data-sources is obsoleted.
1084 | o Updateability will be checked according to the
1085 | rules setup for the same instead of program controlled
1086 | profile values.
1087 +===========================================================================*/
1088
1089 procedure do_update_financial_numbers(
1090 p_financial_numbers_rec IN OUT NOCOPY financial_numbers_rec_type,
1091 p_last_update_date IN OUT NOCOPY DATE,
1092 x_return_status IN OUT NOCOPY VARCHAR2
1093 ) IS
1094
1095 l_last_update_date DATE;
1096 db_actual_content_source hz_financial_numbers.actual_content_source%TYPE;
1097 l_rep_content_source_type hz_financial_reports.content_source_type%TYPE;
1098 l_rep_actual_content_source hz_financial_reports.actual_content_source%TYPE;
1099 l_rowid ROWID := NULL;
1100 x_msg_count NUMBER;
1101 x_msg_data VARCHAR2(2000);
1102
1103 BEGIN
1104
1105 -- check required fields:
1106 IF p_financial_numbers_rec.financial_number_id is NULL OR
1107 p_financial_numbers_rec.financial_number_id = FND_API.G_MISS_NUM
1108 THEN
1109 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1110 FND_MESSAGE.SET_TOKEN('COLUMN', 'financial_number_id');
1111 FND_MSG_PUB.ADD;
1112 RAISE FND_API.G_EXC_ERROR;
1113 END IF;
1114
1115 IF p_last_update_date IS NULL OR
1116 p_last_update_date = FND_API.G_MISS_DATE
1117 THEN
1118 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1119 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
1120 FND_MSG_PUB.ADD;
1121 RAISE FND_API.G_EXC_ERROR;
1122 END IF;
1123
1124 BEGIN
1125 -- check last update date.
1126 SELECT rowid, last_update_date, actual_content_source
1127 INTO l_rowid, l_last_update_date, db_actual_content_source
1128 FROM HZ_FINANCIAL_NUMBERS
1129 WHERE financial_number_id = p_financial_numbers_rec.financial_number_id
1130 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
1131 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
1132 FOR UPDATE NOWAIT;
1133
1134 EXCEPTION
1135 WHEN NO_DATA_FOUND THEN
1136 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1137 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_FINANCIAL_NUMBERS');
1138 FND_MSG_PUB.ADD;
1139 RAISE FND_API.G_EXC_ERROR;
1140 END;
1141
1142 -- Bug 2197181: added for mix-n-match project. first check if user has
1143 -- privilege to update this entity.
1144
1145 -- SSM SST Integration and Extension
1146 -- Pass new parameters p_entity_name and p_new_actual_content_source
1147 IF db_actual_content_source <> G_MISS_CONTENT_SOURCE_TYPE
1148 THEN
1149 HZ_MIXNM_UTILITY.CheckUserUpdatePrivilege (
1150 p_actual_content_source => db_actual_content_source,
1151 p_new_actual_content_source => G_MISS_CONTENT_SOURCE_TYPE,
1152 p_entity_name => 'HZ_FINANCIAL_REPORTS',
1153 x_return_status => x_return_status );
1154 END IF;
1155
1156 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1157 RAISE FND_API.G_EXC_ERROR;
1158 END IF;
1159
1160 -- Bug 2197181: added for mix-n-match project.
1161 -- check if the data source is seleted.
1162
1163 /* SSM SST Integration and Extension
1164 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
1165 * There is no need to check if the data-source is selected.
1166
1167 g_fin_is_datasource_selected :=
1168 HZ_MIXNM_UTILITY.isDataSourceSelected (
1169 p_selected_datasources => g_fin_selected_datasources,
1170 p_actual_content_source => db_actual_content_source );
1171 */
1172
1173 /*
1174 --Call to User-Hook pre Processing Procedure
1175 --Bug 1363124: validation#3 of content_source_type
1176 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
1177 -- Bug 2197181: Added below condition for Mix-n-Match
1178 g_fin_is_datasource_selected = 'Y'
1179 THEN
1180 hz_org_info_crmhk.update_financial_numbers_pre(
1181 p_financial_numbers_rec,
1182 x_return_status,
1183 x_msg_count,
1184 x_msg_data);
1185
1186 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1187 RAISE FND_API.G_EXC_ERROR;
1188 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1189 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
1190 FND_MESSAGE.SET_TOKEN('PROCEDURE',
1191 'HZ_ORG_INFO_CRMHK.UPDATE_FINANCIAL_NUMBERS_PRE');
1192 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1193 FND_MSG_PUB.ADD;
1194 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1195 END IF;
1196 END IF;
1197 */
1198
1199 -- validate financial number record
1200 HZ_ORG_INFO_VALIDATE.validate_financial_numbers(
1201 p_financial_numbers_rec, 'U', x_return_status,
1202 l_rep_content_source_type, l_rep_actual_content_source);
1203
1204 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1205 RAISE FND_API.G_EXC_ERROR;
1206 END IF;
1207
1208 -- pass back the last update_date
1209 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
1210
1211 -- Bug 1428526: Should pass updated financial numbers info. to caller.
1212 -- Make sure to use values in p_financial_numbers_rec.* when calling update table
1213 -- handler. Need to update p_financial_numbers_rec first.
1214 NULL;
1215 /*
1216 -- call table handler to update a row
1217 HZ_FINANCIAL_NUMBERS_PKG.UPDATE_ROW(
1218 x_rowid => l_rowid,
1219 x_financial_number_id => p_financial_numbers_rec.financial_number_id,
1220 x_financial_report_id => p_financial_numbers_rec.financial_report_id,
1221 x_financial_number => p_financial_numbers_rec.financial_number,
1222 x_financial_number_name => p_financial_numbers_rec.financial_number_name,
1223 x_financial_units_applied => p_financial_numbers_rec.financial_units_applied,
1224 x_financial_number_currency => p_financial_numbers_rec.financial_number_currency,
1225 x_projected_actual_flag => p_financial_numbers_rec.projected_actual_flag,
1226 x_created_by => fnd_api.g_miss_num,
1227 x_creation_date => fnd_api.g_miss_date,
1228 x_last_update_login => hz_utility_pub.last_update_login,
1229 x_last_update_date => p_last_update_date,
1230 x_last_updated_by => hz_utility_pub.last_updated_by,
1231 x_request_id => hz_utility_pub.request_id,
1232 x_program_application_id => hz_utility_pub.program_application_id,
1233 x_program_id => hz_utility_pub.program_id,
1234 x_program_update_date => hz_utility_pub.program_update_date,
1235 x_wh_update_date => p_financial_numbers_rec.wh_update_date,
1236 -- bug 2197181 : content_source_type is obsolete and it is non-updateable.
1237 x_content_source_type => fnd_api.g_miss_char,
1238 x_status => p_financial_numbers_rec.status,
1239 -- bug 2197181 : actual_content_source is non-updateable.
1240 x_actual_content_source => fnd_api.g_miss_char
1241 );
1242 */
1243 /*
1244 --Call to User-Hook post Processing Procedure
1245 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' AND
1246 -- Bug 2197181: Added below condition for Mix-n-Match
1247 g_fin_is_datasource_selected = 'Y'
1248 THEN
1249 hz_org_info_crmhk.update_financial_numbers_post(
1250 p_financial_numbers_rec,
1251 x_return_status,
1252 x_msg_count,
1253 x_msg_data);
1254
1255 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1256 RAISE FND_API.G_EXC_ERROR;
1257 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1258 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
1259 FND_MESSAGE.SET_TOKEN('PROCEDURE',
1260 'HZ_ORG_INFO_CRMHK.UPDATE_FINANCIAL_NUMBERS_POST');
1261 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1262 FND_MSG_PUB.ADD;
1263 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1264 END IF;
1265 END IF;
1266 */
1267
1268 END do_update_financial_numbers;
1269
1270 /*===========================================================================+
1271 | PROCEDURE
1272 | do_create_certifications
1273 |
1274 | DESCRIPTION
1275 | Creates certifications.
1276 |
1277 | SCOPE - PRIVATE
1278 |
1279 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1280 |
1281 | ARGUMENTS : IN:
1282 | OUT:
1283 | x_certification_id
1284 | IN/ OUT:
1285 | p_certifications_rec
1286 | x_return_status
1287 |
1288 | RETURNS : NONE
1289 |
1290 | NOTES
1291 |
1292 | MODIFICATION HISTORY
1293 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1294 | 'IN OUT' in order to pass the changed record
1295 | to caller.
1296 |
1297 +===========================================================================*/
1298
1299 procedure do_create_certifications(
1300 p_certifications_rec IN OUT NOCOPY certifications_rec_type,
1301 x_certification_id OUT NOCOPY NUMBER,
1302 x_return_status IN OUT NOCOPY VARCHAR2
1303 ) IS
1304 l_certification_id NUMBER := p_certifications_rec.certification_id;
1305 l_rowid ROWID := NULL;
1306 l_count NUMBER;
1307 BEGIN
1308 -- if l_certification_id is NULL, then generate PK.
1309 IF l_certification_id is NULL OR
1310 l_certification_id = FND_API.G_MISS_NUM THEN
1311 l_count := 1;
1312
1313 WHILE l_count >0 LOOP
1314 SELECT hz_certifications_s.nextval
1315 INTO l_certification_id from dual;
1316
1317 SELECT count(*)
1318 INTO l_count
1319 FROM HZ_CERTIFICATIONS
1320 WHERE certification_id = l_certification_id;
1321 END LOOP;
1322
1323 ELSE
1324 l_count := 0;
1325
1326 SELECT count(*)
1327 INTO l_count
1328 FROM HZ_CERTIFICATIONS
1329 WHERE certification_id = l_certification_id;
1330
1331 if l_count > 0 THEN
1332 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
1333 FND_MESSAGE.SET_TOKEN('COLUMN', 'certification_id');
1334 FND_MSG_PUB.ADD;
1335 RAISE FND_API.G_EXC_ERROR;
1336 end if;
1337
1338 END IF;
1339
1340 x_certification_id := l_certification_id;
1341
1342 -- validate certification record
1343 HZ_ORG_INFO_VALIDATE.validate_certifications(p_certifications_rec,'C',
1344 x_return_status);
1345
1346 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1347 RAISE FND_API.G_EXC_ERROR;
1348 END IF;
1349
1350 -- Bug 1428526: Should pass updated certifications info. to caller.
1351 -- Make sure to use values in p_certifications_rec.* when calling insert table
1352 -- handler. Need to update p_certifications_rec first.
1353 p_certifications_rec.certification_id := l_certification_id;
1354 -- call table handler to insert a row
1355 HZ_CERTIFICATIONS_PKG.INSERT_ROW(
1356 X_Rowid => l_rowid,
1357 X_CERTIFICATION_ID => p_certifications_rec.certification_id,
1358 X_CERTIFICATION_NAME => p_certifications_rec.CERTIFICATION_NAME,
1359 X_CURRENT_STATUS => p_certifications_rec.CURRENT_STATUS,
1360 X_PARTY_ID => p_certifications_rec.PARTY_ID,
1361 X_EXPIRES_ON_DATE => p_certifications_rec.EXPIRES_ON_DATE,
1362 X_GRADE => p_certifications_rec.GRADE,
1363 X_ISSUED_BY_AUTHORITY => p_certifications_rec.ISSUED_BY_AUTHORITY,
1364 X_ISSUED_ON_DATE => p_certifications_rec.ISSUED_ON_DATE,
1365 X_CREATED_BY => hz_utility_pub.CREATED_BY,
1366 X_CREATION_DATE => hz_utility_pub.CREATION_DATE,
1367 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
1368 X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
1369 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
1370 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
1371 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
1372 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
1373 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
1374 X_WH_UPDATE_DATE => p_certifications_rec.WH_UPDATE_DATE,
1375 X_STATUS => p_certifications_rec.STATUS
1376 );
1377
1378 END do_create_certifications;
1379
1380 /*===========================================================================+
1381 | PROCEDURE
1382 | do_update_certifications
1383 |
1384 | DESCRIPTION
1385 | Updates certifications.
1386 |
1387 | SCOPE - PRIVATE
1388 |
1389 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1390 |
1391 | ARGUMENTS : IN:
1392 | OUT:
1393 | IN/ OUT:
1394 | p_certifications_rec
1395 | p_last_update_date
1396 | x_return_status
1397 |
1398 | RETURNS : NONE
1399 |
1400 | NOTES
1401 |
1402 | MODIFICATION HISTORY
1403 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1404 | 'IN OUT' in order to pass the changed record
1405 | to caller.
1406 |
1407 +===========================================================================*/
1408
1409 procedure do_update_certifications(
1410 p_certifications_rec IN OUT NOCOPY certifications_rec_type,
1411 p_last_update_date IN OUT NOCOPY DATE,
1412 x_return_status IN OUT NOCOPY VARCHAR2
1413 ) IS
1414 l_rowid ROWID := NULL;
1415 l_last_update_date DATE;
1416 BEGIN
1417 -- check required fields:
1418 IF p_certifications_rec.certification_id is NULL OR
1419 p_certifications_rec.certification_id = FND_API.G_MISS_NUM THEN
1420
1421 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1422 FND_MESSAGE.SET_TOKEN('COLUMN', 'certification_id');
1423 FND_MSG_PUB.ADD;
1424 RAISE FND_API.G_EXC_ERROR;
1425
1426 END IF;
1427
1428 IF p_last_update_date IS NULL OR
1429 p_last_update_date = FND_API.G_MISS_DATE
1430 THEN
1431 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1432 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
1433 FND_MSG_PUB.ADD;
1434 RAISE FND_API.G_EXC_ERROR;
1435 END IF;
1436 begin
1437 -- check last update date.
1438 SELECT rowid, last_update_date
1439 INTO l_rowid, l_last_update_date
1440 FROM HZ_CERTIFICATIONS
1441 where certification_id
1442 = p_certifications_rec.certification_id
1443 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
1444 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
1445 FOR UPDATE NOWAIT;
1446
1447 EXCEPTION WHEN NO_DATA_FOUND THEN
1448 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1449 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_CERTIFICATIONS');
1450 FND_MSG_PUB.ADD;
1451 RAISE FND_API.G_EXC_ERROR;
1452 end;
1453
1454 -- validate certification record
1455 HZ_ORG_INFO_VALIDATE.validate_certifications(p_certifications_rec,'U',
1456 x_return_status);
1457
1458 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1459 RAISE FND_API.G_EXC_ERROR;
1460 END IF;
1461
1462 -- pass back the last update date
1463 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
1464
1465 -- Bug 1428526: Should pass updated certifications info. to caller.
1466 -- Make sure to use values in p_certifications_rec.* when calling update table
1467 -- handler. Need to update p_certifications_rec first.
1468 NULL;
1469
1470 -- call table handler to update a row
1471 HZ_CERTIFICATIONS_PKG.UPDATE_ROW(
1472 X_Rowid => l_rowid,
1473 X_CERTIFICATION_ID => p_certifications_rec.CERTIFICATION_ID,
1474 X_CERTIFICATION_NAME => p_certifications_rec.CERTIFICATION_NAME,
1475 X_CURRENT_STATUS => p_certifications_rec.CURRENT_STATUS,
1476 X_PARTY_ID => p_certifications_rec.PARTY_ID,
1477 X_EXPIRES_ON_DATE => p_certifications_rec.EXPIRES_ON_DATE,
1478 X_GRADE => p_certifications_rec.GRADE,
1479 X_ISSUED_BY_AUTHORITY => p_certifications_rec.ISSUED_BY_AUTHORITY,
1480 X_ISSUED_ON_DATE => p_certifications_rec.ISSUED_ON_DATE,
1481 X_CREATED_BY => FND_API.G_MISS_NUM,
1482 X_CREATION_DATE => FND_API.G_MISS_DATE,
1483 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
1484 X_LAST_UPDATE_DATE => p_last_update_date,
1485 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
1486 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
1487 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
1488 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
1489 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
1490 X_WH_UPDATE_DATE => p_certifications_rec.WH_UPDATE_DATE,
1491 X_STATUS => p_certifications_rec.STATUS
1492 );
1493
1494 END do_update_certifications;
1495
1496 /*===========================================================================+
1497 | PROCEDURE
1498 | do_create_industrial_reference
1499 |
1500 | DESCRIPTION
1501 | Creates industrial reference.
1502 |
1503 | SCOPE - PRIVATE
1504 |
1505 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1506 |
1507 | ARGUMENTS : IN:
1508 | OUT:
1509 | x_industrial_reference_id
1510 | IN/ OUT:
1511 | p_industrial_reference_rec
1512 | x_return_status
1513 |
1514 | RETURNS : NONE
1515 |
1516 | NOTES
1517 |
1518 | MODIFICATION HISTORY
1519 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1520 | 'IN OUT' in order to pass the changed record
1521 | to caller.
1522 |
1523 +===========================================================================*/
1524
1525 procedure do_create_industrial_reference(
1526 p_industrial_reference_rec IN OUT NOCOPY industrial_reference_rec_type,
1527 x_industry_reference_id OUT NOCOPY NUMBER,
1528 x_return_status IN OUT NOCOPY VARCHAR2
1529 ) IS
1530 l_industry_reference_id NUMBER:= p_industrial_reference_rec.industry_reference_id;
1531 l_rowid ROWID := NULL;
1532 l_count NUMBER;
1533 BEGIN
1534 -- if l_industry_reference_id is NULL, then generate PK.
1535 IF l_industry_reference_id is NULL OR
1536 l_industry_reference_id = FND_API.G_MISS_NUM THEN
1537 l_count := 1;
1538
1539 WHILE l_count >0 LOOP
1540 SELECT hz_industrial_reference_s.nextval
1541 INTO l_industry_reference_id from dual;
1542
1543 SELECT count(*)
1544 INTO l_count
1545 FROM HZ_INDUSTRIAL_REFERENCE
1546 WHERE industry_reference_id = l_industry_reference_id;
1547 END LOOP;
1548
1549 ELSE
1550 l_count := 0;
1551
1552 SELECT count(*)
1553 INTO l_count
1554 FROM HZ_INDUSTRIAL_REFERENCE
1555 WHERE industry_reference_id = l_industry_reference_id;
1556
1557 if l_count > 0 THEN
1558 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
1559 FND_MESSAGE.SET_TOKEN('COLUMN', 'industry_reference_id');
1560 FND_MSG_PUB.ADD;
1561 RAISE FND_API.G_EXC_ERROR;
1562 end if;
1563
1564 END IF;
1565
1566 x_industry_reference_id := l_industry_reference_id;
1567
1568 -- validate industrial reference record
1569 HZ_ORG_INFO_VALIDATE.validate_industrial_reference(p_industrial_reference_rec,'C',
1570 x_return_status);
1571
1572 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1573 RAISE FND_API.G_EXC_ERROR;
1574 END IF;
1575
1576 -- Bug 1428526: Should pass updated industrial reference info. to caller.
1577 -- Make sure to use values in p_industrial_reference_rec.* when calling insert table
1578 -- handler. Need to update p_industrial_reference_rec first.
1579 p_industrial_reference_rec.industry_reference_id := l_industry_reference_id;
1580
1581 -- call table handler to insert a row
1582 HZ_INDUSTRIAL_REFERENCE_PKG.INSERT_ROW(
1583 X_Rowid => l_rowid,
1584 X_INDUSTRY_REFERENCE_ID => p_industrial_reference_rec.industry_reference_id,
1585 X_INDUSTRY_REFERENCE => p_industrial_reference_rec.INDUSTRY_REFERENCE,
1586 X_ISSUED_BY_AUTHORITY => p_industrial_reference_rec.ISSUED_BY_AUTHORITY,
1587 X_NAME_OF_REFERENCE => p_industrial_reference_rec.NAME_OF_REFERENCE,
1588 X_RECOGNIZED_AS_OF_DATE => p_industrial_reference_rec.RECOGNIZED_AS_OF_DATE,
1589 X_CREATED_BY => hz_utility_pub.CREATED_BY,
1590 X_CREATION_DATE => hz_utility_pub.CREATION_DATE,
1591 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
1592 X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
1593 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
1594 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
1595 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
1596 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
1597 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
1598 X_WH_UPDATE_DATE => p_industrial_reference_rec.WH_UPDATE_DATE,
1599 X_PARTY_ID => p_industrial_reference_rec.PARTY_ID,
1600 X_STATUS =>p_industrial_reference_rec.STATUS
1601 );
1602
1603 end do_create_industrial_reference;
1604
1605 /*===========================================================================+
1606 | PROCEDURE
1607 | do_update_industrial_reference
1608 |
1609 | DESCRIPTION
1610 | Updates industrial reference.
1611 |
1612 | SCOPE - PRIVATE
1613 |
1614 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1615 |
1616 | ARGUMENTS : IN:
1617 | OUT:
1618 | IN/ OUT:
1619 | p_industrial_reference_rec
1620 | p_last_update_date
1621 | x_return_status
1622 |
1623 | RETURNS : NONE
1624 |
1625 | NOTES
1626 |
1627 | MODIFICATION HISTORY
1628 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1629 | 'IN OUT' in order to pass the changed record
1630 | to caller.
1631 |
1632 +===========================================================================*/
1633
1634 procedure do_update_industrial_reference(
1635 p_industrial_reference_rec IN OUT NOCOPY industrial_reference_rec_type,
1636 p_last_update_date IN OUT NOCOPY DATE,
1637 x_return_status IN OUT NOCOPY VARCHAR2
1638 ) IS
1639 l_rowid ROWID := NULL;
1640 l_last_update_date DATE;
1641 BEGIN
1642 -- check required fields:
1643 IF p_industrial_reference_rec.industry_reference_id is NULL OR
1644 p_industrial_reference_rec.industry_reference_id = FND_API.G_MISS_NUM THEN
1645
1646 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1647 FND_MESSAGE.SET_TOKEN('COLUMN', 'industry_reference_id');
1648 FND_MSG_PUB.ADD;
1649 RAISE FND_API.G_EXC_ERROR;
1650
1651 END IF;
1652
1653 IF p_last_update_date IS NULL OR
1654 p_last_update_date = FND_API.G_MISS_DATE
1655 THEN
1656 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1657 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
1658 FND_MSG_PUB.ADD;
1659 RAISE FND_API.G_EXC_ERROR;
1660 END IF;
1661 begin
1662 -- check last update date.
1663 SELECT rowid, last_update_date
1664 INTO l_rowid, l_last_update_date
1665 FROM HZ_INDUSTRIAL_REFERENCE
1666 where industry_reference_id
1667 = p_industrial_reference_rec.industry_reference_id
1668 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
1669 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
1670 FOR UPDATE NOWAIT;
1671
1672 EXCEPTION WHEN NO_DATA_FOUND THEN
1673 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1674 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_INDUSTRIAL_REFERENCE');
1675 FND_MSG_PUB.ADD;
1676 RAISE FND_API.G_EXC_ERROR;
1677 end;
1678
1679 -- validate industry reference record
1680 HZ_ORG_INFO_VALIDATE.validate_industrial_reference(p_industrial_reference_rec,'U',
1681 x_return_status);
1682
1683 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1684 RAISE FND_API.G_EXC_ERROR;
1685 END IF;
1686
1687 -- pass back the last update date
1688 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
1689
1690 -- Bug 1428526: Should pass updated industrial reference info. to caller.
1691 -- Make sure to use values in p_industrial_reference_rec.* when calling update table
1692 -- handler. Need to update p_industrial_reference_rec first.
1693 NULL;
1694
1695 -- call table handler to update a row
1696 HZ_INDUSTRIAL_REFERENCE_PKG.UPDATE_ROW(
1697 X_Rowid => l_rowid,
1698 X_INDUSTRY_REFERENCE_ID => p_industrial_reference_rec.INDUSTRY_REFERENCE_ID,
1699 X_INDUSTRY_REFERENCE => p_industrial_reference_rec.INDUSTRY_REFERENCE,
1700 X_ISSUED_BY_AUTHORITY => p_industrial_reference_rec.ISSUED_BY_AUTHORITY,
1701 X_NAME_OF_REFERENCE => p_industrial_reference_rec.NAME_OF_REFERENCE,
1702 X_RECOGNIZED_AS_OF_DATE => p_industrial_reference_rec.RECOGNIZED_AS_OF_DATE,
1703 X_CREATED_BY => FND_API.G_MISS_NUM,
1704 X_CREATION_DATE => FND_API.G_MISS_DATE,
1705 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
1706 X_LAST_UPDATE_DATE => p_last_update_date,
1707 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
1708 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
1709 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
1710 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
1711 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
1712 X_WH_UPDATE_DATE => p_industrial_reference_rec.WH_UPDATE_DATE,
1713 X_PARTY_ID => p_industrial_reference_rec.PARTY_ID,
1714 X_STATUS =>p_industrial_reference_rec.STATUS
1715 );
1716
1717 END do_update_industrial_reference;
1718
1719 /*===========================================================================+
1720 | PROCEDURE
1721 | do_create_industrial_classes
1722 |
1723 | DESCRIPTION
1724 | Creates industrial classes.
1725 |
1726 | SCOPE - PRIVATE
1727 |
1728 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1729 |
1730 | ARGUMENTS : IN:
1731 | OUT:
1732 | x_industrial_class_id
1733 | IN/ OUT:
1734 | p_industrial_classes_rec
1735 | x_return_status
1736 |
1737 | RETURNS : NONE
1738 |
1739 | NOTES
1740 |
1741 | MODIFICATION HISTORY
1742 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1743 | 'IN OUT' in order to pass the changed record
1744 | to caller.
1745 |
1746 +===========================================================================*/
1747
1748 procedure do_create_industrial_classes(
1749 p_industrial_classes_rec IN OUT NOCOPY industrial_classes_rec_type,
1750 x_industrial_class_id OUT NOCOPY NUMBER,
1751 x_return_status IN OUT NOCOPY VARCHAR2
1752 ) IS
1753 l_industrial_class_id NUMBER := p_industrial_classes_rec.industrial_class_id;
1754 l_rowid ROWID := NULL;
1755 l_count NUMBER;
1756 BEGIN
1757 -- if l_industrial_class_id is NULL, then generate PK.
1758 IF l_industrial_class_id is NULL OR
1759 l_industrial_class_id = FND_API.G_MISS_NUM THEN
1760 l_count := 1;
1761
1762 WHILE l_count >0 LOOP
1763 SELECT hz_industrial_classes_s.nextval
1764 INTO l_industrial_class_id from dual;
1765
1766 SELECT count(*)
1767 INTO l_count
1768 FROM HZ_INDUSTRIAL_CLASSES
1769 WHERE industrial_class_id = l_industrial_class_id;
1770 END LOOP;
1771
1772 ELSE
1773 l_count := 0;
1774
1775 SELECT count(*)
1776 INTO l_count
1777 FROM HZ_INDUSTRIAL_CLASSES
1778 WHERE industrial_class_id = l_industrial_class_id;
1779
1780 if l_count > 0 THEN
1781 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
1782 FND_MESSAGE.SET_TOKEN('COLUMN', 'industrial_class_id');
1783 FND_MSG_PUB.ADD;
1784 RAISE FND_API.G_EXC_ERROR;
1785 end if;
1786
1787 END IF;
1788
1789 x_industrial_class_id := l_industrial_class_id;
1790
1791 -- validate industrial classes record
1792 HZ_ORG_INFO_VALIDATE.validate_industrial_classes(p_industrial_classes_rec,'C',
1793 x_return_status);
1794
1795 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1796 RAISE FND_API.G_EXC_ERROR;
1797 END IF;
1798
1799 -- Bug 1428526: Should pass updated industrial classes info. to caller.
1800 -- Make sure to use values in p_industrial_classes_rec.* when calling insert table
1801 -- handler. Need to update p_industrial_classes_rec first.
1802 p_industrial_classes_rec.industrial_class_id := l_industrial_class_id;
1803
1804 -- call table handler to insert a row
1805 HZ_INDUSTRIAL_CLASSES_PKG.INSERT_ROW(
1806 X_Rowid => l_rowid,
1807 X_INDUSTRIAL_CLASS_ID => p_industrial_classes_rec.industrial_class_id,
1808 X_INDUSTRIAL_CODE_NAME => p_industrial_classes_rec.INDUSTRIAL_CODE_NAME,
1809 X_CODE_PRIMARY_SEGMENT => p_industrial_classes_rec.CODE_PRIMARY_SEGMENT,
1810 X_INDUSTRIAL_CLASS_SOURCE => p_industrial_classes_rec.INDUSTRIAL_CLASS_SOURCE,
1811 X_CODE_DESCRIPTION => p_industrial_classes_rec.CODE_DESCRIPTION,
1812 X_CREATED_BY => hz_utility_pub.CREATED_BY,
1813 X_CREATION_DATE => hz_utility_pub.CREATION_DATE,
1814 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
1815 X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
1816 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
1817 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
1818 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
1819 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
1820 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
1821 X_WH_UPDATE_DATE => p_industrial_classes_rec.WH_UPDATE_DATE
1822 );
1823
1824 END do_create_industrial_classes;
1825
1826 /*===========================================================================+
1827 | PROCEDURE
1828 | do_update_industrial_classes
1829 |
1830 | DESCRIPTION
1831 | Updates industrial classes.
1832 |
1833 | SCOPE - PRIVATE
1834 |
1835 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1836 |
1837 | ARGUMENTS : IN:
1838 | OUT:
1839 | IN/ OUT:
1840 | p_industrial_classes_rec
1841 | p_last_update_date
1842 | x_return_status
1843 |
1844 | RETURNS : NONE
1845 |
1846 | NOTES
1847 |
1848 | MODIFICATION HISTORY
1849 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
1850 | 'IN OUT' in order to pass the changed record
1851 | to caller.
1852 |
1853 +===========================================================================*/
1854
1855 procedure do_update_industrial_classes(
1856 p_industrial_classes_rec IN OUT NOCOPY industrial_classes_rec_type,
1857 p_last_update_date IN OUT NOCOPY DATE,
1858 x_return_status IN OUT NOCOPY VARCHAR2
1859 ) IS
1860 l_count NUMBER;
1861 l_rowid ROWID := NULL;
1862 l_last_update_date DATE;
1863 BEGIN
1864 -- check required field:
1865 IF p_industrial_classes_rec.industrial_class_id is NULL OR
1866 p_industrial_classes_rec.industrial_class_id = FND_API.G_MISS_NUM THEN
1867
1868 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1869 FND_MESSAGE.SET_TOKEN('COLUMN', 'industrial_class_id');
1870 FND_MSG_PUB.ADD;
1871 RAISE FND_API.G_EXC_ERROR;
1872
1873 END IF;
1874
1875 IF p_last_update_date IS NULL OR
1876 p_last_update_date = FND_API.G_MISS_DATE
1877 THEN
1878 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1879 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
1880 FND_MSG_PUB.ADD;
1881 RAISE FND_API.G_EXC_ERROR;
1882 END IF;
1883 begin
1884 -- check last update date.
1885 SELECT rowid, last_update_date
1886 INTO l_rowid, l_last_update_date
1887 FROM HZ_INDUSTRIAL_CLASSES
1888 where industrial_class_id
1889 = p_industrial_classes_rec.industrial_class_id
1890 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
1891 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
1892 FOR UPDATE NOWAIT;
1893
1894 EXCEPTION WHEN NO_DATA_FOUND THEN
1895 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1896 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_INDUSTRIAL_CLASSES');
1897 FND_MSG_PUB.ADD;
1898 RAISE FND_API.G_EXC_ERROR;
1899 end;
1900
1901 -- validate industrial classes record
1902 HZ_ORG_INFO_VALIDATE.validate_industrial_classes(p_industrial_classes_rec,'U',
1903 x_return_status);
1904
1905 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1906 RAISE FND_API.G_EXC_ERROR;
1907 END IF;
1908
1909 -- pass back the last update date
1910 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
1911
1912 -- Bug 1428526: Should pass updated industrial classes info. to caller.
1913 -- Make sure to use values in p_industrial_classes_rec.* when calling update table
1914 -- handler. Need to update p_industrial_classes_rec first.
1915 NULL;
1916
1917 -- call table handler to update a row
1918 HZ_INDUSTRIAL_CLASSES_PKG.UPDATE_ROW(
1919 X_Rowid => l_rowid,
1920 X_INDUSTRIAL_CLASS_ID => p_industrial_classes_rec.INDUSTRIAL_CLASS_ID,
1921 X_INDUSTRIAL_CODE_NAME => p_industrial_classes_rec.INDUSTRIAL_CODE_NAME,
1922 X_CODE_PRIMARY_SEGMENT => p_industrial_classes_rec.CODE_PRIMARY_SEGMENT,
1923 X_INDUSTRIAL_CLASS_SOURCE => p_industrial_classes_rec.INDUSTRIAL_CLASS_SOURCE,
1924 X_CODE_DESCRIPTION => p_industrial_classes_rec.CODE_DESCRIPTION,
1925 X_CREATED_BY => FND_API.G_MISS_NUM,
1926 X_CREATION_DATE => FND_API.G_MISS_DATE,
1927 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
1928 X_LAST_UPDATE_DATE => p_last_update_date,
1929 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
1930 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
1931 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
1932 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
1933 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
1934 X_WH_UPDATE_DATE => p_industrial_classes_rec.WH_UPDATE_DATE
1935 );
1936
1937 END do_update_industrial_classes;
1938
1939
1940 /* Private procedure get
1941 get_current_financial_report
1942 get_current_financial_number
1943 are public procedures */
1944
1945 PROCEDURE get_current_industrial_classes(
1946 p_api_version IN NUMBER,
1947 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
1948 p_industrial_class_id IN NUMBER,
1949 x_industrial_classes_rec OUT NOCOPY industrial_classes_rec_type,
1950 x_return_status OUT NOCOPY VARCHAR2,
1951 x_msg_count OUT NOCOPY NUMBER,
1952 x_msg_data OUT NOCOPY VARCHAR2);
1953
1954 PROCEDURE get_current_stock_markets
1955 ( p_api_version IN NUMBER,
1956 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
1957 p_stock_exchange_id IN NUMBER,
1958 x_stock_markets_rec OUT NOCOPY stock_markets_rec_type,
1959 x_return_status OUT NOCOPY VARCHAR2,
1960 x_msg_count OUT NOCOPY NUMBER,
1961 x_msg_data OUT NOCOPY VARCHAR2);
1962
1963 PROCEDURE get_current_security_issued
1964 ( p_api_version IN NUMBER,
1965 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
1966 p_security_issued_id IN NUMBER,
1967 x_security_issued_rec OUT NOCOPY security_issued_rec_type,
1968 x_return_status OUT NOCOPY VARCHAR2,
1969 x_msg_count OUT NOCOPY NUMBER,
1970 x_msg_data OUT NOCOPY VARCHAR2);
1971
1972 PROCEDURE get_current_certifications
1973 ( p_api_version IN NUMBER,
1974 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
1975 p_certification_id IN NUMBER,
1976 x_certifications_rec OUT NOCOPY certifications_rec_type,
1977 x_return_status OUT NOCOPY VARCHAR2,
1978 x_msg_count OUT NOCOPY NUMBER,
1979 x_msg_data OUT NOCOPY VARCHAR2);
1980
1981
1982 /*===========================================================================+
1983 | PROCEDURE
1984 | get_current_industrial_classes
1985 |
1986 | DESCRIPTION
1987 | Gets industrial_classes of current record.
1988 |
1989 | SCOPE - PRIVATE
1990 |
1991 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
1992 |
1993 | ARGUMENTS : IN:
1994 | p_industrial_class_id
1995 | p_init_msg_list
1996 | p_api_version
1997 | OUT:
1998 | x_industrial_classes_rec
1999 | x_status
2000 | x_msg_count
2001 | x_msg_data
2002 | IN/ OUT:
2003 |
2004 | RETURNS : NONE
2005 |
2006 | NOTES
2007 |
2008 | MODIFICATION HISTORY
2009 |
2010 +===========================================================================*/
2011
2012 PROCEDURE get_current_industrial_classes(
2013 p_api_version IN NUMBER,
2014 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2015 p_industrial_class_id IN NUMBER,
2016 x_industrial_classes_rec OUT NOCOPY industrial_classes_rec_type,
2017 x_return_status OUT NOCOPY VARCHAR2,
2018 x_msg_count OUT NOCOPY NUMBER,
2019 x_msg_data OUT NOCOPY VARCHAR2)
2020 IS
2021 CURSOR c1 IS
2022 SELECT
2023 industrial_class_id,
2024 industrial_code_name,
2025 code_primary_segment,
2026 industrial_class_source,
2027 code_description,
2028 wh_update_date
2029 FROM HZ_INDUSTRIAL_CLASSES
2030 WHERE industrial_class_id = p_industrial_class_id;
2031
2032 lrec c1%ROWTYPE;
2033 l_api_name CONSTANT VARCHAR2(30) := 'get_current_industrial_classes';
2034 l_api_version CONSTANT NUMBER := 1.0;
2035
2036 BEGIN
2037 -- Initialize API return status to success.
2038 x_return_status := FND_API.G_RET_STS_SUCCESS;
2039
2040 IF NOT FND_API.Compatible_API_Call(
2041 l_api_version,
2042 p_api_version,
2043 l_api_name,
2044 G_PKG_NAME)
2045 THEN
2046 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2047 END IF;
2048
2049 -- Check whether primary key has been passed in.
2050 IF p_industrial_class_id IS NULL OR
2051 p_industrial_class_id = FND_API.G_MISS_NUM THEN
2052 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2053 FND_MESSAGE.SET_TOKEN( 'COLUMN', 'industrial_class_id' );
2054 FND_MSG_PUB.ADD;
2055 RAISE FND_API.G_EXC_ERROR;
2056 END IF;
2057
2058 OPEN c1;
2059 FETCH c1 INTO lrec;
2060 IF c1%NOTFOUND THEN
2061
2062 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
2063 FND_MESSAGE.SET_TOKEN('RECORD', 'industrial_class');
2064 FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_industrial_class_id));
2065 FND_MSG_PUB.ADD;
2066 RAISE FND_API.G_EXC_ERROR;
2067
2068 ELSE
2069 x_industrial_classes_rec.industrial_class_id := lrec.industrial_class_id;
2070 x_industrial_classes_rec.industrial_code_name := lrec.industrial_code_name;
2071 x_industrial_classes_rec.code_primary_segment := lrec.code_primary_segment;
2072 x_industrial_classes_rec.industrial_class_source := lrec.industrial_class_source;
2073 x_industrial_classes_rec.code_description := lrec.code_description;
2074 x_industrial_classes_rec.wh_update_date := lrec.wh_update_date;
2075 END IF;
2076 CLOSE c1;
2077 EXCEPTION
2078 WHEN FND_API.G_EXC_ERROR THEN
2079 x_return_status := FND_API.G_RET_STS_ERROR;
2080
2081 FND_MSG_PUB.Count_And_Get(
2082 p_encoded => FND_API.G_FALSE,
2083 p_count => x_msg_count,
2084 p_data => x_msg_data );
2085
2086 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2087 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2088 FND_MSG_PUB.Count_And_Get(
2089 p_encoded => FND_API.G_FALSE,
2090 p_count => x_msg_count,
2091 p_data => x_msg_data);
2092
2093 WHEN OTHERS THEN
2094 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2095
2096 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
2097 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2098 FND_MSG_PUB.ADD;
2099
2100 FND_MSG_PUB.Count_And_Get(
2101 p_encoded => FND_API.G_FALSE,
2102 p_count => x_msg_count,
2103 p_data => x_msg_data );
2104 END;
2105
2106 /*===========================================================================+
2107 | PROCEDURE
2108 | get_current_stock_markets
2109 | DESCRIPTION
2110 | Gets stock markets of current record.
2111 | SCOPE - PRIVATE
2112 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2113 | ARGUMENTS : IN:
2114 | p_stock_exchange_id
2115 | p_init_msg_list
2116 | p_api_version
2117 | OUT:
2118 | x_stock_markets_rec
2119 | x_status
2120 | x_msg_count
2121 | x_msg_data
2122 | IN/ OUT:
2123 | RETURNS : NONE
2124 | NOTES
2125 | MODIFICATION HISTORY: Herve Yu 14-MAY-2002
2126 +===========================================================================*/
2127 PROCEDURE get_current_stock_markets
2128 ( p_api_version IN NUMBER,
2129 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2130 p_stock_exchange_id IN NUMBER,
2131 x_stock_markets_rec OUT NOCOPY stock_markets_rec_type,
2132 x_return_status OUT NOCOPY VARCHAR2,
2133 x_msg_count OUT NOCOPY NUMBER,
2134 x_msg_data OUT NOCOPY VARCHAR2)
2135 IS
2136 CURSOR c1 IS
2137 SELECT stock_exchange_id,
2138 country_of_residence,
2139 stock_exchange_code,
2140 stock_exchange_name,
2141 wh_update_date
2142 FROM hz_stock_markets
2143 WHERE stock_exchange_id = p_stock_exchange_id;
2144 lrec c1%ROWTYPE;
2145 l_api_name CONSTANT VARCHAR2(30) := 'get_current_stock_markets';
2146 l_api_version CONSTANT NUMBER := 1.0;
2147
2148 BEGIN
2149 -- Initialize API return status to success.
2150 x_return_status := FND_API.G_RET_STS_SUCCESS;
2151
2152 IF NOT FND_API.Compatible_API_Call(
2153 l_api_version,
2154 p_api_version,
2155 l_api_name,
2156 G_PKG_NAME)
2157 THEN
2158 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2159 END IF;
2160
2161 -- Check whether primary key has been passed in.
2162 IF p_stock_exchange_id IS NULL OR
2163 p_stock_exchange_id = FND_API.G_MISS_NUM THEN
2164 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2165 FND_MESSAGE.SET_TOKEN( 'COLUMN', 'stock_exchange_id' );
2166 FND_MSG_PUB.ADD;
2167 RAISE FND_API.G_EXC_ERROR;
2168 END IF;
2169
2170 OPEN c1;
2171 FETCH c1 INTO lrec;
2172 IF c1%NOTFOUND THEN
2173 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
2174 FND_MESSAGE.SET_TOKEN('RECORD', 'stock_markets');
2175 FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_stock_exchange_id));
2176 FND_MSG_PUB.ADD;
2177 RAISE FND_API.G_EXC_ERROR;
2178 ELSE
2179 x_stock_markets_rec.stock_exchange_id := lrec.stock_exchange_id;
2180 x_stock_markets_rec.country_of_residence := lrec.country_of_residence;
2181 x_stock_markets_rec.stock_exchange_code := lrec.stock_exchange_code;
2182 x_stock_markets_rec.stock_exchange_name := lrec.stock_exchange_name;
2183 x_stock_markets_rec.wh_update_date := lrec.wh_update_date;
2184 END IF;
2185 CLOSE c1;
2186 EXCEPTION
2187 WHEN FND_API.G_EXC_ERROR THEN
2188 x_return_status := FND_API.G_RET_STS_ERROR;
2189 FND_MSG_PUB.Count_And_Get(
2190 p_encoded => FND_API.G_FALSE,
2191 p_count => x_msg_count,
2192 p_data => x_msg_data );
2193
2194 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2195 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2196 FND_MSG_PUB.Count_And_Get(
2197 p_encoded => FND_API.G_FALSE,
2198 p_count => x_msg_count,
2199 p_data => x_msg_data);
2200
2201 WHEN OTHERS THEN
2202 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2203 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
2204 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2205 FND_MSG_PUB.ADD;
2206
2207 FND_MSG_PUB.Count_And_Get(
2208 p_encoded => FND_API.G_FALSE,
2209 p_count => x_msg_count,
2210 p_data => x_msg_data );
2211 END;
2212
2213 /*===========================================================================+
2214 | PROCEDURE
2215 | get_current_security_issued
2216 | DESCRIPTION
2217 | Gets sec issued of current record.
2218 | SCOPE - PRIVATE
2219 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2220 | ARGUMENTS : IN:
2221 | p_security_issued_id
2222 | p_init_msg_list
2223 | p_api_version
2224 | OUT:
2225 | x_security_issued_rec
2226 | x_status
2227 | x_msg_count
2228 | x_msg_data
2229 | IN/ OUT:
2230 | RETURNS : NONE
2231 | NOTES
2232 | MODIFICATION HISTORY: Herve Yu 14-MAY-2002
2233 +===========================================================================*/
2234 PROCEDURE get_current_security_issued
2235 ( p_api_version IN NUMBER,
2236 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2237 p_security_issued_id IN NUMBER,
2238 x_security_issued_rec OUT NOCOPY security_issued_rec_type,
2239 x_return_status OUT NOCOPY VARCHAR2,
2240 x_msg_count OUT NOCOPY NUMBER,
2241 x_msg_data OUT NOCOPY VARCHAR2)
2242 IS
2243 CURSOR c1 IS
2244 SELECT security_issued_id ,
2245 estimated_total_amount ,
2246 stock_exchange_id ,
2247 security_issued_class ,
2248 security_issued_name ,
2249 total_amount_in_a_currency,
2250 stock_ticker_symbol ,
2251 security_currency_code ,
2252 begin_date ,
2253 party_id ,
2254 end_date ,
2255 wh_update_date ,
2256 status
2257 FROM hz_security_issued
2258 WHERE security_issued_id = p_security_issued_id;
2259 lrec c1%ROWTYPE;
2260 l_api_name CONSTANT VARCHAR2(30) := 'get_current_security_issued';
2261 l_api_version CONSTANT NUMBER := 1.0;
2262
2263 BEGIN
2264
2265 -- Initialize API return status to success.
2266 x_return_status := FND_API.G_RET_STS_SUCCESS;
2267
2268 IF NOT FND_API.Compatible_API_Call(
2269 l_api_version,
2270 p_api_version,
2271 l_api_name,
2272 G_PKG_NAME)
2273 THEN
2274 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2275 END IF;
2276
2277
2278 -- Check whether primary key has been passed in.
2279 IF p_security_issued_id IS NULL OR
2280 p_security_issued_id = FND_API.G_MISS_NUM THEN
2281 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2282 FND_MESSAGE.SET_TOKEN( 'COLUMN', 'security_issued_id' );
2283 FND_MSG_PUB.ADD;
2284 RAISE FND_API.G_EXC_ERROR;
2285 END IF;
2286
2287 OPEN c1;
2288 FETCH c1 INTO lrec;
2289 IF c1%NOTFOUND THEN
2290 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
2291 FND_MESSAGE.SET_TOKEN('RECORD', 'security_issued');
2292 FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_security_issued_id));
2293 FND_MSG_PUB.ADD;
2294 RAISE FND_API.G_EXC_ERROR;
2295 ELSE
2296 x_security_issued_rec.security_issued_id := lrec.security_issued_id;
2297 x_security_issued_rec.estimated_total_amount := lrec.estimated_total_amount;
2298 x_security_issued_rec.stock_exchange_id := lrec.stock_exchange_id;
2299 x_security_issued_rec.security_issued_class := lrec.security_issued_class;
2300 x_security_issued_rec.security_issued_name := lrec.security_issued_name;
2301 x_security_issued_rec.total_amount_in_a_currency := lrec.total_amount_in_a_currency;
2302 x_security_issued_rec.stock_ticker_symbol := lrec.stock_ticker_symbol;
2303 x_security_issued_rec.security_currency_code := lrec.security_currency_code;
2304 x_security_issued_rec.begin_date := lrec.begin_date;
2305 x_security_issued_rec.end_date := lrec.end_date;
2306 x_security_issued_rec.wh_update_date := lrec.wh_update_date;
2307 x_security_issued_rec.status := lrec.status;
2308 END IF;
2309 CLOSE c1;
2310 EXCEPTION
2311 WHEN FND_API.G_EXC_ERROR THEN
2312 x_return_status := FND_API.G_RET_STS_ERROR;
2313
2314 FND_MSG_PUB.Count_And_Get(
2315 p_encoded => FND_API.G_FALSE,
2316 p_count => x_msg_count,
2317 p_data => x_msg_data );
2318
2319 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2320 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2321 FND_MSG_PUB.Count_And_Get(
2322 p_encoded => FND_API.G_FALSE,
2323 p_count => x_msg_count,
2324 p_data => x_msg_data);
2325
2326 WHEN OTHERS THEN
2327 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2328
2329 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
2330 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2331 FND_MSG_PUB.ADD;
2332
2333 FND_MSG_PUB.Count_And_Get(
2334 p_encoded => FND_API.G_FALSE,
2335 p_count => x_msg_count,
2336 p_data => x_msg_data );
2337 END;
2338
2339 /*===========================================================================+
2340 | PROCEDURE
2341 | get_current_certifications
2342 | DESCRIPTION
2343 | Gets certifications current record.
2344 | SCOPE - PRIVATE
2345 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2346 | ARGUMENTS : IN:
2347 | p_certification_id
2348 | p_init_msg_list
2349 | p_api_version
2350 | OUT:
2351 | x_certifications_rec
2352 | x_status
2353 | x_msg_count
2354 | x_msg_data
2355 | IN/ OUT:
2356 | RETURNS : NONE
2357 | NOTES
2358 | MODIFICATION HISTORY: Herve Yu 14-MAY-2002
2359 +===========================================================================*/
2360 PROCEDURE get_current_certifications
2361 ( p_api_version IN NUMBER,
2362 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2363 p_certification_id IN NUMBER,
2364 x_certifications_rec OUT NOCOPY certifications_rec_type,
2365 x_return_status OUT NOCOPY VARCHAR2,
2366 x_msg_count OUT NOCOPY NUMBER,
2367 x_msg_data OUT NOCOPY VARCHAR2
2368 )
2369 IS
2370 CURSOR c1 IS
2371 SELECT certification_id ,
2372 certification_name ,
2373 party_id ,
2374 current_status ,
2375 expires_on_date ,
2376 grade ,
2377 issued_by_authority ,
2378 issued_on_date ,
2379 wh_update_date ,
2380 status
2381 FROM hz_certifications
2382 WHERE certification_id = p_certification_id;
2383 lrec c1%ROWTYPE;
2384 l_api_name CONSTANT VARCHAR2(30) := 'get_current_certifications';
2385 l_api_version CONSTANT NUMBER := 1.0;
2386
2387 BEGIN
2388
2389 -- Initialize API return status to success.
2390 x_return_status := FND_API.G_RET_STS_SUCCESS;
2391
2392 IF NOT FND_API.Compatible_API_Call(
2393 l_api_version,
2394 p_api_version,
2395 l_api_name,
2396 G_PKG_NAME)
2397 THEN
2398 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2399 END IF;
2400
2401 -- Check whether primary key has been passed in.
2402 IF p_certification_id IS NULL OR
2403 p_certification_id = FND_API.G_MISS_NUM THEN
2404 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_MISSING_COLUMN' );
2405 FND_MESSAGE.SET_TOKEN( 'COLUMN', 'certification_id' );
2406 FND_MSG_PUB.ADD;
2407 RAISE FND_API.G_EXC_ERROR;
2408 END IF;
2409
2410 OPEN c1;
2411 FETCH c1 INTO lrec;
2412 IF c1%NOTFOUND THEN
2413
2414 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
2415 FND_MESSAGE.SET_TOKEN('RECORD', 'certifications');
2416 FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_certification_id));
2417 FND_MSG_PUB.ADD;
2418 RAISE FND_API.G_EXC_ERROR;
2419
2420 ELSE
2421
2422 x_certifications_rec.certification_id := lrec.certification_id;
2423 x_certifications_rec.certification_name := lrec.certification_name;
2424 x_certifications_rec.party_id := lrec.party_id;
2425 x_certifications_rec.current_status := lrec.current_status;
2426 x_certifications_rec.expires_on_date := lrec.expires_on_date;
2427 x_certifications_rec.grade := lrec.grade;
2428 x_certifications_rec.issued_by_authority := lrec.issued_by_authority;
2429 x_certifications_rec.issued_on_date := lrec.issued_on_date;
2430 x_certifications_rec.wh_update_date := lrec.wh_update_date;
2431 x_certifications_rec.status := lrec.status;
2432
2433 END IF;
2434 CLOSE c1;
2435 EXCEPTION
2436 WHEN FND_API.G_EXC_ERROR THEN
2437 x_return_status := FND_API.G_RET_STS_ERROR;
2438
2439 FND_MSG_PUB.Count_And_Get(
2440 p_encoded => FND_API.G_FALSE,
2441 p_count => x_msg_count,
2442 p_data => x_msg_data );
2443
2444 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2445 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2446 FND_MSG_PUB.Count_And_Get(
2447 p_encoded => FND_API.G_FALSE,
2448 p_count => x_msg_count,
2449 p_data => x_msg_data);
2450
2451 WHEN OTHERS THEN
2452 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2453
2454 FND_MESSAGE.SET_NAME( 'AR', 'HZ_API_OTHERS_EXCEP' );
2455 FND_MESSAGE.SET_TOKEN( 'ERROR' ,SQLERRM );
2456 FND_MSG_PUB.ADD;
2457
2458 FND_MSG_PUB.Count_And_Get(
2459 p_encoded => FND_API.G_FALSE,
2460 p_count => x_msg_count,
2461 p_data => x_msg_data );
2462 END;
2463
2464
2465 /*===========================================================================+
2466 | PROCEDURE
2467 | do_create_industrial_class_app
2468 |
2469 | DESCRIPTION
2470 | Creates industrial class app.
2471 |
2472 | SCOPE - PRIVATE
2473 |
2474 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2475 |
2476 | ARGUMENTS : IN:
2477 | OUT:
2478 | x_code_applied_id
2479 | IN/ OUT:
2480 | p_industrial_class_app_rec
2481 | x_return_status
2482 |
2483 | RETURNS : NONE
2484 |
2485 | NOTES
2486 |
2487 | MODIFICATION HISTORY
2488 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
2489 | 'IN OUT' in order to pass the changed record
2490 | to caller.
2491 |
2492 +===========================================================================*/
2493
2494 procedure do_create_industrial_class_app(
2495 p_industrial_class_app_rec IN OUT NOCOPY industrial_class_app_rec_type,
2496 x_code_applied_id OUT NOCOPY NUMBER,
2497 x_return_status IN OUT NOCOPY VARCHAR2
2498 ) IS
2499 l_code_applied_id NUMBER := p_industrial_class_app_rec.code_applied_id;
2500 l_rowid ROWID := NULL;
2501 l_count NUMBER;
2502 BEGIN
2503 -- if l_code_applied_id is NULL, then generate PK.
2504 IF l_code_applied_id is NULL OR
2505 l_code_applied_id = FND_API.G_MISS_NUM THEN
2506 l_count := 1;
2507
2508 WHILE l_count >0 LOOP
2509 SELECT hz_industrial_class_app_s.nextval
2510 INTO l_code_applied_id from dual;
2511
2512 SELECT count(*)
2513 INTO l_count
2514 FROM HZ_INDUSTRIAL_CLASS_APP
2515 WHERE code_applied_id = l_code_applied_id;
2516 END LOOP;
2517
2518 ELSE
2519 l_count := 0;
2520
2521 SELECT count(*)
2522 INTO l_count
2523 FROM HZ_INDUSTRIAL_CLASS_APP
2524 WHERE code_applied_id = l_code_applied_id;
2525
2526 if l_count > 0 THEN
2527 FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
2528 FND_MESSAGE.SET_TOKEN('COLUMN', 'code_applied_id');
2529 FND_MSG_PUB.ADD;
2530 RAISE FND_API.G_EXC_ERROR;
2531 end if;
2532
2533 END IF;
2534
2535 x_code_applied_id := l_code_applied_id;
2536
2537 -- validate industrial classes record
2538 HZ_ORG_INFO_VALIDATE.validate_industrial_class_app(p_industrial_class_app_rec,'C',
2539 x_return_status);
2540
2541 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2542 RAISE FND_API.G_EXC_ERROR;
2543 END IF;
2544
2545 -- Bug 1428526: Should pass updated industrial class app info. to caller.
2546 -- Make sure to use values in p_industrial_class_app_rec.* when calling insert table
2547 -- handler. Need to update p_industrial_class_app_rec first.
2548 p_industrial_class_app_rec.code_applied_id := l_code_applied_id;
2549
2550 -- call table handler to insert a row
2551 HZ_INDUSTRIAL_CLASS_APP_PKG.INSERT_ROW(
2552 X_Rowid => l_rowid,
2553 X_CODE_APPLIED_ID => p_industrial_class_app_rec.code_applied_id,
2554 X_BEGIN_DATE => p_industrial_class_app_rec.BEGIN_DATE,
2555 X_PARTY_ID => p_industrial_class_app_rec.PARTY_ID,
2556 X_END_DATE => p_industrial_class_app_rec.END_DATE,
2557 X_INDUSTRIAL_CLASS_ID => p_industrial_class_app_rec.INDUSTRIAL_CLASS_ID,
2558 X_CREATED_BY => hz_utility_pub.CREATED_BY,
2559 X_CREATION_DATE => hz_utility_pub.CREATION_DATE,
2560 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
2561 X_LAST_UPDATE_DATE => hz_utility_pub.LAST_UPDATE_DATE,
2562 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
2563 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
2564 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
2565 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
2566 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
2567 X_WH_UPDATE_DATE => p_industrial_class_app_rec.WH_UPDATE_DATE,
2568 X_CONTENT_SOURCE_TYPE => p_industrial_class_app_rec.CONTENT_SOURCE_TYPE,
2569 X_IMPORTANCE_RANKING => p_industrial_class_app_rec.IMPORTANCE_RANKING
2570 );
2571
2572 END do_create_industrial_class_app;
2573
2574 /*===========================================================================+
2575 | PROCEDURE
2576 | do_update_industrial_class_app
2577 |
2578 | DESCRIPTION
2579 | Updates industrial class app.
2580 |
2581 | SCOPE - PRIVATE
2582 |
2583 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2584 |
2585 | ARGUMENTS : IN:
2586 | OUT:
2587 | IN/ OUT:
2588 | p_industrial_class_app_rec
2589 | p_last_update_date
2590 | x_return_status
2591 |
2592 | RETURNS : NONE
2593 |
2594 | NOTES
2595 |
2596 | MODIFICATION HISTORY
2597 | Jianying Huang 06-OCT-00 Bug 1428526: make *_rec parameters as
2598 | 'IN OUT' in order to pass the changed record
2599 | to caller.
2600 |
2601 +===========================================================================*/
2602
2603 procedure do_update_industrial_class_app(
2604 p_industrial_class_app_rec IN OUT NOCOPY industrial_class_app_rec_type,
2605 p_last_update_date IN OUT NOCOPY DATE,
2606 x_return_status IN OUT NOCOPY VARCHAR2
2607 ) IS
2608 l_count NUMBER;
2609 l_rowid ROWID := NULL;
2610 l_last_update_date DATE;
2611 BEGIN
2612 -- check required field:
2613 IF p_industrial_class_app_rec.code_applied_id is NULL OR
2614 p_industrial_class_app_rec.code_applied_id = FND_API.G_MISS_NUM THEN
2615
2616 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
2617 FND_MESSAGE.SET_TOKEN('COLUMN', 'code_applied_id');
2618 FND_MSG_PUB.ADD;
2619 RAISE FND_API.G_EXC_ERROR;
2620
2621 END IF;
2622
2623 IF p_last_update_date IS NULL OR
2624 p_last_update_date = FND_API.G_MISS_DATE
2625 THEN
2626 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
2627 FND_MESSAGE.SET_TOKEN('COLUMN', 'p_last_update_date');
2628 FND_MSG_PUB.ADD;
2629 RAISE FND_API.G_EXC_ERROR;
2630 END IF;
2631 begin
2632 -- check last update date.
2633 SELECT rowid, last_update_date
2634 INTO l_rowid, l_last_update_date
2635 FROM HZ_INDUSTRIAL_CLASS_APP
2636 where code_applied_id
2637 = p_industrial_class_app_rec.code_applied_id
2638 AND to_char(last_update_date, 'DD-MON-YYYY HH:MI:SS') =
2639 to_char(p_last_update_date, 'DD-MON-YYYY HH:MI:SS')
2640 FOR UPDATE NOWAIT;
2641
2642 EXCEPTION WHEN NO_DATA_FOUND THEN
2643 FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
2644 FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_INDUSTRIAL_CLASS_APP');
2645 FND_MSG_PUB.ADD;
2646 RAISE FND_API.G_EXC_ERROR;
2647 end;
2648
2649 -- validate industrial class app record
2650 HZ_ORG_INFO_VALIDATE.validate_industrial_class_app(p_industrial_class_app_rec,'U',
2651 x_return_status);
2652
2653 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2654 RAISE FND_API.G_EXC_ERROR;
2655 END IF;
2656
2657 -- pass back teh last update date
2658 p_last_update_date := hz_utility_pub.LAST_UPDATE_DATE;
2659
2660 -- Bug 1428526: Should pass updated industrial class app info. to caller.
2661 -- Make sure to use values in p_industrial_class_app_rec.* when calling update table
2662 -- handler. Need to update p_industrial_class_app_rec first.
2663 NULL;
2664
2665 -- call table handler to update a row
2666 HZ_INDUSTRIAL_CLASS_APP_PKG.UPDATE_ROW(
2667 X_Rowid => l_rowid,
2668 X_CODE_APPLIED_ID => p_industrial_class_app_rec.CODE_APPLIED_ID,
2669 X_BEGIN_DATE => p_industrial_class_app_rec.BEGIN_DATE,
2670 X_PARTY_ID => p_industrial_class_app_rec.PARTY_ID,
2671 X_END_DATE => p_industrial_class_app_rec.END_DATE,
2672 X_INDUSTRIAL_CLASS_ID => p_industrial_class_app_rec.INDUSTRIAL_CLASS_ID,
2673 X_CREATED_BY => FND_API.G_MISS_NUM,
2674 X_CREATION_DATE => FND_API.G_MISS_DATE,
2675 X_LAST_UPDATE_LOGIN => hz_utility_pub.LAST_UPDATE_LOGIN,
2676 X_LAST_UPDATE_DATE => p_last_update_date,
2677 X_LAST_UPDATED_BY => hz_utility_pub.LAST_UPDATED_BY,
2678 X_REQUEST_ID => hz_utility_pub.REQUEST_ID,
2679 X_PROGRAM_APPLICATION_ID => hz_utility_pub.PROGRAM_APPLICATION_ID,
2680 X_PROGRAM_ID => hz_utility_pub.PROGRAM_ID,
2681 X_PROGRAM_UPDATE_DATE => hz_utility_pub.PROGRAM_UPDATE_DATE,
2682 X_WH_UPDATE_DATE => p_industrial_class_app_rec.WH_UPDATE_DATE,
2683 X_CONTENT_SOURCE_TYPE => p_industrial_class_app_rec.CONTENT_SOURCE_TYPE,
2684 X_IMPORTANCE_RANKING => p_industrial_class_app_rec.IMPORTANCE_RANKING
2685 );
2686
2687 END do_update_industrial_class_app;
2688
2689 /*===========================================================================+
2690 | PROCEDURE
2691 | create_stock_markets
2692 |
2693 | DESCRIPTION
2694 | Creates stock markets.
2695 |
2696 | SCOPE - PUBLIC
2697 |
2698 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2699 |
2700 | ARGUMENTS : IN:
2701 | p_api_version
2702 | p_init_msg_list
2703 | p_commit
2704 | p_stock_markets_rec
2705 | p_validation_level
2706 | OUT:
2707 | x_return_status
2708 | x_msg_count
2709 | x_msg_data
2710 | x_stock_exchange_id
2711 | IN/ OUT:
2712 |
2713 | RETURNS : NONE
2714 |
2715 | NOTES
2716 |
2717 | MODIFICATION HISTORY
2718 |
2719 +===========================================================================*/
2720
2721 procedure create_stock_markets(
2722 p_api_version IN NUMBER,
2723 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2724 p_commit IN VARCHAR2:= FND_API.G_FALSE,
2725 p_stock_markets_rec IN STOCK_MARKETS_REC_TYPE,
2726 x_return_status OUT NOCOPY VARCHAR2,
2727 x_msg_count OUT NOCOPY NUMBER,
2728 x_msg_data OUT NOCOPY VARCHAR2,
2729 x_stock_exchange_id OUT NOCOPY NUMBER,
2730 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
2731 ) IS
2732 l_api_name CONSTANT VARCHAR2(30) := 'create stock markets';
2733 l_api_version CONSTANT NUMBER := 1.0;
2734 l_stock_markets_rec STOCK_MARKETS_REC_TYPE := p_stock_markets_rec;
2735
2736 BEGIN
2737 --Standard start of API savepoint
2738 SAVEPOINT create_stock_markets_pub;
2739 --Standard call to check for call compatibility.
2740 IF NOT FND_API.Compatible_API_Call(
2741 l_api_version,
2742 p_api_version,
2743 l_api_name,
2744 G_PKG_NAME)
2745 THEN
2746 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2747 END IF;
2748
2749 --Initialize message list if p_init_msg_list is set to TRUE.
2750 IF FND_API.to_Boolean(p_init_msg_list) THEN
2751 FND_MSG_PUB.initialize;
2752 END IF;
2753
2754 --Initialize API return status to success.
2755 x_return_status := FND_API.G_RET_STS_SUCCESS;
2756
2757 /*
2758 --Call to User-Hook pre Processing Procedure
2759 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
2760 hz_org_info_crmhk.create_stock_markets_pre(
2761 l_stock_markets_rec,
2762 x_return_status,
2763 x_msg_count,
2764 x_msg_data);
2765
2766 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2767 RAISE FND_API.G_EXC_ERROR;
2768 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2769 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
2770 FND_MESSAGE.SET_TOKEN('PROCEDURE',
2771 'HZ_ORG_INFO_CRMHK.CREATE_STOCK_MARKETS_PRE');
2772 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2773 FND_MSG_PUB.ADD;
2774 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2775 END IF;
2776
2777 END IF;
2778 */
2779
2780 -- Call to business logic.
2781 -- Call PL/SQL wrapper over table handler
2782 do_create_stock_markets( l_stock_markets_rec,
2783 x_stock_exchange_id,
2784 x_return_status);
2785
2786 /*
2787 --Call to User-Hook post Processing Procedure
2788 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
2789 hz_org_info_crmhk.create_stock_markets_post(
2790 l_stock_markets_rec,
2791 x_return_status,
2792 x_msg_count,
2793 x_msg_data);
2794
2795 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2796 RAISE FND_API.G_EXC_ERROR;
2797 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2798 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
2799 FND_MESSAGE.SET_TOKEN('PROCEDURE',
2800 'HZ_ORG_INFO_CRMHK.CREATE_STOCK_MARKETS_POST');
2801 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2802 FND_MSG_PUB.ADD;
2803 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2804 END IF;
2805
2806 END IF;
2807 */
2808
2809 --Bug 4743141.
2810 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2811 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2812 hz_business_event_v2pvt.create_stock_markets_event(l_stock_markets_rec);
2813 END IF;
2814 END IF;
2815
2816 --Standard check of p_commit.
2817 IF FND_API.to_Boolean(p_commit) THEN
2818 Commit;
2819 END IF;
2820
2821 --Standard call to get message count and if count is 1, get message info.
2822 FND_MSG_PUB.Count_And_Get(
2823 p_encoded => FND_API.G_FALSE,
2824 p_count => x_msg_count,
2825 p_data => x_msg_data);
2826 EXCEPTION
2827 WHEN FND_API.G_EXC_ERROR THEN
2828 ROLLBACK TO create_stock_markets_pub;
2829 x_return_status := FND_API.G_RET_STS_ERROR;
2830 FND_MSG_PUB.Count_And_Get(
2831 p_encoded => FND_API.G_FALSE,
2832 p_count => x_msg_count,
2833 p_data => x_msg_data);
2834
2835 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2836 ROLLBACK TO create_stock_markets_pub;
2837 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2838 FND_MSG_PUB.Count_And_Get(
2839 p_encoded => FND_API.G_FALSE,
2840 p_count => x_msg_count,
2841 p_data => x_msg_data);
2842
2843 WHEN OTHERS THEN
2844 ROLLBACK TO create_stock_markets_pub;
2845 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2846
2847 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
2848 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2849 FND_MSG_PUB.ADD;
2850
2851 FND_MSG_PUB.Count_And_Get(
2852 p_encoded => FND_API.G_FALSE,
2853 p_count => x_msg_count,
2854 p_data => x_msg_data);
2855
2856 END create_stock_markets;
2857
2858 /*===========================================================================+
2859 | PROCEDURE
2860 | update_stock_markets
2861 |
2862 | DESCRIPTION
2863 | Updates stock markets.
2864 |
2865 | SCOPE - PUBLIC
2866 |
2867 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
2868 |
2869 | ARGUMENTS : IN:
2870 | p_api_version
2871 | p_init_msg_list
2872 | p_commit
2873 | p_stock_markets_rec
2874 | p_validation_level
2875 | OUT:
2876 | x_return_status
2877 | x_msg_count
2878 | x_msg_data
2879 | IN/ OUT:
2880 | p_last_update_date
2881 |
2882 | RETURNS : NONE
2883 |
2884 | NOTES
2885 |
2886 | MODIFICATION HISTORY
2887 |
2888 +===========================================================================*/
2889
2890 procedure update_stock_markets(
2891 p_api_version IN NUMBER,
2892 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
2893 p_commit IN VARCHAR2:= FND_API.G_FALSE,
2894 p_stock_markets_rec IN STOCK_MARKETS_REC_TYPE,
2895 p_last_update_date IN OUT NOCOPY DATE,
2896 x_return_status OUT NOCOPY VARCHAR2,
2897 x_msg_count OUT NOCOPY NUMBER,
2898 x_msg_data OUT NOCOPY VARCHAR2,
2899 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
2900 ) IS
2901
2902 l_api_name CONSTANT VARCHAR2(30) := 'update stock markets';
2903 l_api_version CONSTANT NUMBER := 1.0;
2904 l_stock_markets_rec STOCK_MARKETS_REC_TYPE := p_stock_markets_rec;
2905 l_old_stock_markets_rec STOCK_MARKETS_REC_TYPE;
2906 BEGIN
2907 --Standard start of API savepoint
2908 SAVEPOINT update_stock_markets_pub;
2909 --Standard call to check for call compatibility.
2910 IF NOT FND_API.Compatible_API_Call(
2911 l_api_version,
2912 p_api_version,
2913 l_api_name,
2914 G_PKG_NAME)
2915 THEN
2916 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2917 END IF;
2918
2919 --Initialize message list if p_init_msg_list is set to TRUE.
2920 IF FND_API.to_Boolean(p_init_msg_list) THEN
2921 FND_MSG_PUB.initialize;
2922 END IF;
2923
2924 --Initialize API return status to success.
2925 x_return_status := FND_API.G_RET_STS_SUCCESS;
2926
2927 /*
2928 --Call to User-Hook pre Processing Procedure
2929 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
2930 hz_org_info_crmhk.update_stock_markets_pre(
2931 l_stock_markets_rec,
2932 x_return_status,
2933 x_msg_count,
2934 x_msg_data);
2935
2936 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2937 RAISE FND_API.G_EXC_ERROR;
2938 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2939 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
2940 FND_MESSAGE.SET_TOKEN('PROCEDURE',
2941 'HZ_ORG_INFO_CRMHK.UPDATE_STOCK_MARKETS_PRE');
2942 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2943 FND_MSG_PUB.ADD;
2944 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2945 END IF;
2946
2947 END IF;
2948
2949 -- Get Old stock_markets_rec
2950 get_current_stock_markets(1,
2951 FND_API.G_FALSE,
2952 l_stock_markets_rec.stock_exchange_id,
2953 l_old_stock_markets_rec,
2954 x_return_status,
2955 x_msg_count,
2956 x_msg_data);
2957
2958 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2959 RAISE FND_API.G_EXC_ERROR;
2960 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2961 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2962 END IF;
2963 */
2964
2965 -- Call to business logic.
2966 -- Call PL/SQL wrapper over table handler
2967 do_update_stock_markets( l_stock_markets_rec,
2968 p_last_update_date,
2969 x_return_status);
2970
2971 /*
2972 --Call to User-Hook post Processing Procedure
2973 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
2974 hz_org_info_crmhk.update_stock_markets_post(
2975 l_stock_markets_rec,
2976 x_return_status,
2977 x_msg_count,
2978 x_msg_data);
2979
2980 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2981 RAISE FND_API.G_EXC_ERROR;
2982 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2983 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
2984 FND_MESSAGE.SET_TOKEN('PROCEDURE',
2985 'HZ_ORG_INFO_CRMHK.UPDATE_STOCK_MARKETS_POST');
2986 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
2987 FND_MSG_PUB.ADD;
2988 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2989 END IF;
2990
2991 END IF;
2992 */
2993
2994 --Bug 4743141.
2995 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
2996 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
2997 hz_business_event_v2pvt.update_stock_markets_event(l_stock_markets_rec);
2998 END IF;
2999 END IF;
3000
3001 --Standard check of p_commit.
3002 IF FND_API.to_Boolean(p_commit) THEN
3003 Commit;
3004 END IF;
3005
3006 --Standard call to get message count and if count is 1, get message info.
3007 FND_MSG_PUB.Count_And_Get(
3008 p_encoded => FND_API.G_FALSE,
3009 p_count => x_msg_count,
3010 p_data => x_msg_data);
3011 EXCEPTION
3012 WHEN FND_API.G_EXC_ERROR THEN
3013 ROLLBACK TO update_stock_markets_pub;
3014 x_return_status := FND_API.G_RET_STS_ERROR;
3015 FND_MSG_PUB.Count_And_Get(
3016 p_encoded => FND_API.G_FALSE,
3017 p_count => x_msg_count,
3018 p_data => x_msg_data);
3019
3020 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3021 ROLLBACK TO update_stock_markets_pub;
3022 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3023 FND_MSG_PUB.Count_And_Get(
3024 p_encoded => FND_API.G_FALSE,
3025 p_count => x_msg_count,
3026 p_data => x_msg_data);
3027
3028 WHEN OTHERS THEN
3029 ROLLBACK TO update_stock_markets_pub;
3030 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3031
3032 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3033 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3034 FND_MSG_PUB.ADD;
3035
3036 FND_MSG_PUB.Count_And_Get(
3037 p_encoded => FND_API.G_FALSE,
3038 p_count => x_msg_count,
3039 p_data => x_msg_data);
3040
3041 END update_stock_markets;
3042
3043 /*===========================================================================+
3044 | PROCEDURE
3045 | create_security_issued
3046 |
3047 | DESCRIPTION
3048 | Creates security issued.
3049 |
3050 | SCOPE - PUBLIC
3051 |
3052 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3053 |
3054 | ARGUMENTS : IN:
3055 | p_api_version
3056 | p_init_msg_list
3057 | p_commit
3058 | p_security_issued_rec
3059 | p_validation_level
3060 | OUT:
3061 | x_return_status
3062 | x_msg_count
3063 | x_msg_data
3064 | x_security_issued_id
3065 | IN/ OUT:
3066 |
3067 | RETURNS : NONE
3068 |
3069 | NOTES
3070 |
3071 | MODIFICATION HISTORY
3072 |
3073 +===========================================================================*/
3074
3075 procedure create_security_issued(
3076 p_api_version IN NUMBER,
3077 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3078 p_commit IN VARCHAR2:= FND_API.G_FALSE,
3079 p_security_issued_rec IN SECURITY_ISSUED_REC_TYPE,
3080 x_return_status OUT NOCOPY VARCHAR2,
3081 x_msg_count OUT NOCOPY NUMBER,
3082 x_msg_data OUT NOCOPY VARCHAR2,
3083 x_security_issued_id OUT NOCOPY NUMBER,
3084 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
3085 ) IS
3086 l_api_name CONSTANT VARCHAR2(30) := 'create security issued';
3087 l_api_version CONSTANT NUMBER := 1.0;
3088 l_security_issued_rec SECURITY_ISSUED_REC_TYPE := p_security_issued_rec;
3089
3090 BEGIN
3091 --Standard start of API savepoint
3092 SAVEPOINT create_security_issued_pub;
3093 --Standard call to check for call compatibility.
3094 IF NOT FND_API.Compatible_API_Call(
3095 l_api_version,
3096 p_api_version,
3097 l_api_name,
3098 G_PKG_NAME)
3099 THEN
3100 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3101 END IF;
3102
3103 --Initialize message list if p_init_msg_list is set to TRUE.
3104 IF FND_API.to_Boolean(p_init_msg_list) THEN
3105 FND_MSG_PUB.initialize;
3106 END IF;
3107
3108 --Initialize API return status to success.
3109 x_return_status := FND_API.G_RET_STS_SUCCESS;
3110
3111 /*
3112 --Call to User-Hook pre Processing Procedure
3113 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
3114 hz_org_info_crmhk.create_security_issued_pre(
3115 l_security_issued_rec,
3116 x_return_status,
3117 x_msg_count,
3118 x_msg_data);
3119
3120 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3121 RAISE FND_API.G_EXC_ERROR;
3122 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3123 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
3124 FND_MESSAGE.SET_TOKEN('PROCEDURE',
3125 'HZ_ORG_INFO_CRMHK.CREATE_SECURITY_ISSUED_PRE');
3126 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3127 FND_MSG_PUB.ADD;
3128 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3129 END IF;
3130
3131 END IF;
3132 */
3133
3134 -- Call to business logic.
3135 -- Call PL/SQL wrapper over table handler
3136 do_create_security_issued(l_security_issued_rec,
3137 x_security_issued_id,
3138 x_return_status);
3139
3140 /*
3141 --Call to User-Hook post Processing Procedure
3142 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
3143 hz_org_info_crmhk.create_security_issued_post(
3144 l_security_issued_rec,
3145 x_return_status,
3146 x_msg_count,
3147 x_msg_data);
3148
3149 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3150 RAISE FND_API.G_EXC_ERROR;
3151 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3152 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
3153 FND_MESSAGE.SET_TOKEN('PROCEDURE',
3154 'HZ_ORG_INFO_CRMHK.CREATE_SECURITY_ISSUED_POST');
3155 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3156 FND_MSG_PUB.ADD;
3157 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3158 END IF;
3159
3160 END IF;
3161 */
3162
3163 --Bug 4743141.
3164 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
3165 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
3166 hz_business_event_v2pvt.create_sec_issued_event(l_security_issued_rec);
3167 END IF;
3168 END IF;
3169
3170 --Standard check of p_commit.
3171 IF FND_API.to_Boolean(p_commit) THEN
3172 Commit;
3173 END IF;
3174
3175 --Standard call to get message count and if count is 1, get message info.
3176 FND_MSG_PUB.Count_And_Get(
3177 p_encoded => FND_API.G_FALSE,
3178 p_count => x_msg_count,
3179 p_data => x_msg_data);
3180 EXCEPTION
3181 WHEN FND_API.G_EXC_ERROR THEN
3182 ROLLBACK TO create_security_issued_pub;
3183 x_return_status := FND_API.G_RET_STS_ERROR;
3184 FND_MSG_PUB.Count_And_Get(
3185 p_encoded => FND_API.G_FALSE,
3186 p_count => x_msg_count,
3187 p_data => x_msg_data);
3188
3189 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3190 ROLLBACK TO create_security_issued_pub;
3191 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3192 FND_MSG_PUB.Count_And_Get(
3193 p_encoded => FND_API.G_FALSE,
3194 p_count => x_msg_count,
3195 p_data => x_msg_data);
3196
3197 WHEN OTHERS THEN
3198 ROLLBACK TO create_security_issued_pub;
3199 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3200
3201 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3202 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3203 FND_MSG_PUB.ADD;
3204
3205 FND_MSG_PUB.Count_And_Get(
3206 p_encoded => FND_API.G_FALSE,
3207 p_count => x_msg_count,
3208 p_data => x_msg_data);
3209
3210 END create_security_issued;
3211
3212 /*===========================================================================+
3213 | PROCEDURE
3214 | update_security_issued
3215 |
3216 | DESCRIPTION
3217 | Updates security issued.
3218 |
3219 | SCOPE - PUBLIC
3220 |
3221 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3222 |
3223 | ARGUMENTS : IN:
3224 | p_api_version
3225 | p_init_msg_list
3226 | p_commit
3227 | p_security_issued_rec
3228 | p_validation_level
3229 | OUT:
3230 | x_return_status
3231 | x_msg_count
3232 | x_msg_data
3233 | IN/ OUT:
3234 | p_last_update_date
3235 |
3236 | RETURNS : NONE
3237 |
3238 | NOTES
3239 |
3240 | MODIFICATION HISTORY
3241 |
3242 +===========================================================================*/
3243
3244 procedure update_security_issued(
3245 p_api_version IN NUMBER,
3246 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3247 p_commit IN VARCHAR2:= FND_API.G_FALSE,
3248 p_security_issued_rec IN SECURITY_ISSUED_REC_TYPE,
3249 p_last_update_date IN OUT NOCOPY DATE,
3250 x_return_status OUT NOCOPY VARCHAR2,
3251 x_msg_count OUT NOCOPY NUMBER,
3252 x_msg_data OUT NOCOPY VARCHAR2,
3253 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
3254 ) IS
3255
3256 l_api_name CONSTANT VARCHAR2(30) := 'update security issued';
3257 l_api_version CONSTANT NUMBER := 1.0;
3258 l_security_issued_rec SECURITY_ISSUED_REC_TYPE := p_security_issued_rec;
3259 l_old_security_issued_rec SECURITY_ISSUED_REC_TYPE;
3260 BEGIN
3261 --Standard start of API savepoint
3262 SAVEPOINT update_security_issued_pub;
3263 --Standard call to check for call compatibility.
3264 IF NOT FND_API.Compatible_API_Call(
3265 l_api_version,
3266 p_api_version,
3267 l_api_name,
3268 G_PKG_NAME)
3269 THEN
3270 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3271 END IF;
3272
3273 --Initialize message list if p_init_msg_list is set to TRUE.
3274 IF FND_API.to_Boolean(p_init_msg_list) THEN
3275 FND_MSG_PUB.initialize;
3276 END IF;
3277
3278 --Initialize API return status to success.
3279 x_return_status := FND_API.G_RET_STS_SUCCESS;
3280
3281
3282 /*
3283 get_current_security_issued(1,
3284 FND_API.G_FALSE,
3285 l_security_issued_rec.security_issued_id,
3286 l_old_security_issued_rec,
3287 x_return_status,
3288 x_msg_count,
3289 x_msg_data);
3290
3291 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3292 RAISE FND_API.G_EXC_ERROR;
3293 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3294 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3295 END IF;
3296
3297 --Call to User-Hook pre Processing Procedure
3298 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
3299 hz_org_info_crmhk.update_security_issued_pre(
3300 l_security_issued_rec,
3301 x_return_status,
3302 x_msg_count,
3303 x_msg_data);
3304
3305 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3306 RAISE FND_API.G_EXC_ERROR;
3307 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3308 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
3309 FND_MESSAGE.SET_TOKEN('PROCEDURE',
3310 'HZ_ORG_INFO_CRMHK.UPDATE_SECURITY_ISSUED_PRE');
3311 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3312 FND_MSG_PUB.ADD;
3313 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3314 END IF;
3315
3316 END IF;
3317 */
3318
3319 -- Call to business logic.
3320 -- Call PL/SQL wrapper over table handler
3321 do_update_security_issued(l_security_issued_rec,
3322 p_last_update_date,
3323 x_return_status);
3324
3325 /*
3326 --Call to User-Hook post Processing Procedure
3327 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
3328 hz_org_info_crmhk.update_security_issued_post(
3329 l_security_issued_rec,
3330 x_return_status,
3331 x_msg_count,
3332 x_msg_data);
3333
3334 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3335 RAISE FND_API.G_EXC_ERROR;
3336 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3337 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
3338 FND_MESSAGE.SET_TOKEN('PROCEDURE',
3339 'HZ_ORG_INFO_CRMHK.UPDATE_SECURITY_ISSUED_POST');
3340 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3341 FND_MSG_PUB.ADD;
3342 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3343 END IF;
3344
3345 END IF;
3346 */
3347
3348 --Bug 4743141.
3349 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
3350 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
3351 hz_business_event_v2pvt.update_sec_issued_event(l_security_issued_rec);
3352 END IF;
3353 END IF;
3354
3355 --Standard check of p_commit.
3356 IF FND_API.to_Boolean(p_commit) THEN
3357 Commit;
3358 END IF;
3359
3360 --Standard call to get message count and if count is 1, get message info.
3361 FND_MSG_PUB.Count_And_Get(
3362 p_encoded => FND_API.G_FALSE,
3363 p_count => x_msg_count,
3364 p_data => x_msg_data);
3365 EXCEPTION
3366 WHEN FND_API.G_EXC_ERROR THEN
3367 ROLLBACK TO update_security_issued_pub;
3368 x_return_status := FND_API.G_RET_STS_ERROR;
3369 FND_MSG_PUB.Count_And_Get(
3370 p_encoded => FND_API.G_FALSE,
3371 p_count => x_msg_count,
3372 p_data => x_msg_data);
3373
3374 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3375 ROLLBACK TO update_security_issued_pub;
3376 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3377 FND_MSG_PUB.Count_And_Get(
3378 p_encoded => FND_API.G_FALSE,
3379 p_count => x_msg_count,
3380 p_data => x_msg_data);
3381
3382 WHEN OTHERS THEN
3383 ROLLBACK TO update_security_issued_pub;
3384 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3385
3386 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3387 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3388 FND_MSG_PUB.ADD;
3389
3390 FND_MSG_PUB.Count_And_Get(
3391 p_encoded => FND_API.G_FALSE,
3392 p_count => x_msg_count,
3393 p_data => x_msg_data);
3394
3395 END update_security_issued;
3396
3397 /*===========================================================================+
3398 | PROCEDURE
3399 | create_financial_reports
3400 |
3401 | DESCRIPTION
3402 | Creates financial reports.
3403 |
3404 | SCOPE - PUBLIC
3405 |
3406 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3407 |
3408 | ARGUMENTS : IN:
3409 | p_api_version
3410 | p_init_msg_list
3411 | p_commit
3412 | p_financial_reports_rec
3413 | p_validation_level
3414 | OUT:
3415 | x_return_status
3416 | x_msg_count
3417 | x_msg_data
3418 | x_financial_report_id
3419 | IN/ OUT:
3420 |
3421 | RETURNS : NONE
3422 |
3423 | NOTES
3424 |
3425 | MODIFICATION HISTORY
3426 |
3427 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
3428 | For non-profile entities, the concept of
3429 | select/de-select data-sources is obsoleted.
3430 +===========================================================================
3431
3432 procedure create_financial_reports(
3433 p_api_version IN NUMBER,
3434 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3435 p_commit IN VARCHAR2:= FND_API.G_FALSE,
3436 p_financial_reports_rec IN FINANCIAL_REPORTS_REC_TYPE,
3437 x_return_status OUT NOCOPY VARCHAR2,
3438 x_msg_count OUT NOCOPY NUMBER,
3439 x_msg_data OUT NOCOPY VARCHAR2,
3440 x_financial_report_id OUT NOCOPY NUMBER,
3441 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
3442 ) IS
3443
3444 l_api_name CONSTANT VARCHAR2(30) := 'create financial reports';
3445 l_api_version CONSTANT NUMBER := 1.0;
3446 l_financial_reports_rec FINANCIAL_REPORTS_REC_TYPE := p_financial_reports_rec;
3447
3448 BEGIN
3449
3450 --Standard start of API savepoint
3451 SAVEPOINT create_financial_reports_pub;
3452
3453 --Standard call to check for call compatibility.
3454 IF NOT FND_API.Compatible_API_Call(
3455 l_api_version,
3456 p_api_version,
3457 l_api_name,
3458 G_PKG_NAME)
3459 THEN
3460 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3461 END IF;
3462
3463 --Initialize message list if p_init_msg_list is set to TRUE.
3464 IF FND_API.to_Boolean(p_init_msg_list) THEN
3465 FND_MSG_PUB.initialize;
3466 END IF;
3467
3468 --Initialize API return status to success.
3469 x_return_status := FND_API.G_RET_STS_SUCCESS;
3470
3471 -- Bug 2197181: added for mix-n-match project. first load data
3472 -- sources for this entity. Then assign the actual_content_source
3473 -- to the real data source. The value of content_source_type is
3474 -- depended on if data source is seleted. If it is selected, we reset
3475 -- content_source_type to user-entered. We also check if user
3476 -- has the privilege to create user-entered data if mix-n-match
3477 -- is enabled.
3478
3479 -- Bug 2444678: Removed caching.
3480
3481 -- IF g_fin_mixnmatch_enabled IS NULL THEN
3482 * SSM SST Integration and Extension
3483 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3484 * There is no need to check if the data-source is selected.
3485
3486 HZ_MIXNM_UTILITY.LoadDataSources(
3487 p_entity_name => 'HZ_FINANCIAL_REPORTS',
3488 p_entity_attr_id => g_fin_entity_attr_id,
3489 p_mixnmatch_enabled => g_fin_mixnmatch_enabled,
3490 p_selected_datasources => g_fin_selected_datasources );
3491 *
3492 -- END IF;
3493
3494 HZ_MIXNM_UTILITY.AssignDataSourceDuringCreation (
3495 p_entity_name => 'HZ_FINANCIAL_REPORTS',
3496 p_entity_attr_id => g_fin_entity_attr_id,
3497 p_mixnmatch_enabled => g_fin_mixnmatch_enabled,
3498 p_selected_datasources => g_fin_selected_datasources,
3499 p_content_source_type => l_financial_reports_rec.content_source_type,
3500 p_actual_content_source => l_financial_reports_rec.actual_content_source,
3501 x_is_datasource_selected => g_fin_is_datasource_selected,
3502 x_return_status => x_return_status,
3503 p_api_version => 'V1');
3504
3505 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3506 RAISE FND_API.G_EXC_ERROR;
3507 END IF;
3508
3509 ********************this code is replaced to go via V2 API.
3510 -- Call to business logic.
3511 do_create_financial_reports(
3512 l_financial_reports_rec,
3513 x_financial_report_id,
3514 x_return_status);
3515 ************************
3516
3517 -- call to perform everything through V2 API
3518 HZ_ORGANIZATION_INFO_V2PVT.v2_create_financial_report (
3519 p_financial_report_rec => l_financial_reports_rec,
3520 x_return_status => x_return_status,
3521 x_financial_report_id => x_financial_report_id
3522 );
3523
3524 *
3525 -- Invoke business event system.
3526 IF x_return_status = FND_API.G_RET_STS_SUCCESS AND
3527 -- Bug 2197181: Added below condition for Mix-n-Match
3528 g_fin_is_datasource_selected = 'Y'
3529 THEN
3530 HZ_BUSINESS_EVENT_V2PVT.create_fin_reports_event(l_financial_reports_rec);
3531 END IF;
3532 *
3533 --Standard check of p_commit.
3534 IF FND_API.to_Boolean(p_commit) THEN
3535 Commit;
3536 END IF;
3537
3538 --Standard call to get message count and if count is 1, get message info.
3539 FND_MSG_PUB.Count_And_Get(
3540 p_encoded => FND_API.G_FALSE,
3541 p_count => x_msg_count,
3542 p_data => x_msg_data);
3543
3544 EXCEPTION
3545 WHEN FND_API.G_EXC_ERROR THEN
3546 ROLLBACK TO create_financial_reports_pub;
3547 x_return_status := FND_API.G_RET_STS_ERROR;
3548
3549 FND_MSG_PUB.Count_And_Get(
3550 p_encoded => FND_API.G_FALSE,
3551 p_count => x_msg_count,
3552 p_data => x_msg_data);
3553
3554 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3555 ROLLBACK TO create_financial_reports_pub;
3556 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3557
3558 FND_MSG_PUB.Count_And_Get(
3559 p_encoded => FND_API.G_FALSE,
3560 p_count => x_msg_count,
3561 p_data => x_msg_data);
3562
3563 WHEN OTHERS THEN
3564 ROLLBACK TO create_financial_reports_pub;
3565 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3566
3567 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3568 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3569 FND_MSG_PUB.ADD;
3570
3571 FND_MSG_PUB.Count_And_Get(
3572 p_encoded => FND_API.G_FALSE,
3573 p_count => x_msg_count,
3574 p_data => x_msg_data);
3575
3576 END create_financial_reports;
3577 END V1 API Obsolete
3578 */
3579
3580 /*===========================================================================+
3581 | PROCEDURE
3582 | update_financial_reports
3583 |
3584 | DESCRIPTION
3585 | Updates financial reports.
3586 |
3587 | SCOPE - PUBLIC
3588 |
3589 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3590 |
3591 | ARGUMENTS : IN:
3592 | p_api_version
3593 | p_init_msg_list
3594 | p_commit
3595 | p_financial_reports_rec
3596 | p_validation_level
3597 | OUT:
3598 | x_return_status
3599 | x_msg_count
3600 | x_msg_data
3601 | IN/ OUT:
3602 | p_last_update_date
3603 |
3604 | RETURNS : NONE
3605 |
3606 | NOTES
3607 |
3608 | MODIFICATION HISTORY
3609 |
3610 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
3611 | For non-profile entities, the concept of
3612 | select/de-select data-sources is obsoleted.
3613 +===========================================================================
3614
3615 procedure update_financial_reports(
3616 p_api_version IN NUMBER,
3617 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3618 p_commit IN VARCHAR2:= FND_API.G_FALSE,
3619 p_financial_reports_rec IN FINANCIAL_REPORTS_REC_TYPE,
3620 p_last_update_date IN OUT NOCOPY DATE,
3621 x_return_status OUT NOCOPY VARCHAR2,
3622 x_msg_count OUT NOCOPY NUMBER,
3623 x_msg_data OUT NOCOPY VARCHAR2,
3624 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
3625 ) IS
3626
3627 l_api_name CONSTANT VARCHAR2(30) := 'update financial reports';
3628 l_api_version CONSTANT NUMBER := 1.0;
3629 l_financial_reports_rec FINANCIAL_REPORTS_REC_TYPE := p_financial_reports_rec;
3630 l_old_financial_reports_rec FINANCIAL_REPORTS_REC_TYPE;
3631
3632 BEGIN
3633
3634 --Standard start of API savepoint
3635 SAVEPOINT update_financial_reports_pub;
3636
3637 --Standard call to check for call compatibility.
3638 IF NOT FND_API.Compatible_API_Call(
3639 l_api_version,
3640 p_api_version,
3641 l_api_name,
3642 G_PKG_NAME)
3643 THEN
3644 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3645 END IF;
3646
3647 --Initialize message list if p_init_msg_list is set to TRUE.
3648 IF FND_API.to_Boolean(p_init_msg_list) THEN
3649 FND_MSG_PUB.initialize;
3650 END IF;
3651
3652 --Initialize API return status to success.
3653 x_return_status := FND_API.G_RET_STS_SUCCESS;
3654
3655 get_current_financial_report(
3656 1, FND_API.G_FALSE,
3657 l_financial_reports_rec.financial_report_id,
3658 l_old_financial_reports_rec,
3659 x_return_status,
3660 x_msg_count,
3661 x_msg_data);
3662
3663 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3664 RAISE FND_API.G_EXC_ERROR;
3665 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3666 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3667 END IF;
3668
3669 -- Bug 2197181: added for mix-n-match project. first load data
3670 -- sources for this entity.
3671
3672 -- Bug 2444678: Removed caching.
3673
3674 -- IF g_fin_mixnmatch_enabled IS NULL THEN
3675
3676 * SSM SST Integration and Extension
3677 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3678 * There is no need to check if the data-source is selected.
3679
3680 HZ_MIXNM_UTILITY.LoadDataSources(
3681 p_entity_name => 'HZ_FINANCIAL_REPORTS',
3682 p_entity_attr_id => g_fin_entity_attr_id,
3683 p_mixnmatch_enabled => g_fin_mixnmatch_enabled,
3684 p_selected_datasources => g_fin_selected_datasources );
3685
3686 -- END IF;
3687
3688 -- Bug 2197181: added for mix-n-match project.
3689 -- check if the data source is seleted.
3690 * SSM SST Integration and Extension
3691 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3692 * There is no need to check if the data-source is selected.
3693
3694 g_fin_is_datasource_selected :=
3695 HZ_MIXNM_UTILITY.isDataSourceSelected (
3696 p_selected_datasources => g_fin_selected_datasources,
3697 p_actual_content_source => l_old_financial_reports_rec.actual_content_source );
3698 *
3699 ********************this code is replaced to go via V2 API.
3700 -- Call to business logic.
3701 do_update_financial_reports(
3702 l_financial_reports_rec,
3703 p_last_update_date,
3704 x_return_status);
3705 ************************
3706
3707 -- call to perform everything through V2 API
3708 HZ_ORGANIZATION_INFO_V2PVT.v2_update_financial_report (
3709 l_financial_reports_rec,
3710 p_last_update_date,
3711 x_return_status
3712 );
3713
3714 *
3715 -- Invoke business event system.
3716 IF x_return_status = FND_API.G_RET_STS_SUCCESS AND
3717 -- Bug 2197181: Added below condition for Mix-n-Match
3718 g_fin_is_datasource_selected = 'Y'
3719 THEN
3720 HZ_BUSINESS_EVENT_V2PVT.update_fin_reports_event(l_financial_reports_rec);
3721 END IF;
3722 *
3723 --Standard check of p_commit.
3724 IF FND_API.to_Boolean(p_commit) THEN
3725 Commit;
3726 END IF;
3727
3728 --Standard call to get message count and if count is 1, get message info.
3729 FND_MSG_PUB.Count_And_Get(
3730 p_encoded => FND_API.G_FALSE,
3731 p_count => x_msg_count,
3732 p_data => x_msg_data);
3733
3734 EXCEPTION
3735 WHEN FND_API.G_EXC_ERROR THEN
3736 ROLLBACK TO update_financial_reports_pub;
3737 x_return_status := FND_API.G_RET_STS_ERROR;
3738
3739 FND_MSG_PUB.Count_And_Get(
3740 p_encoded => FND_API.G_FALSE,
3741 p_count => x_msg_count,
3742 p_data => x_msg_data);
3743
3744 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3745 ROLLBACK TO update_financial_reports_pub;
3746 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3747
3748 FND_MSG_PUB.Count_And_Get(
3749 p_encoded => FND_API.G_FALSE,
3750 p_count => x_msg_count,
3751 p_data => x_msg_data);
3752
3753 WHEN OTHERS THEN
3754 ROLLBACK TO update_financial_reports_pub;
3755 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3756
3757 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3758 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3759 FND_MSG_PUB.ADD;
3760
3761 FND_MSG_PUB.Count_And_Get(
3762 p_encoded => FND_API.G_FALSE,
3763 p_count => x_msg_count,
3764 p_data => x_msg_data);
3765
3766 END update_financial_reports;
3767 END Obsolete v1 api
3768 */
3769
3770 /*===========================================================================+
3771 | PROCEDURE
3772 | create_financial_numbers
3773 |
3774 | DESCRIPTION
3775 | Creates financial numbers.
3776 |
3777 | SCOPE - PUBLIC
3778 |
3779 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3780 |
3781 | ARGUMENTS : IN:
3782 | p_api_version
3783 | p_init_msg_list
3784 | p_commit
3785 | p_financial_numbers_rec
3786 | p_validation_level
3787 | OUT:
3788 | x_return_status
3789 | x_msg_count
3790 | x_msg_data
3791 | x_financial_number_id
3792 | IN/ OUT:
3793 |
3794 | RETURNS : NONE
3795 |
3796 | NOTES
3797 |
3798 | MODIFICATION HISTORY
3799 |
3800 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
3801 | For non-profile entities, the concept of
3802 | select/de-select data-sources is obsoleted.
3803 +===========================================================================
3804
3805 procedure create_financial_numbers(
3806 p_api_version IN NUMBER,
3807 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3808 p_commit IN VARCHAR2:= FND_API.G_FALSE,
3809 p_financial_numbers_rec IN FINANCIAL_NUMBERS_REC_TYPE,
3810 x_return_status OUT NOCOPY VARCHAR2,
3811 x_msg_count OUT NOCOPY NUMBER,
3812 x_msg_data OUT NOCOPY VARCHAR2,
3813 x_financial_number_id OUT NOCOPY NUMBER,
3814 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
3815 ) IS
3816
3817 l_api_name CONSTANT VARCHAR2(30) := 'create financial numbers';
3818 l_api_version CONSTANT NUMBER := 1.0;
3819 l_financial_numbers_rec FINANCIAL_NUMBERS_REC_TYPE := p_financial_numbers_rec;
3820
3821 BEGIN
3822
3823 --Standard start of API savepoint
3824 SAVEPOINT create_financial_numbers_pub;
3825
3826 --Standard call to check for call compatibility.
3827 IF NOT FND_API.Compatible_API_Call(
3828 l_api_version,
3829 p_api_version,
3830 l_api_name,
3831 G_PKG_NAME)
3832 THEN
3833 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3834 END IF;
3835
3836 --Initialize message list if p_init_msg_list is set to TRUE.
3837 IF FND_API.to_Boolean(p_init_msg_list) THEN
3838 FND_MSG_PUB.initialize;
3839 END IF;
3840
3841 --Initialize API return status to success.
3842 x_return_status := FND_API.G_RET_STS_SUCCESS;
3843
3844 -- Bug 2197181: added for mix-n-match project. first load data
3845 -- sources for this entity.
3846
3847 -- Bug 2444678: Removed caching.
3848
3849 -- IF g_fin_mixnmatch_enabled IS NULL THEN
3850 * SSM SST Integration and Extension
3851 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
3852 * There is no need to check if the data-source is selected.
3853
3854 HZ_MIXNM_UTILITY.LoadDataSources(
3855 p_entity_name => 'HZ_FINANCIAL_REPORTS',
3856 p_entity_attr_id => g_fin_entity_attr_id,
3857 p_mixnmatch_enabled => g_fin_mixnmatch_enabled,
3858 p_selected_datasources => g_fin_selected_datasources );
3859 *
3860 -- END IF;
3861
3862 ********************this code is replaced to go via V2 API.
3863 -- Call to business logic.
3864 do_create_financial_numbers(
3865 l_financial_numbers_rec,
3866 x_financial_number_id,
3867 x_return_status);
3868 ************************
3869
3870 -- call to perform everything through V2 API
3871 HZ_ORGANIZATION_INFO_V2PVT.v2_create_financial_number (
3872 p_financial_number_rec => l_financial_numbers_rec,
3873 x_financial_number_id => x_financial_number_id,
3874 x_return_status => x_return_status);
3875
3876 *
3877 -- Invoke business event system.
3878 IF x_return_status = FND_API.G_RET_STS_SUCCESS AND
3879 -- Bug 2197181: Added below condition for Mix-n-Match
3880 g_fin_is_datasource_selected = 'Y'
3881 THEN
3882 HZ_BUSINESS_EVENT_V2PVT.create_fin_numbers_event(l_financial_numbers_rec);
3883 END IF;
3884 *
3885
3886 --Standard check of p_commit.
3887 IF FND_API.to_Boolean(p_commit) THEN
3888 Commit;
3889 END IF;
3890
3891 --Standard call to get message count and if count is 1, get message info.
3892 FND_MSG_PUB.Count_And_Get(
3893 p_encoded => FND_API.G_FALSE,
3894 p_count => x_msg_count,
3895 p_data => x_msg_data);
3896
3897 EXCEPTION
3898 WHEN FND_API.G_EXC_ERROR THEN
3899 ROLLBACK TO create_financial_numbers_pub;
3900 x_return_status := FND_API.G_RET_STS_ERROR;
3901
3902 FND_MSG_PUB.Count_And_Get(
3903 p_encoded => FND_API.G_FALSE,
3904 p_count => x_msg_count,
3905 p_data => x_msg_data);
3906
3907 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3908 ROLLBACK TO create_financial_numbers_pub;
3909 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3910
3911 FND_MSG_PUB.Count_And_Get(
3912 p_encoded => FND_API.G_FALSE,
3913 p_count => x_msg_count,
3914 p_data => x_msg_data);
3915
3916 WHEN OTHERS THEN
3917 ROLLBACK TO create_financial_numbers_pub;
3918 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3919
3920 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
3921 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
3922 FND_MSG_PUB.ADD;
3923
3924 FND_MSG_PUB.Count_And_Get(
3925 p_encoded => FND_API.G_FALSE,
3926 p_count => x_msg_count,
3927 p_data => x_msg_data);
3928
3929 END create_financial_numbers;
3930 END Obsolete vi api
3931
3932 */
3933 /*===========================================================================+
3934 | PROCEDURE
3935 | update_financial_numbers
3936 |
3937 | DESCRIPTION
3938 | Updates financial numbers.
3939 |
3940 | SCOPE - PUBLIC
3941 |
3942 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
3943 |
3944 | ARGUMENTS : IN:
3945 | p_api_version
3946 | p_init_msg_list
3947 | p_commit
3948 | p_financial_numbers_rec
3949 | p_validation_level
3950 | OUT:
3951 | x_return_status
3952 | x_msg_count
3953 | x_msg_data
3954 | IN/ OUT:
3955 | p_last_update_date
3956 |
3957 | RETURNS : NONE
3958 |
3959 | NOTES
3960 |
3961 | MODIFICATION HISTORY
3962 |
3963 | 01-03-2005 Rajib Ranjan Borah o SSM SST Integration and Extension.
3964 | For non-profile entities, the concept of
3965 | select/de-select data-sources is obsoleted.
3966 +===========================================================================
3967
3968 procedure update_financial_numbers(
3969 p_api_version IN NUMBER,
3970 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
3971 p_commit IN VARCHAR2:= FND_API.G_FALSE,
3972 p_financial_numbers_rec IN FINANCIAL_NUMBERS_REC_TYPE,
3973 p_last_update_date IN OUT NOCOPY DATE,
3974 x_return_status OUT NOCOPY VARCHAR2,
3975 x_msg_count OUT NOCOPY NUMBER,
3976 x_msg_data OUT NOCOPY VARCHAR2,
3977 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
3978 ) IS
3979
3980 l_api_name CONSTANT VARCHAR2(30) := 'update financial numbers';
3981 l_api_version CONSTANT NUMBER := 1.0;
3982 l_financial_numbers_rec FINANCIAL_NUMBERS_REC_TYPE := p_financial_numbers_rec;
3983 l_old_financial_numbers_rec FINANCIAL_NUMBERS_REC_TYPE;
3984
3985 BEGIN
3986
3987 --Standard start of API savepoint
3988 SAVEPOINT update_financial_numbers_pub;
3989
3990 --Standard call to check for call compatibility.
3991 IF NOT FND_API.Compatible_API_Call(
3992 l_api_version,
3993 p_api_version,
3994 l_api_name,
3995 G_PKG_NAME)
3996 THEN
3997 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3998 END IF;
3999
4000 --Initialize message list if p_init_msg_list is set to TRUE.
4001 IF FND_API.to_Boolean(p_init_msg_list) THEN
4002 FND_MSG_PUB.initialize;
4003 END IF;
4004
4005 --Initialize API return status to success.
4006 x_return_status := FND_API.G_RET_STS_SUCCESS;
4007
4008 get_current_financial_number(
4009 1, FND_API.G_FALSE,
4010 l_financial_numbers_rec.financial_number_id,
4011 l_old_financial_numbers_rec,
4012 x_return_status,
4013 x_msg_count,
4014 x_msg_data);
4015
4016 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4017 RAISE FND_API.G_EXC_ERROR;
4018 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4019 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4020 END IF;
4021
4022 -- Bug 2197181: added for mix-n-match project. first load data
4023 -- sources for this entity.
4024
4025 -- Bug 2444678: Removed caching.
4026
4027 -- IF g_fin_mixnmatch_enabled IS NULL THEN
4028 * SSM SST Integration and Extension
4029 * For non-profile entities, the concept of select/de-select data-sources is obsoleted.
4030 * There is no need to check if the data-source is selected.
4031
4032 HZ_MIXNM_UTILITY.LoadDataSources(
4033 p_entity_name => 'HZ_FINANCIAL_REPORTS',
4034 p_entity_attr_id => g_fin_entity_attr_id,
4035 p_mixnmatch_enabled => g_fin_mixnmatch_enabled,
4036 p_selected_datasources => g_fin_selected_datasources );
4037 *
4038 -- END IF;
4039
4040 ********************this code is replaced to go via V2 API.
4041 -- Call to business logic.
4042 do_update_financial_numbers(
4043 l_financial_numbers_rec,
4044 p_last_update_date,
4045 x_return_status);
4046 ************************
4047
4048 -- call to perform everything through V2 API
4049 HZ_ORGANIZATION_INFO_V2PVT.v2_update_financial_number (
4050 l_financial_numbers_rec,
4051 p_last_update_date,
4052 x_return_status
4053 );
4054
4055 *
4056 -- Invoke business event system.
4057 IF x_return_status = FND_API.G_RET_STS_SUCCESS AND
4058 -- Bug 2197181: Added below condition for Mix-n-Match
4059 g_fin_is_datasource_selected = 'Y'
4060 THEN
4061 HZ_BUSINESS_EVENT_V2PVT.update_fin_numbers_event(l_financial_numbers_rec);
4062 END IF;
4063 *
4064
4065 --Standard check of p_commit.
4066 IF FND_API.to_Boolean(p_commit) THEN
4067 Commit;
4068 END IF;
4069
4070 --Standard call to get message count and if count is 1, get message info.
4071 FND_MSG_PUB.Count_And_Get(
4072 p_encoded => FND_API.G_FALSE,
4073 p_count => x_msg_count,
4074 p_data => x_msg_data);
4075
4076 EXCEPTION
4077 WHEN FND_API.G_EXC_ERROR THEN
4078 ROLLBACK TO update_financial_numbers_pub;
4079 x_return_status := FND_API.G_RET_STS_ERROR;
4080
4081 FND_MSG_PUB.Count_And_Get(
4082 p_encoded => FND_API.G_FALSE,
4083 p_count => x_msg_count,
4084 p_data => x_msg_data);
4085
4086 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4087 ROLLBACK TO update_financial_numbers_pub;
4088 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4089
4090 FND_MSG_PUB.Count_And_Get(
4091 p_encoded => FND_API.G_FALSE,
4092 p_count => x_msg_count,
4093 p_data => x_msg_data);
4094
4095 WHEN OTHERS THEN
4096 ROLLBACK TO update_financial_numbers_pub;
4097 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4098
4099 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
4100 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4101 FND_MSG_PUB.ADD;
4102
4103 FND_MSG_PUB.Count_And_Get(
4104 p_encoded => FND_API.G_FALSE,
4105 p_count => x_msg_count,
4106 p_data => x_msg_data);
4107
4108 END update_financial_numbers;
4109 END Obsolete V1 API
4110 */
4111 /*===========================================================================+
4112 | PROCEDURE
4113 | create_certifications
4114 |
4115 | DESCRIPTION
4116 | Creates certifications.
4117 |
4118 | SCOPE - PUBLIC
4119 |
4120 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4121 |
4122 | ARGUMENTS : IN:
4123 | p_api_version
4124 | p_init_msg_list
4125 | p_commit
4126 | p_certifications_rec
4127 | p_validation_level
4128 | OUT:
4129 | x_return_status
4130 | x_msg_count
4131 | x_msg_data
4132 | x_certification_id
4133 | IN/ OUT:
4134 |
4135 | RETURNS : NONE
4136 |
4137 | NOTES
4138 |
4139 | MODIFICATION HISTORY
4140 |
4141 +===========================================================================*/
4142
4143 procedure create_certifications(
4144 p_api_version IN NUMBER,
4145 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
4146 p_commit IN VARCHAR2:= FND_API.G_FALSE,
4147 p_certifications_rec IN CERTIFICATIONS_REC_TYPE,
4148 x_return_status OUT NOCOPY VARCHAR2,
4149 x_msg_count OUT NOCOPY NUMBER,
4150 x_msg_data OUT NOCOPY VARCHAR2,
4151 x_certification_id OUT NOCOPY NUMBER,
4152 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
4153 ) IS
4154 l_api_name CONSTANT VARCHAR2(30) := 'create certifications';
4155 l_api_version CONSTANT NUMBER := 1.0;
4156 l_certifications_rec CERTIFICATIONS_REC_TYPE := p_certifications_rec;
4157
4158 BEGIN
4159 --Standard start of API savepoint
4160 SAVEPOINT create_certifications_pub;
4161 --Standard call to check for call compatibility.
4162 IF NOT FND_API.Compatible_API_Call(
4163 l_api_version,
4164 p_api_version,
4165 l_api_name,
4166 G_PKG_NAME)
4167 THEN
4168 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4169 END IF;
4170
4171 --Initialize message list if p_init_msg_list is set to TRUE.
4172 IF FND_API.to_Boolean(p_init_msg_list) THEN
4173 FND_MSG_PUB.initialize;
4174 END IF;
4175
4176 --Initialize API return status to success.
4177 x_return_status := FND_API.G_RET_STS_SUCCESS;
4178
4179 /*
4180 --Call to User-Hook pre Processing Procedure
4181 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4182 hz_org_info_crmhk.create_certifications_pre(
4183 l_certifications_rec,
4184 x_return_status,
4185 x_msg_count,
4186 x_msg_data);
4187
4188 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4189 RAISE FND_API.G_EXC_ERROR;
4190 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4191 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4192 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4193 'HZ_ORG_INFO_CRMHK.CREATE_CERTIFICATIONS_PRE');
4194 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4195 FND_MSG_PUB.ADD;
4196 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4197 END IF;
4198
4199 END IF;
4200 */
4201
4202 -- Call to business logic.
4203 -- Call PL/SQL wrapper over table handler
4204 do_create_certifications( l_certifications_rec,
4205 x_certification_id,
4206 x_return_status);
4207
4208 /*
4209 --Call to User-Hook post Processing Procedure
4210 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4211 hz_org_info_crmhk.create_certifications_post(
4212 l_certifications_rec,
4213 x_return_status,
4214 x_msg_count,
4215 x_msg_data);
4216
4217 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4218 RAISE FND_API.G_EXC_ERROR;
4219 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4220 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4221 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4222 'HZ_ORG_INFO_CRMHK.CREATE_CERTIFICATIONS_POST');
4223 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4224 FND_MSG_PUB.ADD;
4225 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4226 END IF;
4227
4228 END IF;
4229 */
4230
4231 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
4232 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
4233 hz_business_event_v2pvt.create_certifications_event(l_certifications_rec);
4234 END IF;
4235
4236 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
4237 -- populate function for integration service
4238 HZ_POPULATE_BOT_PKG.pop_hz_certifications(
4239 p_operation => 'I',
4240 p_certification_id => x_certification_id);
4241 END IF;
4242 END IF;
4243
4244 --Standard check of p_commit.
4245 IF FND_API.to_Boolean(p_commit) THEN
4246 Commit;
4247 END IF;
4248
4249 --Standard call to get message count and if count is 1, get message info.
4250 FND_MSG_PUB.Count_And_Get(
4251 p_encoded => FND_API.G_FALSE,
4252 p_count => x_msg_count,
4253 p_data => x_msg_data);
4254 EXCEPTION
4255 WHEN FND_API.G_EXC_ERROR THEN
4256 ROLLBACK TO create_certifications_pub;
4257 x_return_status := FND_API.G_RET_STS_ERROR;
4258 FND_MSG_PUB.Count_And_Get(
4259 p_encoded => FND_API.G_FALSE,
4260 p_count => x_msg_count,
4261 p_data => x_msg_data);
4262
4263 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4264 ROLLBACK TO create_certifications_pub;
4265 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4266 FND_MSG_PUB.Count_And_Get(
4267 p_encoded => FND_API.G_FALSE,
4268 p_count => x_msg_count,
4269 p_data => x_msg_data);
4270 WHEN OTHERS THEN
4271 ROLLBACK TO create_certifications_pub;
4272 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4273
4274 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
4275 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4276 FND_MSG_PUB.ADD;
4277
4278 FND_MSG_PUB.Count_And_Get(
4279 p_encoded => FND_API.G_FALSE,
4280 p_count => x_msg_count,
4281 p_data => x_msg_data);
4282 END create_certifications;
4283
4284 /*===========================================================================+
4285 | PROCEDURE
4286 | update_certifications
4287 |
4288 | DESCRIPTION
4289 | Updates certifications.
4290 |
4291 | SCOPE - PUBLIC
4292 |
4293 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4294 |
4295 | ARGUMENTS : IN:
4296 | p_api_version
4297 | p_init_msg_list
4298 | p_commit
4299 | p_certifications_rec
4300 | p_validation_level
4301 | OUT:
4302 | x_return_status
4303 | x_msg_count
4304 | x_msg_data
4305 | IN/ OUT:
4306 | p_last_update_date
4307 |
4308 | RETURNS : NONE
4309 |
4310 | NOTES
4311 |
4312 | MODIFICATION HISTORY
4313 |
4314 +===========================================================================*/
4315
4316 procedure update_certifications(
4317 p_api_version IN NUMBER,
4318 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
4319 p_commit IN VARCHAR2:= FND_API.G_FALSE,
4320 p_certifications_rec IN CERTIFICATIONS_REC_TYPE,
4321 p_last_update_date IN OUT NOCOPY DATE,
4322 x_return_status OUT NOCOPY VARCHAR2,
4323 x_msg_count OUT NOCOPY NUMBER,
4324 x_msg_data OUT NOCOPY VARCHAR2,
4325 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
4326 ) IS
4327 l_api_name CONSTANT VARCHAR2(30) := 'update certifications';
4328 l_api_version CONSTANT NUMBER := 1.0;
4329 l_certifications_rec CERTIFICATIONS_REC_TYPE := p_certifications_rec;
4330 l_old_certifications_rec CERTIFICATIONS_REC_TYPE ;
4331
4332 BEGIN
4333 --Standard start of API savepoint
4334 SAVEPOINT update_certifications_pub;
4335 --Standard call to check for call compatibility.
4336 IF NOT FND_API.Compatible_API_Call(
4337 l_api_version,
4338 p_api_version,
4339 l_api_name,
4340 G_PKG_NAME)
4341 THEN
4342 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4343 END IF;
4344
4345 --Initialize message list if p_init_msg_list is set to TRUE.
4346 IF FND_API.to_Boolean(p_init_msg_list) THEN
4347 FND_MSG_PUB.initialize;
4348 END IF;
4349
4350 --Initialize API return status to success.
4351 x_return_status := FND_API.G_RET_STS_SUCCESS;
4352
4353 /*
4354 get_current_certifications(1,
4355 FND_API.G_FALSE,
4356 l_certifications_rec.certification_id,
4357 l_old_certifications_rec,
4358 x_return_status,
4359 x_msg_count,
4360 x_msg_data);
4361
4362 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4363 RAISE FND_API.G_EXC_ERROR;
4364 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4365 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4366 END IF;
4367 */
4368
4369 /*
4370 --Call to User-Hook pre Processing Procedure
4371 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4372 hz_org_info_crmhk.update_certifications_pre(
4373 l_certifications_rec,
4374 x_return_status,
4375 x_msg_count,
4376 x_msg_data);
4377
4378 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4379 RAISE FND_API.G_EXC_ERROR;
4380 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4381 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4382 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4383 'HZ_ORG_INFO_CRMHK.UPDATE_CERTIFICATIONS_PRE');
4384 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4385 FND_MSG_PUB.ADD;
4386 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4387 END IF;
4388
4389 END IF;
4390 */
4391
4392 -- Call to business logic.
4393 -- Call PL/SQL wrapper over table handler
4394 do_update_certifications( l_certifications_rec,
4395 p_last_update_date,
4396 x_return_status);
4397
4398 /*
4399 --Call to User-Hook post Processing Procedure
4400 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4401 hz_org_info_crmhk.update_certifications_post(
4402 l_certifications_rec,
4403 x_return_status,
4404 x_msg_count,
4405 x_msg_data);
4406
4407 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4408 RAISE FND_API.G_EXC_ERROR;
4409 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4410 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4411 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4412 'HZ_ORG_INFO_CRMHK.UPDATE_CERTIFICATIONS_POST');
4413 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4414 FND_MSG_PUB.ADD;
4415 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4416 END IF;
4417
4418 END IF;
4419 */
4420
4421 IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
4422 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('Y', 'EVENTS_ENABLED')) THEN
4423 hz_business_event_v2pvt.update_certifications_event(l_certifications_rec);
4424 END IF;
4425
4426 IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
4427 -- populate function for integration service
4428 HZ_POPULATE_BOT_PKG.pop_hz_certifications(
4429 p_operation => 'U',
4430 p_certification_id => l_certifications_rec.certification_id);
4431 END IF;
4432 END IF;
4433
4434 --Standard check of p_commit.
4435 IF FND_API.to_Boolean(p_commit) THEN
4436 Commit;
4437 END IF;
4438
4439 --Standard call to get message count and if count is 1, get message info.
4440 FND_MSG_PUB.Count_And_Get(
4441 p_encoded => FND_API.G_FALSE,
4442 p_count => x_msg_count,
4443 p_data => x_msg_data);
4444 EXCEPTION
4445 WHEN FND_API.G_EXC_ERROR THEN
4446 ROLLBACK TO update_certifications_pub;
4447 x_return_status := FND_API.G_RET_STS_ERROR;
4448 FND_MSG_PUB.Count_And_Get(
4449 p_encoded => FND_API.G_FALSE,
4450 p_count => x_msg_count,
4451 p_data => x_msg_data);
4452
4453 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4454 ROLLBACK TO update_certifications_pub;
4455 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4456 FND_MSG_PUB.Count_And_Get(
4457 p_encoded => FND_API.G_FALSE,
4458 p_count => x_msg_count,
4459 p_data => x_msg_data);
4460
4461 WHEN OTHERS THEN
4462 ROLLBACK TO update_certifications_pub;
4463 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4464
4465 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
4466 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4467 FND_MSG_PUB.ADD;
4468
4469 FND_MSG_PUB.Count_And_Get(
4470 p_encoded => FND_API.G_FALSE,
4471 p_count => x_msg_count,
4472 p_data => x_msg_data);
4473
4474 END update_certifications;
4475
4476 /*===========================================================================+
4477 | PROCEDURE
4478 | create_industrial_reference
4479 |
4480 | DESCRIPTION
4481 | Creates industrial reference.
4482 |
4483 | SCOPE - PUBLIC
4484 |
4485 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4486 |
4487 | ARGUMENTS : IN:
4488 | p_api_version
4489 | p_init_msg_list
4490 | p_commit
4491 | p_industrial_reference_rec
4492 | p_validation_level
4493 | OUT:
4494 | x_return_status
4495 | x_msg_count
4496 | x_msg_data
4497 | x_industrial_reference_id
4498 | IN/ OUT:
4499 |
4500 | RETURNS : NONE
4501 |
4502 | NOTES
4503 |
4504 | MODIFICATION HISTORY
4505 |
4506 +===========================================================================*/
4507
4508 procedure create_industrial_reference(
4509 p_api_version IN NUMBER,
4510 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
4511 p_commit IN VARCHAR2:= FND_API.G_FALSE,
4512 p_industrial_reference_rec IN INDUSTRIAL_REFERENCE_REC_TYPE,
4513 x_return_status OUT NOCOPY VARCHAR2,
4514 x_msg_count OUT NOCOPY NUMBER,
4515 x_msg_data OUT NOCOPY VARCHAR2,
4516 x_industry_reference_id OUT NOCOPY NUMBER,
4517 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
4518 ) IS
4519 l_api_name CONSTANT VARCHAR2(30) := 'create industrial reference';
4520 l_api_version CONSTANT NUMBER := 1.0;
4521 l_industrial_reference_rec INDUSTRIAL_REFERENCE_REC_TYPE := p_industrial_reference_rec;
4522
4523 BEGIN
4524 --Standard start of API savepoint
4525 SAVEPOINT create_industrial_ref_pub;
4526 --Standard call to check for call compatibility.
4527 IF NOT FND_API.Compatible_API_Call(
4528 l_api_version,
4529 p_api_version,
4530 l_api_name,
4531 G_PKG_NAME)
4532 THEN
4533 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4534 END IF;
4535
4536 --Initialize message list if p_init_msg_list is set to TRUE.
4537 IF FND_API.to_Boolean(p_init_msg_list) THEN
4538 FND_MSG_PUB.initialize;
4539 END IF;
4540
4541 --Initialize API return status to success.
4542 x_return_status := FND_API.G_RET_STS_SUCCESS;
4543
4544 /*
4545 --Call to User-Hook pre Processing Procedure
4546 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4547 hz_org_info_crmhk.create_industrial_ref_pre(
4548 l_industrial_reference_rec,
4549 x_return_status,
4550 x_msg_count,
4551 x_msg_data);
4552
4553 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4554 RAISE FND_API.G_EXC_ERROR;
4555 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4556 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4557 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4558 'HZ_ORG_INFO_CRMHK.CREATE_INDUSTRIAL_REF_PRE');
4559 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4560 FND_MSG_PUB.ADD;
4561 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4562 END IF;
4563
4564 END IF;
4565 */
4566
4567 -- Call to business logic.
4568 -- Call PL/SQL wrapper over table handler
4569 do_create_industrial_reference( l_industrial_reference_rec,
4570 x_industry_reference_id,
4571 x_return_status);
4572
4573 /*
4574 --Call to User-Hook post Processing Procedure
4575 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4576 hz_org_info_crmhk.create_industrial_ref_post(
4577 l_industrial_reference_rec,
4578 x_return_status,
4579 x_msg_count,
4580 x_msg_data);
4581
4582 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4583 RAISE FND_API.G_EXC_ERROR;
4584 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4585 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4586 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4587 'HZ_ORG_INFO_CRMHK.CREATE_INDUSTRIAL_REF_POST');
4588 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4589 FND_MSG_PUB.ADD;
4590 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4591 END IF;
4592
4593 END IF;
4594 */
4595
4596
4597 --Standard check of p_commit.
4598 IF FND_API.to_Boolean(p_commit) THEN
4599 Commit;
4600 END IF;
4601
4602 --Standard call to get message count and if count is 1, get message info.
4603 FND_MSG_PUB.Count_And_Get(
4604 p_encoded => FND_API.G_FALSE,
4605 p_count => x_msg_count,
4606 p_data => x_msg_data);
4607 EXCEPTION
4608 WHEN FND_API.G_EXC_ERROR THEN
4609 ROLLBACK TO create_industrial_ref_pub;
4610 x_return_status := FND_API.G_RET_STS_ERROR;
4611 FND_MSG_PUB.Count_And_Get(
4612 p_encoded => FND_API.G_FALSE,
4613 p_count => x_msg_count,
4614 p_data => x_msg_data);
4615
4616 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4617 ROLLBACK TO create_industrial_ref_pub;
4618 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4619 FND_MSG_PUB.Count_And_Get(
4620 p_encoded => FND_API.G_FALSE,
4621 p_count => x_msg_count,
4622 p_data => x_msg_data);
4623
4624 WHEN OTHERS THEN
4625 ROLLBACK TO create_industrial_ref_pub;
4626 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4627
4628 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
4629 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4630 FND_MSG_PUB.ADD;
4631
4632 FND_MSG_PUB.Count_And_Get(
4633 p_encoded => FND_API.G_FALSE,
4634 p_count => x_msg_count,
4635 p_data => x_msg_data);
4636
4637 end create_industrial_reference;
4638
4639 /*===========================================================================+
4640 | PROCEDURE
4641 | update_industrial_reference
4642 |
4643 | DESCRIPTION
4644 | Updates industrial_reference.
4645 |
4646 | SCOPE - PUBLIC
4647 |
4648 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4649 |
4650 | ARGUMENTS : IN:
4651 | p_api_version
4652 | p_init_msg_list
4653 | p_commit
4654 | p_industrial_reference_rec
4655 | p_validation_level
4656 | OUT:
4657 | x_return_status
4658 | x_msg_count
4659 | x_msg_data
4660 | IN/ OUT:
4661 | p_last_update_date
4662 |
4663 | RETURNS : NONE
4664 |
4665 | NOTES
4666 |
4667 | MODIFICATION HISTORY
4668 |
4669 +===========================================================================*/
4670
4671 procedure update_industrial_reference(
4672 p_api_version IN NUMBER,
4673 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
4674 p_commit IN VARCHAR2:= FND_API.G_FALSE,
4675 p_industrial_reference_rec IN INDUSTRIAL_REFERENCE_REC_TYPE,
4676 p_last_update_date IN OUT NOCOPY DATE,
4677 x_return_status OUT NOCOPY VARCHAR2,
4678 x_msg_count OUT NOCOPY NUMBER,
4679 x_msg_data OUT NOCOPY VARCHAR2,
4680 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
4681 ) IS
4682 l_api_name CONSTANT VARCHAR2(30) := 'update industrial reference';
4683 l_api_version CONSTANT NUMBER := 1.0;
4684 l_industrial_reference_rec INDUSTRIAL_REFERENCE_REC_TYPE := p_industrial_reference_rec;
4685 BEGIN
4686 --Standard start of API savepoint
4687 SAVEPOINT update_industrial_ref_pub;
4688 --Standard call to check for call compatibility.
4689 IF NOT FND_API.Compatible_API_Call(
4690 l_api_version,
4691 p_api_version,
4692 l_api_name,
4693 G_PKG_NAME)
4694 THEN
4695 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4696 END IF;
4697
4698 --Initialize message list if p_init_msg_list is set to TRUE.
4699 IF FND_API.to_Boolean(p_init_msg_list) THEN
4700 FND_MSG_PUB.initialize;
4701 END IF;
4702
4703 --Initialize API return status to success.
4704 x_return_status := FND_API.G_RET_STS_SUCCESS;
4705
4706 /*
4707 --Call to User-Hook pre Processing Procedure
4708 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4709 hz_org_info_crmhk.update_industrial_ref_pre(
4710 l_industrial_reference_rec,
4711 x_return_status,
4712 x_msg_count,
4713 x_msg_data);
4714
4715 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4716 RAISE FND_API.G_EXC_ERROR;
4717 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4718 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4719 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4720 'HZ_ORG_INFO_CRMHK.UPDATE_INDUSTRIAL_REF_PRE');
4721 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4722 FND_MSG_PUB.ADD;
4723 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4724 END IF;
4725
4726 END IF;
4727 */
4728 -- Call to business logic.
4729 -- Call PL/SQL wrapper over table handler
4730 do_update_industrial_reference( l_industrial_reference_rec,
4731 p_last_update_date,
4732 x_return_status);
4733
4734 /*
4735 --Call to User-Hook post Processing Procedure
4736 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4737 hz_org_info_crmhk.update_industrial_ref_post(
4738 l_industrial_reference_rec,
4739 x_return_status,
4740 x_msg_count,
4741 x_msg_data);
4742
4743 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4744 RAISE FND_API.G_EXC_ERROR;
4745 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4746 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4747 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4748 'HZ_ORG_INFO_CRMHK.UPDATE_INDUSTRIAL_REF_POST');
4749 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4750 FND_MSG_PUB.ADD;
4751 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4752 END IF;
4753
4754 END IF;
4755 */
4756
4757 --Standard check of p_commit.
4758 IF FND_API.to_Boolean(p_commit) THEN
4759 Commit;
4760 END IF;
4761
4762 --Standard call to get message count and if count is 1, get message info.
4763 FND_MSG_PUB.Count_And_Get(
4764 p_encoded => FND_API.G_FALSE,
4765 p_count => x_msg_count,
4766 p_data => x_msg_data);
4767 EXCEPTION
4768 WHEN FND_API.G_EXC_ERROR THEN
4769 ROLLBACK TO update_industrial_ref_pub;
4770 x_return_status := FND_API.G_RET_STS_ERROR;
4771 FND_MSG_PUB.Count_And_Get(
4772 p_encoded => FND_API.G_FALSE,
4773 p_count => x_msg_count,
4774 p_data => x_msg_data);
4775
4776 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4777 ROLLBACK TO update_industrial_ref_pub;
4778 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4779 FND_MSG_PUB.Count_And_Get(
4780 p_encoded => FND_API.G_FALSE,
4781 p_count => x_msg_count,
4782 p_data => x_msg_data);
4783
4784 WHEN OTHERS THEN
4785 ROLLBACK TO update_industrial_ref_pub;
4786 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4787
4788 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
4789 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4790 FND_MSG_PUB.ADD;
4791
4792 FND_MSG_PUB.Count_And_Get(
4793 p_encoded => FND_API.G_FALSE,
4794 p_count => x_msg_count,
4795 p_data => x_msg_data);
4796
4797 END update_industrial_reference;
4798
4799 /*===========================================================================+
4800 | PROCEDURE
4801 | create_industrial_classes
4802 |
4803 | DESCRIPTION
4804 | Creates industrial classes.
4805 |
4806 | SCOPE - PUBLIC
4807 |
4808 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4809 |
4810 | ARGUMENTS : IN:
4811 | p_api_version
4812 | p_init_msg_list
4813 | p_commit
4814 | p_industrial_classes_rec
4815 | p_validation_level
4816 | OUT:
4817 | x_return_status
4818 | x_msg_count
4819 | x_msg_data
4820 | x_industrial_class_id
4821 | IN/ OUT:
4822 |
4823 | RETURNS : NONE
4824 |
4825 | NOTES
4826 |
4827 | MODIFICATION HISTORY
4828 |
4829 +===========================================================================*/
4830
4831 procedure create_industrial_classes(
4832 p_api_version IN NUMBER,
4833 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
4834 p_commit IN VARCHAR2:= FND_API.G_FALSE,
4835 p_industrial_classes_rec IN INDUSTRIAL_CLASSES_REC_TYPE,
4836 x_return_status OUT NOCOPY VARCHAR2,
4837 x_msg_count OUT NOCOPY NUMBER,
4838 x_msg_data OUT NOCOPY VARCHAR2,
4839 x_industrial_class_id OUT NOCOPY NUMBER,
4840 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
4841 ) IS
4842 l_api_name CONSTANT VARCHAR2(30) := 'create industrial classes';
4843 l_api_version CONSTANT NUMBER := 1.0;
4844 l_industrial_classes_rec INDUSTRIAL_CLASSES_REC_TYPE := p_industrial_classes_rec;
4845 BEGIN
4846 --Standard start of API savepoint
4847 SAVEPOINT create_industrial_classes_pub;
4848 --Standard call to check for call compatibility.
4849 IF NOT FND_API.Compatible_API_Call(
4850 l_api_version,
4851 p_api_version,
4852 l_api_name,
4853 G_PKG_NAME)
4854 THEN
4855 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4856 END IF;
4857
4858 --Initialize message list if p_init_msg_list is set to TRUE.
4859 IF FND_API.to_Boolean(p_init_msg_list) THEN
4860 FND_MSG_PUB.initialize;
4861 END IF;
4862
4863 --Initialize API return status to success.
4864 x_return_status := FND_API.G_RET_STS_SUCCESS;
4865
4866 /*
4867 --Call to User-Hook pre Processing Procedure
4868 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4869 hz_org_info_crmhk.create_industrial_classes_pre(
4870 l_industrial_classes_rec,
4871 x_return_status,
4872 x_msg_count,
4873 x_msg_data);
4874
4875 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4876 RAISE FND_API.G_EXC_ERROR;
4877 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4878 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4879 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4880 'HZ_ORG_INFO_CRMHK.CREATE_INDUSTRIAL_CLASSES_PRE');
4881 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4882 FND_MSG_PUB.ADD;
4883 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4884 END IF;
4885
4886 END IF;
4887 */
4888 -- Call to business logic.
4889 -- Call PL/SQL wrapper over table handler
4890 do_create_industrial_classes( l_industrial_classes_rec,
4891 x_industrial_class_id,
4892 x_return_status);
4893
4894 /*
4895 --Call to User-Hook post Processing Procedure
4896 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
4897 hz_org_info_crmhk.create_industrial_classes_post(
4898 l_industrial_classes_rec,
4899 x_return_status,
4900 x_msg_count,
4901 x_msg_data);
4902
4903 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4904 RAISE FND_API.G_EXC_ERROR;
4905 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4906 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
4907 FND_MESSAGE.SET_TOKEN('PROCEDURE',
4908 'HZ_ORG_INFO_CRMHK.CREATE_INDUSTRIAL_CLASSES_POST');
4909 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4910 FND_MSG_PUB.ADD;
4911 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4912 END IF;
4913
4914 END IF;
4915 */
4916
4917 --Standard check of p_commit.
4918 IF FND_API.to_Boolean(p_commit) THEN
4919 Commit;
4920 END IF;
4921
4922 --Standard call to get message count and if count is 1, get message info.
4923 FND_MSG_PUB.Count_And_Get(
4924 p_encoded => FND_API.G_FALSE,
4925 p_count => x_msg_count,
4926 p_data => x_msg_data);
4927 EXCEPTION
4928 WHEN FND_API.G_EXC_ERROR THEN
4929 ROLLBACK TO create_industrial_classes_pub;
4930 x_return_status := FND_API.G_RET_STS_ERROR;
4931 FND_MSG_PUB.Count_And_Get(
4932 p_encoded => FND_API.G_FALSE,
4933 p_count => x_msg_count,
4934 p_data => x_msg_data);
4935
4936 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4937 ROLLBACK TO create_industrial_classes_pub;
4938 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4939 FND_MSG_PUB.Count_And_Get(
4940 p_encoded => FND_API.G_FALSE,
4941 p_count => x_msg_count,
4942 p_data => x_msg_data);
4943
4944 WHEN OTHERS THEN
4945 ROLLBACK TO create_industrial_classes_pub;
4946 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4947
4948 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
4949 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
4950 FND_MSG_PUB.ADD;
4951
4952 FND_MSG_PUB.Count_And_Get(
4953 p_encoded => FND_API.G_FALSE,
4954 p_count => x_msg_count,
4955 p_data => x_msg_data);
4956
4957 END create_industrial_classes;
4958
4959 /*===========================================================================+
4960 | PROCEDURE
4961 | update_industrial_classes
4962 |
4963 | DESCRIPTION
4964 | Updates industrial classes.
4965 |
4966 | SCOPE - PUBLIC
4967 |
4968 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
4969 |
4970 | ARGUMENTS : IN:
4971 | p_api_version
4972 | p_init_msg_list
4973 | p_commit
4974 | p_industrial_classes_rec
4975 | p_validation_level
4976 | OUT:
4977 | x_return_status
4978 | x_msg_count
4979 | x_msg_data
4980 | IN/ OUT:
4981 | p_last_update_date
4982 |
4983 | RETURNS : NONE
4984 |
4985 | NOTES
4986 |
4987 | MODIFICATION HISTORY
4988 |
4989 +===========================================================================*/
4990
4991 procedure update_industrial_classes(
4992 p_api_version IN NUMBER,
4993 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
4994 p_commit IN VARCHAR2:= FND_API.G_FALSE,
4995 p_industrial_classes_rec IN INDUSTRIAL_CLASSES_REC_TYPE,
4996 p_last_update_date IN OUT NOCOPY DATE,
4997 x_return_status OUT NOCOPY VARCHAR2,
4998 x_msg_count OUT NOCOPY NUMBER,
4999 x_msg_data OUT NOCOPY VARCHAR2,
5000 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
5001 ) IS
5002
5003 l_api_name CONSTANT VARCHAR2(30) := 'update industrial classes';
5004 l_api_version CONSTANT NUMBER := 1.0;
5005 l_industrial_classes_rec INDUSTRIAL_CLASSES_REC_TYPE := p_industrial_classes_rec;
5006 l_old_industrial_classes_rec INDUSTRIAL_CLASSES_REC_TYPE;
5007 BEGIN
5008 --Standard start of API savepoint
5009 SAVEPOINT update_industrial_classes_pub;
5010 --Standard call to check for call compatibility.
5011 IF NOT FND_API.Compatible_API_Call(
5012 l_api_version,
5013 p_api_version,
5014 l_api_name,
5015 G_PKG_NAME)
5016 THEN
5017 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5018 END IF;
5019
5020 --Initialize message list if p_init_msg_list is set to TRUE.
5021 IF FND_API.to_Boolean(p_init_msg_list) THEN
5022 FND_MSG_PUB.initialize;
5023 END IF;
5024
5025 --Initialize API return status to success.
5026 x_return_status := FND_API.G_RET_STS_SUCCESS;
5027
5028 --Get the old record.
5029 get_current_industrial_classes(
5030 1,
5031 FND_API.G_FALSE,
5032 l_industrial_classes_rec.industrial_class_id,
5033 l_old_industrial_classes_rec,
5034 x_return_status,
5035 x_msg_count,
5036 x_msg_data);
5037
5038 /*
5039 --Call to User-Hook pre Processing Procedure
5040 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
5041 hz_org_info_crmhk.update_industrial_classes_pre(
5042 l_industrial_classes_rec,
5043 l_old_industrial_classes_rec,
5044 x_return_status,
5045 x_msg_count,
5046 x_msg_data);
5047
5048 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5049 RAISE FND_API.G_EXC_ERROR;
5050 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5051 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
5052 FND_MESSAGE.SET_TOKEN('PROCEDURE',
5053 'HZ_ORG_INFO_CRMHK.UPDATE_INDUSTRIAL_CLASSES_PRE');
5054 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5055 FND_MSG_PUB.ADD;
5056 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5057 END IF;
5058
5059 END IF;
5060 */
5061
5062 -- Call to business logic.
5063 -- Call PL/SQL wrapper over table handler
5064 do_update_industrial_classes( l_industrial_classes_rec,
5065 p_last_update_date,
5066 x_return_status);
5067
5068 /*
5069 --Call to User-Hook post Processing Procedure
5070 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
5071 hz_org_info_crmhk.update_industrial_classes_post(
5072 l_industrial_classes_rec,
5073 x_return_status,
5074 x_msg_count,
5075 x_msg_data);
5076
5077 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5078 RAISE FND_API.G_EXC_ERROR;
5079 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5080 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
5081 FND_MESSAGE.SET_TOKEN('PROCEDURE',
5082 'HZ_ORG_INFO_CRMHK.UPDATE_INDUSTRIAL_CLASSES_POST');
5083 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5084 FND_MSG_PUB.ADD;
5085 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5086 END IF;
5087
5088 END IF;
5089 */
5090
5091 --Standard check of p_commit.
5092 IF FND_API.to_Boolean(p_commit) THEN
5093 Commit;
5094 END IF;
5095
5096 --Standard call to get message count and if count is 1, get message info.
5097 FND_MSG_PUB.Count_And_Get(
5098 p_encoded => FND_API.G_FALSE,
5099 p_count => x_msg_count,
5100 p_data => x_msg_data);
5101 EXCEPTION
5102 WHEN FND_API.G_EXC_ERROR THEN
5103 ROLLBACK TO update_industrial_classes_pub;
5104 x_return_status := FND_API.G_RET_STS_ERROR;
5105 FND_MSG_PUB.Count_And_Get(
5106 p_encoded => FND_API.G_FALSE,
5107 p_count => x_msg_count,
5108 p_data => x_msg_data);
5109
5110 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5111 ROLLBACK TO update_industrial_classes_pub;
5112 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5113 FND_MSG_PUB.Count_And_Get(
5114 p_encoded => FND_API.G_FALSE,
5115 p_count => x_msg_count,
5116 p_data => x_msg_data);
5117
5118 WHEN OTHERS THEN
5119 ROLLBACK TO update_industrial_classes_pub;
5120 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5121
5122 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
5123 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5124 FND_MSG_PUB.ADD;
5125
5126 FND_MSG_PUB.Count_And_Get(
5127 p_encoded => FND_API.G_FALSE,
5128 p_count => x_msg_count,
5129 p_data => x_msg_data);
5130
5131 END update_industrial_classes;
5132
5133 /*===========================================================================+
5134 | PROCEDURE
5135 | create_industrial_class_app
5136 |
5137 | DESCRIPTION
5138 | Creates industrial class app.
5139 |
5140 | SCOPE - PUBLIC
5141 |
5142 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
5143 |
5144 | ARGUMENTS : IN:
5145 | p_api_version
5146 | p_init_msg_list
5147 | p_commit
5148 | p_industrial_class_app_rec
5149 | p_validation_level
5150 | OUT:
5151 | x_return_status
5152 | x_msg_count
5153 | x_msg_data
5154 | x_code_applied_id
5155 | IN/ OUT:
5156 |
5157 | RETURNS : NONE
5158 |
5159 | NOTES
5160 |
5161 | MODIFICATION HISTORY
5162 |
5163 +===========================================================================*/
5164
5165 procedure create_industrial_class_app(
5166 p_api_version IN NUMBER,
5167 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
5168 p_commit IN VARCHAR2:= FND_API.G_FALSE,
5169 p_industrial_class_app_rec IN INDUSTRIAL_CLASS_APP_REC_TYPE,
5170 x_return_status OUT NOCOPY VARCHAR2,
5171 x_msg_count OUT NOCOPY NUMBER,
5172 x_msg_data OUT NOCOPY VARCHAR2,
5173 x_code_applied_id OUT NOCOPY NUMBER,
5174 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
5175 ) IS
5176 l_api_name CONSTANT VARCHAR2(30) := 'create industrial class app';
5177 l_api_version CONSTANT NUMBER := 1.0;
5178 l_industrial_class_app_rec INDUSTRIAL_CLASS_APP_REC_TYPE := p_industrial_class_app_rec;
5179 BEGIN
5180 --Standard start of API savepoint
5181 SAVEPOINT create_indus_class_app_pub;
5182 --Standard call to check for call compatibility.
5183 IF NOT FND_API.Compatible_API_Call(
5184 l_api_version,
5185 p_api_version,
5186 l_api_name,
5187 G_PKG_NAME)
5188 THEN
5189 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5190 END IF;
5191
5192 --Initialize message list if p_init_msg_list is set to TRUE.
5193 IF FND_API.to_Boolean(p_init_msg_list) THEN
5194 FND_MSG_PUB.initialize;
5195 END IF;
5196
5197 --Initialize API return status to success.
5198 x_return_status := FND_API.G_RET_STS_SUCCESS;
5199
5200 /*
5201 --Call to User-Hook pre Processing Procedure
5202 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
5203 hz_org_info_crmhk.create_indus_class_app_pre(
5204 l_industrial_class_app_rec,
5205 x_return_status,
5206 x_msg_count,
5207 x_msg_data);
5208
5209 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5210 RAISE FND_API.G_EXC_ERROR;
5211 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5212 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
5213 FND_MESSAGE.SET_TOKEN('PROCEDURE',
5214 'HZ_ORG_INFO_CRMHK.CREATE_INDUS_CLASS_APP_PRE');
5215 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5216 FND_MSG_PUB.ADD;
5217 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5218 END IF;
5219
5220 END IF;
5221 */
5222
5223 -- Call to business logic.
5224 -- Call PL/SQL wrapper over table handler
5225 do_create_industrial_class_app( l_industrial_class_app_rec,
5226 x_code_applied_id,
5227 x_return_status);
5228
5229 /*
5230 --Call to User-Hook post Processing Procedure
5231 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
5232 hz_org_info_crmhk.create_indus_class_app_post(
5233 l_industrial_class_app_rec,
5234 x_return_status,
5235 x_msg_count,
5236 x_msg_data);
5237
5238 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5239 RAISE FND_API.G_EXC_ERROR;
5240 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5241 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
5242 FND_MESSAGE.SET_TOKEN('PROCEDURE',
5243 'HZ_ORG_INFO_CRMHK.CREATE_INDUS_CLASS_APP_POST');
5244 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5245 FND_MSG_PUB.ADD;
5246 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5247 END IF;
5248
5249 END IF;
5250 */
5251
5252 --Standard check of p_commit.
5253 IF FND_API.to_Boolean(p_commit) THEN
5254 Commit;
5255 END IF;
5256
5257 --Standard call to get message count and if count is 1, get message info.
5258 FND_MSG_PUB.Count_And_Get(
5259 p_encoded => FND_API.G_FALSE,
5260 p_count => x_msg_count,
5261 p_data => x_msg_data);
5262 EXCEPTION
5263 WHEN FND_API.G_EXC_ERROR THEN
5264 ROLLBACK TO create_indus_class_app_pub;
5265 x_return_status := FND_API.G_RET_STS_ERROR;
5266 FND_MSG_PUB.Count_And_Get(
5267 p_encoded => FND_API.G_FALSE,
5268 p_count => x_msg_count,
5269 p_data => x_msg_data);
5270
5271 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5272 ROLLBACK TO create_indus_class_app_pub;
5273 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5274 FND_MSG_PUB.Count_And_Get(
5275 p_encoded => FND_API.G_FALSE,
5276 p_count => x_msg_count,
5277 p_data => x_msg_data);
5278
5279 WHEN OTHERS THEN
5280 ROLLBACK TO create_indus_class_app_pub;
5281 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5282
5283 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
5284 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5285 FND_MSG_PUB.ADD;
5286
5287 FND_MSG_PUB.Count_And_Get(
5288 p_encoded => FND_API.G_FALSE,
5289 p_count => x_msg_count,
5290 p_data => x_msg_data);
5291
5292 END create_industrial_class_app;
5293
5294 /*===========================================================================+
5295 | PROCEDURE
5296 | update_industrial_class_app
5297 |
5298 | DESCRIPTION
5299 | Updates industrial class app.
5300 |
5301 | SCOPE - PUBLIC
5302 |
5303 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED
5304 |
5305 | ARGUMENTS : IN:
5306 | p_api_version
5307 | p_init_msg_list
5308 | p_commit
5309 | p_industrial_class_app_rec
5310 | p_validation_level
5311 | OUT:
5312 | x_return_status
5313 | x_msg_count
5314 | x_msg_data
5315 | IN/ OUT:
5316 | p_last_update_date
5317 |
5318 | RETURNS : NONE
5319 |
5320 | NOTES
5321 |
5322 | MODIFICATION HISTORY
5323 |
5324 +===========================================================================*/
5325
5326 procedure update_industrial_class_app(
5327 p_api_version IN NUMBER,
5328 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
5329 p_commit IN VARCHAR2:= FND_API.G_FALSE,
5330 p_industrial_class_app_rec IN INDUSTRIAL_CLASS_APP_REC_TYPE,
5331 p_last_update_date IN OUT NOCOPY DATE,
5332 x_return_status OUT NOCOPY VARCHAR2,
5333 x_msg_count OUT NOCOPY NUMBER,
5334 x_msg_data OUT NOCOPY VARCHAR2,
5335 p_validation_level IN NUMBER :=FND_API.G_VALID_LEVEL_FULL
5336 ) IS
5337 l_api_name CONSTANT VARCHAR2(30) := 'update industrial class app';
5338 l_api_version CONSTANT NUMBER := 1.0;
5339 l_industrial_class_app_rec INDUSTRIAL_CLASS_APP_REC_TYPE := p_industrial_class_app_rec;
5340 BEGIN
5341 --Standard start of API savepoint
5342 SAVEPOINT update_indus_class_app_pub;
5343 --Standard call to check for call compatibility.
5344 IF NOT FND_API.Compatible_API_Call(
5345 l_api_version,
5346 p_api_version,
5347 l_api_name,
5348 G_PKG_NAME)
5349 THEN
5350 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5351 END IF;
5352
5353 --Initialize message list if p_init_msg_list is set to TRUE.
5354 IF FND_API.to_Boolean(p_init_msg_list) THEN
5355 FND_MSG_PUB.initialize;
5356 END IF;
5357
5358 --Initialize API return status to success.
5359 x_return_status := FND_API.G_RET_STS_SUCCESS;
5360
5361 /*
5362 --Call to User-Hook pre Processing Procedure
5363 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
5364 hz_org_info_crmhk.update_indus_class_app_pre(
5365 l_industrial_class_app_rec,
5366 x_return_status,
5367 x_msg_count,
5368 x_msg_data);
5369
5370 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5371 RAISE FND_API.G_EXC_ERROR;
5372 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5373 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
5374 FND_MESSAGE.SET_TOKEN('PROCEDURE',
5375 'HZ_ORG_INFO_CRMHK.CREATE_INDUS_CLASS_APP_PRE');
5376 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5377 FND_MSG_PUB.ADD;
5378 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5379 END IF;
5380
5381 END IF;
5382 */
5383
5384 -- Call to business logic.
5385 -- Call PL/SQL wrapper over table handler
5386 do_update_industrial_class_app( l_industrial_class_app_rec,
5387 p_last_update_date,
5388 x_return_status);
5389
5390 /*
5391 --Call to User-Hook post Processing Procedure
5392 IF fnd_profile.value('HZ_EXECUTE_API_CALLOUTS') = 'Y' THEN
5393 hz_org_info_crmhk.update_indus_class_app_post(
5394 l_industrial_class_app_rec,
5395 x_return_status,
5396 x_msg_count,
5397 x_msg_data);
5398
5399 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
5400 RAISE FND_API.G_EXC_ERROR;
5401 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5402 FND_MESSAGE.SET_NAME('AR', 'HZ_API_HOOK_ERROR');
5403 FND_MESSAGE.SET_TOKEN('PROCEDURE',
5404 'HZ_ORG_INFO_CRMHK.UPDATE_INDUS_CLASS_APP_POST');
5405 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5406 FND_MSG_PUB.ADD;
5407 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5408 END IF;
5409
5410 END IF;
5411 */
5412
5413 --Standard check of p_commit.
5414 IF FND_API.to_Boolean(p_commit) THEN
5415 Commit;
5416 END IF;
5417
5418 --Standard call to get message count and if count is 1, get message info.
5419 FND_MSG_PUB.Count_And_Get(
5420 p_encoded => FND_API.G_FALSE,
5421 p_count => x_msg_count,
5422 p_data => x_msg_data);
5423 EXCEPTION
5424 WHEN FND_API.G_EXC_ERROR THEN
5425 ROLLBACK TO update_indus_class_app_pub;
5426 x_return_status := FND_API.G_RET_STS_ERROR;
5427 FND_MSG_PUB.Count_And_Get(
5428 p_encoded => FND_API.G_FALSE,
5429 p_count => x_msg_count,
5430 p_data => x_msg_data);
5431
5432 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5433 ROLLBACK TO update_indus_class_app_pub;
5434 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5435 FND_MSG_PUB.Count_And_Get(
5436 p_encoded => FND_API.G_FALSE,
5437 p_count => x_msg_count,
5438 p_data => x_msg_data);
5439
5440 WHEN OTHERS THEN
5441 ROLLBACK TO update_indus_class_app_pub;
5442 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5443
5444 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
5445 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5446 FND_MSG_PUB.ADD;
5447
5448 FND_MSG_PUB.Count_And_Get(
5449 p_encoded => FND_API.G_FALSE,
5450 p_count => x_msg_count,
5451 p_data => x_msg_data);
5452
5453 END update_industrial_class_app;
5454
5455
5456 procedure get_current_financial_report(
5457 p_api_version IN NUMBER,
5458 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
5459 p_financial_report_id IN NUMBER,
5460 x_financial_reports_rec OUT NOCOPY FINANCIAL_REPORTS_REC_TYPE,
5461 x_return_status IN OUT NOCOPY VARCHAR2,
5462 x_msg_count OUT NOCOPY NUMBER,
5463 x_msg_data OUT NOCOPY VARCHAR2
5464 ) IS
5465 l_api_name CONSTANT VARCHAR2(30) := 'get_current_financial_report';
5466 l_api_version CONSTANT NUMBER := 1.0;
5467
5468 BEGIN
5469
5470 --Standard call to check for call compatibility.
5471 IF NOT FND_API.Compatible_API_Call(
5472 l_api_version,
5473 p_api_version,
5474 l_api_name,
5475 G_PKG_NAME)
5476 THEN
5477 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5478 END IF;
5479
5480 --Initialize message list if p_init_msg_list is set to TRUE.
5481 IF FND_API.to_Boolean(p_init_msg_list) THEN
5482 FND_MSG_PUB.initialize;
5483 END IF;
5484
5485 --Initialize API return status to success.
5486 x_return_status := FND_API.G_RET_STS_SUCCESS;
5487
5488 --Check whether primary key has been passed in.
5489 IF p_financial_report_id IS NULL OR
5490 p_financial_report_id = FND_API.G_MISS_NUM THEN
5491
5492 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
5493 FND_MESSAGE.SET_TOKEN('COLUMN', 'financial_report_id');
5494 FND_MSG_PUB.ADD;
5495 RAISE FND_API.G_EXC_ERROR;
5496 END IF;
5497
5498 BEGIN /* Just for select statement */
5499
5500 SELECT
5501 financial_report_id,
5502 date_report_issued,
5503 party_id,
5504 document_reference,
5505 issued_period,
5506 requiring_authority,
5507 type_of_financial_report,
5508 wh_udpate_id,
5509 report_start_date,
5510 report_end_date,
5511 audit_ind,
5512 consolidated_ind,
5513 estimated_ind,
5514 fiscal_ind,
5515 final_ind,
5516 forecast_ind,
5517 opening_ind,
5518 proforma_ind,
5519 qualified_ind,
5520 restated_ind,
5521 signed_by_principals_ind,
5522 trial_balance_ind,
5523 unbalanced_ind,
5524 content_source_type,
5525 status,
5526 actual_content_source
5527 INTO
5528 x_financial_reports_rec.financial_report_id,
5529 x_financial_reports_rec.date_report_issued,
5530 x_financial_reports_rec.party_id,
5531 x_financial_reports_rec.document_reference,
5532 x_financial_reports_rec.issued_period,
5533 x_financial_reports_rec.requiring_authority,
5534 x_financial_reports_rec.type_of_financial_report,
5535 x_financial_reports_rec.wh_udpate_id,
5536 x_financial_reports_rec.report_start_date,
5537 x_financial_reports_rec.report_end_date,
5538 x_financial_reports_rec.audit_ind,
5539 x_financial_reports_rec.consolidated_ind,
5540 x_financial_reports_rec.estimated_ind,
5541 x_financial_reports_rec.fiscal_ind,
5542 x_financial_reports_rec.final_ind,
5543 x_financial_reports_rec.forecast_ind,
5544 x_financial_reports_rec.opening_ind,
5545 x_financial_reports_rec.proforma_ind,
5546 x_financial_reports_rec.qualified_ind,
5547 x_financial_reports_rec.restated_ind,
5548 x_financial_reports_rec.signed_by_principals_ind,
5549 x_financial_reports_rec.trial_balance_ind,
5550 x_financial_reports_rec.unbalanced_ind,
5551 x_financial_reports_rec.content_source_type,
5552 x_financial_reports_rec.status,
5553 x_financial_reports_rec.actual_content_source
5554
5555 FROM hz_financial_reports
5556 WHERE financial_report_id = p_financial_report_id;
5557
5558 EXCEPTION
5559 WHEN NO_DATA_FOUND THEN
5560 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
5561 FND_MESSAGE.SET_TOKEN('RECORD', 'financial report');
5562 FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_financial_report_id));
5563 FND_MSG_PUB.ADD;
5564 RAISE FND_API.G_EXC_ERROR;
5565 END;
5566 --Standard call to get message count and if count is 1, get message info.
5567 FND_MSG_PUB.Count_And_Get(
5568 p_encoded => FND_API.G_FALSE,
5569 p_count => x_msg_count,
5570 p_data => x_msg_data);
5571
5572 EXCEPTION
5573 WHEN FND_API.G_EXC_ERROR THEN
5574 x_return_status := FND_API.G_RET_STS_ERROR;
5575 FND_MSG_PUB.Count_And_Get(
5576 p_encoded => FND_API.G_FALSE,
5577 p_count => x_msg_count,
5578 p_data => x_msg_data);
5579
5580 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5581 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5582 FND_MSG_PUB.Count_And_Get(
5583 p_encoded => FND_API.G_FALSE,
5584 p_count => x_msg_count,
5585 p_data => x_msg_data);
5586 WHEN OTHERS THEN
5587 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5588
5589 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
5590 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5591 FND_MSG_PUB.ADD;
5592
5593 FND_MSG_PUB.Count_And_Get(
5594 p_encoded => FND_API.G_FALSE,
5595 p_count => x_msg_count,
5596 p_data => x_msg_data);
5597
5598
5599 END get_current_financial_report;
5600
5601 procedure get_current_financial_number(
5602 p_api_version IN NUMBER,
5603 p_init_msg_list IN VARCHAR2:= FND_API.G_FALSE,
5604 p_financial_number_id IN NUMBER,
5605 x_financial_numbers_rec OUT NOCOPY FINANCIAL_NUMBERS_REC_TYPE,
5606 x_return_status IN OUT NOCOPY VARCHAR2,
5607 x_msg_count OUT NOCOPY NUMBER,
5608 x_msg_data OUT NOCOPY VARCHAR2
5609 ) IS
5610 l_api_name CONSTANT VARCHAR2(30) := 'get_current_financial_number';
5611 l_api_version CONSTANT NUMBER := 1.0;
5612
5613 BEGIN
5614
5615 --Standard call to check for call compatibility.
5616 IF NOT FND_API.Compatible_API_Call(
5617 l_api_version,
5618 p_api_version,
5619 l_api_name,
5620 G_PKG_NAME)
5621 THEN
5622 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5623 END IF;
5624
5625 --Initialize message list if p_init_msg_list is set to TRUE.
5626 IF FND_API.to_Boolean(p_init_msg_list) THEN
5627 FND_MSG_PUB.initialize;
5628 END IF;
5629
5630 --Initialize API return status to success.
5631 x_return_status := FND_API.G_RET_STS_SUCCESS;
5632
5633 --Check whether primary key has been passed in.
5634 IF p_financial_number_id IS NULL OR
5635 p_financial_number_id = FND_API.G_MISS_NUM THEN
5636
5637 FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
5638 FND_MESSAGE.SET_TOKEN('COLUMN', 'financial_number_id');
5639 FND_MSG_PUB.ADD;
5640 RAISE FND_API.G_EXC_ERROR;
5641 END IF;
5642
5643 BEGIN /* Just for select statement */
5644
5645 SELECT
5646 financial_number_id,
5647 financial_report_id,
5648 financial_number,
5649 financial_number_name,
5650 financial_units_applied,
5651 financial_number_currency,
5652 projected_actual_flag,
5653 wh_update_date,
5654 content_source_type,
5655 status
5656 INTO
5657 x_financial_numbers_rec.financial_number_id,
5658 x_financial_numbers_rec.financial_report_id,
5659 x_financial_numbers_rec.financial_number,
5660 x_financial_numbers_rec.financial_number_name,
5661 x_financial_numbers_rec.financial_units_applied,
5662 x_financial_numbers_rec.financial_number_currency,
5663 x_financial_numbers_rec.projected_actual_flag,
5664 x_financial_numbers_rec.wh_update_date,
5665 x_financial_numbers_rec.content_source_type,
5666 x_financial_numbers_rec.status
5667 FROM hz_financial_numbers
5668 WHERE financial_number_id = p_financial_number_id;
5669
5670 EXCEPTION
5671 WHEN NO_DATA_FOUND THEN
5672 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
5673 FND_MESSAGE.SET_TOKEN('RECORD', 'credit rating');
5674 FND_MESSAGE.SET_TOKEN('VALUE', to_char(p_financial_number_id));
5675 FND_MSG_PUB.ADD;
5676 RAISE FND_API.G_EXC_ERROR;
5677 END;
5678 --Standard call to get message count and if count is 1, get message info.
5679 FND_MSG_PUB.Count_And_Get(
5680 p_encoded => FND_API.G_FALSE,
5681 p_count => x_msg_count,
5682 p_data => x_msg_data);
5683
5684 EXCEPTION
5685 WHEN FND_API.G_EXC_ERROR THEN
5686 x_return_status := FND_API.G_RET_STS_ERROR;
5687 FND_MSG_PUB.Count_And_Get(
5688 p_encoded => FND_API.G_FALSE,
5689 p_count => x_msg_count,
5690 p_data => x_msg_data);
5691
5692 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5693 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5694 FND_MSG_PUB.Count_And_Get(
5695 p_encoded => FND_API.G_FALSE,
5696 p_count => x_msg_count,
5697 p_data => x_msg_data);
5698 WHEN OTHERS THEN
5699 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5700
5701 FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
5702 FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
5703 FND_MSG_PUB.ADD;
5704
5705 FND_MSG_PUB.Count_And_Get(
5706 p_encoded => FND_API.G_FALSE,
5707 p_count => x_msg_count,
5708 p_data => x_msg_data);
5709
5710
5711 END get_current_financial_number;
5712
5713
5714
5715
5716
5717 END HZ_ORG_INFO_PUB;