[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;