DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_SCORECARD_PUB

Source


1 PACKAGE BODY AS_SCORECARD_PUB AS
2 /* $Header: asxpscdb.pls 115.9 2003/03/28 20:32:54 solin ship $ */
3 
4 G_PKG_NAME  CONSTANT VARCHAR2(30):= 'AS_SCORECARD_PUB';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asxpscdb.pls';
6 
7 
8 /* begin raverma 01312001
9     add params for security check
10                 p_identity_salesforce_id  IN  NUMBER,
11                 p_admin_flag              IN  Varchar2(1),
12                 p_admin_group_id          IN  NUMBER,
13     always check update access = 'Y'
14 */
15 -- ffang 050901, add parameter p_check_access_flag
16 -- from UI, this parameter should be past 'Y'
17 -- from lead import concurr. program, 'N' should be past
18 
19 -- this will be the main call of the scoreCard scoring engine
20 AS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
21 AS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
22 AS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
23 AS_DEBUG_ERROR_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_ERROR);
24 
25 Procedure Get_Score (
26     p_api_version             IN  NUMBER := 2.0,
27     p_init_msg_list           IN  VARCHAR2 := FND_API.G_FALSE,
28     p_commit                  IN  VARCHAR2 := FND_API.G_FALSE,
29     p_validation_level        IN  NUMBER   := AS_UTILITY_PUB.G_VALID_LEVEL_ITEM,
30     P_Check_Access_Flag       IN  VARCHAR2 := FND_API.G_MISS_CHAR,
31     p_sales_lead_id           IN  NUMBER,
32     p_scorecard_id            IN  NUMBER,
33 -- swkhanna 2260459
34     p_marketing_score         IN  NUMBER := 0,
35     p_identity_salesforce_id  IN  NUMBER,
36     p_admin_flag              IN  Varchar2,
37     p_admin_group_id          IN  NUMBER,
38     x_rank_id                 OUT NOCOPY NUMBER,
39     X_SCORE                   OUT NOCOPY NUMBER,
40     x_return_status           OUT NOCOPY VARCHAR2,
41     x_msg_count               OUT NOCOPY NUMBER,
42     x_msg_data                OUT NOCOPY VARCHAR2 )
43 IS
44     l_api_name               CONSTANT VARCHAR2(30) := 'Get_Score';
45     l_api_version_number     CONSTANT NUMBER   := 2.0;
46     l_return_status          VARCHAR2(1);
47     l_msg_count              NUMBER;
48     l_msg_data               VARCHAR2(32767);
49 
50 BEGIN
51       -- Standard Start of API savepoint
52       SAVEPOINT GET_SCORE_PUB;
53 
54       -- Standard call to check for call compatibility.
55       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
56                                            p_api_version,
57                                            l_api_name,
58                                            G_PKG_NAME)
59       THEN
60           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61       END IF;
62 
63 
64       -- Initialize message list if p_init_msg_list is set to TRUE.
65       IF FND_API.to_Boolean( p_init_msg_list )
66       THEN
67           FND_MSG_PUB.initialize;
68       END IF;
69 
70       -- Debug Message
71       IF (AS_DEBUG_LOW_ON) THEN
72 
73       AS_UTILITY_PVT.DEBUG_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
74                                    'PUB: ' || l_api_name || ' start');
75       END IF;
76       IF (AS_DEBUG_LOW_ON) THEN
77 
78       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
79                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
80       END IF;
81 
82 
83       -- Initialize API return status to SUCCESS
84       x_return_status := FND_API.G_RET_STS_SUCCESS;
85 
86       --
87       -- API body
88       --
89 
90       -- Calling Private package: Create_CARD_RULE
91       IF (AS_DEBUG_LOW_ON) THEN
92 
93       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
94                    'Public API: Calling AS_SCORECARD_PVT.Get_score');
95       END IF;
96 
97       -- implement AS_SCORECARD_PVT here
98       AS_SCORECARD_PVT.Get_Score (
99           p_api_version             => 2.0,
100           p_init_msg_list           => FND_API.G_FALSE,
101           p_commit                  => FND_API.G_FALSE,  -- p_commit,
102           p_validation_level        => p_validation_level,
103           p_check_access_flag       => p_check_access_flag,
104           p_sales_lead_id           => p_sales_lead_id,
105           p_scorecard_id            => p_scorecard_id,
106 -- swkhanna 2260459
107           p_marketing_score         => p_marketing_score,
108           p_identity_salesforce_id  => p_identity_salesforce_id,
109           p_admin_flag              => p_admin_flag,
110           p_admin_group_id          => p_admin_group_id,
111           x_rank_id                 => x_rank_id,
112           X_SCORE                   => x_score,
113           x_return_status           => x_return_status,
114           x_msg_count               => l_msg_count,
115           x_msg_data                => l_msg_data);
116 
117 
118       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
119           RAISE FND_API.G_EXC_ERROR;
120       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
121           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
122       END IF;
123 
124       --
125       -- End of API body
126       --
127 
128       -- Standard check for p_commit
129       IF FND_API.to_Boolean( p_commit )
130       THEN
131           COMMIT WORK;
132       END IF;
133 
134       -- Debug Message
135       IF (AS_DEBUG_LOW_ON) THEN
136 
137       AS_UTILITY_PVT.DEBUG_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
138                                    'PUB: ' || l_api_name || ' end');
139       END IF;
140       IF (AS_DEBUG_LOW_ON) THEN
141 
142       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
143                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
144       END IF;
145 
146 
147       -- Standard call to get message count and if count is 1, get message info.
148       FND_MSG_PUB.Count_And_Get
149       (  p_count          =>   x_msg_count,
150          p_data           =>   x_msg_data
151       );
152 
153       EXCEPTION
154           WHEN FND_API.G_EXC_ERROR THEN
155               as_utility_pvt.HANDLE_EXCEPTIONS(
156                    P_API_NAME => L_API_NAME
157                   ,P_PKG_NAME => G_PKG_NAME
158                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
159                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
160                   ,X_MSG_COUNT => X_MSG_COUNT
161                   ,X_MSG_DATA => X_MSG_DATA
162                   ,X_RETURN_STATUS => X_RETURN_STATUS);
163 
164           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
165               as_utility_pvt.HANDLE_EXCEPTIONS(
166                    P_API_NAME => L_API_NAME
167                   ,P_PKG_NAME => G_PKG_NAME
168                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
169                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
170                   ,X_MSG_COUNT => X_MSG_COUNT
171                   ,X_MSG_DATA => X_MSG_DATA
172                   ,X_RETURN_STATUS => X_RETURN_STATUS);
173 
174           WHEN OTHERS THEN
175               as_utility_pvt.HANDLE_EXCEPTIONS(
176                    P_API_NAME => L_API_NAME
177                   ,P_PKG_NAME => G_PKG_NAME
178                   ,P_EXCEPTION_LEVEL => as_utility_pvt.G_EXC_OTHERS
179                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
180                   ,X_MSG_COUNT => X_MSG_COUNT
181                   ,X_MSG_DATA => X_MSG_DATA
182                   ,X_RETURN_STATUS => X_RETURN_STATUS);
183 
184 END Get_Score;
185 
186 
187 END AS_SCORECARD_PUB;