[Home] [Help]
PACKAGE BODY: APPS.CSI_COUNTER_PUB
Source
1 PACKAGE BODY CSI_COUNTER_PUB AS
2 /* $Header: csipctib.pls 120.10.12010000.4 2008/11/07 18:50:31 mashah ship $ */
3
4 -- --------------------------------------------------------
5 -- Define global variables
6 -- --------------------------------------------------------
7
8 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSI_COUNTER_PUB';
9 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csipctib.pls';
10
11 --|---------------------------------------------------
12 --| procedure name: create_counter
13 --| description : procedure used to
14 --| create counter instance
15 --|---------------------------------------------------
16
17 PROCEDURE create_counter
18 (
19 p_api_version IN NUMBER
20 ,p_init_msg_list IN VARCHAR2
21 ,p_commit IN VARCHAR2
22 ,p_validation_level IN NUMBER
23 ,p_counter_instance_rec IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.Counter_instance_rec
24 ,P_ctr_properties_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_tbl
25 ,P_counter_relationships_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_tbl
26 ,P_ctr_derived_filters_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_tbl
27 ,P_counter_associations_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.counter_associations_tbl
28 ,x_return_status out NOCOPY VARCHAR2
29 ,x_msg_count out NOCOPY NUMBER
30 ,x_msg_data out NOCOPY VARCHAR2
31 ,x_ctr_id out NOCOPY NUMBER
32 )
33 IS
34 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_COUNTER';
35 l_api_version CONSTANT NUMBER := 1.0;
36 -- l_debug_level NUMBER;
37 l_flag VARCHAR2(1) := 'N';
38 l_msg_data VARCHAR2(2000);
39 l_msg_index NUMBER;
40 l_msg_count NUMBER;
41 l_count NUMBER;
42 l_return_message VARCHAR2(100);
43
44 l_counter_id NUMBER;
45 l_Ctr_properties_rec CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_rec;
46 l_counter_relationships_rec CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_rec;
47 l_ctr_derived_filters_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_rec;
48 l_counter_associations_rec CSI_CTR_DATASTRUCTURES_PUB.counter_associations_rec;
49
50 -- Added for inserting initial reading
51 l_c_ind_txn BINARY_INTEGER := 0;
52 l_c_ind_rdg BINARY_INTEGER := 0;
53 l_c_ind_prop BINARY_INTEGER := 0;
54 l_transaction_type_id NUMBER;
55 l_transaction_tbl csi_datastructures_pub.transaction_tbl;
56 l_counter_readings_tbl csi_ctr_datastructures_pub.counter_readings_tbl;
57 l_ctr_property_readings_tbl csi_ctr_datastructures_pub.ctr_property_readings_tbl;
58 l_src_obj_cd VARCHAR2(30);
59 l_src_obj_id NUMBER;
60 CURSOR DFLT_PROP_RDG(p_counter_id IN NUMBER) IS
61 SELECT ccp.counter_property_id,ccp.default_value,ccp.property_data_type, ccp.is_nullable
62 FROM CSI_COUNTER_PROPERTIES_B ccp
63 WHERE ccp.counter_id = p_counter_id AND NVL(ccp.is_nullable,'N') = 'N'
64 AND NVL(end_date_active,(SYSDATE+1)) > SYSDATE;
65
66 l_rel_type VARCHAR2(30) := 'CONFIGURATION';
67
68
69 BEGIN
70 -- Standard Start of API savepoint
71 SAVEPOINT create_counter_pub;
72
73 -- Standard call to check for call compatibility.
74 IF NOT FND_API.Compatible_API_Call (l_api_version,
75 p_api_version,
76 l_api_name ,
77 G_PKG_NAME )
78 THEN
79 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
80 END IF;
81
82 -- Initialize message list if p_init_msg_list is set to TRUE.
83 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
84 FND_MSG_PUB.initialize;
85 END IF;
86
87 -- Initialize API return status to success
88 x_return_status := FND_API.G_RET_STS_SUCCESS;
89
90 -- Read the debug profiles values in to global variable 7197402
91 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
92
93 -- Check the profile option debug_level for debug message reporting
94 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
95
96 -- If debug_level = 1 then dump the procedure name
97 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
98 csi_ctr_gen_utility_pvt.put_line( 'create_counter');
99 END IF;
100
101 -- If the debug level = 2 then dump all the parameters values.
102 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
103 csi_ctr_gen_utility_pvt.put_line( 'create_counter' ||
104 p_api_version ||'-'||
105 p_commit ||'-'||
106 p_init_msg_list ||'-'||
107 p_validation_level );
108 csi_ctr_gen_utility_pvt.dump_counter_instance_rec(p_counter_instance_rec);
109 END IF;
110
111 /* Customer pre -processing section - Mandatory */
112 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
113 CSI_COUNTER_CUHK.create_counter_pre
114 (
115 p_api_version => p_api_version
116 ,p_init_msg_list => p_init_msg_list
117 ,p_commit => p_commit
118 ,p_validation_level => p_validation_level
119 ,p_counter_instance_rec => p_counter_instance_rec
120 ,P_ctr_properties_tbl => P_ctr_properties_tbl
121 ,P_counter_relationships_tbl => P_counter_relationships_tbl
122 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
123 ,P_counter_associations_tbl => P_counter_associations_tbl
124 ,x_return_status => x_return_status
125 ,x_msg_count => x_msg_count
126 ,x_msg_data => x_msg_data
127 ,x_ctr_id => x_ctr_id
128 );
129 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
130 l_msg_index := 1;
131 l_msg_count := x_msg_count;
132
133 WHILE l_msg_count > 0 LOOP
134 x_msg_data := FND_MSG_PUB.GET
135 (l_msg_index,
136 FND_API.G_FALSE );
137 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_COUNTER_PRE API');
138 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
139 l_msg_index := l_msg_index + 1;
140 l_msg_count := l_msg_count - 1;
141 END LOOP;
142 RAISE FND_API.G_EXC_ERROR;
143 END IF;
144
145
146 END IF;
147 /* Vertical pre -processing section - Mandatory */
148 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
149 CSI_COUNTER_VUHK.create_counter_pre
150 (
151 p_api_version => p_api_version
152 ,p_init_msg_list => p_init_msg_list
153 ,p_commit => p_commit
154 ,p_validation_level => p_validation_level
155 ,p_counter_instance_rec => p_counter_instance_rec
156 ,P_ctr_properties_tbl => P_ctr_properties_tbl
157 ,P_counter_relationships_tbl => P_counter_relationships_tbl
158 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
159 ,P_counter_associations_tbl => P_counter_associations_tbl
160 ,x_return_status => x_return_status
161 ,x_msg_count => x_msg_count
162 ,x_msg_data => x_msg_data
163 ,x_ctr_id => x_ctr_id
164 );
165 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
166 l_msg_index := 1;
167 l_msg_count := x_msg_count;
168
169 WHILE l_msg_count > 0 LOOP
170 x_msg_data := FND_MSG_PUB.GET
171 (l_msg_index,
172 FND_API.G_FALSE );
173 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_COUNTER_PRE API');
174 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
175 l_msg_index := l_msg_index + 1;
176 l_msg_count := l_msg_count - 1;
177 END LOOP;
178 RAISE FND_API.G_EXC_ERROR;
179 END IF;
180 END IF;
181
182 -- Start of API Body
183 /*
184 IF P_counter_associations_tbl.COUNT = 0 THEN
185 csi_ctr_gen_utility_pvt.put_line('Counter Associations Information is empty. Cannot Proceed...');
186 csi_ctr_gen_utility_pvt.ExitWithErrMsg('CSI_NO_CTR_ASSOC_ID');
187 END IF;
188 */
189 CSI_COUNTER_PVT.create_counter
190 (
191 p_api_version => 1.0
192 ,p_init_msg_list => p_init_msg_list
193 ,p_commit => p_commit
194 ,p_validation_level => p_validation_level
195 ,p_counter_instance_rec => p_counter_instance_rec
196 ,x_return_status => x_return_status
197 ,x_msg_count => x_msg_count
198 ,x_msg_data => x_msg_data
199 ,x_ctr_id => l_counter_id
200 );
201 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
202 l_msg_index := 1;
203 l_msg_count := x_msg_count;
204
205 WHILE l_msg_count > 0 LOOP
206 x_msg_data := FND_MSG_PUB.GET
207 (l_msg_index,
208 FND_API.G_FALSE );
209 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_COUNTER API');
210 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
211 l_msg_index := l_msg_index + 1;
212 l_msg_count := l_msg_count - 1;
213 END LOOP;
214 RAISE FND_API.G_EXC_ERROR;
215 END IF;
216
217 x_ctr_id := l_counter_id;
218
219 -- Insert Counter Properties
220 IF p_ctr_properties_tbl.count > 0 THEN
221 FOR j in p_ctr_properties_tbl.FIRST..p_ctr_properties_tbl.LAST
222 LOOP
223 DECLARE
224 l_ctr_property_id NUMBER;
225 BEGIN
226 l_Ctr_properties_rec.counter_id := l_counter_id;
227 l_Ctr_properties_rec.NAME := p_ctr_properties_tbl(j).name;
228 l_Ctr_properties_rec.DESCRIPTION := p_ctr_properties_tbl(j).DESCRIPTION;
229 l_Ctr_properties_rec.PROPERTY_DATA_TYPE := p_ctr_properties_tbl(j).PROPERTY_DATA_TYPE;
230 l_Ctr_properties_rec.IS_NULLABLE := p_ctr_properties_tbl(j).IS_NULLABLE;
231 l_Ctr_properties_rec.DEFAULT_VALUE := p_ctr_properties_tbl(j).DEFAULT_VALUE;
232 l_Ctr_properties_rec.MINIMUM_VALUE := p_ctr_properties_tbl(j).MINIMUM_VALUE;
233 l_Ctr_properties_rec.MAXIMUM_VALUE := p_ctr_properties_tbl(j).MAXIMUM_VALUE;
234 l_Ctr_properties_rec.UOM_CODE := p_ctr_properties_tbl(j).UOM_CODE;
235 l_Ctr_properties_rec.START_DATE_ACTIVE := p_ctr_properties_tbl(j).START_DATE_ACTIVE;
236 l_Ctr_properties_rec.END_DATE_ACTIVE := p_ctr_properties_tbl(j).END_DATE_ACTIVE;
237 l_Ctr_properties_rec.PROPERTY_LOV_TYPE := p_ctr_properties_tbl(j).PROPERTY_LOV_TYPE;
238 l_Ctr_properties_rec.ATTRIBUTE1 := p_ctr_properties_tbl(j).ATTRIBUTE1;
239 l_Ctr_properties_rec.ATTRIBUTE2 := p_ctr_properties_tbl(j).ATTRIBUTE2;
240 l_Ctr_properties_rec.ATTRIBUTE3 := p_ctr_properties_tbl(j).ATTRIBUTE3;
241 l_Ctr_properties_rec.ATTRIBUTE4 := p_ctr_properties_tbl(j).ATTRIBUTE4;
242 l_Ctr_properties_rec.ATTRIBUTE5 := p_ctr_properties_tbl(j).ATTRIBUTE5;
243 l_Ctr_properties_rec.ATTRIBUTE6 := p_ctr_properties_tbl(j).ATTRIBUTE6;
244 l_Ctr_properties_rec.ATTRIBUTE7 := p_ctr_properties_tbl(j).ATTRIBUTE7;
245 l_Ctr_properties_rec.ATTRIBUTE8 := p_ctr_properties_tbl(j).ATTRIBUTE8;
246 l_Ctr_properties_rec.ATTRIBUTE9 := p_ctr_properties_tbl(j).ATTRIBUTE9;
247 l_Ctr_properties_rec.ATTRIBUTE10 := p_ctr_properties_tbl(j).ATTRIBUTE10;
248 l_Ctr_properties_rec.ATTRIBUTE11 := p_ctr_properties_tbl(j).ATTRIBUTE11;
249 l_Ctr_properties_rec.ATTRIBUTE12 := p_ctr_properties_tbl(j).ATTRIBUTE12;
250 l_Ctr_properties_rec.ATTRIBUTE13 := p_ctr_properties_tbl(j).ATTRIBUTE13;
251 l_Ctr_properties_rec.ATTRIBUTE14 := p_ctr_properties_tbl(j).ATTRIBUTE14;
252 l_Ctr_properties_rec.ATTRIBUTE15 := p_ctr_properties_tbl(j).ATTRIBUTE15;
253 l_Ctr_properties_rec.ATTRIBUTE_CATEGORY := p_ctr_properties_tbl(j).ATTRIBUTE_CATEGORY;
254
255
256 CSI_COUNTER_PVT.create_ctr_property
257 (
258 p_api_version => 1.0
259 ,p_init_msg_list => p_init_msg_list
260 ,p_commit => p_commit
261 ,p_validation_level => p_validation_level
262 ,p_ctr_properties_rec => l_Ctr_properties_rec
263 ,x_return_status => x_return_status
264 ,x_msg_count => x_msg_count
265 ,x_msg_data => x_msg_data
266 ,x_ctr_property_id => l_ctr_property_id
267 );
268 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
269 l_msg_index := 1;
270 l_msg_count := x_msg_count;
271
272 WHILE l_msg_count > 0 LOOP
273 x_msg_data := FND_MSG_PUB.GET
274 (l_msg_index,
275 FND_API.G_FALSE );
276 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_CTR_PROPERTY API');
277 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
278 l_msg_index := l_msg_index + 1;
279 l_msg_count := l_msg_count - 1;
280 END LOOP;
281 RAISE FND_API.G_EXC_ERROR;
282 END IF;
283 END;
284 END LOOP;
285 END IF;
286
287 -- Insert Counter relationships
288 IF P_counter_relationships_tbl.count > 0 THEN
289 FOR i in p_counter_relationships_tbl.FIRST..p_counter_relationships_tbl.LAST
290 LOOP
291 DECLARE
292 l_relationship_id NUMBER;
293 BEGIN
294 l_counter_relationships_rec.OBJECT_COUNTER_ID := l_counter_id;
295 l_counter_relationships_rec.CTR_ASSOCIATION_ID := p_counter_relationships_tbl(i).CTR_ASSOCIATION_ID;
296 l_counter_relationships_rec.RELATIONSHIP_TYPE_CODE := p_counter_relationships_tbl(i).RELATIONSHIP_TYPE_CODE;
297 l_counter_relationships_rec.SOURCE_COUNTER_ID := p_counter_relationships_tbl(i).SOURCE_COUNTER_ID;
298 l_counter_relationships_rec.ACTIVE_START_DATE := p_counter_relationships_tbl(i).ACTIVE_START_DATE ;
299 l_counter_relationships_rec.ACTIVE_END_DATE := p_counter_relationships_tbl(i).ACTIVE_END_DATE;
300 l_counter_relationships_rec.BIND_VARIABLE_NAME := p_counter_relationships_tbl(i).BIND_VARIABLE_NAME;
301 l_counter_relationships_rec.FACTOR := p_counter_relationships_tbl(i).FACTOR;
302 l_counter_relationships_rec.ATTRIBUTE1 := p_counter_relationships_tbl(i).ATTRIBUTE1;
303 l_counter_relationships_rec.ATTRIBUTE2 := p_counter_relationships_tbl(i).ATTRIBUTE2;
304 l_counter_relationships_rec.ATTRIBUTE3 := p_counter_relationships_tbl(i).ATTRIBUTE3;
305 l_counter_relationships_rec.ATTRIBUTE4 := p_counter_relationships_tbl(i).ATTRIBUTE4;
306 l_counter_relationships_rec.ATTRIBUTE5 := p_counter_relationships_tbl(i).ATTRIBUTE5;
307 l_counter_relationships_rec.ATTRIBUTE6 := p_counter_relationships_tbl(i).ATTRIBUTE6;
308 l_counter_relationships_rec.ATTRIBUTE7 := p_counter_relationships_tbl(i).ATTRIBUTE7;
309 l_counter_relationships_rec.ATTRIBUTE8 := p_counter_relationships_tbl(i).ATTRIBUTE8;
310 l_counter_relationships_rec.ATTRIBUTE9 := p_counter_relationships_tbl(i).ATTRIBUTE9;
311 l_counter_relationships_rec.ATTRIBUTE10 := p_counter_relationships_tbl(i).ATTRIBUTE10;
312 l_counter_relationships_rec.ATTRIBUTE11 := p_counter_relationships_tbl(i).ATTRIBUTE11;
313 l_counter_relationships_rec.ATTRIBUTE12 := p_counter_relationships_tbl(i).ATTRIBUTE12;
314 l_counter_relationships_rec.ATTRIBUTE13 := p_counter_relationships_tbl(i).ATTRIBUTE13;
315 l_counter_relationships_rec.ATTRIBUTE14 := p_counter_relationships_tbl(i).ATTRIBUTE14;
316 l_counter_relationships_rec.ATTRIBUTE15 := p_counter_relationships_tbl(i).ATTRIBUTE15;
317 l_counter_relationships_rec.ATTRIBUTE_CATEGORY := p_counter_relationships_tbl(i).ATTRIBUTE_CATEGORY;
318
319
320 CSI_COUNTER_TEMPLATE_PVT.create_counter_relationship
321 (
322 p_api_version => 1.0
323 ,p_init_msg_list => p_init_msg_list
324 ,p_commit => p_commit
325 ,p_validation_level => p_validation_level
326 ,p_counter_relationships_rec => l_counter_relationships_rec
327 ,x_return_status => x_return_status
328 ,x_msg_count => x_msg_count
329 ,x_msg_data => x_msg_data
330 );
331 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
332 l_msg_index := 1;
333 l_msg_count := x_msg_count;
334
335 WHILE l_msg_count > 0 LOOP
336 x_msg_data := FND_MSG_PUB.GET
337 (l_msg_index,
338 FND_API.G_FALSE );
339 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_TEMPLATE_PVT.CREATE_COUNTER_RELATIONSHIP API');
340 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
341 l_msg_index := l_msg_index + 1;
342 l_msg_count := l_msg_count - 1;
343 END LOOP;
344 RAISE FND_API.G_EXC_ERROR;
345 END IF;
346 END;
347 END LOOP;
348 END IF;
349
350 IF p_ctr_derived_filters_tbl.count > 0 THEN
351 FOR i in p_ctr_derived_filters_tbl.FIRST..p_ctr_derived_filters_tbl.LAST
352 LOOP
353 p_ctr_derived_filters_tbl(i).COUNTER_ID := l_counter_id;
354 END LOOP;
355 -- Insert derived filters
356 CSI_COUNTER_TEMPLATE_PVT.create_derived_filters
357 (
358 p_api_version => 1.0
359 ,p_init_msg_list => p_init_msg_list
360 ,p_commit => p_commit
361 ,p_validation_level => p_validation_level
362 ,p_ctr_derived_filters_tbl => p_ctr_derived_filters_tbl
363 ,x_return_status => x_return_status
364 ,x_msg_count => x_msg_count
365 ,x_msg_data => x_msg_data
366 );
367 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
368 l_msg_index := 1;
369 l_msg_count := x_msg_count;
370
371 WHILE l_msg_count > 0 LOOP
372 x_msg_data := FND_MSG_PUB.GET
373 (l_msg_index,
374 FND_API.G_FALSE );
375 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_TEMPLATE_PVT.CREATE_DERIVED_FILTERS API');
376 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
377 l_msg_index := l_msg_index + 1;
378 l_msg_count := l_msg_count - 1;
379 END LOOP;
380 RAISE FND_API.G_EXC_ERROR;
381 END IF;
382 END IF;
383
384 -- Insert Counter associations
385 IF p_counter_associations_tbl.count > 0 THEN
386 FOR i in p_counter_associations_tbl.FIRST..p_counter_associations_tbl.LAST
387 LOOP
388 DECLARE
389 l_instance_association_id NUMBER;
390 BEGIN
391 l_counter_associations_rec.COUNTER_ID := l_counter_id;
392 l_counter_associations_rec.SOURCE_OBJECT_CODE := p_counter_associations_tbl(i).SOURCE_OBJECT_CODE;
393 l_counter_associations_rec.SOURCE_OBJECT_ID := p_counter_associations_tbl(i).SOURCE_OBJECT_ID;
394 l_counter_associations_rec.START_DATE_ACTIVE := p_counter_associations_tbl(i).START_DATE_ACTIVE ;
395 l_counter_associations_rec.END_DATE_ACTIVE := p_counter_associations_tbl(i).END_DATE_ACTIVE;
396 l_counter_associations_rec.ATTRIBUTE1 := p_counter_associations_tbl(i).ATTRIBUTE1;
397 l_counter_associations_rec.ATTRIBUTE2 := p_counter_associations_tbl(i).ATTRIBUTE2;
398 l_counter_associations_rec.ATTRIBUTE3 := p_counter_associations_tbl(i).ATTRIBUTE3;
399 l_counter_associations_rec.ATTRIBUTE4 := p_counter_associations_tbl(i).ATTRIBUTE4;
400 l_counter_associations_rec.ATTRIBUTE5 := p_counter_associations_tbl(i).ATTRIBUTE5;
401 l_counter_associations_rec.ATTRIBUTE6 := p_counter_associations_tbl(i).ATTRIBUTE6;
402 l_counter_associations_rec.ATTRIBUTE7 := p_counter_associations_tbl(i).ATTRIBUTE7;
403 l_counter_associations_rec.ATTRIBUTE8 := p_counter_associations_tbl(i).ATTRIBUTE8;
404 l_counter_associations_rec.ATTRIBUTE9 := p_counter_associations_tbl(i).ATTRIBUTE9;
405 l_counter_associations_rec.ATTRIBUTE10 := p_counter_associations_tbl(i).ATTRIBUTE10;
406 l_counter_associations_rec.ATTRIBUTE11 := p_counter_associations_tbl(i).ATTRIBUTE11;
407 l_counter_associations_rec.ATTRIBUTE12 := p_counter_associations_tbl(i).ATTRIBUTE12;
408 l_counter_associations_rec.ATTRIBUTE13 := p_counter_associations_tbl(i).ATTRIBUTE13;
409 l_counter_associations_rec.ATTRIBUTE14 := p_counter_associations_tbl(i).ATTRIBUTE14;
410 l_counter_associations_rec.ATTRIBUTE15 := p_counter_associations_tbl(i).ATTRIBUTE15;
411 l_counter_associations_rec.ATTRIBUTE_CATEGORY := p_counter_associations_tbl(i).ATTRIBUTE_CATEGORY;
412 l_counter_associations_rec.maint_organization_id := p_counter_associations_tbl(i).maint_organization_id;
413 l_counter_associations_rec.primary_failure_flag := p_counter_associations_tbl(i).primary_failure_flag;
414
415 -- Added to insert initial reading.
416 l_src_obj_cd := p_counter_associations_tbl(i).SOURCE_OBJECT_CODE;
417 l_src_obj_id := p_counter_associations_tbl(i).SOURCE_OBJECT_ID;
418
419
420 CSI_COUNTER_PVT.create_ctr_associations
421 (
422 p_api_version => 1.0
423 ,p_init_msg_list => p_init_msg_list
424 ,p_commit => p_commit
425 ,p_validation_level => p_validation_level
426 ,p_counter_associations_rec => l_counter_associations_rec
427 ,x_return_status => x_return_status
428 ,x_msg_count => x_msg_count
429 ,x_msg_data => x_msg_data
430 ,x_instance_association_id => l_instance_association_id
431 );
432 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
433 l_msg_index := 1;
434 l_msg_count := x_msg_count;
435
436 WHILE l_msg_count > 0 LOOP
437 x_msg_data := FND_MSG_PUB.GET
438 (l_msg_index,
439 FND_API.G_FALSE );
440 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_CTR_ASSOCIATIONS API');
441 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
442 l_msg_index := l_msg_index + 1;
443 l_msg_count := l_msg_count - 1;
444 END LOOP;
445 RAISE FND_API.G_EXC_ERROR;
446 END IF;
447 END;
448 END LOOP;
449 END IF;
450
451 -- Insert initial reading by calling counter reading api.
452 IF p_counter_instance_rec.counter_type = 'REGULAR' and (p_counter_instance_rec.initial_reading is not null and
453 p_counter_instance_rec.initial_reading <> FND_API.G_MISS_NUM) and nvl(l_counter_relationships_rec.RELATIONSHIP_TYPE_CODE,'X') <> l_rel_type then
454
455 --create transaction record
456 l_transaction_tbl(l_c_ind_txn) := NULL;
457 l_transaction_tbl(l_c_ind_txn).TRANSACTION_ID := NULL;
458 l_transaction_tbl(l_c_ind_txn).TRANSACTION_DATE := sysdate;
459 l_transaction_tbl(l_c_ind_txn).SOURCE_TRANSACTION_DATE := sysdate;
460 if l_src_obj_cd = 'CP' then
461 l_transaction_type_id := 80;
462 elsif l_src_obj_cd = 'CONTRACT_LINE' then
463 l_transaction_type_id := 81;
464 end if;
465 if l_transaction_type_id is null then
466 l_transaction_type_id := 80;
467 end if;
468 l_transaction_tbl(l_c_ind_txn).TRANSACTION_TYPE_ID := l_transaction_type_id;
469 l_transaction_tbl(l_c_ind_txn).TXN_SUB_TYPE_ID := NULL;
470 l_transaction_tbl(l_c_ind_txn).SOURCE_GROUP_REF_ID := NULL;
471 l_transaction_tbl(l_c_ind_txn).SOURCE_GROUP_REF := NULL;
472 l_transaction_tbl(l_c_ind_txn).SOURCE_HEADER_REF_ID := l_src_obj_id;
473
474 -- create counter readings table
475 l_counter_readings_tbl(l_c_ind_rdg).COUNTER_VALUE_ID := NULL;
476 l_counter_readings_tbl(l_c_ind_rdg).COUNTER_ID := l_counter_id;
477 -- l_counter_readings_tbl(l_c_ind_rdg).VALUE_TIMESTAMP := sysdate;
478 l_counter_readings_tbl(l_c_ind_rdg).VALUE_TIMESTAMP := p_counter_instance_rec.initial_reading_date;
479 l_counter_readings_tbl(l_c_ind_rdg).COUNTER_READING := p_counter_instance_rec.initial_reading;
480 l_counter_readings_tbl(l_c_ind_rdg).initial_reading_flag := 'Y';
481 l_counter_readings_tbl(l_c_ind_rdg).DISABLED_FLAG := 'N';
482 l_counter_readings_tbl(l_c_ind_rdg).comments := 'Initial Reading';
483 l_counter_readings_tbl(l_c_ind_rdg).PARENT_TBL_INDEX := l_c_ind_txn;
484
485 FOR dflt_rec IN DFLT_PROP_RDG(l_counter_id)
486 LOOP
487 l_ctr_property_readings_tbl(l_c_ind_prop).COUNTER_PROP_VALUE_ID := NULL;
488 l_ctr_property_readings_tbl(l_c_ind_prop).COUNTER_PROPERTY_ID := dflt_rec.counter_property_id;
489 if dflt_rec.default_value is not null then
490 l_ctr_property_readings_tbl(l_c_ind_prop).PROPERTY_VALUE := dflt_rec.default_value;
491 else
492 if dflt_rec.property_data_type = 'CHAR' then
493 l_ctr_property_readings_tbl(l_c_ind_prop).PROPERTY_VALUE := 'Initial Reading';
494 elsif dflt_rec.property_data_type = 'DATE' then
495 l_ctr_property_readings_tbl(l_c_ind_prop).PROPERTY_VALUE := sysdate;
496 else
497 l_ctr_property_readings_tbl(l_c_ind_prop).PROPERTY_VALUE := '1';
498 end if;
499 end if;
500 l_ctr_property_readings_tbl(l_c_ind_prop).VALUE_TIMESTAMP := sysdate;
501 l_ctr_property_readings_tbl(l_c_ind_prop).PARENT_TBL_INDEX := l_c_ind_rdg;
502 l_c_ind_prop := l_c_ind_prop + 1;
503 END LOOP;
504
505 csi_counter_readings_pub.capture_counter_reading(
506 p_api_version => 1.0,
507 p_commit => p_commit,
508 p_init_msg_list => p_init_msg_list,
509 p_validation_level => p_validation_level,
510 p_txn_tbl => l_transaction_tbl, --IN OUT NOCOPY csi_datastructures_pub.transaction_tbl
511 p_ctr_rdg_tbl => l_counter_readings_tbl, --IN OUT NOCOPY csi_ctr_datastructures_pub.counter_readings_tbl
512 p_ctr_prop_rdg_tbl => l_ctr_property_readings_tbl, --IN OUT NOCOPY csi_ctr_datastructures_pub.ctr_property_readings_tbl
513 x_return_status => x_return_status,
514 x_msg_count => x_msg_count,
515 x_msg_data => x_msg_data
516 );
517 END IF;
518
519 -- End of API body
520
521 /* Customer post -processing section - Mandatory */
522 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
523 CSI_COUNTER_CUHK.create_counter_post
524 (
525 p_api_version => p_api_version
526 ,p_init_msg_list => p_init_msg_list
527 ,p_commit => p_commit
528 ,p_validation_level => p_validation_level
529 ,p_counter_instance_rec => p_counter_instance_rec
530 ,P_ctr_properties_tbl => P_ctr_properties_tbl
531 ,P_counter_relationships_tbl => P_counter_relationships_tbl
532 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
533 ,P_counter_associations_tbl => P_counter_associations_tbl
534 ,x_return_status => x_return_status
535 ,x_msg_count => x_msg_count
536 ,x_msg_data => x_msg_data
537 ,x_ctr_id => x_ctr_id
538 );
539 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
540 l_msg_index := 1;
541 l_msg_count := x_msg_count;
542
543 WHILE l_msg_count > 0 LOOP
544 x_msg_data := FND_MSG_PUB.GET
545 (l_msg_index,
546 FND_API.G_FALSE );
547 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_COUNTER_POST API');
548 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
549 l_msg_index := l_msg_index + 1;
550 l_msg_count := l_msg_count - 1;
551 END LOOP;
552 RAISE FND_API.G_EXC_ERROR;
553 END IF;
554 END IF;
555 /* Vertical post -processing section - Mandatory */
556 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
557 CSI_COUNTER_VUHK.create_counter_post
558 (
559 p_api_version => p_api_version
560 ,p_init_msg_list => p_init_msg_list
561 ,p_commit => p_commit
562 ,p_validation_level => p_validation_level
563 ,p_counter_instance_rec => p_counter_instance_rec
564 ,P_ctr_properties_tbl => P_ctr_properties_tbl
565 ,P_counter_relationships_tbl => P_counter_relationships_tbl
566 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
567 ,P_counter_associations_tbl => P_counter_associations_tbl
568 ,x_return_status => x_return_status
569 ,x_msg_count => x_msg_count
570 ,x_msg_data => x_msg_data
571 ,x_ctr_id => x_ctr_id
572 );
573 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
574 l_msg_index := 1;
575 l_msg_count := x_msg_count;
576
577 WHILE l_msg_count > 0 LOOP
578 x_msg_data := FND_MSG_PUB.GET
579 (l_msg_index,
580 FND_API.G_FALSE );
581 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_COUNTER_POST API');
582 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
583 l_msg_index := l_msg_index + 1;
584 l_msg_count := l_msg_count - 1;
585 END LOOP;
586 RAISE FND_API.G_EXC_ERROR;
587 END IF;
588 END IF;
589
590 -- Standard check of p_commit.
591 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
592 COMMIT WORK;
593 END IF;
594
595 EXCEPTION
596 WHEN FND_API.G_EXC_ERROR THEN
597 x_return_status := FND_API.G_RET_STS_ERROR ;
598 ROLLBACK TO create_counter_pub;
599 FND_MSG_PUB.Count_And_Get
600 (p_count => x_msg_count,
601 p_data => x_msg_data
602 );
603
604 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
605 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
606 ROLLBACK TO create_counter_pub;
607 FND_MSG_PUB.Count_And_Get
608 (p_count => x_msg_count,
609 p_data => x_msg_data
610 );
611 WHEN OTHERS THEN
612 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
613 ROLLBACK TO create_counter_pub;
614 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
615 THEN
616 FND_MSG_PUB.Add_Exc_Msg
617 (G_PKG_NAME,
618 l_api_name
619 );
620 END IF;
621 FND_MSG_PUB.Count_And_Get
622 (p_count => x_msg_count,
623 p_data => x_msg_data
624 );
625
626 END create_counter;
627
628 --|---------------------------------------------------
629 --| procedure name: create_ctr_property
630 --| description : procedure used to
631 --| create counter properties
632 --|---------------------------------------------------
633
634 PROCEDURE create_ctr_property
635 (
636 p_api_version IN NUMBER
637 ,p_commit IN VARCHAR2
638 ,p_init_msg_list IN VARCHAR2
639 ,p_validation_level IN NUMBER
640 ,P_ctr_properties_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_tbl
641 ,x_return_status OUT NOCOPY VARCHAR2
642 ,x_msg_count OUT NOCOPY NUMBER
643 ,x_msg_data OUT NOCOPY VARCHAR2
644 ,x_ctr_property_id OUT NOCOPY NUMBER
645 )
646 IS
647 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CTR_PROPERTY';
648 l_api_version CONSTANT NUMBER := 1.0;
649 -- l_debug_level NUMBER;
650 l_flag VARCHAR2(1) := 'N';
651 l_msg_data VARCHAR2(2000);
652 l_msg_index NUMBER;
653 l_msg_count NUMBER;
654 l_count NUMBER;
655 l_return_message VARCHAR2(100);
656
657 l_Ctr_properties_rec CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_rec;
658
659 BEGIN
660 -- Standard Start of API savepoint
661 SAVEPOINT create_ctr_property_pub;
662
663 -- Standard call to check for call compatibility.
664 IF NOT FND_API.Compatible_API_Call (l_api_version,
665 p_api_version,
666 l_api_name ,
667 G_PKG_NAME )
668 THEN
669 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
670 END IF;
671
672 -- Initialize message list if p_init_msg_list is set to TRUE.
673 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
674 FND_MSG_PUB.initialize;
675 END IF;
676
677 -- Initialize API return status to success
678 x_return_status := FND_API.G_RET_STS_SUCCESS;
679
680 -- Read the debug profiles values in to global variable 7197402
681 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
682
683 -- Check the profile option debug_level for debug message reporting
684 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
685
686 -- If debug_level = 1 then dump the procedure name
687 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
688 csi_ctr_gen_utility_pvt.put_line( 'create_ctr_property');
689 END IF;
690
691 -- If the debug level = 2 then dump all the parameters values.
692 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
693 csi_ctr_gen_utility_pvt.put_line( 'create_ctr_property' ||
694 p_api_version ||'-'||
695 p_commit ||'-'||
696 p_init_msg_list ||'-'||
697 p_validation_level );
698 csi_ctr_gen_utility_pvt.dump_ctr_properties_tbl(p_ctr_properties_tbl);
699 END IF;
700
701 /* Customer pre -processing section - Mandatory */
702 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
703 CSI_COUNTER_CUHK.create_ctr_property_pre
704 (
705 p_api_version => p_api_version
706 ,p_init_msg_list => p_init_msg_list
707 ,p_commit => p_commit
708 ,p_validation_level => p_validation_level
709 ,P_ctr_properties_tbl => P_ctr_properties_tbl
710 ,x_return_status => x_return_status
711 ,x_msg_count => x_msg_count
712 ,x_msg_data => x_msg_data
713 ,x_ctr_property_id => x_ctr_property_id
714 );
715 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
716 l_msg_index := 1;
717 l_msg_count := x_msg_count;
718
719 WHILE l_msg_count > 0 LOOP
720 x_msg_data := FND_MSG_PUB.GET
721 (l_msg_index,
722 FND_API.G_FALSE );
723 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_CTR_PROPERTY_PRE API');
724 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
725 l_msg_index := l_msg_index + 1;
726 l_msg_count := l_msg_count - 1;
727 END LOOP;
728 RAISE FND_API.G_EXC_ERROR;
729 END IF;
730 END IF;
731 /* Vertical pre -processing section - Mandatory */
732 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
733 CSI_COUNTER_VUHK.create_ctr_property_pre
734 (
735 p_api_version => p_api_version
736 ,p_init_msg_list => p_init_msg_list
737 ,p_commit => p_commit
738 ,p_validation_level => p_validation_level
739 ,P_ctr_properties_tbl => P_ctr_properties_tbl
740 ,x_return_status => x_return_status
741 ,x_msg_count => x_msg_count
742 ,x_msg_data => x_msg_data
743 ,x_ctr_property_id => x_ctr_property_id
744 );
745 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
746 l_msg_index := 1;
747 l_msg_count := x_msg_count;
748
749 WHILE l_msg_count > 0 LOOP
750 x_msg_data := FND_MSG_PUB.GET
751 (l_msg_index,
752 FND_API.G_FALSE );
753 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_CTR_PROPERTY_PRE API');
754 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
755 l_msg_index := l_msg_index + 1;
756 l_msg_count := l_msg_count - 1;
757 END LOOP;
758 RAISE FND_API.G_EXC_ERROR;
759 END IF ;
760 END IF;
761
762 -- Start of API Body
763
764 IF p_ctr_properties_tbl.count > 0 THEN
765 FOR j in p_ctr_properties_tbl.FIRST..p_ctr_properties_tbl.LAST
766 LOOP
767 DECLARE
768 l_ctr_property_id NUMBER;
769 BEGIN
770 l_Ctr_properties_rec.counter_id := p_ctr_properties_tbl(j).counter_id;
771 l_Ctr_properties_rec.NAME := p_ctr_properties_tbl(j).name;
772 l_Ctr_properties_rec.DESCRIPTION := p_ctr_properties_tbl(j).DESCRIPTION;
773 l_Ctr_properties_rec.PROPERTY_DATA_TYPE := p_ctr_properties_tbl(j).PROPERTY_DATA_TYPE;
774 l_Ctr_properties_rec.IS_NULLABLE := p_ctr_properties_tbl(j).IS_NULLABLE;
775 l_Ctr_properties_rec.DEFAULT_VALUE := p_ctr_properties_tbl(j).DEFAULT_VALUE;
776 l_Ctr_properties_rec.MINIMUM_VALUE := p_ctr_properties_tbl(j).MINIMUM_VALUE;
777 l_Ctr_properties_rec.MAXIMUM_VALUE := p_ctr_properties_tbl(j).MAXIMUM_VALUE;
778 l_Ctr_properties_rec.UOM_CODE := p_ctr_properties_tbl(j).UOM_CODE;
779 l_Ctr_properties_rec.START_DATE_ACTIVE := p_ctr_properties_tbl(j).START_DATE_ACTIVE;
780 l_Ctr_properties_rec.END_DATE_ACTIVE := p_ctr_properties_tbl(j).END_DATE_ACTIVE;
781 l_Ctr_properties_rec.PROPERTY_LOV_TYPE := p_ctr_properties_tbl(j).PROPERTY_LOV_TYPE;
782 l_Ctr_properties_rec.ATTRIBUTE1 := p_ctr_properties_tbl(j).ATTRIBUTE1;
783 l_Ctr_properties_rec.ATTRIBUTE2 := p_ctr_properties_tbl(j).ATTRIBUTE2;
784 l_Ctr_properties_rec.ATTRIBUTE3 := p_ctr_properties_tbl(j).ATTRIBUTE3;
785 l_Ctr_properties_rec.ATTRIBUTE4 := p_ctr_properties_tbl(j).ATTRIBUTE4;
786 l_Ctr_properties_rec.ATTRIBUTE5 := p_ctr_properties_tbl(j).ATTRIBUTE5;
787 l_Ctr_properties_rec.ATTRIBUTE6 := p_ctr_properties_tbl(j).ATTRIBUTE6;
788 l_Ctr_properties_rec.ATTRIBUTE7 := p_ctr_properties_tbl(j).ATTRIBUTE7;
789 l_Ctr_properties_rec.ATTRIBUTE8 := p_ctr_properties_tbl(j).ATTRIBUTE8;
790 l_Ctr_properties_rec.ATTRIBUTE9 := p_ctr_properties_tbl(j).ATTRIBUTE9;
791 l_Ctr_properties_rec.ATTRIBUTE10 := p_ctr_properties_tbl(j).ATTRIBUTE10;
792 l_Ctr_properties_rec.ATTRIBUTE11 := p_ctr_properties_tbl(j).ATTRIBUTE11;
793 l_Ctr_properties_rec.ATTRIBUTE12 := p_ctr_properties_tbl(j).ATTRIBUTE12;
794 l_Ctr_properties_rec.ATTRIBUTE13 := p_ctr_properties_tbl(j).ATTRIBUTE13;
795 l_Ctr_properties_rec.ATTRIBUTE14 := p_ctr_properties_tbl(j).ATTRIBUTE14;
796 l_Ctr_properties_rec.ATTRIBUTE15 := p_ctr_properties_tbl(j).ATTRIBUTE15;
797 l_Ctr_properties_rec.ATTRIBUTE_CATEGORY := p_ctr_properties_tbl(j).ATTRIBUTE_CATEGORY;
798
799
800 CSI_COUNTER_PVT.create_ctr_property
801 (
802 p_api_version => 1.0
803 ,p_init_msg_list => p_init_msg_list
804 ,p_commit => p_commit
805 ,p_validation_level => p_validation_level
806 ,p_ctr_properties_rec => l_Ctr_properties_rec
807 ,x_return_status => x_return_status
808 ,x_msg_count => x_msg_count
809 ,x_msg_data => x_msg_data
810 ,x_ctr_property_id => l_ctr_property_id
811 );
812 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
813 l_msg_index := 1;
814 l_msg_count := x_msg_count;
815
816 WHILE l_msg_count > 0 LOOP
817 x_msg_data := FND_MSG_PUB.GET
818 (l_msg_index,
819 FND_API.G_FALSE );
820 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_CTR_PROPERTY API');
821 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
822 l_msg_index := l_msg_index + 1;
823 l_msg_count := l_msg_count - 1;
824 END LOOP;
825 RAISE FND_API.G_EXC_ERROR;
826 END IF;
827 END;
828 END LOOP;
829 END IF;
830
831 -- End of API body
832
833 /* Customer post -processing section - Mandatory */
834 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
835 CSI_COUNTER_CUHK.create_ctr_property_post
836 (
837 p_api_version => p_api_version
838 ,p_init_msg_list => p_init_msg_list
839 ,p_commit => p_commit
840 ,p_validation_level => p_validation_level
841 ,P_ctr_properties_tbl => P_ctr_properties_tbl
842 ,x_return_status => x_return_status
843 ,x_msg_count => x_msg_count
844 ,x_msg_data => x_msg_data
845 ,x_ctr_property_id => x_ctr_property_id
846 );
847 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
848 l_msg_index := 1;
849 l_msg_count := x_msg_count;
850
851 WHILE l_msg_count > 0 LOOP
852 x_msg_data := FND_MSG_PUB.GET
853 (l_msg_index,
854 FND_API.G_FALSE );
855 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_CTR_PROPERTY_POST API');
856 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
857 l_msg_index := l_msg_index + 1;
858 l_msg_count := l_msg_count - 1;
859 END LOOP;
860 RAISE FND_API.G_EXC_ERROR;
861 END IF;
862 END IF;
863 /* Vertical post -processing section - Mandatory */
864 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
865 CSI_COUNTER_VUHK.create_ctr_property_post
866 (
867 p_api_version => p_api_version
868 ,p_init_msg_list => p_init_msg_list
869 ,p_commit => p_commit
870 ,p_validation_level => p_validation_level
871 ,P_ctr_properties_tbl => P_ctr_properties_tbl
872 ,x_return_status => x_return_status
873 ,x_msg_count => x_msg_count
874 ,x_msg_data => x_msg_data
875 ,x_ctr_property_id => x_ctr_property_id
876 );
877 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
878 l_msg_index := 1;
879 l_msg_count := x_msg_count;
880
881 WHILE l_msg_count > 0 LOOP
882 x_msg_data := FND_MSG_PUB.GET
883 (l_msg_index,
884 FND_API.G_FALSE );
885 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_CTR_PROPERTY_POST API');
886 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
887 l_msg_index := l_msg_index + 1;
888 l_msg_count := l_msg_count - 1;
889 END LOOP;
890 RAISE FND_API.G_EXC_ERROR;
891 END IF;
892 END IF;
893
894 -- Standard check of p_commit.
895 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
896 COMMIT WORK;
897 END IF;
898
899 EXCEPTION
900 WHEN FND_API.G_EXC_ERROR THEN
901 x_return_status := FND_API.G_RET_STS_ERROR ;
902 ROLLBACK TO create_ctr_property_pub;
903 FND_MSG_PUB.Count_And_Get
904 (p_count => x_msg_count,
905 p_data => x_msg_data
906 );
907
908 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
909 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
910 ROLLBACK TO create_ctr_property_pub;
911 FND_MSG_PUB.Count_And_Get
912 (p_count => x_msg_count,
913 p_data => x_msg_data
914 );
915 WHEN OTHERS THEN
916 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
917 ROLLBACK TO create_ctr_property_pub;
918 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
919 THEN
920 FND_MSG_PUB.Add_Exc_Msg
921 (G_PKG_NAME,
922 l_api_name
923 );
924 END IF;
925 FND_MSG_PUB.Count_And_Get
926 (p_count => x_msg_count,
927 p_data => x_msg_data
928 );
929
930 END create_ctr_property;
931
932 --|---------------------------------------------------
933 --| procedure name: create_ctr_associations
934 --| description : procedure used to
935 --| create counter associations
936 --|---------------------------------------------------
937
938 PROCEDURE create_ctr_associations
939 (
940 p_api_version IN NUMBER
941 ,p_commit IN VARCHAR2
942 ,p_init_msg_list IN VARCHAR2
943 ,p_validation_level IN NUMBER
944 ,P_counter_associations_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.counter_associations_tbl
945 ,x_return_status OUT NOCOPY VARCHAR2
946 ,x_msg_count OUT NOCOPY NUMBER
947 ,x_msg_data OUT NOCOPY VARCHAR2
948 ,x_instance_association_id OUT NOCOPY NUMBER
949 )
950 IS
951 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CTR_ASSOCIATIONS';
952 l_api_version CONSTANT NUMBER := 1.0;
953 -- l_debug_level NUMBER;
954 l_flag VARCHAR2(1) := 'N';
955 l_msg_data VARCHAR2(2000);
956 l_msg_index NUMBER;
957 l_msg_count NUMBER;
958 l_count NUMBER;
959 l_return_message VARCHAR2(100);
960
961 l_counter_associations_rec CSI_CTR_DATASTRUCTURES_PUB.counter_associations_rec;
962
963 BEGIN
964 -- Standard Start of API savepoint
965 SAVEPOINT create_ctr_associations_pub;
966
967 -- Standard call to check for call compatibility.
968 IF NOT FND_API.Compatible_API_Call (l_api_version,
969 p_api_version,
970 l_api_name ,
971 G_PKG_NAME )
972 THEN
973 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
974 END IF;
975
976 -- Initialize message list if p_init_msg_list is set to TRUE.
977 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
978 FND_MSG_PUB.initialize;
979 END IF;
980
981 -- Initialize API return status to success
982 x_return_status := FND_API.G_RET_STS_SUCCESS;
983
984 -- Read the debug profiles values in to global variable 7197402
985 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
986
987 -- Check the profile option debug_level for debug message reporting
988 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
989
990 -- If debug_level = 1 then dump the procedure name
991 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
992 csi_ctr_gen_utility_pvt.put_line( 'create_ctr_associations');
993 END IF;
994
995 -- If the debug level = 2 then dump all the parameters values.
996 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
997 csi_ctr_gen_utility_pvt.put_line( 'create_ctr_associations' ||
998 p_api_version ||'-'||
999 p_commit ||'-'||
1000 p_init_msg_list ||'-'||
1001 p_validation_level );
1002 csi_ctr_gen_utility_pvt.dump_counter_associations_tbl(p_counter_associations_tbl);
1003 END IF;
1004
1005 /* Customer pre -processing section - Mandatory */
1006 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1007 CSI_COUNTER_CUHK.create_ctr_associations_pre
1008 (
1009 p_api_version => p_api_version
1010 ,p_init_msg_list => p_init_msg_list
1011 ,p_commit => p_commit
1012 ,p_validation_level => p_validation_level
1013 ,P_counter_associations_tbl => P_counter_associations_tbl
1014 ,x_return_status => x_return_status
1015 ,x_msg_count => x_msg_count
1016 ,x_msg_data => x_msg_data
1017 ,x_instance_association_id => x_instance_association_id
1018 );
1019 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1020 l_msg_index := 1;
1021 l_msg_count := x_msg_count;
1022
1023 WHILE l_msg_count > 0 LOOP
1024 x_msg_data := FND_MSG_PUB.GET
1025 (l_msg_index,
1026 FND_API.G_FALSE );
1027 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_CTR_ASSOCIATIONS_PRE API');
1028 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1029 l_msg_index := l_msg_index + 1;
1030 l_msg_count := l_msg_count - 1;
1031 END LOOP;
1032 RAISE FND_API.G_EXC_ERROR;
1033 END IF;
1034 END IF;
1035
1036 /* Vertical pre -processing section - Mandatory */
1037 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1038 CSI_COUNTER_VUHK.create_ctr_associations_pre
1039 (
1040 p_api_version => p_api_version
1041 ,p_init_msg_list => p_init_msg_list
1042 ,p_commit => p_commit
1043 ,p_validation_level => p_validation_level
1044 ,P_counter_associations_tbl => P_counter_associations_tbl
1045 ,x_return_status => x_return_status
1046 ,x_msg_count => x_msg_count
1047 ,x_msg_data => x_msg_data
1048 ,x_instance_association_id => x_instance_association_id
1049 );
1050 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1051 l_msg_index := 1;
1052 l_msg_count := x_msg_count;
1053
1054 WHILE l_msg_count > 0 LOOP
1055 x_msg_data := FND_MSG_PUB.GET
1056 (l_msg_index,
1057 FND_API.G_FALSE );
1058 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_CTR_ASSOCIATIONS_PRE API');
1059 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1060 l_msg_index := l_msg_index + 1;
1061 l_msg_count := l_msg_count - 1;
1062 END LOOP;
1063 RAISE FND_API.G_EXC_ERROR;
1064 END IF;
1065 END IF;
1066
1067 -- Start of API Body
1068
1069 IF p_counter_associations_tbl.count > 0 THEN
1070 FOR i in p_counter_associations_tbl.FIRST..p_counter_associations_tbl.LAST
1071 LOOP
1072 DECLARE
1073 l_instance_association_id NUMBER;
1074 BEGIN
1075 l_counter_associations_rec.COUNTER_ID := p_counter_associations_tbl(i).counter_id;
1076 l_counter_associations_rec.SOURCE_OBJECT_CODE := p_counter_associations_tbl(i).SOURCE_OBJECT_CODE;
1077 l_counter_associations_rec.SOURCE_OBJECT_ID := p_counter_associations_tbl(i).SOURCE_OBJECT_ID;
1078 l_counter_associations_rec.START_DATE_ACTIVE := p_counter_associations_tbl(i).START_DATE_ACTIVE ;
1079 l_counter_associations_rec.END_DATE_ACTIVE := p_counter_associations_tbl(i).END_DATE_ACTIVE;
1080 l_counter_associations_rec.ATTRIBUTE1 := p_counter_associations_tbl(i).ATTRIBUTE1;
1081 l_counter_associations_rec.ATTRIBUTE2 := p_counter_associations_tbl(i).ATTRIBUTE2;
1082 l_counter_associations_rec.ATTRIBUTE3 := p_counter_associations_tbl(i).ATTRIBUTE3;
1083 l_counter_associations_rec.ATTRIBUTE4 := p_counter_associations_tbl(i).ATTRIBUTE4;
1084 l_counter_associations_rec.ATTRIBUTE5 := p_counter_associations_tbl(i).ATTRIBUTE5;
1085 l_counter_associations_rec.ATTRIBUTE6 := p_counter_associations_tbl(i).ATTRIBUTE6;
1086 l_counter_associations_rec.ATTRIBUTE7 := p_counter_associations_tbl(i).ATTRIBUTE7;
1087 l_counter_associations_rec.ATTRIBUTE8 := p_counter_associations_tbl(i).ATTRIBUTE8;
1088 l_counter_associations_rec.ATTRIBUTE9 := p_counter_associations_tbl(i).ATTRIBUTE9;
1089 l_counter_associations_rec.ATTRIBUTE10 := p_counter_associations_tbl(i).ATTRIBUTE10;
1090 l_counter_associations_rec.ATTRIBUTE11 := p_counter_associations_tbl(i).ATTRIBUTE11;
1091 l_counter_associations_rec.ATTRIBUTE12 := p_counter_associations_tbl(i).ATTRIBUTE12;
1092 l_counter_associations_rec.ATTRIBUTE13 := p_counter_associations_tbl(i).ATTRIBUTE13;
1093 l_counter_associations_rec.ATTRIBUTE14 := p_counter_associations_tbl(i).ATTRIBUTE14;
1094 l_counter_associations_rec.ATTRIBUTE15 := p_counter_associations_tbl(i).ATTRIBUTE15;
1095 l_counter_associations_rec.ATTRIBUTE_CATEGORY := p_counter_associations_tbl(i).ATTRIBUTE_CATEGORY;
1096 l_counter_associations_rec.maint_organization_id := p_counter_associations_tbl(i).maint_organization_id;
1097 l_counter_associations_rec.primary_failure_flag := p_counter_associations_tbl(i).primary_failure_flag;
1098
1099 CSI_COUNTER_PVT.create_ctr_associations
1100 (
1101 p_api_version => 1.0
1102 ,p_init_msg_list => p_init_msg_list
1103 ,p_commit => p_commit
1104 ,p_validation_level => p_validation_level
1105 ,p_counter_associations_rec => l_counter_associations_rec
1106 ,x_return_status => x_return_status
1107 ,x_msg_count => x_msg_count
1108 ,x_msg_data => x_msg_data
1109 ,x_instance_association_id => l_instance_association_id
1110 );
1111 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1112 l_msg_index := 1;
1113 l_msg_count := x_msg_count;
1114
1115 WHILE l_msg_count > 0 LOOP
1116 x_msg_data := FND_MSG_PUB.GET
1117 (l_msg_index,
1118 FND_API.G_FALSE );
1119 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_CTR_ASSOCIATIONS API');
1120 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1121 l_msg_index := l_msg_index + 1;
1122 l_msg_count := l_msg_count - 1;
1123 END LOOP;
1124 RAISE FND_API.G_EXC_ERROR;
1125 END IF;
1126 END;
1127 END LOOP;
1128 END IF;
1129
1130 /* Customer post -processing section - Mandatory */
1131 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1132 CSI_COUNTER_CUHK.create_ctr_associations_post
1133 (
1134 p_api_version => p_api_version
1135 ,p_init_msg_list => p_init_msg_list
1136 ,p_commit => p_commit
1137 ,p_validation_level => p_validation_level
1138 ,P_counter_associations_tbl => P_counter_associations_tbl
1139 ,x_return_status => x_return_status
1140 ,x_msg_count => x_msg_count
1141 ,x_msg_data => x_msg_data
1142 ,x_instance_association_id => x_instance_association_id
1143 );
1144 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1145 l_msg_index := 1;
1146 l_msg_count := x_msg_count;
1147
1148 WHILE l_msg_count > 0 LOOP
1149 x_msg_data := FND_MSG_PUB.GET
1150 (l_msg_index,
1151 FND_API.G_FALSE );
1152 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_CTR_ASSOCIATIONS_POST API');
1153 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1154 l_msg_index := l_msg_index + 1;
1155 l_msg_count := l_msg_count - 1;
1156 END LOOP;
1157 RAISE FND_API.G_EXC_ERROR;
1158 END IF;
1159 END IF;
1160
1161 /* Vertical post -processing section - Mandatory */
1162 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1163 CSI_COUNTER_VUHK.create_ctr_associations_post
1164 (
1165 p_api_version => p_api_version
1166 ,p_init_msg_list => p_init_msg_list
1167 ,p_commit => p_commit
1168 ,p_validation_level => p_validation_level
1169 ,P_counter_associations_tbl => P_counter_associations_tbl
1170 ,x_return_status => x_return_status
1171 ,x_msg_count => x_msg_count
1172 ,x_msg_data => x_msg_data
1173 ,x_instance_association_id => x_instance_association_id
1174 );
1175 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1176 l_msg_index := 1;
1177 l_msg_count := x_msg_count;
1178
1179 WHILE l_msg_count > 0 LOOP
1180 x_msg_data := FND_MSG_PUB.GET
1181 (l_msg_index,
1182 FND_API.G_FALSE );
1183 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_CTR_ASSOCIATIONS_POST API');
1184 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1185 l_msg_index := l_msg_index + 1;
1186 l_msg_count := l_msg_count - 1;
1187 END LOOP;
1188 RAISE FND_API.G_EXC_ERROR;
1189 END IF;
1190 END IF;
1191
1192 -- End of API body
1193
1194 -- Standard check of p_commit.
1195 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
1196 COMMIT WORK;
1197 END IF;
1198
1199 EXCEPTION
1200 WHEN FND_API.G_EXC_ERROR THEN
1201 x_return_status := FND_API.G_RET_STS_ERROR ;
1202 ROLLBACK TO create_ctr_associations_pub;
1203 FND_MSG_PUB.Count_And_Get
1204 (p_count => x_msg_count,
1205 p_data => x_msg_data
1206 );
1207
1208 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1209 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1210 ROLLBACK TO create_ctr_associations_pub;
1211 FND_MSG_PUB.Count_And_Get
1212 (p_count => x_msg_count,
1213 p_data => x_msg_data
1214 );
1215 WHEN OTHERS THEN
1216 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1217 ROLLBACK TO create_ctr_associations_pub;
1218 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1219 THEN
1220 FND_MSG_PUB.Add_Exc_Msg
1221 (G_PKG_NAME,
1222 l_api_name
1223 );
1224 END IF;
1225 FND_MSG_PUB.Count_And_Get
1226 (p_count => x_msg_count,
1227 p_data => x_msg_data
1228 );
1229
1230 END create_ctr_associations;
1231
1232 --|---------------------------------------------------
1233 --| procedure name: create_reading_lock
1234 --| description : procedure used to
1235 --| create reading lock on a counter
1236 --|---------------------------------------------------
1237
1238 PROCEDURE create_reading_lock
1239 (
1240 p_api_version IN NUMBER
1241 ,p_commit IN VARCHAR2
1242 ,p_init_msg_list IN VARCHAR2
1243 ,p_validation_level IN NUMBER
1244 ,p_ctr_reading_lock_rec IN OUT NOCOPY CSI_CTR_DATASTRUCTURES_PUB.ctr_reading_lock_rec
1245 ,x_return_status OUT NOCOPY VARCHAR2
1246 ,x_msg_count OUT NOCOPY NUMBER
1247 ,x_msg_data OUT NOCOPY VARCHAR2
1248 ,x_reading_lock_id OUT NOCOPY NUMBER
1249 )
1250 IS
1251 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_READING_LOCK';
1252 l_api_version CONSTANT NUMBER := 1.0;
1253 -- l_debug_level NUMBER;
1254 l_flag VARCHAR2(1) := 'N';
1255 l_msg_data VARCHAR2(2000);
1256 l_msg_index NUMBER;
1257 l_msg_count NUMBER;
1258 l_count NUMBER;
1259 l_return_message VARCHAR2(100);
1260
1261 l_reading_lock_id NUMBER;
1262
1263 BEGIN
1264 -- Standard Start of API savepoint
1265 SAVEPOINT create_reading_lock_pub;
1266
1267 -- Standard call to check for call compatibility.
1268 IF NOT FND_API.Compatible_API_Call (l_api_version,
1269 p_api_version,
1270 l_api_name ,
1271 G_PKG_NAME )
1272 THEN
1273 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1274 END IF;
1275
1276 -- Initialize message list if p_init_msg_list is set to TRUE.
1277 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
1278 FND_MSG_PUB.initialize;
1279 END IF;
1280
1281 -- Initialize API return status to success
1282 x_return_status := FND_API.G_RET_STS_SUCCESS;
1283
1284 -- Read the debug profiles values in to global variable 7197402
1285 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
1286
1287 -- Check the profile option debug_level for debug message reporting
1288 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
1289
1290 -- If debug_level = 1 then dump the procedure name
1291 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
1292 csi_ctr_gen_utility_pvt.put_line( 'create_reading_lock');
1293 END IF;
1294
1295 -- If the debug level = 2 then dump all the parameters values.
1296 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
1297 csi_ctr_gen_utility_pvt.put_line( 'create_reading_lock' ||
1298 p_api_version ||'-'||
1299 p_commit ||'-'||
1300 p_init_msg_list ||'-'||
1301 p_validation_level );
1302 csi_ctr_gen_utility_pvt.dump_ctr_reading_lock_rec(p_ctr_reading_lock_rec);
1303 END IF;
1304
1305 /* Customer pre -processing section - Mandatory */
1306 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1307 CSI_COUNTER_CUHK.create_reading_lock_pre
1308 (
1309 p_api_version => p_api_version
1310 ,p_init_msg_list => p_init_msg_list
1311 ,p_commit => p_commit
1312 ,p_validation_level => p_validation_level
1313 ,p_ctr_reading_lock_rec => p_ctr_reading_lock_rec
1314 ,x_return_status => x_return_status
1315 ,x_msg_count => x_msg_count
1316 ,x_msg_data => x_msg_data
1317 ,x_reading_lock_id => x_reading_lock_id
1318 );
1319 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1320 l_msg_index := 1;
1321 l_msg_count := x_msg_count;
1322
1323 WHILE l_msg_count > 0 LOOP
1324 x_msg_data := FND_MSG_PUB.GET
1325 (l_msg_index,
1326 FND_API.G_FALSE );
1327 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_READING_LOCK_PRE API');
1328 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1329 l_msg_index := l_msg_index + 1;
1330 l_msg_count := l_msg_count - 1;
1331 END LOOP;
1332 RAISE FND_API.G_EXC_ERROR;
1333 END IF;
1334 END IF;
1335 /* Vertical pre -processing section - Mandatory */
1336 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1337 CSI_COUNTER_VUHK.create_reading_lock_pre
1338 (
1339 p_api_version => p_api_version
1340 ,p_init_msg_list => p_init_msg_list
1341 ,p_commit => p_commit
1342 ,p_validation_level => p_validation_level
1343 ,p_ctr_reading_lock_rec => p_ctr_reading_lock_rec
1344 ,x_return_status => x_return_status
1345 ,x_msg_count => x_msg_count
1346 ,x_msg_data => x_msg_data
1347 ,x_reading_lock_id => x_reading_lock_id
1348 );
1349 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1350 l_msg_index := 1;
1351 l_msg_count := x_msg_count;
1352
1353 WHILE l_msg_count > 0 LOOP
1354 x_msg_data := FND_MSG_PUB.GET
1355 (l_msg_index,
1356 FND_API.G_FALSE );
1357 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_READING_LOCK_PRE API');
1358 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1359 l_msg_index := l_msg_index + 1;
1360 l_msg_count := l_msg_count - 1;
1361 END LOOP;
1362 RAISE FND_API.G_EXC_ERROR;
1363 END IF;
1364 END IF;
1365
1366 -- Start of API Body
1367
1368 CSI_COUNTER_PVT.create_reading_lock
1369 (
1370 p_api_version => 1.0
1371 ,p_init_msg_list => p_init_msg_list
1372 ,p_commit => p_commit
1373 ,p_validation_level => p_validation_level
1374 ,p_ctr_reading_lock_rec => p_ctr_reading_lock_rec
1375 ,x_return_status => x_return_status
1376 ,x_msg_count => x_msg_count
1377 ,x_msg_data => x_msg_data
1378 ,x_reading_lock_id => l_reading_lock_id
1379 );
1380 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1381 l_msg_index := 1;
1382 l_msg_count := x_msg_count;
1383
1384 WHILE l_msg_count > 0 LOOP
1385 x_msg_data := FND_MSG_PUB.GET
1386 (l_msg_index,
1387 FND_API.G_FALSE );
1388 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_READING_LOCK API');
1389 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1390 l_msg_index := l_msg_index + 1;
1391 l_msg_count := l_msg_count - 1;
1392 END LOOP;
1393 RAISE FND_API.G_EXC_ERROR;
1394 END IF;
1395
1396 -- End of API body
1397
1398 /* Customer post -processing section - Mandatory */
1399 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1400 CSI_COUNTER_CUHK.create_reading_lock_post
1401 (
1402 p_api_version => p_api_version
1403 ,p_init_msg_list => p_init_msg_list
1404 ,p_commit => p_commit
1405 ,p_validation_level => p_validation_level
1406 ,p_ctr_reading_lock_rec => p_ctr_reading_lock_rec
1407 ,x_return_status => x_return_status
1408 ,x_msg_count => x_msg_count
1409 ,x_msg_data => x_msg_data
1410 ,x_reading_lock_id => x_reading_lock_id
1411 );
1412 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1413 l_msg_index := 1;
1414 l_msg_count := x_msg_count;
1415
1416 WHILE l_msg_count > 0 LOOP
1417 x_msg_data := FND_MSG_PUB.GET
1418 (l_msg_index,
1419 FND_API.G_FALSE );
1420 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_READING_LOCK_POST API');
1421 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1422 l_msg_index := l_msg_index + 1;
1423 l_msg_count := l_msg_count - 1;
1424 END LOOP;
1425 RAISE FND_API.G_EXC_ERROR;
1426 END IF;
1427 END IF;
1428 /* Vertical post -processing section - Mandatory */
1429 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1430 CSI_COUNTER_VUHK.create_reading_lock_post
1431 (
1432 p_api_version => p_api_version
1433 ,p_init_msg_list => p_init_msg_list
1434 ,p_commit => p_commit
1435 ,p_validation_level => p_validation_level
1436 ,p_ctr_reading_lock_rec => p_ctr_reading_lock_rec
1437 ,x_return_status => x_return_status
1438 ,x_msg_count => x_msg_count
1439 ,x_msg_data => x_msg_data
1440 ,x_reading_lock_id => x_reading_lock_id
1441 );
1442 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1443 l_msg_index := 1;
1444 l_msg_count := x_msg_count;
1445
1446 WHILE l_msg_count > 0 LOOP
1447 x_msg_data := FND_MSG_PUB.GET
1448 (l_msg_index,
1449 FND_API.G_FALSE );
1450 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_READING_LOCK_POST API');
1451 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1452 l_msg_index := l_msg_index + 1;
1453 l_msg_count := l_msg_count - 1;
1454 END LOOP;
1455 RAISE FND_API.G_EXC_ERROR;
1456 END IF;
1457 END IF;
1458
1459
1460
1461 -- Standard check of p_commit.
1462 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
1463 COMMIT WORK;
1464 END IF;
1465
1466 EXCEPTION
1467 WHEN FND_API.G_EXC_ERROR THEN
1468 x_return_status := FND_API.G_RET_STS_ERROR ;
1469 ROLLBACK TO create_reading_lock_pub;
1470 FND_MSG_PUB.Count_And_Get
1471 (p_count => x_msg_count,
1472 p_data => x_msg_data
1473 );
1474
1475 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1476 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1477 ROLLBACK TO create_reading_lock_pub;
1478 FND_MSG_PUB.Count_And_Get
1479 (p_count => x_msg_count,
1480 p_data => x_msg_data
1481 );
1482 WHEN OTHERS THEN
1483 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1484 ROLLBACK TO create_reading_lock_pub;
1485 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1486 THEN
1487 FND_MSG_PUB.Add_Exc_Msg
1488 (G_PKG_NAME,
1489 l_api_name
1490 );
1491 END IF;
1492 FND_MSG_PUB.Count_And_Get
1493 (p_count => x_msg_count,
1494 p_data => x_msg_data
1495 );
1496
1497 END create_reading_lock;
1498
1499 --|---------------------------------------------------
1500 --| procedure name: create_daily_usage
1501 --| description : procedure used to
1502 --| create daily usage
1503 --|---------------------------------------------------
1504
1505 PROCEDURE create_daily_usage
1506 (
1507 p_api_version IN NUMBER
1508 ,p_commit IN VARCHAR2
1509 ,p_init_msg_list IN VARCHAR2
1510 ,p_validation_level IN NUMBER
1511 ,p_ctr_usage_forecast_rec IN OUT NOCOPY CSI_CTR_DATASTRUCTURES_PUB.ctr_usage_forecast_rec
1512 ,x_return_status OUT NOCOPY VARCHAR2
1513 ,x_msg_count OUT NOCOPY NUMBER
1514 ,x_msg_data OUT NOCOPY VARCHAR2
1515 ,x_instance_forecast_id OUT NOCOPY NUMBER
1516 )
1517 IS
1518 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_DAILY_USAGE';
1519 l_api_version CONSTANT NUMBER := 1.0;
1520 -- l_debug_level NUMBER;
1521 l_flag VARCHAR2(1) := 'N';
1522 l_msg_data VARCHAR2(2000);
1523 l_msg_index NUMBER;
1524 l_msg_count NUMBER;
1525 l_count NUMBER;
1526 l_return_message VARCHAR2(100);
1527
1528 l_instance_forecast_id NUMBER;
1529
1530 BEGIN
1531 -- Standard Start of API savepoint
1532 SAVEPOINT create_daily_usage_pub;
1533
1534 -- Standard call to check for call compatibility.
1535 IF NOT FND_API.Compatible_API_Call (l_api_version,
1536 p_api_version,
1537 l_api_name ,
1538 G_PKG_NAME )
1539 THEN
1540 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1541 END IF;
1542
1543 -- Initialize message list if p_init_msg_list is set to TRUE.
1544 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
1545 FND_MSG_PUB.initialize;
1546 END IF;
1547
1548 -- Initialize API return status to success
1549 x_return_status := FND_API.G_RET_STS_SUCCESS;
1550
1551 -- Read the debug profiles values in to global variable 7197402
1552 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
1553
1554 -- Check the profile option debug_level for debug message reporting
1555 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
1556
1557 -- If debug_level = 1 then dump the procedure name
1558 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
1559 csi_ctr_gen_utility_pvt.put_line( 'create_daily_usage');
1560 END IF;
1561
1562 -- If the debug level = 2 then dump all the parameters values.
1563 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
1564 csi_ctr_gen_utility_pvt.put_line( 'create_daily_usage' ||
1565 p_api_version ||'-'||
1566 p_commit ||'-'||
1567 p_init_msg_list ||'-'||
1568 p_validation_level );
1569 csi_ctr_gen_utility_pvt.dump_ctr_usage_forecast_rec(p_ctr_usage_forecast_rec);
1570 END IF;
1571
1572 /* Customer pre -processing section - Mandatory */
1573 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1574 CSI_COUNTER_CUHK.create_daily_usage_pre
1575 (
1576 p_api_version => p_api_version
1577 ,p_init_msg_list => p_init_msg_list
1578 ,p_commit => p_commit
1579 ,p_validation_level => p_validation_level
1580 ,p_ctr_usage_forecast_rec => p_ctr_usage_forecast_rec
1581 ,x_return_status => x_return_status
1582 ,x_msg_count => x_msg_count
1583 ,x_msg_data => x_msg_data
1584 ,x_instance_forecast_id => x_instance_forecast_id
1585 );
1586 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1587 l_msg_index := 1;
1588 l_msg_count := x_msg_count;
1589
1590 WHILE l_msg_count > 0 LOOP
1591 x_msg_data := FND_MSG_PUB.GET
1592 (l_msg_index,
1593 FND_API.G_FALSE );
1594 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_DAILY_USAGE_PRE API');
1595 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1596 l_msg_index := l_msg_index + 1;
1597 l_msg_count := l_msg_count - 1;
1598 END LOOP;
1599 RAISE FND_API.G_EXC_ERROR;
1600 END IF;
1601 END IF;
1602 /* Vertical pre -processing section - Mandatory */
1603 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1604 CSI_COUNTER_VUHK.create_daily_usage_pre
1605 (
1606 p_api_version => p_api_version
1607 ,p_init_msg_list => p_init_msg_list
1608 ,p_commit => p_commit
1609 ,p_validation_level => p_validation_level
1610 ,p_ctr_usage_forecast_rec => p_ctr_usage_forecast_rec
1611 ,x_return_status => x_return_status
1612 ,x_msg_count => x_msg_count
1613 ,x_msg_data => x_msg_data
1614 ,x_instance_forecast_id => x_instance_forecast_id
1615 );
1616 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1617 l_msg_index := 1;
1618 l_msg_count := x_msg_count;
1619
1620 WHILE l_msg_count > 0 LOOP
1621 x_msg_data := FND_MSG_PUB.GET
1622 (l_msg_index,
1623 FND_API.G_FALSE );
1624 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_DAILY_USAGE_PRE API');
1625 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1626 l_msg_index := l_msg_index + 1;
1627 l_msg_count := l_msg_count - 1;
1628 END LOOP;
1629 RAISE FND_API.G_EXC_ERROR;
1630 END IF;
1631 END IF;
1632
1633 -- Start of API Body
1634
1635 CSI_COUNTER_PVT.create_daily_usage
1636 (
1637 p_api_version => 1.0
1638 ,p_init_msg_list => p_init_msg_list
1639 ,p_commit => p_commit
1640 ,p_validation_level => p_validation_level
1641 ,p_ctr_usage_forecast_rec => p_ctr_usage_forecast_rec
1642 ,x_return_status => x_return_status
1643 ,x_msg_count => x_msg_count
1644 ,x_msg_data => x_msg_data
1645 ,x_instance_forecast_id => l_instance_forecast_id
1646 );
1647 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1648 l_msg_index := 1;
1649 l_msg_count := x_msg_count;
1650
1651 WHILE l_msg_count > 0 LOOP
1652 x_msg_data := FND_MSG_PUB.GET
1653 (l_msg_index,
1654 FND_API.G_FALSE );
1655 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_DAILY_USAGE API');
1656 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1657 l_msg_index := l_msg_index + 1;
1658 l_msg_count := l_msg_count - 1;
1659 END LOOP;
1660 RAISE FND_API.G_EXC_ERROR;
1661 END IF;
1662
1663 -- End of API body
1664
1665 /* Customer post -processing section - Mandatory */
1666 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1667 CSI_COUNTER_CUHK.create_daily_usage_post
1668 (
1669 p_api_version => p_api_version
1670 ,p_init_msg_list => p_init_msg_list
1671 ,p_commit => p_commit
1672 ,p_validation_level => p_validation_level
1673 ,p_ctr_usage_forecast_rec => p_ctr_usage_forecast_rec
1674 ,x_return_status => x_return_status
1675 ,x_msg_count => x_msg_count
1676 ,x_msg_data => x_msg_data
1677 ,x_instance_forecast_id => x_instance_forecast_id
1678 );
1679 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1680 l_msg_index := 1;
1681 l_msg_count := x_msg_count;
1682
1683 WHILE l_msg_count > 0 LOOP
1684 x_msg_data := FND_MSG_PUB.GET
1685 (l_msg_index,
1686 FND_API.G_FALSE );
1687 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.CREATE_DAILY_USAGE_POST API');
1688 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1689 l_msg_index := l_msg_index + 1;
1690 l_msg_count := l_msg_count - 1;
1691 END LOOP;
1692 RAISE FND_API.G_EXC_ERROR;
1693 END IF;
1694 END IF;
1695 /* Vertical post -processing section - Mandatory */
1696 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1697 CSI_COUNTER_VUHK.create_daily_usage_post
1698 (
1699 p_api_version => p_api_version
1700 ,p_init_msg_list => p_init_msg_list
1701 ,p_commit => p_commit
1702 ,p_validation_level => p_validation_level
1703 ,p_ctr_usage_forecast_rec => p_ctr_usage_forecast_rec
1704 ,x_return_status => x_return_status
1705 ,x_msg_count => x_msg_count
1706 ,x_msg_data => x_msg_data
1707 ,x_instance_forecast_id => x_instance_forecast_id
1708 );
1709 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1710 l_msg_index := 1;
1711 l_msg_count := x_msg_count;
1712
1713 WHILE l_msg_count > 0 LOOP
1714 x_msg_data := FND_MSG_PUB.GET
1715 (l_msg_index,
1716 FND_API.G_FALSE );
1717 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.CREATE_DAILY_USAGE_POST API');
1718 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1719 l_msg_index := l_msg_index + 1;
1720 l_msg_count := l_msg_count - 1;
1721 END LOOP;
1722 RAISE FND_API.G_EXC_ERROR;
1723 END IF;
1724 END IF;
1725
1726 -- Standard check of p_commit.
1727 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
1728 COMMIT WORK;
1729 END IF;
1730
1731 EXCEPTION
1732 WHEN FND_API.G_EXC_ERROR THEN
1733 x_return_status := FND_API.G_RET_STS_ERROR ;
1734 ROLLBACK TO create_daily_usage_pub;
1735 FND_MSG_PUB.Count_And_Get
1736 (p_count => x_msg_count,
1737 p_data => x_msg_data
1738 );
1739
1740 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1741 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1742 ROLLBACK TO create_daily_usage_pub;
1743 FND_MSG_PUB.Count_And_Get
1744 (p_count => x_msg_count,
1745 p_data => x_msg_data
1746 );
1747 WHEN OTHERS THEN
1748 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1749 ROLLBACK TO create_daily_usage_pub;
1750 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1751 THEN
1752 FND_MSG_PUB.Add_Exc_Msg
1753 (G_PKG_NAME,
1754 l_api_name
1755 );
1756 END IF;
1757 FND_MSG_PUB.Count_And_Get
1758 (p_count => x_msg_count,
1759 p_data => x_msg_data
1760 );
1761
1762 END create_daily_usage;
1763
1764 --|---------------------------------------------------
1765 --| procedure name: update_counter
1766 --| description : procedure used to
1767 --| update counter
1768 --|---------------------------------------------------
1769
1770 PROCEDURE update_counter
1771 (
1772 p_api_version IN NUMBER
1773 ,p_init_msg_list IN VARCHAR2
1774 ,p_commit IN VARCHAR2
1775 ,p_validation_level IN NUMBER
1776 ,p_counter_instance_rec IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.Counter_instance_rec
1777 ,P_ctr_properties_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_tbl
1778 ,P_counter_relationships_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_tbl
1779 ,P_ctr_derived_filters_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_tbl
1780 ,P_counter_associations_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.counter_associations_tbl
1781 ,x_return_status out NOCOPY VARCHAR2
1782 ,x_msg_count out NOCOPY NUMBER
1783 ,x_msg_data out NOCOPY VARCHAR2
1784 )
1785 IS
1786 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_COUNTER';
1787 l_api_version CONSTANT NUMBER := 1.0;
1788 -- l_debug_level NUMBER;
1789 l_flag VARCHAR2(1) := 'N';
1790 l_msg_data VARCHAR2(2000);
1791 l_msg_index NUMBER;
1792 l_msg_count NUMBER;
1793 l_count NUMBER;
1794 l_return_message VARCHAR2(100);
1795
1796 l_Ctr_properties_rec CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_rec;
1797 l_counter_relationships_rec CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_rec;
1798 l_ctr_derived_filters_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_rec;
1799 l_counter_associations_rec CSI_CTR_DATASTRUCTURES_PUB.counter_associations_rec;
1800
1801 BEGIN
1802 -- Standard Start of API savepoint
1803 SAVEPOINT update_counter_pub;
1804
1805 -- Standard call to check for call compatibility.
1806 IF NOT FND_API.Compatible_API_Call (l_api_version,
1807 p_api_version,
1808 l_api_name ,
1809 G_PKG_NAME )
1810 THEN
1811 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1812 END IF;
1813
1814 -- Initialize message list if p_init_msg_list is set to TRUE.
1815 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
1816 FND_MSG_PUB.initialize;
1817 END IF;
1818
1819 -- Initialize API return status to success
1820 x_return_status := FND_API.G_RET_STS_SUCCESS;
1821
1822 -- Read the debug profiles values in to global variable 7197402
1823 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
1824
1825 -- Check the profile option debug_level for debug message reporting
1826 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
1827
1828 -- If debug_level = 1 then dump the procedure name
1829 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
1830 csi_ctr_gen_utility_pvt.put_line( 'update_counter');
1831 END IF;
1832
1833 -- If the debug level = 2 then dump all the parameters values.
1834 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
1835 csi_ctr_gen_utility_pvt.put_line( 'update_counter' ||
1836 p_api_version ||'-'||
1837 p_commit ||'-'||
1838 p_init_msg_list ||'-'||
1839 p_validation_level );
1840 csi_ctr_gen_utility_pvt.dump_counter_instance_rec(p_counter_instance_rec);
1841 END IF;
1842
1843 /* Customer pre -processing section - Mandatory */
1844 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1845 CSI_COUNTER_CUHK.update_counter_pre
1846 (
1847 p_api_version => p_api_version
1848 ,p_init_msg_list => p_init_msg_list
1849 ,p_commit => p_commit
1850 ,p_validation_level => p_validation_level
1851 ,p_counter_instance_rec => p_counter_instance_rec
1852 ,P_ctr_properties_tbl => P_ctr_properties_tbl
1853 ,P_counter_relationships_tbl => P_counter_relationships_tbl
1854 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
1855 --,P_counter_associations_tbl => P_counter_associations_tbl
1856 ,x_return_status => x_return_status
1857 ,x_msg_count => x_msg_count
1858 ,x_msg_data => x_msg_data
1859 );
1860 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1861 l_msg_index := 1;
1862 l_msg_count := x_msg_count;
1863
1864 WHILE l_msg_count > 0 LOOP
1865 x_msg_data := FND_MSG_PUB.GET
1866 (l_msg_index,
1867 FND_API.G_FALSE );
1868 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_COUNTER_PRE API');
1869 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1870 l_msg_index := l_msg_index + 1;
1871 l_msg_count := l_msg_count - 1;
1872 END LOOP;
1873 RAISE FND_API.G_EXC_ERROR;
1874 END IF;
1875 END IF;
1876 /* Vertical pre -processing section - Mandatory */
1877 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1878 CSI_COUNTER_VUHK.update_counter_pre
1879 (
1880 p_api_version => p_api_version
1881 ,p_init_msg_list => p_init_msg_list
1882 ,p_commit => p_commit
1883 ,p_validation_level => p_validation_level
1884 ,p_counter_instance_rec => p_counter_instance_rec
1885 ,P_ctr_properties_tbl => P_ctr_properties_tbl
1886 ,P_counter_relationships_tbl => P_counter_relationships_tbl
1887 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
1888 --,P_counter_associations_tbl => P_counter_associations_tbl
1889 ,x_return_status => x_return_status
1890 ,x_msg_count => x_msg_count
1891 ,x_msg_data => x_msg_data
1892 );
1893 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1894 l_msg_index := 1;
1895 l_msg_count := x_msg_count;
1896
1897 WHILE l_msg_count > 0 LOOP
1898 x_msg_data := FND_MSG_PUB.GET
1899 (l_msg_index,
1900 FND_API.G_FALSE );
1901 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.UPDATE_COUNTER_PRE API');
1902 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1903 l_msg_index := l_msg_index + 1;
1904 l_msg_count := l_msg_count - 1;
1905 END LOOP;
1906 RAISE FND_API.G_EXC_ERROR;
1907 END IF;
1908 END IF;
1909
1910 -- Start of API Body
1911 CSI_COUNTER_PVT.update_counter
1912 (
1913 p_api_version => 1.0
1914 ,p_init_msg_list => p_init_msg_list
1915 ,p_commit => p_commit
1916 ,p_validation_level => p_validation_level
1917 ,p_counter_instance_rec => p_counter_instance_rec
1918 ,x_return_status => x_return_status
1919 ,x_msg_count => x_msg_count
1920 ,x_msg_data => x_msg_data
1921 );
1922 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1923 l_msg_index := 1;
1924 l_msg_count := x_msg_count;
1925
1926 WHILE l_msg_count > 0 LOOP
1927 x_msg_data := FND_MSG_PUB.GET
1928 (l_msg_index,
1929 FND_API.G_FALSE );
1930 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.UPDATE_COUNTER API');
1931 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1932 l_msg_index := l_msg_index + 1;
1933 l_msg_count := l_msg_count - 1;
1934 END LOOP;
1935 RAISE FND_API.G_EXC_ERROR;
1936 END IF;
1937
1938 -- Update Counter Properties
1939 IF p_ctr_properties_tbl.count > 0 THEN
1940 FOR j in p_ctr_properties_tbl.FIRST..p_ctr_properties_tbl.LAST
1941 LOOP
1942 DECLARE
1943 l_ctr_property_id NUMBER;
1944 BEGIN
1945 l_Ctr_properties_rec.COUNTER_PROPERTY_ID := p_ctr_properties_tbl(j).COUNTER_PROPERTY_ID;
1946 l_Ctr_properties_rec.counter_id := p_ctr_properties_tbl(j).counter_id;
1947 l_Ctr_properties_rec.NAME := p_ctr_properties_tbl(j).name;
1948 l_Ctr_properties_rec.DESCRIPTION := p_ctr_properties_tbl(j).DESCRIPTION;
1949 l_Ctr_properties_rec.PROPERTY_DATA_TYPE := p_ctr_properties_tbl(j).PROPERTY_DATA_TYPE;
1950 l_Ctr_properties_rec.IS_NULLABLE := p_ctr_properties_tbl(j).IS_NULLABLE;
1951 l_Ctr_properties_rec.DEFAULT_VALUE := p_ctr_properties_tbl(j).DEFAULT_VALUE;
1952 l_Ctr_properties_rec.MINIMUM_VALUE := p_ctr_properties_tbl(j).MINIMUM_VALUE;
1953 l_Ctr_properties_rec.MAXIMUM_VALUE := p_ctr_properties_tbl(j).MAXIMUM_VALUE;
1954 l_Ctr_properties_rec.UOM_CODE := p_ctr_properties_tbl(j).UOM_CODE;
1955 l_Ctr_properties_rec.START_DATE_ACTIVE := p_ctr_properties_tbl(j).START_DATE_ACTIVE;
1956 l_Ctr_properties_rec.END_DATE_ACTIVE := p_ctr_properties_tbl(j).END_DATE_ACTIVE;
1957 l_Ctr_properties_rec.PROPERTY_LOV_TYPE := p_ctr_properties_tbl(j).PROPERTY_LOV_TYPE;
1958 l_Ctr_properties_rec.OBJECT_VERSION_NUMBER := p_ctr_properties_tbl(j).OBJECT_VERSION_NUMBER;
1959 l_Ctr_properties_rec.ATTRIBUTE1 := p_ctr_properties_tbl(j).ATTRIBUTE1;
1960 l_Ctr_properties_rec.ATTRIBUTE2 := p_ctr_properties_tbl(j).ATTRIBUTE2;
1961 l_Ctr_properties_rec.ATTRIBUTE3 := p_ctr_properties_tbl(j).ATTRIBUTE3;
1962 l_Ctr_properties_rec.ATTRIBUTE4 := p_ctr_properties_tbl(j).ATTRIBUTE4;
1963 l_Ctr_properties_rec.ATTRIBUTE5 := p_ctr_properties_tbl(j).ATTRIBUTE5;
1964 l_Ctr_properties_rec.ATTRIBUTE6 := p_ctr_properties_tbl(j).ATTRIBUTE6;
1965 l_Ctr_properties_rec.ATTRIBUTE7 := p_ctr_properties_tbl(j).ATTRIBUTE7;
1966 l_Ctr_properties_rec.ATTRIBUTE8 := p_ctr_properties_tbl(j).ATTRIBUTE8;
1967 l_Ctr_properties_rec.ATTRIBUTE9 := p_ctr_properties_tbl(j).ATTRIBUTE9;
1968 l_Ctr_properties_rec.ATTRIBUTE10 := p_ctr_properties_tbl(j).ATTRIBUTE10;
1969 l_Ctr_properties_rec.ATTRIBUTE11 := p_ctr_properties_tbl(j).ATTRIBUTE11;
1970 l_Ctr_properties_rec.ATTRIBUTE12 := p_ctr_properties_tbl(j).ATTRIBUTE12;
1971 l_Ctr_properties_rec.ATTRIBUTE13 := p_ctr_properties_tbl(j).ATTRIBUTE13;
1972 l_Ctr_properties_rec.ATTRIBUTE14 := p_ctr_properties_tbl(j).ATTRIBUTE14;
1973 l_Ctr_properties_rec.ATTRIBUTE15 := p_ctr_properties_tbl(j).ATTRIBUTE15;
1974 l_Ctr_properties_rec.ATTRIBUTE_CATEGORY := p_ctr_properties_tbl(j).ATTRIBUTE_CATEGORY;
1975
1976 If l_Ctr_properties_rec.COUNTER_PROPERTY_ID = FND_API.G_MISS_NUM THEN
1977 l_Ctr_properties_rec.COUNTER_PROPERTY_ID := null;
1978 END IF;
1979
1980 IF l_Ctr_properties_rec.COUNTER_PROPERTY_ID IS NOT NULL THEN
1981 CSI_COUNTER_PVT.update_ctr_property
1982 (
1983 p_api_version => 1.0
1984 ,p_init_msg_list => p_init_msg_list
1985 ,p_commit => p_commit
1986 ,p_validation_level => p_validation_level
1987 ,p_ctr_properties_rec => l_ctr_properties_rec
1988 ,x_return_status => x_return_status
1989 ,x_msg_count => x_msg_count
1990 ,x_msg_data => x_msg_data
1991 );
1992 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1993 l_msg_index := 1;
1994 l_msg_count := x_msg_count;
1995
1996 WHILE l_msg_count > 0 LOOP
1997 x_msg_data := FND_MSG_PUB.GET
1998 (l_msg_index,
1999 FND_API.G_FALSE );
2000 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.UPDATE_CTR_PROPERTY API');
2001 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2002 l_msg_index := l_msg_index + 1;
2003 l_msg_count := l_msg_count - 1;
2004 END LOOP;
2005 RAISE FND_API.G_EXC_ERROR;
2006 END IF;
2007 ELSE -- PROPERTY ID IS NULL. INSERT NEW PROPERTY
2008 l_Ctr_properties_rec.counter_id := p_counter_instance_rec.counter_id;
2009 CSI_COUNTER_PVT.create_ctr_property
2010 (
2011 p_api_version => 1.0
2012 ,p_init_msg_list => p_init_msg_list
2013 ,p_commit => p_commit
2014 ,p_validation_level => p_validation_level
2015 ,p_ctr_properties_rec => l_Ctr_properties_rec
2016 ,x_return_status => x_return_status
2017 ,x_msg_count => x_msg_count
2018 ,x_msg_data => x_msg_data
2019 ,x_ctr_property_id => l_ctr_property_id
2020 );
2021 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2022 l_msg_index := 1;
2023 l_msg_count := x_msg_count;
2024
2025 WHILE l_msg_count > 0 LOOP
2026 x_msg_data := FND_MSG_PUB.GET
2027 (l_msg_index,
2028 FND_API.G_FALSE );
2029 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_CTR_PROPERTY API');
2030 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2031 l_msg_index := l_msg_index + 1;
2032 l_msg_count := l_msg_count - 1;
2033 END LOOP;
2034 RAISE FND_API.G_EXC_ERROR;
2035 END IF;
2036 END IF;
2037 END;
2038 END LOOP;
2039 END IF;
2040
2041 -- Update Counter relationships
2042 IF P_counter_relationships_tbl.count > 0 THEN
2043 FOR i in p_counter_relationships_tbl.FIRST..p_counter_relationships_tbl.LAST
2044 LOOP
2045 BEGIN
2046 l_counter_relationships_rec.RELATIONSHIP_ID := p_counter_relationships_tbl(i).RELATIONSHIP_ID;
2047 l_counter_relationships_rec.OBJECT_COUNTER_ID := p_counter_relationships_tbl(i).OBJECT_COUNTER_ID;
2048 l_counter_relationships_rec.CTR_ASSOCIATION_ID := p_counter_relationships_tbl(i).CTR_ASSOCIATION_ID;
2049 l_counter_relationships_rec.RELATIONSHIP_TYPE_CODE := p_counter_relationships_tbl(i).RELATIONSHIP_TYPE_CODE;
2050 l_counter_relationships_rec.SOURCE_COUNTER_ID := p_counter_relationships_tbl(i).SOURCE_COUNTER_ID;
2051 l_counter_relationships_rec.ACTIVE_START_DATE := p_counter_relationships_tbl(i).ACTIVE_START_DATE ;
2052 l_counter_relationships_rec.ACTIVE_END_DATE := p_counter_relationships_tbl(i).ACTIVE_END_DATE;
2053 l_counter_relationships_rec.BIND_VARIABLE_NAME := p_counter_relationships_tbl(i).BIND_VARIABLE_NAME;
2054 l_counter_relationships_rec.FACTOR := p_counter_relationships_tbl(i).FACTOR;
2055 l_counter_relationships_rec.object_version_number := p_counter_relationships_tbl(i).object_version_number;
2056 l_counter_relationships_rec.ATTRIBUTE1 := p_counter_relationships_tbl(i).ATTRIBUTE1;
2057 l_counter_relationships_rec.ATTRIBUTE2 := p_counter_relationships_tbl(i).ATTRIBUTE2;
2058 l_counter_relationships_rec.ATTRIBUTE3 := p_counter_relationships_tbl(i).ATTRIBUTE3;
2059 l_counter_relationships_rec.ATTRIBUTE4 := p_counter_relationships_tbl(i).ATTRIBUTE4;
2060 l_counter_relationships_rec.ATTRIBUTE5 := p_counter_relationships_tbl(i).ATTRIBUTE5;
2061 l_counter_relationships_rec.ATTRIBUTE6 := p_counter_relationships_tbl(i).ATTRIBUTE6;
2062 l_counter_relationships_rec.ATTRIBUTE7 := p_counter_relationships_tbl(i).ATTRIBUTE7;
2063 l_counter_relationships_rec.ATTRIBUTE8 := p_counter_relationships_tbl(i).ATTRIBUTE8;
2064 l_counter_relationships_rec.ATTRIBUTE9 := p_counter_relationships_tbl(i).ATTRIBUTE9;
2065 l_counter_relationships_rec.ATTRIBUTE10 := p_counter_relationships_tbl(i).ATTRIBUTE10;
2066 l_counter_relationships_rec.ATTRIBUTE11 := p_counter_relationships_tbl(i).ATTRIBUTE11;
2067 l_counter_relationships_rec.ATTRIBUTE12 := p_counter_relationships_tbl(i).ATTRIBUTE12;
2068 l_counter_relationships_rec.ATTRIBUTE13 := p_counter_relationships_tbl(i).ATTRIBUTE13;
2069 l_counter_relationships_rec.ATTRIBUTE14 := p_counter_relationships_tbl(i).ATTRIBUTE14;
2070 l_counter_relationships_rec.ATTRIBUTE15 := p_counter_relationships_tbl(i).ATTRIBUTE15;
2071 l_counter_relationships_rec.ATTRIBUTE_CATEGORY := p_counter_relationships_tbl(i).ATTRIBUTE_CATEGORY;
2072
2073 IF l_counter_relationships_rec.RELATIONSHIP_ID = FND_API.G_MISS_NUM THEN
2074 l_counter_relationships_rec.RELATIONSHIP_ID := NULL;
2075 END IF;
2076
2077 IF l_counter_relationships_rec.RELATIONSHIP_ID IS NOT NULL THEN
2078 CSI_COUNTER_TEMPLATE_PVT.update_counter_relationship
2079 (
2080 p_api_version => 1.0
2081 ,p_init_msg_list => p_init_msg_list
2082 ,p_commit => p_commit
2083 ,p_validation_level => p_validation_level
2084 ,p_counter_relationships_rec => l_counter_relationships_rec
2085 ,x_return_status => x_return_status
2086 ,x_msg_count => x_msg_count
2087 ,x_msg_data => x_msg_data
2088 );
2089 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2090 l_msg_index := 1;
2091 l_msg_count := x_msg_count;
2092
2093 WHILE l_msg_count > 0 LOOP
2094 x_msg_data := FND_MSG_PUB.GET
2095 (l_msg_index,
2096 FND_API.G_FALSE );
2097 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_TEMPLATE_PVT.UPDATE_COUNTER_RELATIONSHIP API');
2098 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2099 l_msg_index := l_msg_index + 1;
2100 l_msg_count := l_msg_count - 1;
2101 END LOOP;
2102 RAISE FND_API.G_EXC_ERROR;
2103 END IF;
2104 ELSE --RELATIONSHIP_ID is null, call to insert counter relationship
2105 l_counter_relationships_rec.OBJECT_COUNTER_ID := p_counter_instance_rec.counter_id;
2106 CSI_COUNTER_TEMPLATE_PVT.create_counter_relationship
2107 (
2108 p_api_version => 1.0
2109 ,p_init_msg_list => p_init_msg_list
2110 ,p_commit => p_commit
2111 ,p_validation_level => p_validation_level
2112 ,p_counter_relationships_rec => l_counter_relationships_rec
2113 ,x_return_status => x_return_status
2114 ,x_msg_count => x_msg_count
2115 ,x_msg_data => x_msg_data
2116 );
2117 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2118 l_msg_index := 1;
2119 l_msg_count := x_msg_count;
2120
2121 WHILE l_msg_count > 0 LOOP
2122 x_msg_data := FND_MSG_PUB.GET
2123 (l_msg_index,
2124 FND_API.G_FALSE );
2125 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_TEMPLATE_PVT.CREATE_COUNTER_RELATIONSHIP API');
2126 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2127 l_msg_index := l_msg_index + 1;
2128 l_msg_count := l_msg_count - 1;
2129 END LOOP;
2130 RAISE FND_API.G_EXC_ERROR;
2131 END IF;
2132 END IF;
2133 END;
2134 END LOOP;
2135 END IF;
2136
2137 -- Update derived filters
2138 IF p_ctr_derived_filters_tbl.count > 0 THEN
2139
2140 FOR i in p_ctr_derived_filters_tbl.FIRST..p_ctr_derived_filters_tbl.LAST
2141 LOOP
2142 If p_ctr_derived_filters_tbl(i).counter_id is null then
2143 p_ctr_derived_filters_tbl(i).counter_id := p_counter_instance_rec.counter_id;
2144 End if;
2145 END LOOP;
2146
2147 CSI_COUNTER_TEMPLATE_PVT.update_derived_filters
2148 (
2149 p_api_version => 1.0
2150 ,p_init_msg_list => p_init_msg_list
2151 ,p_commit => p_commit
2152 ,p_validation_level => p_validation_level
2153 ,p_ctr_derived_filters_tbl => p_ctr_derived_filters_tbl
2154 ,x_return_status => x_return_status
2155 ,x_msg_count => x_msg_count
2156 ,x_msg_data => x_msg_data
2157 );
2158 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2159 l_msg_index := 1;
2160 l_msg_count := x_msg_count;
2161
2162 WHILE l_msg_count > 0 LOOP
2163 x_msg_data := FND_MSG_PUB.GET
2164 (l_msg_index,
2165 FND_API.G_FALSE );
2166 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_TEMPLATE_PVT.UPDATE_DERIVED_FILTERS API');
2167 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2168 l_msg_index := l_msg_index + 1;
2169 l_msg_count := l_msg_count - 1;
2170 END LOOP;
2171 RAISE FND_API.G_EXC_ERROR;
2172 END IF;
2173 END IF;
2174 -- Update Counter associations
2175
2176 IF p_counter_associations_tbl.count > 0 THEN
2177 FOR i in p_counter_associations_tbl.FIRST..p_counter_associations_tbl.LAST
2178 LOOP
2179 DECLARE l_instance_association_id NUMBER;
2180 BEGIN
2181 l_counter_associations_rec.instance_association_id := p_counter_associations_tbl(i).instance_association_id;
2182 l_counter_associations_rec.COUNTER_ID := p_counter_associations_tbl(i).counter_id;
2183 l_counter_associations_rec.SOURCE_OBJECT_CODE := p_counter_associations_tbl(i).SOURCE_OBJECT_CODE;
2184 l_counter_associations_rec.SOURCE_OBJECT_ID := p_counter_associations_tbl(i).SOURCE_OBJECT_ID;
2185 l_counter_associations_rec.START_DATE_ACTIVE := p_counter_associations_tbl(i).START_DATE_ACTIVE ;
2186 l_counter_associations_rec.END_DATE_ACTIVE := p_counter_associations_tbl(i).END_DATE_ACTIVE;
2187 l_counter_associations_rec.OBJECT_VERSION_NUMBER := p_counter_associations_tbl(i).OBJECT_VERSION_NUMBER;
2188 l_counter_associations_rec.ATTRIBUTE1 := p_counter_associations_tbl(i).ATTRIBUTE1;
2189 l_counter_associations_rec.ATTRIBUTE2 := p_counter_associations_tbl(i).ATTRIBUTE2;
2190 l_counter_associations_rec.ATTRIBUTE3 := p_counter_associations_tbl(i).ATTRIBUTE3;
2191 l_counter_associations_rec.ATTRIBUTE4 := p_counter_associations_tbl(i).ATTRIBUTE4;
2192 l_counter_associations_rec.ATTRIBUTE5 := p_counter_associations_tbl(i).ATTRIBUTE5;
2193 l_counter_associations_rec.ATTRIBUTE6 := p_counter_associations_tbl(i).ATTRIBUTE6;
2194 l_counter_associations_rec.ATTRIBUTE7 := p_counter_associations_tbl(i).ATTRIBUTE7;
2195 l_counter_associations_rec.ATTRIBUTE8 := p_counter_associations_tbl(i).ATTRIBUTE8;
2196 l_counter_associations_rec.ATTRIBUTE9 := p_counter_associations_tbl(i).ATTRIBUTE9;
2197 l_counter_associations_rec.ATTRIBUTE10 := p_counter_associations_tbl(i).ATTRIBUTE10;
2198 l_counter_associations_rec.ATTRIBUTE11 := p_counter_associations_tbl(i).ATTRIBUTE11;
2199 l_counter_associations_rec.ATTRIBUTE12 := p_counter_associations_tbl(i).ATTRIBUTE12;
2200 l_counter_associations_rec.ATTRIBUTE13 := p_counter_associations_tbl(i).ATTRIBUTE13;
2201 l_counter_associations_rec.ATTRIBUTE14 := p_counter_associations_tbl(i).ATTRIBUTE14;
2202 l_counter_associations_rec.ATTRIBUTE15 := p_counter_associations_tbl(i).ATTRIBUTE15;
2203 l_counter_associations_rec.ATTRIBUTE_CATEGORY := p_counter_associations_tbl(i).ATTRIBUTE_CATEGORY;
2204 l_counter_associations_rec.maint_organization_id := p_counter_associations_tbl(i).maint_organization_id;
2205 l_counter_associations_rec.primary_failure_flag := p_counter_associations_tbl(i).primary_failure_flag;
2206
2207 IF l_counter_associations_rec.instance_association_id = FND_API.G_MISS_NUM THEN
2208 l_counter_associations_rec.instance_association_id := NULL;
2209 END IF;
2210
2211 IF l_counter_associations_rec.instance_association_id IS NOT NULL THEN
2212 CSI_COUNTER_PVT.update_ctr_associations
2213 (
2214 p_api_version => 1.0
2215 ,p_init_msg_list => p_init_msg_list
2216 ,p_commit => p_commit
2217 ,p_validation_level => p_validation_level
2218 ,p_counter_associations_rec => l_counter_associations_rec
2219 ,x_return_status => x_return_status
2220 ,x_msg_count => x_msg_count
2221 ,x_msg_data => x_msg_data
2222 );
2223 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2224 l_msg_index := 1;
2225 l_msg_count := x_msg_count;
2226
2227 WHILE l_msg_count > 0 LOOP
2228 x_msg_data := FND_MSG_PUB.GET
2229 (l_msg_index,
2230 FND_API.G_FALSE );
2231 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.UPDATE_CTR_ASSOCIATIONS API');
2232 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2233 l_msg_index := l_msg_index + 1;
2234 l_msg_count := l_msg_count - 1;
2235 END LOOP;
2236 RAISE FND_API.G_EXC_ERROR;
2237 END IF;
2238 ELSE --instance_association_id is null. insert new counter association
2239 l_counter_associations_rec.COUNTER_ID := p_counter_instance_rec.counter_id;
2240 CSI_COUNTER_PVT.create_ctr_associations
2241 (
2242 p_api_version => 1.0
2243 ,p_init_msg_list => p_init_msg_list
2244 ,p_commit => p_commit
2245 ,p_validation_level => p_validation_level
2246 ,p_counter_associations_rec => l_counter_associations_rec
2247 ,x_return_status => x_return_status
2248 ,x_msg_count => x_msg_count
2249 ,x_msg_data => x_msg_data
2250 ,x_instance_association_id => l_instance_association_id
2251 );
2252 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2253 l_msg_index := 1;
2254 l_msg_count := x_msg_count;
2255
2256 WHILE l_msg_count > 0 LOOP
2257 x_msg_data := FND_MSG_PUB.GET
2258 (l_msg_index,
2259 FND_API.G_FALSE );
2260 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.CREATE_CTR_ASSOCIATIONS API');
2261 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2262 l_msg_index := l_msg_index + 1;
2263 l_msg_count := l_msg_count - 1;
2264 END LOOP;
2265 RAISE FND_API.G_EXC_ERROR;
2266 END IF;
2267 END IF;
2268 END;
2269 END LOOP;
2270 END IF;
2271
2272
2273 -- End of API body
2274
2275 /* Customer post -processing section - Mandatory */
2276 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2277 CSI_COUNTER_CUHK.update_counter_post
2278 (
2279 p_api_version => p_api_version
2280 ,p_init_msg_list => p_init_msg_list
2281 ,p_commit => p_commit
2282 ,p_validation_level => p_validation_level
2283 ,p_counter_instance_rec => p_counter_instance_rec
2284 ,P_ctr_properties_tbl => P_ctr_properties_tbl
2285 ,P_counter_relationships_tbl => P_counter_relationships_tbl
2286 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
2287 --,P_counter_associations_tbl => P_counter_associations_tbl
2288 ,x_return_status => x_return_status
2289 ,x_msg_count => x_msg_count
2290 ,x_msg_data => x_msg_data
2291 );
2292 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2293 l_msg_index := 1;
2294 l_msg_count := x_msg_count;
2295
2296 WHILE l_msg_count > 0 LOOP
2297 x_msg_data := FND_MSG_PUB.GET
2298 (l_msg_index,
2299 FND_API.G_FALSE );
2300 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_COUNTER_POST API');
2301 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2302 l_msg_index := l_msg_index + 1;
2303 l_msg_count := l_msg_count - 1;
2304 END LOOP;
2305 RAISE FND_API.G_EXC_ERROR;
2306 END IF;
2307 END IF;
2308 /* Vertical post -processing section - Mandatory */
2309 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
2310 CSI_COUNTER_VUHK.update_counter_post
2311 (
2312 p_api_version => p_api_version
2313 ,p_init_msg_list => p_init_msg_list
2314 ,p_commit => p_commit
2315 ,p_validation_level => p_validation_level
2316 ,p_counter_instance_rec => p_counter_instance_rec
2317 ,P_ctr_properties_tbl => P_ctr_properties_tbl
2318 ,P_counter_relationships_tbl => P_counter_relationships_tbl
2319 ,P_ctr_derived_filters_tbl => P_ctr_derived_filters_tbl
2320 --,P_counter_associations_tbl => P_counter_associations_tbl
2321 ,x_return_status => x_return_status
2322 ,x_msg_count => x_msg_count
2323 ,x_msg_data => x_msg_data
2324 );
2325 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2326 l_msg_index := 1;
2327 l_msg_count := x_msg_count;
2328
2329 WHILE l_msg_count > 0 LOOP
2330 x_msg_data := FND_MSG_PUB.GET
2331 (l_msg_index,
2332 FND_API.G_FALSE );
2333 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.UPDATE_COUNTER_POST API');
2334 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2335 l_msg_index := l_msg_index + 1;
2336 l_msg_count := l_msg_count - 1;
2337 END LOOP;
2338 RAISE FND_API.G_EXC_ERROR;
2339 END IF;
2340 END IF;
2341
2342 -- Standard check of p_commit.
2343 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
2344 COMMIT WORK;
2345 END IF;
2346
2347 EXCEPTION
2348 WHEN FND_API.G_EXC_ERROR THEN
2349 x_return_status := FND_API.G_RET_STS_ERROR ;
2350 ROLLBACK TO update_counter_pub;
2351 FND_MSG_PUB.Count_And_Get
2352 (p_count => x_msg_count,
2353 p_data => x_msg_data
2354 );
2355
2356 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2357 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2358 ROLLBACK TO update_counter_pub;
2359 FND_MSG_PUB.Count_And_Get
2360 (p_count => x_msg_count,
2361 p_data => x_msg_data
2362 );
2363 WHEN OTHERS THEN
2364 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2365 ROLLBACK TO update_counter_pub;
2366 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2367 THEN
2368 FND_MSG_PUB.Add_Exc_Msg
2369 (G_PKG_NAME,
2370 l_api_name
2371 );
2372 END IF;
2373 FND_MSG_PUB.Count_And_Get
2374 (p_count => x_msg_count,
2375 p_data => x_msg_data
2376 );
2377
2378 END update_counter;
2379
2380 --|---------------------------------------------------
2381 --| procedure name: update_ctr_property
2382 --| description : procedure used to
2383 --| update counter properties
2384 --|---------------------------------------------------
2385
2386 PROCEDURE update_ctr_property
2387 (
2388 p_api_version IN NUMBER
2389 ,p_commit IN VARCHAR2
2390 ,p_init_msg_list IN VARCHAR2
2391 ,p_validation_level IN NUMBER
2392 ,P_ctr_properties_tbl IN out NOCOPY CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_tbl
2393 ,x_return_status OUT NOCOPY VARCHAR2
2394 ,x_msg_count OUT NOCOPY NUMBER
2395 ,x_msg_data OUT NOCOPY VARCHAR2
2396 )
2397 IS
2398 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CTR_PROPERTY';
2399 l_api_version CONSTANT NUMBER := 1.0;
2400 -- l_debug_level NUMBER;
2401 l_flag VARCHAR2(1) := 'N';
2402 l_msg_data VARCHAR2(2000);
2403 l_msg_index NUMBER;
2404 l_msg_count NUMBER;
2405 l_count NUMBER;
2406 l_return_message VARCHAR2(100);
2407
2408 l_Ctr_properties_rec CSI_CTR_DATASTRUCTURES_PUB.Ctr_properties_rec;
2409
2410 BEGIN
2411 -- Standard Start of API savepoint
2412 SAVEPOINT update_ctr_property_pub;
2413
2414 -- Standard call to check for call compatibility.
2415 IF NOT FND_API.Compatible_API_Call (l_api_version,
2416 p_api_version,
2417 l_api_name ,
2418 G_PKG_NAME )
2419 THEN
2420 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2421 END IF;
2422
2423 -- Initialize message list if p_init_msg_list is set to TRUE.
2424 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
2425 FND_MSG_PUB.initialize;
2426 END IF;
2427
2428 -- Initialize API return status to success
2429 x_return_status := FND_API.G_RET_STS_SUCCESS;
2430
2431 -- Read the debug profiles values in to global variable 7197402
2432 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
2433
2434 -- Check the profile option debug_level for debug message reporting
2435 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
2436
2437 -- If debug_level = 1 then dump the procedure name
2438 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
2439 csi_ctr_gen_utility_pvt.put_line( 'update_ctr_property');
2440 END IF;
2441
2442 -- If the debug level = 2 then dump all the parameters values.
2443 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
2444 csi_ctr_gen_utility_pvt.put_line( 'update_ctr_property' ||
2445 p_api_version ||'-'||
2446 p_commit ||'-'||
2447 p_init_msg_list ||'-'||
2448 p_validation_level );
2449 csi_ctr_gen_utility_pvt.dump_ctr_properties_tbl(p_ctr_properties_tbl);
2450 END IF;
2451
2452 /* Customer pre -processing section - Mandatory */
2453 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2454 CSI_COUNTER_CUHK.update_ctr_property_pre
2455 (
2456 p_api_version => p_api_version
2457 ,p_init_msg_list => p_init_msg_list
2458 ,p_commit => p_commit
2459 ,p_validation_level => p_validation_level
2460 ,P_ctr_properties_tbl => P_ctr_properties_tbl
2461 ,x_return_status => x_return_status
2462 ,x_msg_count => x_msg_count
2463 ,x_msg_data => x_msg_data
2464 );
2465 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2466 l_msg_index := 1;
2467 l_msg_count := x_msg_count;
2468
2469 WHILE l_msg_count > 0 LOOP
2470 x_msg_data := FND_MSG_PUB.GET
2471 (l_msg_index,
2472 FND_API.G_FALSE );
2473 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_CTR_PROPERTY_PRE API');
2474 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2475 l_msg_index := l_msg_index + 1;
2476 l_msg_count := l_msg_count - 1;
2477 END LOOP;
2478 RAISE FND_API.G_EXC_ERROR;
2479 END IF;
2480 END IF;
2481 /* Vertical pre -processing section - Mandatory */
2482 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2483 CSI_COUNTER_VUHK.update_ctr_property_pre
2484 (
2485 p_api_version => p_api_version
2486 ,p_init_msg_list => p_init_msg_list
2487 ,p_commit => p_commit
2488 ,p_validation_level => p_validation_level
2489 ,P_ctr_properties_tbl => P_ctr_properties_tbl
2490 ,x_return_status => x_return_status
2491 ,x_msg_count => x_msg_count
2492 ,x_msg_data => x_msg_data
2493 );
2494 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2495 l_msg_index := 1;
2496 l_msg_count := x_msg_count;
2497
2498 WHILE l_msg_count > 0 LOOP
2499 x_msg_data := FND_MSG_PUB.GET
2500 (l_msg_index,
2501 FND_API.G_FALSE );
2502 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.UPDATE_CTR_PROPERTY_PRE API');
2503 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2504 l_msg_index := l_msg_index + 1;
2505 l_msg_count := l_msg_count - 1;
2506 END LOOP;
2507 RAISE FND_API.G_EXC_ERROR;
2508 END IF;
2509 END IF;
2510
2511 -- Start of API Body
2512
2513 IF p_ctr_properties_tbl.count > 0 THEN
2514 FOR j in p_ctr_properties_tbl.FIRST..p_ctr_properties_tbl.LAST
2515 LOOP
2516 BEGIN
2517 l_Ctr_properties_rec.COUNTER_PROPERTY_ID := p_ctr_properties_tbl(j).COUNTER_PROPERTY_ID;
2518 l_Ctr_properties_rec.counter_id := p_ctr_properties_tbl(j).counter_id;
2519 l_Ctr_properties_rec.NAME := p_ctr_properties_tbl(j).name;
2520 l_Ctr_properties_rec.DESCRIPTION := p_ctr_properties_tbl(j).DESCRIPTION;
2521 l_Ctr_properties_rec.PROPERTY_DATA_TYPE := p_ctr_properties_tbl(j).PROPERTY_DATA_TYPE;
2522 l_Ctr_properties_rec.IS_NULLABLE := p_ctr_properties_tbl(j).IS_NULLABLE;
2523 l_Ctr_properties_rec.DEFAULT_VALUE := p_ctr_properties_tbl(j).DEFAULT_VALUE;
2524 l_Ctr_properties_rec.MINIMUM_VALUE := p_ctr_properties_tbl(j).MINIMUM_VALUE;
2525 l_Ctr_properties_rec.MAXIMUM_VALUE := p_ctr_properties_tbl(j).MAXIMUM_VALUE;
2526 l_Ctr_properties_rec.UOM_CODE := p_ctr_properties_tbl(j).UOM_CODE;
2527 l_Ctr_properties_rec.START_DATE_ACTIVE := p_ctr_properties_tbl(j).START_DATE_ACTIVE;
2528 l_Ctr_properties_rec.END_DATE_ACTIVE := p_ctr_properties_tbl(j).END_DATE_ACTIVE;
2529 l_Ctr_properties_rec.PROPERTY_LOV_TYPE := p_ctr_properties_tbl(j).PROPERTY_LOV_TYPE;
2530 l_Ctr_properties_rec.OBJECT_VERSION_NUMBER := p_ctr_properties_tbl(j).OBJECT_VERSION_NUMBER;
2531 l_Ctr_properties_rec.ATTRIBUTE1 := p_ctr_properties_tbl(j).ATTRIBUTE1;
2532 l_Ctr_properties_rec.ATTRIBUTE2 := p_ctr_properties_tbl(j).ATTRIBUTE2;
2533 l_Ctr_properties_rec.ATTRIBUTE3 := p_ctr_properties_tbl(j).ATTRIBUTE3;
2534 l_Ctr_properties_rec.ATTRIBUTE4 := p_ctr_properties_tbl(j).ATTRIBUTE4;
2535 l_Ctr_properties_rec.ATTRIBUTE5 := p_ctr_properties_tbl(j).ATTRIBUTE5;
2536 l_Ctr_properties_rec.ATTRIBUTE6 := p_ctr_properties_tbl(j).ATTRIBUTE6;
2537 l_Ctr_properties_rec.ATTRIBUTE7 := p_ctr_properties_tbl(j).ATTRIBUTE7;
2538 l_Ctr_properties_rec.ATTRIBUTE8 := p_ctr_properties_tbl(j).ATTRIBUTE8;
2539 l_Ctr_properties_rec.ATTRIBUTE9 := p_ctr_properties_tbl(j).ATTRIBUTE9;
2540 l_Ctr_properties_rec.ATTRIBUTE10 := p_ctr_properties_tbl(j).ATTRIBUTE10;
2541 l_Ctr_properties_rec.ATTRIBUTE11 := p_ctr_properties_tbl(j).ATTRIBUTE11;
2542 l_Ctr_properties_rec.ATTRIBUTE12 := p_ctr_properties_tbl(j).ATTRIBUTE12;
2543 l_Ctr_properties_rec.ATTRIBUTE13 := p_ctr_properties_tbl(j).ATTRIBUTE13;
2544 l_Ctr_properties_rec.ATTRIBUTE14 := p_ctr_properties_tbl(j).ATTRIBUTE14;
2545 l_Ctr_properties_rec.ATTRIBUTE15 := p_ctr_properties_tbl(j).ATTRIBUTE15;
2546 l_Ctr_properties_rec.ATTRIBUTE_CATEGORY := p_ctr_properties_tbl(j).ATTRIBUTE_CATEGORY;
2547
2548
2549 CSI_COUNTER_PVT.update_ctr_property
2550 (
2551 p_api_version => 1.0
2552 ,p_init_msg_list => p_init_msg_list
2553 ,p_commit => p_commit
2554 ,p_validation_level => p_validation_level
2555 ,p_ctr_properties_rec => l_ctr_properties_rec
2556 ,x_return_status => x_return_status
2557 ,x_msg_count => x_msg_count
2558 ,x_msg_data => x_msg_data
2559 );
2560 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2561 l_msg_index := 1;
2562 l_msg_count := x_msg_count;
2563
2564 WHILE l_msg_count > 0 LOOP
2565 x_msg_data := FND_MSG_PUB.GET
2566 (l_msg_index,
2567 FND_API.G_FALSE );
2568 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.UPDATE_CTR_PROPERTY API');
2569 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2570 l_msg_index := l_msg_index + 1;
2571 l_msg_count := l_msg_count - 1;
2572 END LOOP;
2573 RAISE FND_API.G_EXC_ERROR;
2574 END IF;
2575 END;
2576 END LOOP;
2577 END IF;
2578
2579 -- End of API body
2580
2581 /* Customer post -processing section - Mandatory */
2582 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2583 CSI_COUNTER_CUHK.update_ctr_property_post
2584 (
2585 p_api_version => p_api_version
2586 ,p_init_msg_list => p_init_msg_list
2587 ,p_commit => p_commit
2588 ,p_validation_level => p_validation_level
2589 ,P_ctr_properties_tbl => P_ctr_properties_tbl
2590 ,x_return_status => x_return_status
2591 ,x_msg_count => x_msg_count
2592 ,x_msg_data => x_msg_data
2593 );
2594 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2595 l_msg_index := 1;
2596 l_msg_count := x_msg_count;
2597
2598 WHILE l_msg_count > 0 LOOP
2599 x_msg_data := FND_MSG_PUB.GET
2600 (l_msg_index,
2601 FND_API.G_FALSE );
2602 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_CTR_PROPERTY_POST API');
2603 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2604 l_msg_index := l_msg_index + 1;
2605 l_msg_count := l_msg_count - 1;
2606 END LOOP;
2607 RAISE FND_API.G_EXC_ERROR;
2608 END IF;
2609 END IF;
2610 /* Vertical post -processing section - Mandatory */
2611 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
2612 CSI_COUNTER_VUHK.update_ctr_property_post
2613 (
2614 p_api_version => p_api_version
2615 ,p_init_msg_list => p_init_msg_list
2616 ,p_commit => p_commit
2617 ,p_validation_level => p_validation_level
2618 ,P_ctr_properties_tbl => P_ctr_properties_tbl
2619 ,x_return_status => x_return_status
2620 ,x_msg_count => x_msg_count
2621 ,x_msg_data => x_msg_data
2622 );
2623 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2624 l_msg_index := 1;
2625 l_msg_count := x_msg_count;
2626
2627 WHILE l_msg_count > 0 LOOP
2628 x_msg_data := FND_MSG_PUB.GET
2629 (l_msg_index,
2630 FND_API.G_FALSE );
2631 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_VUHK.UPDATE_CTR_PROPERTY_POST API');
2632 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2633 l_msg_index := l_msg_index + 1;
2634 l_msg_count := l_msg_count - 1;
2635 END LOOP;
2636 RAISE FND_API.G_EXC_ERROR;
2637 END IF;
2638 END IF;
2639
2640 -- Standard check of p_commit.
2641 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
2642 COMMIT WORK;
2643 END IF;
2644
2645 EXCEPTION
2646 WHEN FND_API.G_EXC_ERROR THEN
2647 x_return_status := FND_API.G_RET_STS_ERROR ;
2648 ROLLBACK TO update_ctr_property_pub;
2649 FND_MSG_PUB.Count_And_Get
2650 (p_count => x_msg_count,
2651 p_data => x_msg_data
2652 );
2653
2654 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2655 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2656 ROLLBACK TO update_ctr_property_pub;
2657 FND_MSG_PUB.Count_And_Get
2658 (p_count => x_msg_count,
2659 p_data => x_msg_data
2660 );
2661 WHEN OTHERS THEN
2662 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2663 ROLLBACK TO update_ctr_property_pub;
2664 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2665 THEN
2666 FND_MSG_PUB.Add_Exc_Msg
2667 (G_PKG_NAME,
2668 l_api_name
2669 );
2670 END IF;
2671 FND_MSG_PUB.Count_And_Get
2672 (p_count => x_msg_count,
2673 p_data => x_msg_data
2674 );
2675
2676 END update_ctr_property;
2677
2678 PROCEDURE update_ctr_associations
2679 (
2680 p_api_version IN NUMBER
2681 ,p_commit IN VARCHAR2
2682 ,p_init_msg_list IN VARCHAR2
2683 ,p_validation_level IN NUMBER
2684 ,p_counter_associations_tbl IN OUT NOCOPY CSI_CTR_DATASTRUCTURES_PUB.counter_associations_tbl
2685 ,x_return_status OUT NOCOPY VARCHAR2
2686 ,x_msg_count OUT NOCOPY NUMBER
2687 ,x_msg_data OUT NOCOPY VARCHAR2
2688 )
2689 IS
2690 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CTR_ASSOCIATIONS';
2691 l_api_version CONSTANT NUMBER := 1.0;
2692 -- l_debug_level NUMBER;
2693 l_flag VARCHAR2(1) := 'N';
2694 l_msg_data VARCHAR2(2000);
2695 l_msg_index NUMBER;
2696 l_msg_count NUMBER;
2697 l_count NUMBER;
2698 l_return_message VARCHAR2(100);
2699
2700 l_counter_associations_rec CSI_CTR_DATASTRUCTURES_PUB.counter_associations_rec;
2701
2702 BEGIN
2703 -- Standard Start of API savepoint
2704 SAVEPOINT update_ctr_associations_pub;
2705
2706 -- Standard call to check for call compatibility.
2707 IF NOT FND_API.Compatible_API_Call (l_api_version,
2708 p_api_version,
2709 l_api_name ,
2710 G_PKG_NAME )
2711 THEN
2712 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2713 END IF;
2714
2715 -- Initialize message list if p_init_msg_list is set to TRUE.
2716 IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
2717 FND_MSG_PUB.initialize;
2718 END IF;
2719
2720 -- Initialize API return status to success
2721 x_return_status := FND_API.G_RET_STS_SUCCESS;
2722
2723 -- Read the debug profiles values in to global variable 7197402
2724 CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
2725
2726 -- Check the profile option debug_level for debug message reporting
2727 -- l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
2728
2729 -- If debug_level = 1 then dump the procedure name
2730 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
2731 csi_ctr_gen_utility_pvt.put_line( 'update_ctr_associations');
2732 END IF;
2733
2734 -- If the debug level = 2 then dump all the parameters values.
2735 IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
2736 csi_ctr_gen_utility_pvt.put_line( 'update_ctr_associations' ||
2737 p_api_version ||'-'||
2738 p_commit ||'-'||
2739 p_init_msg_list ||'-'||
2740 p_validation_level );
2741 csi_ctr_gen_utility_pvt.dump_counter_associations_tbl(p_counter_associations_tbl);
2742 END IF;
2743
2744 /* Customer pre -processing section - Mandatory */
2745 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2746 CSI_COUNTER_CUHK.update_ctr_associations_pre
2747 (
2748 p_api_version => p_api_version
2749 ,p_init_msg_list => p_init_msg_list
2750 ,p_commit => p_commit
2751 ,p_validation_level => p_validation_level
2752 ,P_counter_associations_tbl => P_counter_associations_tbl
2753 ,x_return_status => x_return_status
2754 ,x_msg_count => x_msg_count
2755 ,x_msg_data => x_msg_data
2756 );
2757 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2758 l_msg_index := 1;
2759 l_msg_count := x_msg_count;
2760
2761 WHILE l_msg_count > 0 LOOP
2762 x_msg_data := FND_MSG_PUB.GET
2763 (l_msg_index,
2764 FND_API.G_FALSE );
2765 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_CTR_ASSOCIATIONS_PRE API');
2766 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2767 l_msg_index := l_msg_index + 1;
2768 l_msg_count := l_msg_count - 1;
2769 END LOOP;
2770 RAISE FND_API.G_EXC_ERROR;
2771 END IF;
2772 END IF;
2773
2774 /* Vertical pre -processing section - Mandatory */
2775 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2776 CSI_COUNTER_VUHK.update_ctr_associations_pre
2777 (
2778 p_api_version => p_api_version
2779 ,p_init_msg_list => p_init_msg_list
2780 ,p_commit => p_commit
2781 ,p_validation_level => p_validation_level
2782 ,P_counter_associations_tbl => P_counter_associations_tbl
2783 ,x_return_status => x_return_status
2784 ,x_msg_count => x_msg_count
2785 ,x_msg_data => x_msg_data
2786 );
2787 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2788 l_msg_index := 1;
2789 l_msg_count := x_msg_count;
2790
2791 WHILE l_msg_count > 0 LOOP
2792 x_msg_data := FND_MSG_PUB.GET
2793 (l_msg_index,
2794 FND_API.G_FALSE );
2795 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_CTR_ASSOCIATIONS_PRE API');
2796 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2797 l_msg_index := l_msg_index + 1;
2798 l_msg_count := l_msg_count - 1;
2799 END LOOP;
2800 RAISE FND_API.G_EXC_ERROR;
2801 END IF;
2802 END IF;
2803
2804 -- Start of API Body
2805
2806 IF p_counter_associations_tbl.count > 0 THEN
2807 FOR i in p_counter_associations_tbl.FIRST..p_counter_associations_tbl.LAST
2808 LOOP
2809 BEGIN
2810 l_counter_associations_rec.instance_association_id := p_counter_associations_tbl(i).instance_association_id;
2811 l_counter_associations_rec.COUNTER_ID := p_counter_associations_tbl(i).counter_id;
2812 l_counter_associations_rec.SOURCE_OBJECT_CODE := p_counter_associations_tbl(i).SOURCE_OBJECT_CODE;
2813 l_counter_associations_rec.SOURCE_OBJECT_ID := p_counter_associations_tbl(i).SOURCE_OBJECT_ID;
2814 l_counter_associations_rec.START_DATE_ACTIVE := p_counter_associations_tbl(i).START_DATE_ACTIVE ;
2815 l_counter_associations_rec.END_DATE_ACTIVE := p_counter_associations_tbl(i).END_DATE_ACTIVE;
2816 l_counter_associations_rec.OBJECT_VERSION_NUMBER := p_counter_associations_tbl(i).OBJECT_VERSION_NUMBER;
2817 l_counter_associations_rec.ATTRIBUTE1 := p_counter_associations_tbl(i).ATTRIBUTE1;
2818 l_counter_associations_rec.ATTRIBUTE2 := p_counter_associations_tbl(i).ATTRIBUTE2;
2819 l_counter_associations_rec.ATTRIBUTE3 := p_counter_associations_tbl(i).ATTRIBUTE3;
2820 l_counter_associations_rec.ATTRIBUTE4 := p_counter_associations_tbl(i).ATTRIBUTE4;
2821 l_counter_associations_rec.ATTRIBUTE5 := p_counter_associations_tbl(i).ATTRIBUTE5;
2822 l_counter_associations_rec.ATTRIBUTE6 := p_counter_associations_tbl(i).ATTRIBUTE6;
2823 l_counter_associations_rec.ATTRIBUTE7 := p_counter_associations_tbl(i).ATTRIBUTE7;
2824 l_counter_associations_rec.ATTRIBUTE8 := p_counter_associations_tbl(i).ATTRIBUTE8;
2825 l_counter_associations_rec.ATTRIBUTE9 := p_counter_associations_tbl(i).ATTRIBUTE9;
2826 l_counter_associations_rec.ATTRIBUTE10 := p_counter_associations_tbl(i).ATTRIBUTE10;
2827 l_counter_associations_rec.ATTRIBUTE11 := p_counter_associations_tbl(i).ATTRIBUTE11;
2828 l_counter_associations_rec.ATTRIBUTE12 := p_counter_associations_tbl(i).ATTRIBUTE12;
2829 l_counter_associations_rec.ATTRIBUTE13 := p_counter_associations_tbl(i).ATTRIBUTE13;
2830 l_counter_associations_rec.ATTRIBUTE14 := p_counter_associations_tbl(i).ATTRIBUTE14;
2831 l_counter_associations_rec.ATTRIBUTE15 := p_counter_associations_tbl(i).ATTRIBUTE15;
2832 l_counter_associations_rec.ATTRIBUTE_CATEGORY := p_counter_associations_tbl(i).ATTRIBUTE_CATEGORY;
2833 l_counter_associations_rec.maint_organization_id := p_counter_associations_tbl(i).maint_organization_id;
2834 l_counter_associations_rec.primary_failure_flag := p_counter_associations_tbl(i).primary_failure_flag;
2835
2836 CSI_COUNTER_PVT.update_ctr_associations
2837 (
2838 p_api_version => 1.0
2839 ,p_init_msg_list => p_init_msg_list
2840 ,p_commit => p_commit
2841 ,p_validation_level => p_validation_level
2842 ,p_counter_associations_rec => l_counter_associations_rec
2843 ,x_return_status => x_return_status
2844 ,x_msg_count => x_msg_count
2845 ,x_msg_data => x_msg_data
2846 );
2847 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2848 l_msg_index := 1;
2849 l_msg_count := x_msg_count;
2850
2851 WHILE l_msg_count > 0 LOOP
2852 x_msg_data := FND_MSG_PUB.GET
2853 (l_msg_index,
2854 FND_API.G_FALSE );
2855 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_PVT.UPDATE_CTR_ASSOCIATIONS API');
2856 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2857 l_msg_index := l_msg_index + 1;
2858 l_msg_count := l_msg_count - 1;
2859 END LOOP;
2860 RAISE FND_API.G_EXC_ERROR;
2861 END IF;
2862 END;
2863 END LOOP;
2864 END IF;
2865
2866 -- End of API body
2867
2868 /* Customer post -processing section - Mandatory */
2869 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2870 CSI_COUNTER_CUHK.update_ctr_associations_post
2871 (
2872 p_api_version => p_api_version
2873 ,p_init_msg_list => p_init_msg_list
2874 ,p_commit => p_commit
2875 ,p_validation_level => p_validation_level
2876 ,P_counter_associations_tbl => P_counter_associations_tbl
2877 ,x_return_status => x_return_status
2878 ,x_msg_count => x_msg_count
2879 ,x_msg_data => x_msg_data
2880 );
2881 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2882 l_msg_index := 1;
2883 l_msg_count := x_msg_count;
2884
2885 WHILE l_msg_count > 0 LOOP
2886 x_msg_data := FND_MSG_PUB.GET
2887 (l_msg_index,
2888 FND_API.G_FALSE );
2889 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_CTR_ASSOCIATIONS_POST API');
2890 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2891 l_msg_index := l_msg_index + 1;
2892 l_msg_count := l_msg_count - 1;
2893 END LOOP;
2894 RAISE FND_API.G_EXC_ERROR;
2895 END IF;
2896 END IF;
2897
2898 /* Vertical pre -processing section - Mandatory */
2899 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2900 CSI_COUNTER_VUHK.update_ctr_associations_post
2901 (
2902 p_api_version => p_api_version
2903 ,p_init_msg_list => p_init_msg_list
2904 ,p_commit => p_commit
2905 ,p_validation_level => p_validation_level
2906 ,P_counter_associations_tbl => P_counter_associations_tbl
2907 ,x_return_status => x_return_status
2908 ,x_msg_count => x_msg_count
2909 ,x_msg_data => x_msg_data
2910 );
2911 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2912 l_msg_index := 1;
2913 l_msg_count := x_msg_count;
2914
2915 WHILE l_msg_count > 0 LOOP
2916 x_msg_data := FND_MSG_PUB.GET
2917 (l_msg_index,
2918 FND_API.G_FALSE );
2919 csi_ctr_gen_utility_pvt.put_line( ' Error from CSI_COUNTER_CUHK.UPDATE_CTR_ASSOCIATIONS_POST API');
2920 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
2921 l_msg_index := l_msg_index + 1;
2922 l_msg_count := l_msg_count - 1;
2923 END LOOP;
2924 RAISE FND_API.G_EXC_ERROR;
2925 END IF;
2926 END IF;
2927
2928 -- Standard check of p_commit.
2929 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
2930 COMMIT WORK;
2931 END IF;
2932
2933 EXCEPTION
2934 WHEN FND_API.G_EXC_ERROR THEN
2935 x_return_status := FND_API.G_RET_STS_ERROR ;
2936 ROLLBACK TO update_ctr_associations_pub;
2937 FND_MSG_PUB.Count_And_Get
2938 (p_count => x_msg_count,
2939 p_data => x_msg_data
2940 );
2941
2942 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2943 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2944 ROLLBACK TO update_ctr_associations_pub;
2945 FND_MSG_PUB.Count_And_Get
2946 (p_count => x_msg_count,
2947 p_data => x_msg_data
2948 );
2949 WHEN OTHERS THEN
2950 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2951 ROLLBACK TO update_ctr_associations_pub;
2952 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2953 THEN
2954 FND_MSG_PUB.Add_Exc_Msg
2955 (G_PKG_NAME,
2956 l_api_name
2957 );
2958 END IF;
2959 FND_MSG_PUB.Count_And_Get
2960 (p_count => x_msg_count,
2961 p_data => x_msg_data
2962 );
2963
2964 END update_ctr_associations;
2965
2966
2967
2968 END CSI_COUNTER_PUB;