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