[Home] [Help]
PACKAGE BODY: APPS.IEM_OP_STAT_PUB
Source
1 PACKAGE BODY IEM_OP_STAT_PUB as
2 /* $Header: iemopstatb.pls 115.0 2003/08/20 13:28:18 gohu noship $*/
3
4 -- PACKAGE CONSTANTS NO LITERALS USED.
5 G_PKG_NAME CONSTANT varchar2(30) :='IEM_OP_STAT_PUB';
6
7
8 PROCEDURE startOPStats(
9 p_api_version_number IN NUMBER,
10 p_init_msg_list IN VARCHAR2,
11 p_commit IN VARCHAR2,
12 p_jservID IN VARCHAR2,
13 p_jservPort IN VARCHAR2,
14 p_apacheHost IN VARCHAR2,
15 p_apachePort IN VARCHAR2,
16 p_processed_msg_cnt IN NUMBER,
17 p_cfailed_reason IN VARCHAR2,
18 x_return_status OUT NOCOPY VARCHAR2,
19 x_msg_count OUT NOCOPY NUMBER,
20 x_msg_data OUT NOCOPY VARCHAR2,
21 x_controller_id OUT NOCOPY NUMBER
22 ) IS
23
24 l_api_name VARCHAR2(255):='startOPStats';
25 l_api_version_number NUMBER:=1.0;
26 l_return_status VARCHAR2(300);
27 l_msg_count NUMBER;
28 l_msg_data VARCHAR2(300);
29
30 l_con_sequence NUMBER;
31 l_version NUMBER;
32 l_CONTROLLER_ID NUMBER := 0;
33
34 BEGIN
35
36
37 -- Standard Start of API savepoint
38 SAVEPOINT startOPStats_pvt;
39
40 -- Standard call to check for call compatibility.
41 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
42 1.0,
43 l_api_name,
44 G_PKG_NAME)
45 THEN
46 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
47 END IF;
48
49 -- Initialize message list if p_init_msg_list is set to TRUE.
50 IF FND_API.to_Boolean( p_init_msg_list )
51 THEN
52 FND_MSG_PUB.initialize;
53 END IF;
54
55 -- Initialize API return status to SUCCESS
56 x_return_status := FND_API.G_RET_STS_SUCCESS;
57
58 -----------------------Code------------------------
59
60 select IEM_OP_CONTROLLER_STATS_S1.nextval into l_con_sequence from dual;
61
62 l_CONTROLLER_ID := l_con_sequence;
63
64 x_controller_id := l_CONTROLLER_ID;
65
66 insert into IEM_OP_CONTROLLER_STATS
67 (
68 CONTROLLER_ID,
69 JSERV_ID,
70 JSERV_PORT,
71 APACHE_HOST,
72 APACHE_PORT,
73 START_TIME,
74 FAILED_REASON,
75 LAST_UPDATE_DATE
76 )
77 values
78 (
79 l_CONTROLLER_ID,
80 p_jservID,
81 p_jservPort,
82 p_apacheHost,
83 p_apachePort,
84 SYSDATE,
85 p_cfailed_reason,
86 SYSDATE
87 );
88
89
90 -------------------End Code------------------------
91 -- Standard Check Of p_commit.
92 IF FND_API.To_Boolean(p_commit) THEN
93 COMMIT WORK;
94 END IF;
95
96 -- Standard callto get message count and if count is 1, get message info.
97 FND_MSG_PUB.Count_And_Get
98 ( p_count => x_msg_count,
99 p_data => x_msg_data
100 );
101 EXCEPTION
102 WHEN FND_API.G_EXC_ERROR THEN
103 ROLLBACK TO startOPStats_pvt;
104 x_return_status := FND_API.G_RET_STS_ERROR ;
105 FND_MSG_PUB.Count_And_Get(
106 p_count => x_msg_count,
107 p_data => x_msg_data);
108
109 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
110 ROLLBACK TO startOPStats_pvt;
111 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
112 FND_MSG_PUB.Count_And_Get(
113 p_count => x_msg_count,
114 p_data => x_msg_data);
115 WHEN OTHERS THEN
116 ROLLBACK TO startOPStats_pvt;
117 x_return_status := FND_API.G_RET_STS_ERROR;
118 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
119 THEN
120 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME , l_api_name);
121 END IF;
122 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
123 p_data => x_msg_data);
124
125 END startOPStats;
126
127
128 PROCEDURE recordOPStats(
129 p_api_version_number IN NUMBER,
130 p_init_msg_list IN VARCHAR2,
131 p_commit IN VARCHAR2,
132 p_jservID IN VARCHAR2,
133 p_jservPort IN VARCHAR2,
134 p_apacheHost IN VARCHAR2,
135 p_apachePort IN VARCHAR2,
136 p_threadID IN VARCHAR2,
137 p_threadType IN VARCHAR2,
138 p_tfailed_reason IN VARCHAR2,
139 p_processed_msg_cnt IN NUMBER,
140 p_controller_id IN NUMBER,
141 x_return_status OUT NOCOPY VARCHAR2,
142 x_msg_count OUT NOCOPY NUMBER,
143 x_msg_data OUT NOCOPY VARCHAR2
144 ) IS
145
146 l_api_name VARCHAR2(255):='recordOPStats';
147 l_api_version_number NUMBER:=1.0;
148 l_return_status VARCHAR2(300);
149 l_msg_count NUMBER;
150 l_msg_data VARCHAR2(300);
151
152 l_con_sequence NUMBER;
153 l_th_sequence NUMBER;
154 l_version NUMBER;
155 l_OP_THREAD_STATS_ID NUMBER := 0;
156 l_CONTROLLER_ID NUMBER := 0;
157
158 BEGIN
159
160
161 -- Standard Start of API savepoint
162 SAVEPOINT recordOPStats_pvt;
163
164 -- Standard call to check for call compatibility.
165 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
166 1.0,
167 l_api_name,
168 G_PKG_NAME)
169 THEN
170 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
171 END IF;
172
173 -- Initialize message list if p_init_msg_list is set to TRUE.
174 IF FND_API.to_Boolean( p_init_msg_list )
175 THEN
176 FND_MSG_PUB.initialize;
177 END IF;
178
179 -- Initialize API return status to SUCCESS
180 x_return_status := FND_API.G_RET_STS_SUCCESS;
181
182 -----------------------Code------------------------
183
184 l_CONTROLLER_ID := p_controller_id;
185
186 IF (l_CONTROLLER_ID > 0) THEN
187 UPDATE IEM_OP_CONTROLLER_STATS SET
188 LAST_UPDATE_DATE = SYSDATE
189 WHERE CONTROLLER_ID = l_CONTROLLER_ID;
190
191 BEGIN
192 select OP_THREAD_STATS_ID into l_OP_THREAD_STATS_ID
193 from IEM_OP_THREAD_STATS where
194 CONTROLLER_ID = l_CONTROLLER_ID
195 AND THREAD_ID = p_threadID AND THREAD_TYPE = p_threadType;
196 EXCEPTION
197 WHEN OTHERS THEN
198 NULL;
199 END;
200 END IF;
201
202
203 IF (l_OP_THREAD_STATS_ID > 0) THEN
204 UPDATE IEM_OP_THREAD_STATS SET
205 THREAD_ID = p_threadID,
206 LAST_UPDATE_DATE = SYSDATE,
207 THREAD_TYPE = p_threadType,
208 FAILED_REASON = p_tfailed_reason,
209 PROCESSED_MSG_COUNT = p_processed_msg_cnt
210 WHERE OP_THREAD_STATS_ID = l_OP_THREAD_STATS_ID;
211 ELSE
212 select IEM_OP_THREAD_STATS_S1.nextval into l_th_sequence from dual;
213 insert into IEM_OP_THREAD_STATS
214 (
215 OP_THREAD_STATS_ID,
216 THREAD_ID,
217 CONTROLLER_ID,
218 START_TIME,
219 PROCESSED_MSG_COUNT,
220 THREAD_TYPE,
221 FAILED_REASON,
222 LAST_UPDATE_DATE
223 )
224 values
225 (
226 l_th_sequence,
227 p_threadID,
228 l_CONTROLLER_ID,
229 SYSDATE,
230 p_processed_msg_cnt,
231 p_threadType,
232 p_tfailed_reason,
233 SYSDATE
234 );
235 END IF;
236
237 -------------------End Code------------------------
238 -- Standard Check Of p_commit.
239 IF FND_API.To_Boolean(p_commit) THEN
240 COMMIT WORK;
241 END IF;
242
243 -- Standard callto get message count and if count is 1, get message info.
244 FND_MSG_PUB.Count_And_Get
245 ( p_count => x_msg_count,
246 p_data => x_msg_data
247 );
248 EXCEPTION
249 WHEN FND_API.G_EXC_ERROR THEN
250 ROLLBACK TO recordOPStats_pvt;
251 x_return_status := FND_API.G_RET_STS_ERROR ;
252 FND_MSG_PUB.Count_And_Get(
253 p_count => x_msg_count,
254 p_data => x_msg_data);
255
256 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
257 ROLLBACK TO recordOPStats_pvt;
258 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
259 FND_MSG_PUB.Count_And_Get(
260 p_count => x_msg_count,
261 p_data => x_msg_data);
262 WHEN OTHERS THEN
263 ROLLBACK TO recordOPStats_pvt;
264 x_return_status := FND_API.G_RET_STS_ERROR;
265 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
266 THEN
267 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME , l_api_name);
268 END IF;
269 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
270 p_data => x_msg_data);
271
272 END recordOPStats;
273
274 END IEM_OP_STAT_PUB;