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