DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_SCORE_PUB

Source


1 PACKAGE BODY IEX_SCORE_PUB AS
2 /* $Header: iexpscrb.pls 120.4 2005/03/02 21:02:01 ctlee ship $ */
3 
4 
5 G_PKG_NAME  CONSTANT VARCHAR2(30):= 'IEX_SCORE_PUB';
6 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexpscrb.pls';
7 
8 
9 /*
10   FUNCTION Init_IEX_SCORE_Rec RETURN IEX_SCORE_PUB.SCORE_REC_TYPE IS
11     l_return_rec IEX_SCORE_PUB.SCORE_REC_TYPE ;
12   BEGIN
13     l_return_rec := IEX_SCORE_PUB.G_MISS_SCORE_REC;
14     RETURN l_return_rec ;
15   END;
16 
17 
18   FUNCTION Init_IEX_SCORE_COMP_Rec RETURN IEX_SCORE_PUB.SCORE_COMP_REC_TYPE IS
19     l_return_rec IEX_SCORE_PUB.SCORE_COMP_REC_TYPE;
20   BEGIN
21     l_return_rec := IEX_SCORE_PUB.G_MISS_SCORE_COMP_REC;
22     RETURN l_return_rec ;
23   END;
24 
25   FUNCTION Init_IEX_SCORE_COMP_Tbl RETURN IEX_SCORE_PUB.SCORE_COMP_TBL_TYPE IS
26     l_return_rec IEX_SCORE_PUB.SCORE_COMP_Tbl_TYPE;
27   BEGIN
28     l_return_rec := IEX_SCORE_PUB.G_MISS_SCORE_COMP_TBL;
29     RETURN l_return_rec ;
30   END;
31 */
32 
33 
34 
35 PG_DEBUG NUMBER(2) ;
36 
37 Procedure Create_Score
38            (p_api_version             IN NUMBER := 1.0,
39             p_init_msg_list           IN VARCHAR2 ,
40             p_commit                  IN VARCHAR2 ,
41             P_SCORE_REC               IN IEX_SCORE_PUB.SCORE_REC_TYPE,
42             x_dup_status              OUT NOCOPY VARCHAR2,
43             x_return_status           OUT NOCOPY VARCHAR2,
44             x_msg_count               OUT NOCOPY NUMBER,
45             x_msg_data                OUT NOCOPY VARCHAR2,
46             X_SCORE_ID                OUT NOCOPY NUMBER)
47 
48 IS
49     l_api_name                    CONSTANT VARCHAR2(30) := 'Create_Score';
50     l_api_version_number          CONSTANT NUMBER   := 1.0;
51     l_return_status               VARCHAR2(1);
52     l_msg_count                   NUMBER;
53     l_msg_data                    VARCHAR2(32767);
54 
55 BEGIN
56       -- Standard Start of API savepoint
57       SAVEPOINT CREATE_SCORE_PUB;
58 
59       -- Standard call to check for call compatibility.
60       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
61                                            p_api_version,
62                                            l_api_name,
63                                            G_PKG_NAME)
64       THEN
65           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
66       END IF;
67 
68 
69       -- Initialize message list if p_init_msg_list is set to TRUE.
70       IF FND_API.to_Boolean( p_init_msg_list )
71       THEN
72           FND_MSG_PUB.initialize;
73       END IF;
74 
75       -- Debug Message
76       iex_score_pvt.WriteLog('iexpscrb:CreateScore:Start');
77 
78       -- Initialize API return status to SUCCESS
79       x_return_status := FND_API.G_RET_STS_SUCCESS;
80 
81       --
82       -- API body
83       --
84 
85 
86       IEX_SCORE_PVT.Create_Score(
87          p_api_version              => p_api_version
88        , p_init_msg_list            => p_init_msg_list
89        , p_commit                   => p_commit
90        , p_score_rec                => p_score_rec
91        , x_score_id                 => x_score_id
92        , x_dup_status               => x_dup_status
93        , x_return_status            => x_return_status
94        , x_msg_count                => x_msg_count
95        , x_msg_data                 => x_msg_data);
96 
97       IF x_return_status = FND_API.G_RET_STS_ERROR then
98                 raise FND_API.G_EXC_ERROR;
99       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
100                raise FND_API.G_EXC_UNEXPECTED_ERROR;
101       END IF;
102 
103       --
104       -- End of API body
105       --
106 
107       -- Standard check for p_commit
108       IF FND_API.to_Boolean( p_commit )
109       THEN
110           COMMIT WORK;
111       END IF;
112 
113       -- Debug Message
114       iex_score_pvt.WriteLog('iexpscrb:CreateScore:End');
115 
116       -- Standard call to get message count and if count is 1, get message info.
117       FND_MSG_PUB.Count_And_Get
118       (  p_count          =>   x_msg_count,
119          p_data           =>   x_msg_data
120       );
121 
122       EXCEPTION
123           WHEN FND_API.G_EXC_ERROR THEN
124               ROLLBACK TO CREATE_SCORE_PUB;
125               x_return_status := FND_API.G_RET_STS_ERROR ;
126               FND_MSG_PUB.Count_And_Get
127               (  p_count          =>   x_msg_count,
128                  p_data           =>   x_msg_data
129               );
130 
131           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
132               ROLLBACK TO CREATE_SCORE_PUB;
133               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
134               FND_MSG_PUB.Count_And_Get
135               (  p_count          =>   x_msg_count,
136                  p_data           =>   x_msg_data
137               );
138 
139           WHEN OTHERS THEN
140               ROLLBACK TO CREATE_SCORE_PUB;
141               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
142               FND_MSG_PUB.Count_And_Get
143               (  p_count          =>   x_msg_count,
144                  p_data           =>   x_msg_data
145               );
146 
147 
148 END CREATE_SCORE;
149 
150 
151 
152 Procedure Update_Score
153 	   (p_api_version             IN NUMBER := 1.0,
154             p_init_msg_list           IN VARCHAR2 ,
155             p_commit                  IN VARCHAR2 ,
156             P_SCORE_TBL               IN IEX_SCORE_PUB.SCORE_TBL_TYPE,
157             x_dup_status              OUT NOCOPY VARCHAR2,
158             x_return_status           OUT NOCOPY VARCHAR2,
159             x_msg_count               OUT NOCOPY NUMBER,
160             x_msg_data                OUT NOCOPY VARCHAR2)
161 IS
162     l_api_name                    CONSTANT VARCHAR2(30) := 'Update_Score';
163     l_api_version_number          CONSTANT NUMBER   := 1.0;
164     l_return_status               VARCHAR2(1);
165     l_msg_count                   NUMBER;
166     l_msg_data                    VARCHAR2(32767);
167     l_SCORE_REC                   IEX_SCORE_PUB.SCORE_REC_TYPE;
168 
169 BEGIN
170 
171 
172       -- Standard Start of API savepoint
173       SAVEPOINT UPDATE_SCORE_PUB;
174 
175       -- Standard call to check for call compatibility.
176       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
177                          	             p_api_version,
178                                            l_api_name,
179                                            G_PKG_NAME)
180       THEN
181           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
182       END IF;
183 
184       -- Initialize message list if p_init_msg_list is set to TRUE.
185       IF FND_API.to_Boolean( p_init_msg_list )
186       THEN
187           FND_MSG_PUB.initialize;
188       END IF;
189 
190       -- Debug Message
191       iex_score_pvt.WriteLog('iexpscrb:UpdateScore:Start');
192 
193 
194       -- Initialize API return status to SUCCESS
195       x_return_status := FND_API.G_RET_STS_SUCCESS;
196 
197       --
198       -- Api body
199       --
200 
201 
202       for i in 1..p_score_tbl.count
203       LOOP
204           l_score_rec := p_score_tbl(i);
205 
206           IEX_SCORE_PVT.Update_Score(
207             p_api_version              => p_api_version
208           , p_init_msg_list            => p_init_msg_list
209           , p_commit                   => p_commit
210           , p_score_rec                => l_score_rec
211           , x_dup_status               => x_dup_status
212           , x_return_status            => x_return_status
213           , x_msg_count                => x_msg_count
214           , x_msg_data                 => x_msg_data
215           );
216 
217           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
218              RAISE FND_API.G_EXC_ERROR;
219           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
220              raise FND_API.G_EXC_UNEXPECTED_ERROR;
221           END IF;
222 
223       END LOOP;
224       --
225       -- End of API body.
226       --
227 
228       -- Standard check for p_commit
229       IF FND_API.to_Boolean( p_commit )
230       THEN
231           COMMIT WORK;
232       END IF;
233 
234       -- Debug Message
235       iex_score_pvt.WriteLog('iexpscrb:UpdateScore:End');
236 
237       -- Standard call to get message count and if count is 1, get message info.
238       FND_MSG_PUB.Count_And_Get
239       (  p_count          =>   x_msg_count,
240          p_data           =>   x_msg_data );
241 
242       EXCEPTION
243           WHEN FND_API.G_EXC_ERROR THEN
244               ROLLBACK TO UPDATE_SCORE_PUB;
245               x_return_status := FND_API.G_RET_STS_ERROR ;
246               FND_MSG_PUB.Count_And_Get
247               (  p_count          =>   x_msg_count,
248                  p_data           =>   x_msg_data
249               );
250 
251           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
252               ROLLBACK TO UPDATE_SCORE_PUB;
253               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
254               FND_MSG_PUB.Count_And_Get
255               (  p_count          =>   x_msg_count,
256                  p_data           =>   x_msg_data
257               );
258 
259           WHEN OTHERS THEN
260               ROLLBACK TO UPDATE_SCORE_PUB;
261               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
262               FND_MSG_PUB.Count_And_Get
263               (  p_count          =>   x_msg_count,
264                  p_data           =>   x_msg_data
265               );
266 
267 END Update_Score;
268 
269 
270 
271 Procedure Delete_Score
272            (p_api_version             IN NUMBER := 1.0,
273             p_init_msg_list           IN VARCHAR2 ,
274             p_commit                  IN VARCHAR2 ,
275             P_SCORE_ID_TBL            IN IEX_SCORE_PUB.SCORE_ID_TBL,
276             x_return_status           OUT NOCOPY VARCHAR2,
277             x_msg_count               OUT NOCOPY NUMBER,
278             x_msg_data                OUT NOCOPY VARCHAR2)
279 
280 IS
281 
282     l_score_id              NUMBER;
283     l_api_name              CONSTANT VARCHAR2(30) := 'Delete_Score';
284     l_api_version_number    CONSTANT NUMBER   := 1.0;
285     l_return_status         VARCHAR2(1);
286     l_msg_count             NUMBER;
287     l_msg_data              VARCHAR2(32767);
288 
289 BEGIN
290       -- Standard Start of API savepoint
291       SAVEPOINT DELETE_SCORE_PUB;
292 
293       -- Standard call to check for call compatibility.
294       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
295                                            p_api_version,
296                                            l_api_name,
297                                            G_PKG_NAME)
298       THEN
299           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
300       END IF;
301 
302       -- Initialize message list if p_init_msg_list is set to TRUE.
303       IF FND_API.to_Boolean( p_init_msg_list )
304       THEN
305           FND_MSG_PUB.initialize;
306       END IF;
307 
308       -- Debug Message
309       iex_score_pvt.WriteLog('iexpscrb:DeleteScore:Start');
310 
311 
312       -- Initialize API return status to SUCCESS
313       x_return_status := FND_API.G_RET_STS_SUCCESS;
314 
315       --
316       -- Api body
317       --
318 
319       iex_score_pvt.WriteLog('iexpscrb:DeleteScore:scrcnt='||p_score_id_tbl.count);
320       for i in 1..p_score_id_tbl.count
321       loop
322          l_score_id := p_score_id_tbl(i);
323          iex_score_pvt.WriteLog('iexpscrb:DeleteScore:scoreId='||l_score_id);
324 
325          IEX_SCORE_PVT.Delete_Score(
326               p_api_version              => p_api_version
327             , p_init_msg_list            => p_init_msg_list
328             , p_commit                   => p_commit
329             , p_score_id                 => l_score_id
330             , x_return_status            => x_return_status
331             , x_msg_count                => x_msg_count
332             , x_msg_data                 => x_msg_data
333             );
334 
335          IF x_return_status = FND_API.G_RET_STS_ERROR then
336                 raise FND_API.G_EXC_ERROR;
337          elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
338                raise FND_API.G_EXC_UNEXPECTED_ERROR;
339          END IF;
340 
341       END loop;
342 
343       --
344       -- End of API body
345       --
346 
347       -- Standard check for p_commit
348       IF FND_API.to_Boolean( p_commit )
349       THEN
350           COMMIT WORK;
351       END IF;
352 
353       -- Debug Message
354       iex_score_pvt.WriteLog('iexpscrb:DeleteScore:End');
355 
356       FND_MSG_PUB.Count_And_Get
357       (  p_count          =>   x_msg_count,
358          p_data           =>   x_msg_data );
359 
360       EXCEPTION
361           WHEN FND_API.G_EXC_ERROR THEN
362               ROLLBACK TO DELETE_SCORE_PUB;
363               x_return_status := FND_API.G_RET_STS_ERROR ;
364               FND_MSG_PUB.Count_And_Get
365               (  p_count          =>   x_msg_count,
366                  p_data           =>   x_msg_data
367               );
368           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
369               ROLLBACK TO DELETE_SCORE_PUB;
370               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
371               FND_MSG_PUB.Count_And_Get
372               (  p_count          =>   x_msg_count,
373                  p_data           =>   x_msg_data
374               );
375           WHEN OTHERS THEN
376               ROLLBACK TO DELETE_SCORE_PUB;
377               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
378               FND_MSG_PUB.Count_And_Get
379               (  p_count          =>   x_msg_count,
380                  p_data           =>   x_msg_data
381               );
382 
383 END Delete_Score;
384 
385 
386 
387 Procedure Create_SCORE_COMP
388             ( p_api_version             IN NUMBER := 1.0,
392               x_return_status           OUT NOCOPY VARCHAR2,
389               p_init_msg_list           IN VARCHAR2 ,
390               p_commit                  IN VARCHAR2 ,
391               p_SCORE_COMP_Rec          IN IEX_SCORE_PUB.SCORE_COMP_REC_Type,
393               x_msg_count               OUT NOCOPY NUMBER,
394               x_msg_data                OUT NOCOPY VARCHAR2,
395               x_SCORE_COMP_ID           OUT NOCOPY NUMBER)
396 
397 IS
398     l_api_name                    CONSTANT VARCHAR2(30) := 'Create_Score_Comp';
399     l_api_version_number          CONSTANT NUMBER   := 1.0;
400     l_return_status   VARCHAR2(1);
401     l_msg_count       NUMBER;
402     l_msg_data        VARCHAR2(32767);
403 
404 BEGIN
405       -- Standard Start of API savepoint
406       SAVEPOINT CREATE_Score_Comp_PUB;
407 
408       -- Standard call to check for call compatibility.
409       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
410                                            p_api_version,
411                                            l_api_name,
412                                            G_PKG_NAME)
413       THEN
414           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
415       END IF;
416 
417 
418       -- Initialize message list if p_init_msg_list is set to TRUE.
419       IF FND_API.to_Boolean( p_init_msg_list )
420       THEN
421           FND_MSG_PUB.initialize;
422       END IF;
423 
424       -- Debug Message
425       iex_score_pvt.WriteLog('iexpscrb:CreateScoreComp: Start');
426 
427 
428       -- Initialize API return status to SUCCESS
429       x_return_status := FND_API.G_RET_STS_SUCCESS;
430 
431       --
432       -- API body
433       --
434 
435 
436       IEX_SCORE_PVT.Create_Score_Comp(
437          p_api_version              => p_api_version
438        , p_init_msg_list            => p_init_msg_list
439        , p_commit                   => p_Commit
440        , p_score_comp_rec           => p_score_comp_rec
441        , x_score_comp_id            => x_score_comp_id
442        , x_return_status            => x_return_status
443        , x_msg_count                => x_msg_count
444        , x_msg_data                 => x_msg_data
445        );
446 
447       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
448           RAISE FND_API.G_EXC_ERROR;
449       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
450                raise FND_API.G_EXC_UNEXPECTED_ERROR;
451       END IF;
452 
453 
454       --
455       -- End of API body
456       --
457 
458       -- Standard check for p_commit
459       IF FND_API.to_Boolean( p_commit )
460       THEN
461           COMMIT WORK;
462       END IF;
463 
464       -- Debug Message
465       iex_score_pvt.WriteLog('iexpscrb:CreateScoreComp: End');
466 
467 
468       -- Standard call to get message count and if count is 1, get message info.
469       FND_MSG_PUB.Count_And_Get
470       (  p_count          =>   x_msg_count,
471          p_data           =>   x_msg_data
472       );
473 
474       EXCEPTION
475           WHEN FND_API.G_EXC_ERROR THEN
476               ROLLBACK TO CREATE_SCORE_COMP_PUB;
477               x_return_status := FND_API.G_RET_STS_ERROR ;
478               FND_MSG_PUB.Count_And_Get
479               (  p_count          =>   x_msg_count,
480                  p_data           =>   x_msg_data
481               );
482 
483           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
484               ROLLBACK TO CREATE_SCORE_COMP_PUB;
485               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
486               FND_MSG_PUB.Count_And_Get
487               (  p_count          =>   x_msg_count,
488                  p_data           =>   x_msg_data
489               );
490 
491           WHEN OTHERS THEN
492               ROLLBACK TO CREATE_SCORE_COMP_PUB;
493               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
494               FND_MSG_PUB.Count_And_Get
495               (  p_count          =>   x_msg_count,
496                  p_data           =>   x_msg_data
497               );
498 
499 END Create_Score_Comp;
500 
501 
502 
503 Procedure Update_SCORE_COMP
504             ( p_api_version             IN NUMBER := 1.0,
505               p_init_msg_list           IN VARCHAR2 ,
506               p_commit                  IN VARCHAR2 ,
507               p_SCORE_COMP_TBL          IN IEX_SCORE_PUB.SCORE_COMP_TBL_TYPE,
508               x_return_status           OUT NOCOPY VARCHAR2,
509               x_msg_count               OUT NOCOPY NUMBER,
510               x_msg_data                OUT NOCOPY VARCHAR2)
511 
512 IS
513     l_api_name                  CONSTANT VARCHAR2(30) := 'Update_Score_Comp';
514     l_api_version_number        CONSTANT NUMBER   := 1.0;
515     l_return_status   VARCHAR2(1);
516     l_msg_count       NUMBER;
517     l_msg_data        VARCHAR2(32767);
518     l_SCORE_COMP_Rec            IEX_SCORE_PUB.SCORE_COMP_REC_Type;
519 
520 BEGIN
521 
522 
523       -- Standard Start of API savepoint
524       SAVEPOINT UPDATE_Score_Comp_PUB;
525 
526       -- Standard call to check for call compatibility.
527       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
531       THEN
528                          	             p_api_version,
529                                            l_api_name,
530                                            G_PKG_NAME)
532           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
533       END IF;
534 
535       -- Initialize message list if p_init_msg_list is set to TRUE.
536       IF FND_API.to_Boolean( p_init_msg_list )
537       THEN
538           FND_MSG_PUB.initialize;
539       END IF;
540 
541       -- Debug Message
542       iex_score_pvt.WriteLog('iexpscrb:UpdateScoreComp: Start');
543 
544 
545       -- Initialize API return status to SUCCESS
546       x_return_status := FND_API.G_RET_STS_SUCCESS;
547 
548       --
549       -- Api body
550       --
551 
552 
553       iex_score_pvt.WriteLog('iexpscrb:UpdateScoreComp: scrcompcnt='||p_score_comp_tbl.count);
554 
555       for i in 1..p_score_comp_tbl.count
556       loop
557           l_score_comp_rec := p_score_comp_tbl(i);
558 
559          IEX_SCORE_PVT.Update_Score_Comp(
560             p_api_version              => p_api_version
561           , p_init_msg_list            => p_init_msg_list
562           , p_commit                   => p_commit
563           , p_score_comp_rec           => l_score_comp_rec
564           , x_return_status            => x_return_status
565           , x_msg_count                => x_msg_count
566           , x_msg_data                 => x_msg_data
567          );
568 
569          IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
570             RAISE FND_API.G_EXC_ERROR;
571          elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
572             raise FND_API.G_EXC_UNEXPECTED_ERROR;
573          END IF;
574 
575      END LOOP;
576       --
577       -- End of API body.
578       --
579 
580       -- Standard check for p_commit
581       IF FND_API.to_Boolean( p_commit )
582       THEN
583           COMMIT WORK;
584       END IF;
585 
586       -- Debug Message
587       iex_score_pvt.WriteLog('iexpscrb:UpdateScoreComp: End');
588 
589 
590       -- Standard call to get message count and if count is 1, get message info.
591       FND_MSG_PUB.Count_And_Get
592       (  p_count          =>   x_msg_count,
593          p_data           =>   x_msg_data );
594 
595       EXCEPTION
596           WHEN FND_API.G_EXC_ERROR THEN
597               ROLLBACK TO UPDATE_SCORE_COMP_PUB;
598               x_return_status := FND_API.G_RET_STS_ERROR ;
599               FND_MSG_PUB.Count_And_Get
600               (  p_count          =>   x_msg_count,
601                  p_data           =>   x_msg_data
602               );
603 
604           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
605               ROLLBACK TO UPDATE_SCORE_COMP_PUB;
606               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
607               FND_MSG_PUB.Count_And_Get
608               (  p_count          =>   x_msg_count,
609                  p_data           =>   x_msg_data
610               );
611 
612           WHEN OTHERS THEN
613               ROLLBACK TO UPDATE_SCORE_COMP_PUB;
614               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
615               FND_MSG_PUB.Count_And_Get
616               (  p_count          =>   x_msg_count,
617                  p_data           =>   x_msg_data
618               );
619 
620 END Update_Score_Comp;
621 
622 
623 
624 Procedure Delete_SCORE_COMP
625             ( p_api_version             IN NUMBER := 1.0,
626               p_init_msg_list           IN VARCHAR2,
627               p_commit                  IN VARCHAR2,
628               p_SCORE_ID                IN NUMBER,
629               p_SCORE_COMP_ID_TBL       IN IEX_SCORE_PUB.SCORE_COMP_ID_TBL,
630               x_return_status           OUT NOCOPY VARCHAR2,
631               x_msg_count               OUT NOCOPY NUMBER,
632               x_msg_data                OUT NOCOPY VARCHAR2)
633 
634 IS
635     l_api_name                    CONSTANT VARCHAR2(30) := 'Delete_Score_COMP';
636     l_api_version_number          CONSTANT NUMBER   := 1.0;
637     l_return_status   VARCHAR2(1);
638     l_msg_count       NUMBER;
639     l_msg_data        VARCHAR2(32767);
640     l_score_comp_id   NUMBER;
641 
642 BEGIN
643       -- Standard Start of API savepoint
644       SAVEPOINT DELETE_SCORE_COMP_PUB;
645 
646       -- Standard call to check for call compatibility.
647       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
648                          	             p_api_version,
649                                            l_api_name,
650                                            G_PKG_NAME)
651       THEN
652           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
653       END IF;
654 
655       -- Initialize message list if p_init_msg_list is set to TRUE.
656       IF FND_API.to_Boolean( p_init_msg_list )
657       THEN
658           FND_MSG_PUB.initialize;
659       END IF;
660 
661       -- Debug Message
662       iex_score_pvt.WriteLog('iexpscrb:DeleteScoreComp: Start');
663 
664 
665       -- Initialize API return status to SUCCESS
666       x_return_status := FND_API.G_RET_STS_SUCCESS;
667 
668       --
669       -- Api body
670       --
674 
671 
672       for i in 1..p_score_comp_id_tbl.count
673       loop
675          l_score_comp_id := p_score_comp_id_tbl(i);
676          iex_score_pvt.WriteLog('iexpscrb:DeleteScoreComp: scorecompid='||l_score_comp_id);
677 
678          IEX_SCORE_PVT.Delete_Score_Comp(
679             p_api_version              => p_api_version
680           , p_init_msg_list            => p_init_msg_list
681           , p_commit                   => p_commit
682           , p_score_id                 => p_score_id
683           , p_score_comp_id            => l_score_comp_id
684           , x_return_status            => x_return_status
685           , x_msg_count                => x_msg_count
686           , x_msg_data                 => x_msg_data
687          );
688 
689          IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
690             RAISE FND_API.G_EXC_ERROR;
691          elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
692             raise FND_API.G_EXC_UNEXPECTED_ERROR;
693          END IF;
694 
695      end loop;
696       --
697       -- End of API body
698       --
699 
700       -- Standard check for p_commit
701       IF FND_API.to_Boolean( p_commit )
702       THEN
703           COMMIT WORK;
704       END IF;
705 
706       -- Debug Message
707       iex_score_pvt.WriteLog('iexpscrb:DeleteScoreComp: End');
708 
709       FND_MSG_PUB.Count_And_Get
710       (  p_count          =>   x_msg_count,
711          p_data           =>   x_msg_data );
712 
713       EXCEPTION
714           WHEN FND_API.G_EXC_ERROR THEN
715               ROLLBACK TO DELETE_SCORE_COMP_PUB;
716               x_return_status := FND_API.G_RET_STS_ERROR ;
717               FND_MSG_PUB.Count_And_Get
718               (  p_count          =>   x_msg_count,
719                  p_data           =>   x_msg_data
720               );
721 
722           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
723               ROLLBACK TO DELETE_SCORE_COMP_PUB;
724               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
725               FND_MSG_PUB.Count_And_Get
726               (  p_count          =>   x_msg_count,
727                  p_data           =>   x_msg_data
728               );
729 
730           WHEN OTHERS THEN
731               ROLLBACK TO DELETE_SCORE_COMP_PUB;
732               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
733               FND_MSG_PUB.Count_And_Get
734               (  p_count          =>   x_msg_count,
735                  p_data           =>   x_msg_data
736               );
737 
738 END Delete_Score_Comp;
739 
740 
741 
742 
743 Procedure Create_SCORE_COMP_TYPE
744 	    ( p_api_version             IN NUMBER := 1.0,
745         p_init_msg_list           IN VARCHAR2,
746         p_commit                  IN VARCHAR2,
747         p_SCORE_COMP_TYPE_Rec     IN IEX_SCORE_PUB.SCORE_COMP_TYPE_REC_Type,
748         x_dup_status              OUT NOCOPY VARCHAR2,
749         x_return_status           OUT NOCOPY VARCHAR2,
750         x_msg_count               OUT NOCOPY NUMBER,
751         x_msg_data                OUT NOCOPY VARCHAR2,
752         x_SCORE_COMP_TYPE_ID      OUT NOCOPY NUMBER)
753 
754 IS
755     l_api_name                    CONSTANT VARCHAR2(30) := 'Create_Score_Comp_type';
756     l_api_version_number          CONSTANT NUMBER   := 1.0;
757     l_return_status   VARCHAR2(1);
758     l_msg_count       NUMBER;
759     l_msg_data        VARCHAR2(32767);
760 
761 BEGIN
762       -- Standard Start of API savepoint
763       SAVEPOINT CREATE_Score_Comp_Type_PUB;
764 
765       -- Standard call to check for call compatibility.
766       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
767                                            p_api_version,
768                                            l_api_name,
769                                            G_PKG_NAME)
770       THEN
771           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
772       END IF;
773 
774 
775       -- Initialize message list if p_init_msg_list is set to TRUE.
776       IF FND_API.to_Boolean( p_init_msg_list )
777       THEN
778           FND_MSG_PUB.initialize;
779       END IF;
780 
781       -- Debug Message
782       iex_score_pvt.WriteLog('iexpscrb:CreateScrCompType: Start');
783 
784 
785       -- Initialize API return status to SUCCESS
786       x_return_status := FND_API.G_RET_STS_SUCCESS;
787 
788       --
789       -- API body
790       --
791 
792 
793       IEX_SCORE_PVT.Create_Score_Comp_Type(
794          p_api_version              => p_api_version
795        , p_init_msg_list            => FND_API.G_FALSE
796        , p_commit                   => p_Commit
797        , p_score_comp_type_rec      => p_score_comp_type_rec
798        , x_score_comp_type_id       => x_score_comp_type_id
799        , x_dup_status               => x_dup_status
800        , x_return_status            => x_return_status
801        , x_msg_count                => x_msg_count
802        , x_msg_data                 => x_msg_data
803        );
804 
805       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
806           RAISE FND_API.G_EXC_ERROR;
807       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
811 
808                raise FND_API.G_EXC_UNEXPECTED_ERROR;
809       END IF;
810 
812       --
813       -- End of API body
814       --
815 
816       -- Standard check for p_commit
817       IF FND_API.to_Boolean( p_commit )
818       THEN
819           COMMIT WORK;
820       END IF;
821 
822       -- Debug Message
823       iex_score_pvt.WriteLog('iexpscrb:CreateScrCompType: End');
824 
825 
826       -- Standard call to get message count and if count is 1, get message info.
827       FND_MSG_PUB.Count_And_Get
828       (  p_count          =>   x_msg_count,
829          p_data           =>   x_msg_data
830       );
831 
832       EXCEPTION
833           WHEN FND_API.G_EXC_ERROR THEN
834               ROLLBACK TO CREATE_SCORE_COMP_TYPE_PUB;
835               x_return_status := FND_API.G_RET_STS_ERROR ;
836               FND_MSG_PUB.Count_And_Get
837               (  p_count          =>   x_msg_count,
838                  p_data           =>   x_msg_data
839               );
840 
841           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
842               ROLLBACK TO CREATE_SCORE_COMP_TYPE_PUB;
843               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
844               FND_MSG_PUB.Count_And_Get
845               (  p_count          =>   x_msg_count,
846                  p_data           =>   x_msg_data
847               );
848 
849           WHEN OTHERS THEN
850               ROLLBACK TO CREATE_SCORE_COMP_TYPE_PUB;
851               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
852               FND_MSG_PUB.Count_And_Get
853               (  p_count          =>   x_msg_count,
854                  p_data           =>   x_msg_data
855               );
856 
857 END Create_Score_Comp_TYPE;
858 
859 
860 
861 Procedure Update_SCORE_COMP_TYPE
862             ( p_api_version             IN NUMBER := 1.0,
863               p_init_msg_list           IN VARCHAR2 ,
864               p_commit                  IN VARCHAR2 ,
865               p_SCORE_COMP_TYPE_TBL     IN IEX_SCORE_PUB.SCORE_COMP_TYPE_TBL_TYPE,
866               x_dup_status              OUT NOCOPY VARCHAR2,
867               x_return_status           OUT NOCOPY VARCHAR2,
868               x_msg_count               OUT NOCOPY NUMBER,
869               x_msg_data                OUT NOCOPY VARCHAR2)
870 
871 IS
872     l_api_name                  CONSTANT VARCHAR2(30) := 'Update_Score_Comp_TYPE';
873     l_api_version_number        CONSTANT NUMBER   := 1.0;
874     l_return_status   VARCHAR2(1);
875     l_msg_count       NUMBER;
876     l_msg_data        VARCHAR2(32767);
877     l_SCORE_COMP_TYPE_Rec       IEX_SCORE_PUB.SCORE_COMP_TYPE_REC_Type;
878 
879 BEGIN
880 
881 
882       -- Standard Start of API savepoint
883       SAVEPOINT UPDATE_Score_Comp_TYPE_PUB;
884 
885       -- Standard call to check for call compatibility.
886       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
887                          	             p_api_version,
888                                            l_api_name,
889                                            G_PKG_NAME)
890       THEN
891           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
892       END IF;
893 
894       -- Initialize message list if p_init_msg_list is set to TRUE.
895       IF FND_API.to_Boolean( p_init_msg_list )
896       THEN
897           FND_MSG_PUB.initialize;
898       END IF;
899 
900       -- Debug Message
901       iex_score_pvt.WriteLog('iexpscrb:UpdateScrCompType: Start');
902 
903 
904       -- Initialize API return status to SUCCESS
905       x_return_status := FND_API.G_RET_STS_SUCCESS;
906 
907       --
908       -- Api body
909       --
910 
911       iex_score_pvt.WriteLog('iexpscrb:UpdateScrCompType: scrcomptypecnt='||p_score_comp_type_tbl.count);
912 
913       for i in 1..p_score_comp_Type_tbl.count
914       loop
915           l_score_comp_type_rec := p_score_comp_type_tbl(i);
916 
917          IEX_SCORE_PVT.Update_Score_Comp_Type(
918             p_api_version              => p_api_version
919           , p_init_msg_list            => p_init_msg_list
920           , p_commit                   => p_commit
921           , p_score_comp_type_rec      => l_score_comp_type_rec
922           , x_dup_status               => x_dup_status
923           , x_return_status            => x_return_status
924           , x_msg_count                => x_msg_count
925           , x_msg_data                 => x_msg_data
926          );
927 
928      IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
929         RAISE FND_API.G_EXC_ERROR;
930      elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
931         raise FND_API.G_EXC_UNEXPECTED_ERROR;
932      END IF;
933 
934      END LOOP;
935       --
936       -- End of API body.
937       --
938 
939       -- Standard check for p_commit
940       IF FND_API.to_Boolean( p_commit )
941       THEN
942           COMMIT WORK;
943       END IF;
944 
945       -- Debug Message
946       iex_score_pvt.WriteLog('iexpscrb:UpdateScrCompType: End');
947 
948 
949       -- Standard call to get message count and if count is 1, get message info.
950       FND_MSG_PUB.Count_And_Get
954       EXCEPTION
951       (  p_count          =>   x_msg_count,
952          p_data           =>   x_msg_data );
953 
955           WHEN FND_API.G_EXC_ERROR THEN
956               ROLLBACK To UPDATE_Score_Comp_TYPE_PUB;
957               x_return_status := FND_API.G_RET_STS_ERROR ;
958               FND_MSG_PUB.Count_And_Get
959               (  p_count          =>   x_msg_count,
960                  p_data           =>   x_msg_data
961               );
962 
963           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
964               ROLLBACK To UPDATE_Score_Comp_TYPE_PUB;
965               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
966               FND_MSG_PUB.Count_And_Get
967               (  p_count          =>   x_msg_count,
968                  p_data           =>   x_msg_data
969               );
970 
971           WHEN OTHERS THEN
972               ROLLBACK To UPDATE_Score_Comp_TYPE_PUB;
973               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
974               FND_MSG_PUB.Count_And_Get
975               (  p_count          =>   x_msg_count,
976                  p_data           =>   x_msg_data
977               );
978 
979 END Update_Score_Comp_Type;
980 
981 
982 
983 
984 Procedure Delete_Score_Comp_Type
985            (p_api_version             IN NUMBER := 1.0,
986             p_init_msg_list           IN VARCHAR2 ,
987             p_commit                  IN VARCHAR2 ,
988             p_SCORE_COMP_TYPE_TBL     IN IEX_SCORE_PUB.SCORE_COMP_TYPE_TBL_TYPE,
989             x_return_status           OUT NOCOPY VARCHAR2,
990             x_msg_count               OUT NOCOPY NUMBER,
991             x_msg_data                OUT NOCOPY VARCHAR2)
992 
993 IS
994 
995     l_score_comp_type_id    NUMBER ;
996     l_api_name              CONSTANT VARCHAR2(30) := 'Delete_Score_Comp_Type';
997     l_api_version_number    CONSTANT NUMBER   := 1.0;
998     l_return_status         VARCHAR2(1);
999     l_msg_count             NUMBER;
1000     l_msg_data              VARCHAR2(32767);
1001 
1002 BEGIN
1003       -- Standard Start of API savepoint
1004       SAVEPOINT DELETE_SCORE_COMP_TYPE_PUB;
1005 
1006       -- Standard call to check for call compatibility.
1007       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1008                                            p_api_version,
1009                                            l_api_name,
1010                                            G_PKG_NAME)
1011       THEN
1012           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1013       END IF;
1014 
1015       -- Initialize message list if p_init_msg_list is set to TRUE.
1016       IF FND_API.to_Boolean( p_init_msg_list )
1017       THEN
1018           FND_MSG_PUB.initialize;
1019       END IF;
1020 
1021       -- Debug Message
1022       iex_score_pvt.WriteLog('iexpscrb:UpdateScrCompType: Start');
1023 
1024 
1025       -- Initialize API return status to SUCCESS
1026       x_return_status := FND_API.G_RET_STS_SUCCESS;
1027 
1028       --
1029       -- Api body
1030       --
1031 
1032 
1033       for i in 1..p_score_comp_type_tbl.count
1034       loop
1035          l_score_comp_type_id := p_score_comp_type_tbl(i).score_comp_type_id;
1036          iex_score_pvt.WriteLog('iexpscrb:UpdateScrCompType: scrcomptypeid='||l_score_comp_type_id);
1037 
1038 
1039          IEX_SCORE_PVT.Delete_Score_comp_type(
1040               p_api_version              => p_api_version
1041             , p_init_msg_list            => p_init_msg_list
1042             , p_commit                   => p_commit
1043             , p_score_comp_type_id       => l_score_comp_type_id
1044             , x_return_status            => x_return_status
1045             , x_msg_count                => x_msg_count
1046             , x_msg_data                 => x_msg_data
1047             );
1048 
1049          IF x_return_status = FND_API.G_RET_STS_ERROR then
1050                 raise FND_API.G_EXC_ERROR;
1051          elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1052                raise FND_API.G_EXC_UNEXPECTED_ERROR;
1053          END IF;
1054 
1055       END loop;
1056 
1057       --
1058       -- End of API body
1059       --
1060 
1061       -- Standard check for p_commit
1062       IF FND_API.to_Boolean( p_commit )
1063       THEN
1064           COMMIT WORK;
1065       END IF;
1066 
1067       -- Debug Message
1068       iex_score_pvt.WriteLog('iexpscrb:UpdateScrCompType: End');
1069 
1070       FND_MSG_PUB.Count_And_Get
1071       (  p_count          =>   x_msg_count,
1072          p_data           =>   x_msg_data );
1073 
1074       EXCEPTION
1075           WHEN FND_API.G_EXC_ERROR THEN
1076               ROLLBACK To DELETE_Score_Comp_TYPE_PUB;
1077               x_return_status := FND_API.G_RET_STS_ERROR ;
1078               FND_MSG_PUB.Count_And_Get
1079               (  p_count          =>   x_msg_count,
1080                  p_data           =>   x_msg_data
1081               );
1082 
1083           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1084               ROLLBACK TO DELETE_SCORE_COMP_TYPE_PUB;
1085               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1086               FND_MSG_PUB.Count_And_Get
1087               (  p_count          =>   x_msg_count,
1091           WHEN OTHERS THEN
1088                  p_data           =>   x_msg_data
1089               );
1090 
1092               ROLLBACK TO DELETE_SCORE_COMP_TYPE_PUB;
1093               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1094               FND_MSG_PUB.Count_And_Get
1095               (  p_count          =>   x_msg_count,
1096                  p_data           =>   x_msg_data
1097               );
1098 
1099 END Delete_Score_comp_type;
1100 
1101 
1102 
1103 
1104 Procedure Create_SCORE_COMP_DET
1105             ( p_api_version             IN NUMBER := 1.0,
1106               p_init_msg_list           IN VARCHAR2 ,
1107               p_commit                  IN VARCHAR2 ,
1108               px_SCORE_COMP_DET_TBL     IN OUT NOCOPY IEX_SCORE_PUB.SCORE_COMP_DET_TBL_Type,
1109               x_return_status           OUT NOCOPY VARCHAR2,
1110               x_msg_count               OUT NOCOPY NUMBER,
1111               x_msg_data                OUT NOCOPY VARCHAR2)
1112 
1113 IS
1114     l_api_name                    CONSTANT VARCHAR2(30) := 'Create_Score_Comp_Det';
1115     l_api_version_number          CONSTANT NUMBER   := 1.0;
1116     l_return_status   VARCHAR2(1);
1117     l_msg_count       NUMBER;
1118     l_msg_data        VARCHAR2(32767);
1119     l_SCORE_COMP_Det_REC        IEX_SCORE_PUB.SCORE_COMP_DET_REC_Type;
1120     x_score_comp_det_id         NUMBER;
1121 
1122 
1123 BEGIN
1124       -- Standard Start of API savepoint
1125       SAVEPOINT CREATE_Score_Comp_DET_PUB;
1126 
1127 
1128       -- Standard call to check for call compatibility.
1129       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1130                                            p_api_version,
1131                                            l_api_name,
1132                                            G_PKG_NAME)
1133       THEN
1134           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1135       END IF;
1136 
1137 
1138       -- Initialize message list if p_init_msg_list is set to TRUE.
1139       IF FND_API.to_Boolean( p_init_msg_list )
1140       THEN
1141           FND_MSG_PUB.initialize;
1142       END IF;
1143 
1144       -- Debug Message
1145       iex_score_pvt.WriteLog('iexpscrb:CreateScrCompDet: Start');
1146 
1147 
1148       -- Initialize API return status to SUCCESS
1149       x_return_status := FND_API.G_RET_STS_SUCCESS;
1150 
1151       --
1152       -- API body
1153       --
1154 
1155 
1156       iex_score_pvt.WriteLog('iexpscrb:CreateScrCompDet: count='||px_score_comp_det_tbl.count);
1157       for i in 1..px_score_Comp_det_tbl.count
1158       loop
1159 
1160           --l_score_comp_det_rec := IEX_SCORE_PUB.G_MISS_SCORE_COMP_DET_REC;
1161           l_score_comp_det_rec := null;
1162           l_score_comp_det_rec := px_score_comp_det_tbl(i);
1163 
1164           IEX_SCORE_PVT.Create_Score_Comp_Det(
1165              p_api_version              => p_api_version
1166            , p_init_msg_list            => p_init_msg_list
1167            , p_commit                   => p_Commit
1168            , p_score_comp_det_rec       => l_score_comp_Det_rec
1169            , x_return_status            => x_return_status
1170            , x_msg_count                => x_msg_count
1171            , x_msg_data                 => x_msg_data
1172            , x_score_Comp_det_id        => x_score_comp_det_id
1173           );
1174 
1175           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1176              RAISE FND_API.G_EXC_ERROR;
1177           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1178                raise FND_API.G_EXC_UNEXPECTED_ERROR;
1179           END IF;
1180 
1181           l_score_comp_Det_rec.score_comp_det_id := x_score_comp_Det_id;
1182           px_score_comp_Det_tbl(i) := l_score_comp_det_rec;
1183 
1184      END LOOP;
1185 
1186 
1187       --
1188       -- End of API body
1189       --
1190 
1191       -- Standard check for p_commit
1192       IF FND_API.to_Boolean( p_commit )
1193       THEN
1194           COMMIT WORK;
1195       END IF;
1196 
1197       -- Debug Message
1198       iex_score_pvt.WriteLog('iexpscrb:CreateScrCompDet: End');
1199 
1200 
1201       -- Standard call to get message count and if count is 1, get message info.
1202       FND_MSG_PUB.Count_And_Get
1203       (  p_count          =>   x_msg_count,
1204          p_data           =>   x_msg_data
1205       );
1206 
1207       EXCEPTION
1208           WHEN FND_API.G_EXC_ERROR THEN
1209               ROLLBACK To DELETE_Score_Comp_DET_PUB;
1210               x_return_status := FND_API.G_RET_STS_ERROR ;
1211               FND_MSG_PUB.Count_And_Get
1212               (  p_count          =>   x_msg_count,
1213                  p_data           =>   x_msg_data
1214               );
1215 
1216           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1217               ROLLBACK TO DELETE_SCORE_COMP_DET_PUB;
1218               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1219               FND_MSG_PUB.Count_And_Get
1220               (  p_count          =>   x_msg_count,
1221                  p_data           =>   x_msg_data
1222               );
1223 
1224           WHEN OTHERS THEN
1225               ROLLBACK TO DELETE_SCORE_COMP_DET_PUB;
1226               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1230               );
1227               FND_MSG_PUB.Count_And_Get
1228               (  p_count          =>   x_msg_count,
1229                  p_data           =>   x_msg_data
1231 
1232 END Create_Score_Comp_Det;
1233 
1234 
1235 
1236 Procedure Update_SCORE_COMP_DET
1237             ( p_api_version             IN NUMBER := 1.0,
1238               p_init_msg_list           IN VARCHAR2 ,
1239               p_commit                  IN VARCHAR2 ,
1240               p_SCORE_COMP_Det_TBL      IN IEX_SCORE_PUB.SCORE_COMP_DET_TBL_Type,
1241               x_return_status           OUT NOCOPY VARCHAR2,
1242               x_msg_count               OUT NOCOPY NUMBER,
1243               x_msg_data                OUT NOCOPY VARCHAR2)
1244 
1245 IS
1246     l_api_name                  CONSTANT VARCHAR2(30) := 'Update_Score_Comp_DET';
1247     l_api_version_number        CONSTANT NUMBER   := 1.0;
1248     l_return_status   VARCHAR2(1);
1249     l_msg_count       NUMBER;
1250     l_msg_data        VARCHAR2(32767);
1251     l_SCORE_COMP_Det_REC        IEX_SCORE_PUB.SCORE_COMP_DET_REC_Type;
1252 
1253 BEGIN
1254 
1255       -- Standard Start of API savepoint
1256       SAVEPOINT UPDATE_Score_Comp_PUB_DET;
1257 
1258       -- Standard call to check for call compatibility.
1259       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1260                          	             p_api_version,
1261                                            l_api_name,
1262                                            G_PKG_NAME)
1263       THEN
1264           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1265       END IF;
1266 
1267       -- Initialize message list if p_init_msg_list is set to TRUE.
1268       IF FND_API.to_Boolean( p_init_msg_list )
1269       THEN
1270           FND_MSG_PUB.initialize;
1271       END IF;
1272 
1273       -- Debug Message
1274       iex_score_pvt.WriteLog('iexpscrb:UpdScrCompDet: Start');
1275 
1276 
1277       -- Initialize API return status to SUCCESS
1278       x_return_status := FND_API.G_RET_STS_SUCCESS;
1279 
1280       --
1281       -- Api body
1282       --
1283 
1284       iex_score_pvt.WriteLog('iexpscrb:UpdScrCompDet: cnt='||p_score_comp_det_tbl.count);
1285 
1286       for i in 1..p_score_Comp_det_tbl.count
1287       loop
1288           l_score_comp_det_rec := p_score_comp_det_tbl(i);
1289 
1290           IEX_SCORE_PVT.Update_Score_Comp_DET(
1291             p_api_version              => p_api_version
1292           , p_init_msg_list            => p_init_msg_list
1293           , p_commit                   => p_commit
1294           , p_score_comp_det_rec       => l_score_comp_det_rec
1295           , x_return_status            => x_return_status
1296           , x_msg_count                => x_msg_count
1297           , x_msg_data                 => x_msg_data
1298           );
1299 
1300           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1301              RAISE FND_API.G_EXC_ERROR;
1302           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1303              raise FND_API.G_EXC_UNEXPECTED_ERROR;
1304           END IF;
1305       END LOOP;
1306       --
1307       -- End of API body.
1308       --
1309 
1310       -- Standard check for p_commit
1311       IF FND_API.to_Boolean( p_commit )
1312       THEN
1313           COMMIT WORK;
1314       END IF;
1315 
1316       -- Debug Message
1317       iex_score_pvt.WriteLog('iexpscrb:UpdScrCompDet: End');
1318 
1319 
1320       -- Standard call to get message count and if count is 1, get message info.
1321       FND_MSG_PUB.Count_And_Get
1322       (  p_count          =>   x_msg_count,
1323          p_data           =>   x_msg_data );
1324 
1325       EXCEPTION
1326           WHEN FND_API.G_EXC_ERROR THEN
1327               ROLLBACK To UPDATE_Score_Comp_DET_PUB;
1328               x_return_status := FND_API.G_RET_STS_ERROR ;
1329               FND_MSG_PUB.Count_And_Get
1330               (  p_count          =>   x_msg_count,
1331                  p_data           =>   x_msg_data
1332               );
1333 
1334           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1335               ROLLBACK TO UPDATE_SCORE_COMP_DET_PUB;
1336               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1337               FND_MSG_PUB.Count_And_Get
1338               (  p_count          =>   x_msg_count,
1339                  p_data           =>   x_msg_data
1340               );
1341 
1342           WHEN OTHERS THEN
1343               ROLLBACK TO UPDATE_SCORE_COMP_DET_PUB;
1344               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1345               FND_MSG_PUB.Count_And_Get
1346               (  p_count          =>   x_msg_count,
1347                  p_data           =>   x_msg_data
1348               );
1349 
1350 END Update_Score_Comp_DET;
1351 
1352 
1353 
1354 Procedure Delete_SCORE_COMP_DET
1355             ( p_api_version             IN NUMBER := 1.0,
1356               p_init_msg_list           IN VARCHAR2 ,
1357               p_commit                  IN VARCHAR2 ,
1358               p_SCORE_COMP_ID           IN NUMBER,
1359               p_SCORE_COMP_DET_ID_TBL   IN IEX_SCORE_PUB.SCORE_COMP_DET_ID_TBL,
1360               x_return_status           OUT NOCOPY VARCHAR2,
1361               x_msg_count               OUT NOCOPY NUMBER,
1362               x_msg_data                OUT NOCOPY VARCHAR2)
1366     l_api_version_number          CONSTANT NUMBER   := 1.0;
1363 
1364 IS
1365     l_api_name                    CONSTANT VARCHAR2(30) := 'Delete_Score_COMP_DET';
1367     l_return_status   VARCHAR2(1);
1368     l_msg_count       NUMBER;
1369     l_msg_data        VARCHAR2(32767);
1370     l_score_Comp_det_id           NUMBER;
1371 
1372 BEGIN
1373       -- Standard Start of API savepoint
1374       SAVEPOINT DELETE_SCORE_COMP_DET_PUB;
1375 
1376       -- Standard call to check for call compatibility.
1377       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1378                          	           p_api_version,
1379                                            l_api_name,
1380                                            G_PKG_NAME)
1381       THEN
1382           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1383       END IF;
1384 
1385       -- Initialize message list if p_init_msg_list is set to TRUE.
1386       IF FND_API.to_Boolean( p_init_msg_list )
1387       THEN
1388           FND_MSG_PUB.initialize;
1389       END IF;
1390 
1391       -- Debug Message
1392       iex_score_pvt.WriteLog('iexpscrb:DelScrCompDet: Start');
1393 
1394 
1395       -- Initialize API return status to SUCCESS
1396       x_return_status := FND_API.G_RET_STS_SUCCESS;
1397 
1398       --
1399       -- Api body
1400       --
1401 
1402 
1403       for i in 1..p_score_comp_det_id_Tbl.count
1404       loop
1405           l_score_Comp_det_id := p_score_comp_det_id_tbl(i);
1406           iex_score_pvt.WriteLog('iexpscrb:DelScrCompDet: detid='||l_score_comp_Det_id);
1407 
1408           IEX_SCORE_PVT.Delete_Score_Comp_Det(
1409             p_api_version              => p_api_version
1410           , p_init_msg_list            => p_init_msg_list
1411           , p_commit                   => p_commit
1412           , p_score_comp_id            => p_score_comp_id
1413           , p_score_comp_Det_id        => l_score_comp_det_id
1414           , x_return_status            => x_return_status
1415           , x_msg_count                => x_msg_count
1416           , x_msg_data                 => x_msg_data
1417           );
1418 
1419           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1420              RAISE FND_API.G_EXC_ERROR;
1421           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1422              raise FND_API.G_EXC_UNEXPECTED_ERROR;
1423           END IF;
1424       end loop;
1425       --
1426       -- End of API body
1427       --
1428 
1429       -- Standard check for p_commit
1430       IF FND_API.to_Boolean( p_commit )
1431       THEN
1432           COMMIT WORK;
1433       END IF;
1434 
1435       -- Debug Message
1436       iex_score_pvt.WriteLog('iexpscrb:DelScrCompDet: End');
1437 
1438       FND_MSG_PUB.Count_And_Get
1439       (  p_count          =>   x_msg_count,
1440          p_data           =>   x_msg_data );
1441 
1442       EXCEPTION
1443           WHEN FND_API.G_EXC_ERROR THEN
1444               ROLLBACK To DELETE_Score_Comp_DET_PUB;
1445               x_return_status := FND_API.G_RET_STS_ERROR ;
1446               FND_MSG_PUB.Count_And_Get
1447               (  p_count          =>   x_msg_count,
1448                  p_data           =>   x_msg_data
1449               );
1450 
1451           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1452               ROLLBACK TO DELETE_SCORE_COMP_DET_PUB;
1453               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1454               FND_MSG_PUB.Count_And_Get
1455               (  p_count          =>   x_msg_count,
1456                  p_data           =>   x_msg_data
1457               );
1458 
1459           WHEN OTHERS THEN
1460               ROLLBACK TO DELETE_SCORE_COMP_DET_PUB;
1461               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1462               FND_MSG_PUB.Count_And_Get
1463               (  p_count          =>   x_msg_count,
1464                  p_data           =>   x_msg_data
1465               );
1466 
1467 END Delete_Score_Comp_Det;
1468 
1469 
1470 
1471 /* 12/09/2002 clchang added
1472  * new function to make a copy of scoring engine.
1473  */
1474 Procedure Copy_ScoringEngine
1475                    (p_api_version   IN  NUMBER := 1.0,
1476                     p_init_msg_list IN  VARCHAR2 ,
1477                     p_commit        IN  VARCHAR2 ,
1478                     p_score_id      IN  NUMBER ,
1479                     x_score_id      OUT NOCOPY NUMBER ,
1480                     x_return_status OUT NOCOPY VARCHAR2,
1481                     x_msg_count     OUT NOCOPY NUMBER,
1482                     x_msg_data      OUT NOCOPY VARCHAR2)
1483 IS
1484     l_api_name                    CONSTANT VARCHAR2(30) := 'COPY_SCORINGENGINE';
1485     l_api_version_number          CONSTANT NUMBER   := 1.0;
1486     l_return_status   VARCHAR2(1);
1487     l_msg_count       NUMBER;
1488     l_msg_data        VARCHAR2(32767);
1489     l_score_Comp_det_id           NUMBER;
1490     l_msg                         VARCHAR2(50);
1491 
1492 BEGIN
1493       -- Standard Start of API savepoint
1494       SAVEPOINT COPY_SCORINGENGINE_PUB;
1495 
1496       -- Standard call to check for call compatibility.
1497       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1498                                            p_api_version,
1502           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1499                                            l_api_name,
1500                                            G_PKG_NAME)
1501       THEN
1503       END IF;
1504 
1505       -- Initialize message list if p_init_msg_list is set to TRUE.
1506       IF FND_API.to_Boolean( p_init_msg_list )
1507       THEN
1508           FND_MSG_PUB.initialize;
1509       END IF;
1510 
1511       -- Initialize API return status to SUCCESS
1512       x_return_status := FND_API.G_RET_STS_SUCCESS;
1513 
1514       l_msg := 'iexpscrb.pls=>Copy_SE:';
1515 
1516       IEX_SCORE_PVT.WriteLog(l_msg ||'START');
1517       IEX_SCORE_PVT.WriteLog(l_msg ||'score_id='||p_score_id);
1518 
1519       --
1520       -- Api body
1521       --
1522 
1523       IEX_SCORE_PVT.WriteLog(l_msg ||
1524                    'Public API: Calling IEX_SCORE_PVT.Copy_ScoringEngine');
1525 
1526 
1527       IEX_SCORE_PVT.Copy_ScoringEngine(
1528             p_api_version              => p_api_version
1529           , p_init_msg_list            => p_init_msg_list
1530           , p_commit                   => p_commit
1531           , p_score_id                 => p_score_id
1532           , x_score_id                 => x_score_id
1533           , x_return_status            => x_return_status
1534           , x_msg_count                => x_msg_count
1535           , x_msg_data                 => x_msg_data
1536           );
1537 
1538       IEX_SCORE_PVT.WriteLog(l_msg ||'return_status='||x_return_status);
1539 
1540 
1541       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1542              RAISE FND_API.G_EXC_ERROR;
1543       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1544              raise FND_API.G_EXC_UNEXPECTED_ERROR;
1545       END IF;
1546 
1547 
1548       --
1549       -- End of API body
1550       --
1551 
1552       -- Standard check for p_commit
1553       IF FND_API.to_Boolean( p_commit )
1554       THEN
1555           COMMIT WORK;
1556       END IF;
1557 
1558       IEX_SCORE_PVT.WriteLog(l_msg ||'score_id='||x_score_id);
1559 
1560       -- Debug Message
1561 
1562       FND_MSG_PUB.Count_And_Get
1563       (  p_count          =>   x_msg_count,
1564          p_data           =>   x_msg_data );
1565 
1566       EXCEPTION
1567           WHEN FND_API.G_EXC_ERROR THEN
1568               ROLLBACK To COPY_SCORINGENGINE_PUB;
1569               x_return_status := FND_API.G_RET_STS_ERROR ;
1570               FND_MSG_PUB.Count_And_Get
1571               (  p_count          =>   x_msg_count,
1572                  p_data           =>   x_msg_data
1573               );
1574 
1575           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1576               ROLLBACK TO COPY_SCORINGENGINE_PUB;
1577               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1578               FND_MSG_PUB.Count_And_Get
1579               (  p_count          =>   x_msg_count,
1580                  p_data           =>   x_msg_data
1581               );
1582           WHEN OTHERS THEN
1583               ROLLBACK TO COPY_SCORINGENGINE_PUB;
1584               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1585               FND_MSG_PUB.Count_And_Get
1586               (  p_count          =>   x_msg_count,
1587                  p_data           =>   x_msg_data
1588               );
1589 
1590 END COPY_ScoringEngine;
1591 
1592 
1593 
1594 
1595 Procedure Get_Score(p_api_version   IN  NUMBER := 1.0,
1596                     p_init_msg_list IN  VARCHAR2,
1597                     p_commit        IN  VARCHAR2,
1598                     p_score_id      IN  NUMBER ,
1599                     x_return_status OUT NOCOPY VARCHAR2,
1600                     x_msg_count     OUT NOCOPY NUMBER,
1601                     x_msg_data      OUT NOCOPY VARCHAR2)
1602 IS
1603     l_api_name                    CONSTANT VARCHAR2(30) := 'Get_score';
1604     l_api_version_number          CONSTANT NUMBER   := 1.0;
1605     l_return_status   VARCHAR2(1);
1606     l_msg_count       NUMBER;
1607     l_msg_data        VARCHAR2(32767);
1608 
1609 BEGIN
1610       -- Standard Start of API savepoint
1611       SAVEPOINT GET_SCORE_PUB;
1612 
1613       -- Standard call to check for call compatibility.
1614       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1615                                            p_api_version,
1616                                            l_api_name,
1617                                            G_PKG_NAME)
1618       THEN
1619           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1620       END IF;
1621 
1622       -- Initialize message list if p_init_msg_list is set to TRUE.
1623       IF FND_API.to_Boolean( p_init_msg_list )
1624       THEN
1625           FND_MSG_PUB.initialize;
1626       END IF;
1627 
1628       -- Debug Message
1629 
1630       -- Initialize API return status to SUCCESS
1631       x_return_status := FND_API.G_RET_STS_SUCCESS;
1632 
1633       --
1634       -- Api body
1635       --
1636 
1637           IEX_SCORE_PVT.Get_Score(
1638                     p_api_version   => p_api_version  ,
1639                     p_init_msg_list => p_init_msg_list,
1640                     p_commit        => p_commit       ,
1641                     p_score_id      => p_score_id     ,
1642                     x_return_status => x_return_status,
1643                     x_msg_count     => x_msg_count    ,
1644                     x_msg_data      => x_msg_data     );
1645 
1646           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1647              RAISE FND_API.G_EXC_ERROR;
1648           ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1649              raise FND_API.G_EXC_UNEXPECTED_ERROR;
1650           END IF;
1651       --
1652       -- End of API body
1653       --
1654 
1655       -- Standard check for p_commit
1656       IF FND_API.to_Boolean( p_commit )
1657       THEN
1658           COMMIT WORK;
1659       END IF;
1660 
1661       -- Debug Message
1662 
1663       FND_MSG_PUB.Count_And_Get
1664       (  p_count          =>   x_msg_count,
1665          p_data           =>   x_msg_data );
1666 
1667       EXCEPTION
1668           WHEN FND_API.G_EXC_ERROR THEN
1669               ROLLBACK To GET_SCORE_PUB;
1670               x_return_status := FND_API.G_RET_STS_ERROR ;
1671               FND_MSG_PUB.Count_And_Get
1672               (  p_count          =>   x_msg_count,
1673                  p_data           =>   x_msg_data
1674               );
1675 
1676           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1677               ROLLBACK To GET_SCORE_PUB;
1678               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1679               FND_MSG_PUB.Count_And_Get
1680               (  p_count          =>   x_msg_count,
1681                  p_data           =>   x_msg_data
1682               );
1683           WHEN OTHERS THEN
1684               ROLLBACK To GET_SCORE_PUB;
1685               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1686               FND_MSG_PUB.Count_And_Get
1687               (  p_count          =>   x_msg_count,
1688                  p_data           =>   x_msg_data
1689               );
1690 
1691 END Get_Score;
1692 
1693 BEGIN
1694    PG_DEBUG := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
1695 
1696 END IEX_SCORE_PUB;