[Home] [Help]
PACKAGE BODY: APPS.GMO_DVC_INTG_GRP
Source
1 PACKAGE BODY GMO_DVC_INTG_GRP AS
2 /* $Header: GMOGDVCB.pls 120.3 2005/09/21 02:05 rahugupt noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'GMO_DVC_INTG_GRP';
5
6 --This procedure reads the device.
7 procedure READ_DEVICE (P_API_VERSION IN NUMBER,
8 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
9 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
10 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
11 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
12 X_MSG_COUNT OUT NOCOPY NUMBER,
13 X_MSG_DATA OUT NOCOPY VARCHAR2,
14 P_RESOURCE_ID IN NUMBER,
15 P_DEVICE_ID IN NUMBER,
16 P_ORGANIZATION_ID IN NUMBER,
17 P_EVENT_ID IN NUMBER,
18 P_LOCK_UNLOCK IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.YES,
19 P_REQUESTER IN NUMBER,
20 P_PARAMETER_ID IN FND_TABLE_OF_VARCHAR2_255,
21 P_PARAMETER_UOM_DEFN IN FND_TABLE_OF_VARCHAR2_255,
22 X_PARAMETER_VALUE OUT NOCOPY FND_TABLE_OF_VARCHAR2_255,
23 X_PARAMETER_UOM OUT NOCOPY FND_TABLE_OF_VARCHAR2_255,
24 X_DEVICE_STATUS OUT NOCOPY VARCHAR2)
25
26 IS
27
28 l_api_name CONSTANT VARCHAR2(30) := 'READ_DEVICE';
29 l_api_version CONSTANT NUMBER := 1.0;
30
31 BEGIN
32
33 -- Standard Start of API savepoint
34 SAVEPOINT READ_DEVICE_GRP;
35
36 -- Standard call to check for call compatibility.
37 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
38 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
39 END IF;
40
41 -- Initialize message list if p_init_msg_list is set to TRUE.
42 IF FND_API.to_Boolean( p_init_msg_list ) THEN
43 FND_MSG_PUB.initialize;
44 END IF;
45
46 -- Initialize API return status to success
47 x_return_status := FND_API.G_RET_STS_SUCCESS;
48
49 GMO_DVC_INTG_PVT.READ_DEVICE (
50 P_RESOURCE_ID => P_RESOURCE_ID,
51 P_DEVICE_ID => P_DEVICE_ID,
52 P_ORGANIZATION_ID => P_ORGANIZATION_ID,
53 P_EVENT_ID => P_EVENT_ID,
54 P_LOCK_UNLOCK => P_LOCK_UNLOCK,
55 P_REQUESTER => P_REQUESTER,
56 P_PARAMETER_ID => P_PARAMETER_ID ,
57 P_PARAMETER_UOM_DEFN => P_PARAMETER_UOM_DEFN,
58 X_PARAMETER_VALUE => X_PARAMETER_VALUE,
59 X_PARAMETER_UOM => X_PARAMETER_UOM,
60 X_DEVICE_STATUS => X_DEVICE_STATUS,
61 X_RETURN_STATUS => X_RETURN_STATUS,
62 X_MSG_COUNT => X_MSG_COUNT,
63 X_MSG_DATA => X_MSG_DATA
64 );
65
66 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
67 IF FND_API.To_Boolean( p_commit ) THEN
68 COMMIT ;
69 END IF;
70 ELSE
71 RAISE FND_API.G_EXC_ERROR;
72 END IF;
73
74 -- Standard call to get message count and if count is 1, get message info.
75 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
76
77 EXCEPTION
78 WHEN FND_API.G_EXC_ERROR THEN
79 ROLLBACK TO READ_DEVICE_GRP;
80 x_return_status := FND_API.G_RET_STS_ERROR;
81 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
82 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
83 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_dvc_intg_grp.read_device', FALSE);
84 end if;
85 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
86 ROLLBACK TO READ_DEVICE_GRP;
87 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
88 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
89 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
90 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_dvc_intg_grp.read_device', FALSE);
91 end if;
92 WHEN OTHERS THEN
93 ROLLBACK TO READ_DEVICE_GRP;
94 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
95 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
96 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
97 END IF;
98 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
99 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
100 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_dvc_intg_grp.read_device', FALSE);
101 end if;
102 END READ_DEVICE;
103
104
105
106 --This procedure reads the device.
107 procedure READ_DEVICE (P_API_VERSION IN NUMBER,
108 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
109 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
110 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
111 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
112 X_MSG_COUNT OUT NOCOPY NUMBER,
113 X_MSG_DATA OUT NOCOPY VARCHAR2,
114 P_RESOURCE_ID IN NUMBER,
115 P_DEVICE_ID IN NUMBER,
116 P_ORGANIZATION_ID IN NUMBER,
117 P_EVENT_ID IN NUMBER,
118 P_LOCK_UNLOCK IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.YES,
119 P_REQUESTER IN NUMBER,
120 P_PARAMETER_ID IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
121 P_PARAMETER_UOM_DEFN IN GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
122 X_PARAMETER_VALUE OUT NOCOPY GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
123 X_PARAMETER_UOM OUT NOCOPY GMO_DATATYPES_GRP.GMO_TABLE_OF_VARCHAR2_255,
124 X_DEVICE_STATUS OUT NOCOPY VARCHAR2)
125
126 IS
127
128 l_parameter_id fnd_table_of_varchar2_255;
129 l_parameter_uom_defn fnd_table_of_varchar2_255;
130 l_parameter_value fnd_table_of_varchar2_255;
131 l_parameter_uom fnd_table_of_varchar2_255;
132
133 BEGIN
134
135 l_parameter_id := fnd_table_of_varchar2_255();
136 l_parameter_uom_defn := fnd_table_of_varchar2_255();
137 l_parameter_value := fnd_table_of_varchar2_255();
138 l_parameter_uom := fnd_table_of_varchar2_255();
139
140 FOR J IN 1..P_PARAMETER_ID.count LOOP
141 l_parameter_id.EXTEND;
142 l_parameter_id(J) := P_PARAMETER_ID(J);
143 END LOOP;
144
145 FOR I IN 1..P_PARAMETER_UOM_DEFN.count LOOP
146 l_parameter_uom_defn.EXTEND;
147 l_parameter_uom_defn(I) := P_PARAMETER_UOM_DEFN(I);
148 END LOOP;
149
150
151
152 READ_DEVICE ( P_API_VERSION => P_API_VERSION ,
153 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
154 P_COMMIT => P_COMMIT ,
155 P_VALIDATION_LEVEL => P_VALIDATION_LEVEL,
156 X_RETURN_STATUS => X_RETURN_STATUS,
157 X_MSG_COUNT => X_MSG_COUNT,
158 X_MSG_DATA => X_MSG_DATA,
159 P_RESOURCE_ID => P_RESOURCE_ID,
160 P_DEVICE_ID => P_DEVICE_ID,
161 P_ORGANIZATION_ID => P_ORGANIZATION_ID,
162 P_EVENT_ID => P_EVENT_ID,
163 P_LOCK_UNLOCK => P_LOCK_UNLOCK,
164 P_REQUESTER => P_REQUESTER,
165 P_PARAMETER_ID => L_PARAMETER_ID ,
166 P_PARAMETER_UOM_DEFN => L_PARAMETER_UOM_DEFN,
167 X_PARAMETER_VALUE => L_PARAMETER_VALUE,
168 X_PARAMETER_UOM => L_PARAMETER_UOM,
169 X_DEVICE_STATUS => X_DEVICE_STATUS );
170
171
172 if (L_PARAMETER_VALUE is not null ) then
173 FOR K IN 1..l_parameter_value.count LOOP
174 X_PARAMETER_VALUE(K) := l_parameter_value(K);
175 END LOOP;
176 end if;
177
178 if (L_PARAMETER_UOM is not null) then
179 FOR M IN 1..l_parameter_uom.count LOOP
180 X_PARAMETER_UOM(M) := l_parameter_uom(M);
181 END LOOP;
182 end if;
183
184
185 END;
186
187
188 --This procedure reads the device.
189 procedure READ_DEVICE (P_API_VERSION IN NUMBER,
190 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
191 P_COMMIT IN VARCHAR2 DEFAULT FND_API.G_FALSE,
192 P_VALIDATION_LEVEL IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL,
193 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
194 X_MSG_COUNT OUT NOCOPY NUMBER,
195 X_MSG_DATA OUT NOCOPY VARCHAR2,
196 P_DEVICE_ID IN NUMBER,
197 P_ORGANIZATION_ID IN NUMBER,
198 P_EVENT_ID IN NUMBER,
199 P_LOCK_UNLOCK IN VARCHAR2 DEFAULT GMO_CONSTANTS_GRP.YES,
200 P_REQUESTER IN NUMBER,
201 P_MSG_COMPONENT_PARAM IN VARCHAR2,
202 P_MSG_COMPONENT_UOM IN VARCHAR2,
203 X_PARAM_VALUE OUT NOCOPY VARCHAR2,
204 X_UOM_VALUE OUT NOCOPY VARCHAR2,
205 X_DEVICE_STATUS OUT NOCOPY VARCHAR2)
206
207 IS
208
209 l_api_name CONSTANT VARCHAR2(30) := 'READ_DEVICE';
210 l_api_version CONSTANT NUMBER := 1.0;
211 l_response_code fnd_table_of_varchar2_255;
212 l_response_value fnd_table_of_varchar2_255;
213
214 BEGIN
215
216 -- Standard Start of API savepoint
217 SAVEPOINT READ_DEVICE;
218 -- Standard call to check for call compatibility.
219 IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,l_api_name,G_PKG_NAME) THEN
220 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
221 END IF;
222
223 -- Initialize message list if p_init_msg_list is set to TRUE.
224 IF FND_API.to_Boolean( p_init_msg_list ) THEN
225 FND_MSG_PUB.initialize;
226 END IF;
227
228 -- Initialize API return status to success
229 x_return_status := FND_API.G_RET_STS_SUCCESS;
230 l_response_code := fnd_table_of_varchar2_255();
231 l_response_code.extend;
232 l_response_code(1) := P_MSG_COMPONENT_PARAM;
233 l_response_code.extend;
234 l_response_code(2) := P_MSG_COMPONENT_UOM;
235
236 GMO_DVC_INTG_PVT.READ_DEVICE (
237 P_DEVICE_ID => P_DEVICE_ID,
238 P_ORGANIZATION_ID => P_ORGANIZATION_ID,
239 P_EVENT_ID => P_EVENT_ID,
240 P_LOCK_UNLOCK => P_LOCK_UNLOCK,
241 P_REQUESTER => P_REQUESTER,
242 P_MSG_COMPONENT => l_response_code ,
243 X_VALUE => l_response_value,
244 X_DEVICE_STATUS => X_DEVICE_STATUS,
245 X_RETURN_STATUS => X_RETURN_STATUS,
246 X_MSG_COUNT => X_MSG_COUNT,
247 X_MSG_DATA => X_MSG_DATA
248 );
249 IF (l_response_value is not null and l_response_value.count > 0) then
250 x_param_value := l_response_value(1);
251 if (l_response_value.count > 1) then
252 x_uom_value := l_response_value(2);
253 end if;
254 end if;
255
256 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
257 IF FND_API.To_Boolean( p_commit ) THEN
258 COMMIT ;
259 END IF;
260 ELSE
261 RAISE FND_API.G_EXC_ERROR;
262 END IF;
263
264
265 -- Standard call to get message count and if count is 1, get message info.
266 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
267
268 EXCEPTION
269 WHEN FND_API.G_EXC_ERROR THEN
270 ROLLBACK TO READ_DEVICE;
271 x_return_status := FND_API.G_RET_STS_ERROR;
272 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
273 if (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
274 FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.gmo_dvc_intg_grp.read_device', FALSE);
275 end if;
276 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
277 ROLLBACK TO READ_DEVICE;
278 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
279 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
280 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
281 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_dvc_intg_grp.read_device', FALSE);
282 end if;
283 WHEN OTHERS THEN
284 ROLLBACK TO READ_DEVICE;
285 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
286 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
287 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
288 END IF;
289 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count, p_data => x_msg_data);
290 if (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
291 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,'gmo.plsql.gmo_dvc_intg_grp.read_device', FALSE);
292 end if;
293 END READ_DEVICE;
294
295 END GMO_DVC_INTG_GRP;