[Home] [Help]
PACKAGE BODY: APPS.CS_COUNTERS_PUB
Source
1 PACKAGE BODY CS_Counters_PUB AS
2 /* $Header: cspctrb.pls 120.5.12000000.4 2007/06/18 09:14:55 ngoutam ship $ */
3
4 -- ---------------------------------------------------------
5 -- Define global variables
6 -- ---------------------------------------------------------
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CS_COUNTERS_PUB';
8 --G_USER CONSTANT VARCHAR2(30) := FND_GLOBAL.USER_ID;
9 --------------------------------------------------------------------------
10
11 -- ---------------------------------------------------------
12 -- Private program units
13 -- ---------------------------------------------------------
14
15 PROCEDURE Initialize_Desc_Flex_For_Upd
16 (
17 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
18 p_old_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
19 x_desc_flex OUT NOCOPY CS_COUNTERS_EXT_PVT.DFF_Rec_Type
20 ) IS
21 BEGIN
22 x_desc_flex := p_desc_flex;
23 IF p_desc_flex.attribute1 = FND_API.G_MISS_CHAR THEN
24 x_desc_flex.attribute1 := p_old_desc_flex.attribute1;
25 END IF;
26
27 IF p_desc_flex.attribute2 = FND_API.G_MISS_CHAR THEN
28 x_desc_flex.attribute2 := p_old_desc_flex.attribute2;
29 END IF;
30
31 IF p_desc_flex.attribute3 = FND_API.G_MISS_CHAR THEN
32 x_desc_flex.attribute3 := p_old_desc_flex.attribute3;
33 END IF;
34
35 IF p_desc_flex.attribute4 = FND_API.G_MISS_CHAR THEN
36 x_desc_flex.attribute4 := p_old_desc_flex.attribute4;
37 END IF;
38
39 IF p_desc_flex.attribute5 = FND_API.G_MISS_CHAR THEN
40 x_desc_flex.attribute5 := p_old_desc_flex.attribute5;
41 END IF;
42
43 IF p_desc_flex.attribute6 = FND_API.G_MISS_CHAR THEN
44 x_desc_flex.attribute6 := p_old_desc_flex.attribute6;
45 END IF;
46
47 IF p_desc_flex.attribute7 = FND_API.G_MISS_CHAR THEN
48 x_desc_flex.attribute7 := p_old_desc_flex.attribute7;
49 END IF;
50
51 IF p_desc_flex.attribute8 = FND_API.G_MISS_CHAR THEN
52 x_desc_flex.attribute8 := p_old_desc_flex.attribute8;
53 END IF;
54
55 IF p_desc_flex.attribute9 = FND_API.G_MISS_CHAR THEN
56 x_desc_flex.attribute9 := p_old_desc_flex.attribute1;
57 END IF;
58
59 IF p_desc_flex.attribute10 = FND_API.G_MISS_CHAR THEN
60 x_desc_flex.attribute10 := p_old_desc_flex.attribute10;
61 END IF;
62
63 IF p_desc_flex.attribute11 = FND_API.G_MISS_CHAR THEN
64 x_desc_flex.attribute11 := p_old_desc_flex.attribute11;
65 END IF;
66
67 IF p_desc_flex.attribute12 = FND_API.G_MISS_CHAR THEN
68 x_desc_flex.attribute12 := p_old_desc_flex.attribute12;
69 END IF;
70
71 IF p_desc_flex.attribute13 = FND_API.G_MISS_CHAR THEN
72 x_desc_flex.attribute13 := p_old_desc_flex.attribute13;
73 END IF;
74
75 IF p_desc_flex.attribute14 = FND_API.G_MISS_CHAR THEN
76 x_desc_flex.attribute14 := p_old_desc_flex.attribute14;
77 END IF;
78
79 IF p_desc_flex.attribute15 = FND_API.G_MISS_CHAR THEN
80 x_desc_flex.attribute15 := p_old_desc_flex.attribute15;
81 END IF;
82
83 IF p_desc_flex.context = FND_API.G_MISS_CHAR THEN
84 x_desc_flex.context := p_old_desc_flex.context;
85 END IF;
86
87 END Initialize_Desc_Flex_For_Upd;
88
89 PROCEDURE Initialize_CtrRec_For_Upd
90 (
91 p_ctr_rec IN Ctr_Rec_Type,
92 p_old_ctr_rec IN Ctr_Rec_Type,
93 x_ctr_rec OUT NOCOPY Ctr_Rec_Type
94 ) IS
95 BEGIN
96 x_ctr_rec := p_ctr_rec;
97 IF p_ctr_rec.counter_group_id = FND_API.G_MISS_NUM THEN
98 x_ctr_rec.counter_group_id := p_old_ctr_rec.counter_group_id;
99 END IF;
100
101 IF p_ctr_rec.name = FND_API.G_MISS_CHAR THEN
102 x_ctr_rec.name := p_old_ctr_rec.name;
103 END IF;
104
105 IF p_ctr_rec.type = FND_API.G_MISS_CHAR THEN
106 x_ctr_rec.type := p_old_ctr_rec.type;
107 END IF;
108
109 IF p_ctr_rec.initial_reading = FND_API.G_MISS_NUM THEN
110 x_ctr_rec.initial_reading := p_old_ctr_rec.initial_reading;
111 END IF;
112
113 IF p_ctr_rec.step_value = FND_API.G_MISS_NUM THEN
114 x_ctr_rec.step_value := p_old_ctr_rec.step_value;
115 END IF;
116
117 IF p_ctr_rec.uom_code = FND_API.G_MISS_CHAR THEN
118 x_ctr_rec.uom_code := p_old_ctr_rec.uom_code;
119 END IF;
120
121 IF p_ctr_rec.derive_function = FND_API.G_MISS_CHAR THEN
122 x_ctr_rec.derive_function := p_old_ctr_rec.derive_function;
123 END IF;
124
125 IF p_ctr_rec.derive_counter_id = FND_API.G_MISS_NUM THEN
126 x_ctr_rec.derive_counter_id := p_old_ctr_rec.derive_counter_id;
127 END IF;
128
129 IF p_ctr_rec.derive_property_id = FND_API.G_MISS_NUM THEN
130 x_ctr_rec.derive_property_id := p_old_ctr_rec.derive_property_id;
131 END IF;
132
133 IF p_ctr_rec.formula_text = FND_API.G_MISS_CHAR THEN
134 x_ctr_rec.formula_text := p_old_ctr_rec.formula_text;
135 END IF;
136
137 IF p_ctr_rec.usage_item_id = FND_API.G_MISS_NUM THEN
138 x_ctr_rec.usage_item_id := p_old_ctr_rec.usage_item_id;
139 END IF;
140
141 IF p_ctr_rec.start_date_active = FND_API.G_MISS_DATE THEN
142 x_ctr_rec.start_date_active := p_old_ctr_rec.start_date_active;
143 END IF;
144
145 IF p_ctr_rec.end_date_active = FND_API.G_MISS_DATE THEN
146 x_ctr_rec.end_date_active := p_old_ctr_rec.end_date_active;
147 END IF;
148
149 IF p_ctr_rec.customer_view = FND_API.G_MISS_CHAR THEN
150 x_ctr_rec.customer_view := p_old_ctr_rec.customer_view;
151 END IF;
152
153 IF p_ctr_rec.duration = FND_API.G_MISS_NUM THEN
154 x_ctr_rec.duration := p_old_ctr_rec.duration;
155 END IF;
156
157 IF p_ctr_rec.duration_uom = FND_API.G_MISS_CHAR THEN
158 x_ctr_rec.duration_uom := p_old_ctr_rec.duration_uom;
159 END IF;
160
161 IF p_ctr_rec.direction = FND_API.G_MISS_CHAR THEN
162 x_ctr_rec.direction := p_old_ctr_rec.direction;
163 END IF;
164
165 IF p_ctr_rec.filter_reading_count = FND_API.G_MISS_NUM THEN
166 x_ctr_rec.filter_reading_count := p_old_ctr_rec.filter_reading_count;
167 END IF;
168
169 IF p_ctr_rec.filter_type = FND_API.G_MISS_CHAR THEN
170 x_ctr_rec.filter_type := p_old_ctr_rec.filter_type;
171 END IF;
172
173 IF p_ctr_rec.filter_time_uom = FND_API.G_MISS_CHAR THEN
174 x_ctr_rec.filter_time_uom := p_old_ctr_rec.filter_time_uom;
175 END IF;
176
177 IF p_ctr_rec.estimation_id = FND_API.G_MISS_CHAR THEN
178 x_ctr_rec.estimation_id := p_old_ctr_rec.estimation_id;
179 END IF;
180
181
182 Initialize_Desc_Flex_For_Upd
183 (
184 p_ctr_Rec.desc_flex,
185 p_old_ctr_Rec.desc_flex,
186 x_ctr_rec.desc_flex
187 );
188
189 END Initialize_CtrRec_For_Upd;
190
191 PROCEDURE Initialize_CtrPropRec_For_Upd
192 (
193 p_ctr_prop_rec IN Ctr_Prop_Rec_Type,
194 p_old_ctr_prop_rec IN Ctr_Prop_Rec_Type,
195 x_ctr_prop_rec OUT NOCOPY Ctr_Prop_Rec_Type
196 ) IS
197 BEGIN
198 x_ctr_prop_rec := p_ctr_prop_rec;
199 IF p_ctr_prop_rec.counter_id = FND_API.G_MISS_NUM THEN
200 x_ctr_prop_rec.counter_id := p_old_ctr_prop_rec.counter_id;
201 END IF;
202
203 IF p_ctr_prop_rec.name = FND_API.G_MISS_CHAR THEN
204 x_ctr_prop_rec.name := p_old_ctr_prop_rec.name;
205 END IF;
206
207 IF p_ctr_prop_rec.property_data_type = FND_API.G_MISS_CHAR THEN
208 x_ctr_prop_rec.property_data_type := p_old_ctr_prop_rec.property_data_type;
209 END IF;
210
211 IF p_ctr_prop_rec.default_value = FND_API.G_MISS_CHAR THEN
212 x_ctr_prop_rec.default_value := p_old_ctr_prop_rec.default_value;
213 END IF;
214
215 IF p_ctr_prop_rec.maximum_value = FND_API.G_MISS_CHAR THEN
216 x_ctr_prop_rec.maximum_value := p_old_ctr_prop_rec.default_value;
217 END IF;
218
219 IF p_ctr_prop_rec.minimum_value = FND_API.G_MISS_CHAR THEN
220 x_ctr_prop_rec.minimum_value := p_old_ctr_prop_rec.minimum_value;
221 END IF;
222
223 IF p_ctr_prop_rec.start_date_active = FND_API.G_MISS_DATE THEN
224 x_ctr_prop_rec.start_date_active := p_old_ctr_prop_rec.start_date_active;
225 END IF;
226
227 IF p_ctr_prop_rec.end_date_active = FND_API.G_MISS_DATE THEN
228 x_ctr_prop_rec.end_date_active := p_old_ctr_prop_rec.end_date_active;
229 END IF;
230
231 IF p_ctr_prop_rec.property_lov_type = FND_API.G_MISS_CHAR THEN
232 x_ctr_prop_rec.property_lov_type := p_old_ctr_prop_rec.property_lov_type;
233 END IF;
234
235
236 Initialize_Desc_Flex_For_Upd
237 (
238 p_ctr_prop_Rec.desc_flex,
239 p_old_ctr_prop_Rec.desc_flex,
240 x_ctr_prop_rec.desc_flex
241 );
242
243 END Initialize_CtrPropRec_For_Upd;
244
245
246 -- ---------------------------------------------------------
247 -- Public program units
248 -- ---------------------------------------------------------
249
250 FUNCTION Ctr_Grp_Template_Exists
251 (
252 p_item_id NUMBER
253 ) RETURN BOOLEAN IS
254
255 l_return_value BOOLEAN := TRUE;
256 l_ctr_grp_id NUMBER;
257
258 Cursor Grp_Tmpl(p_inv_item_id NUMBER) IS
259 SELECT group_id
260 FROM csi_ctr_item_associations
261 WHERE associated_to_group='Y'
262 AND inventory_item_id = p_inv_item_id;
263
264 BEGIN
265 open Grp_tmpl(p_item_id);
266 fetch Grp_tmpl into l_ctr_grp_id;
267 close Grp_tmpl;
268 If l_ctr_grp_id is not null then
269 l_return_value := TRUE;
270 Else
271 l_return_value := FALSE;
272 End If;
273 RETURN (l_return_value);
274 END;
275
276 PROCEDURE Create_Ctr_Grp_Template
277 (
278 p_api_version IN NUMBER,
279 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
280 p_commit IN VARCHAR2 := FND_API.G_FALSE,
281 x_return_status OUT NOCOPY VARCHAR2,
282 x_msg_count OUT NOCOPY NUMBER,
283 x_msg_data OUT NOCOPY VARCHAR2,
284 p_ctr_grp_rec IN CS_COUNTERS_PUB.CtrGrp_Rec_Type,
285 x_ctr_grp_id IN OUT NOCOPY NUMBER,
286 x_object_version_number OUT NOCOPY NUMBER
287 ) IS
288 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CTR_GRP_TEMPLATE';
289 l_api_version CONSTANT NUMBER := 1.0;
290
291 l_ctr_groups_rec CSI_CTR_DATASTRUCTURES_PUB.counter_groups_rec;
292 l_ctr_item_associations_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_item_associations_tbl;
293 l_validation_level NUMBER;
294
295 BEGIN
296
297 SAVEPOINT Create_Ctr_Grp_Template_PUB;
298
299 -- Standard call to check for call compatibility.
300 IF NOT FND_API.Compatible_API_Call (l_api_version ,
301 p_api_version ,
302 l_api_name ,
303 G_PKG_NAME ) THEN
304 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
305 END IF;
306 -- Initialize message list if p_init_msg_list is set to TRUE.
307 IF FND_API.to_Boolean( p_init_msg_list ) THEN
308 FND_MSG_PUB.initialize;
309 END IF;
310
311 -- Initialize API return status to success
312 x_return_status := FND_API.G_RET_STS_SUCCESS;
313
314 -- Customer/Vertical Hookups
315 /* Customer pre -processing section - Mandatory */
316 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
317 CS_COUNTERS_CUHK.Create_Ctr_Grp_Template_Pre (
318 p_api_version => l_api_version,
319 p_init_msg_list => p_init_msg_list,
320 p_commit => p_commit,
321 x_return_status => x_return_status,
322 x_msg_count => x_msg_count,
323 x_msg_data => x_msg_data,
324 p_ctr_grp_rec => p_ctr_grp_rec,
325 x_ctr_grp_id => x_ctr_grp_id,
326 x_object_version_number => x_object_version_number
327 );
328 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
329 RAISE FND_API.G_EXC_ERROR;
330 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
331 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
332 END IF;
333 END IF;
334 /* Vertical pre -processing section - Mandatory */
335 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
336 CS_COUNTERS_VUHK.Create_Ctr_Grp_Template_Pre (
337 p_api_version => l_api_version,
338 p_init_msg_list => p_init_msg_list,
339 p_commit => p_commit,
340 x_return_status => x_return_status,
341 x_msg_count => x_msg_count,
342 x_msg_data => x_msg_data,
343 p_ctr_grp_rec => p_ctr_grp_rec,
344 x_ctr_grp_id => x_ctr_grp_id,
345 x_object_version_number => x_object_version_number
346 );
347 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
348 RAISE FND_API.G_EXC_ERROR;
349 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
350 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
351 END IF;
352 END IF;
353
354
355 -- Start of API Body
356 l_ctr_groups_rec.COUNTER_GROUP_ID := x_ctr_grp_id;
357 l_ctr_groups_rec.NAME := p_ctr_grp_rec.NAME;
358 l_ctr_groups_rec.DESCRIPTION := p_ctr_grp_rec.DESCRIPTION;
359 l_ctr_groups_rec.START_DATE_ACTIVE := p_ctr_grp_rec.start_date_active;
360 l_ctr_groups_rec.END_DATE_ACTIVE := p_ctr_grp_rec.end_date_active;
361 l_ctr_groups_rec.ATTRIBUTE1 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE1;
362 l_ctr_groups_rec.ATTRIBUTE2 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE2;
363 l_ctr_groups_rec.ATTRIBUTE3 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE3;
364 l_ctr_groups_rec.ATTRIBUTE4 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE4;
365 l_ctr_groups_rec.ATTRIBUTE5 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE5;
366 l_ctr_groups_rec.ATTRIBUTE6 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE6;
367 l_ctr_groups_rec.ATTRIBUTE7 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE7;
368 l_ctr_groups_rec.ATTRIBUTE8 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE8;
369 l_ctr_groups_rec.ATTRIBUTE9 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE9;
370 l_ctr_groups_rec.ATTRIBUTE10 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE10;
371 l_ctr_groups_rec.ATTRIBUTE11 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE11;
372 l_ctr_groups_rec.ATTRIBUTE12 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE12;
373 l_ctr_groups_rec.ATTRIBUTE13 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE13;
374 l_ctr_groups_rec.ATTRIBUTE14 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE14;
375 l_ctr_groups_rec.ATTRIBUTE15 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE15;
376 l_ctr_groups_rec.CONTEXT := p_ctr_grp_rec.DESC_FLEX.CONTEXT;
377 l_ctr_groups_rec.ASSOCIATION_TYPE := p_ctr_grp_rec.ASSOCIATION_TYPE;
378
379
380 CSI_COUNTER_TEMPLATE_PUB.create_counter_group
381 (
382 p_api_version => p_api_version
383 ,p_commit => p_commit
384 ,p_init_msg_list => p_init_msg_list
385 ,p_validation_level => l_validation_level
386 ,p_counter_groups_rec => l_ctr_groups_rec
387 ,p_ctr_item_associations_tbl => l_ctr_item_associations_tbl
388 ,x_return_status => x_return_status
389 ,x_msg_count => x_msg_count
390 ,x_msg_data => x_msg_data
391 );
392
393 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
394 ROLLBACK TO Create_Ctr_Grp_Template_PUB;
395 RETURN;
396 END IF;
397
398 -- End of API Body
399 -- Customer/Vertical Hookups
400 /* Customer post -processing section - Mandatory */
401 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
402 CS_COUNTERS_CUHK.Create_Ctr_Grp_Template_Post (
403 p_api_version => l_api_version,
404 p_init_msg_list => p_init_msg_list,
405 p_commit => p_commit,
406 x_return_status => x_return_status,
407 x_msg_count => x_msg_count,
408 x_msg_data => x_msg_data,
409 p_ctr_grp_rec => p_ctr_grp_rec,
410 x_ctr_grp_id => x_ctr_grp_id,
411 x_object_version_number => x_object_version_number
412 );
413 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
414 RAISE FND_API.G_EXC_ERROR;
415 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
416 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
417 END IF;
418 END IF;
419 /* Vertical post -processing section - Mandatory */
420 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
421 CS_COUNTERS_VUHK.Create_Ctr_Grp_Template_Post (
422 p_api_version => l_api_version,
423 p_init_msg_list => p_init_msg_list,
424 p_commit => p_commit,
425 x_return_status => x_return_status,
426 x_msg_count => x_msg_count,
427 x_msg_data => x_msg_data,
428 p_ctr_grp_rec => p_ctr_grp_rec,
429 x_ctr_grp_id => x_ctr_grp_id,
430 x_object_version_number => x_object_version_number
431 );
432 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
433 RAISE FND_API.G_EXC_ERROR;
434 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
435 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436 END IF;
437 END IF;
438
439 IF FND_API.To_Boolean( p_commit ) THEN
440 COMMIT WORK;
441 END IF;
442
443 FND_MSG_PUB.Count_And_Get
444 (p_count => x_msg_count ,
445 p_data => x_msg_data
446 );
447
448 EXCEPTION
449
450 WHEN FND_API.G_EXC_ERROR THEN
451 ROLLBACK TO Create_Ctr_Grp_Template_PUB;
452 x_return_status := FND_API.G_RET_STS_ERROR ;
453 FND_MSG_PUB.Count_And_Get
454 (p_count => x_msg_count ,
455 p_data => x_msg_data
456 );
457 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458 ROLLBACK TO Create_Ctr_Grp_Template_PUB;
459 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
460 FND_MSG_PUB.Count_And_Get
461 (p_count => x_msg_count ,
462 p_data => x_msg_data
463 );
464 WHEN OTHERS THEN
465 ROLLBACK TO Create_Ctr_Grp_Template_PUB;
466 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
467 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
468 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
469 END IF;
470 FND_MSG_PUB.Count_And_Get
471 (p_count => x_msg_count ,
472 p_data => x_msg_data
473 );
474 END Create_Ctr_Grp_Template;
475
476 PROCEDURE Create_Ctr_Grp_Instance
477 (
478 p_api_version IN NUMBER,
479 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
480 p_commit IN VARCHAR2 := FND_API.G_FALSE,
481 x_return_status OUT NOCOPY VARCHAR2,
482 x_msg_count OUT NOCOPY NUMBER,
483 x_msg_data OUT NOCOPY VARCHAR2,
484 p_ctr_grp_rec IN CS_COUNTERS_PUB.CtrGrp_Rec_Type,
485 p_source_object_cd IN VARCHAR2,
486 p_source_object_id IN NUMBER,
487 x_ctr_grp_id IN OUT NOCOPY NUMBER,
488 x_object_version_number OUT NOCOPY NUMBER
489 ) IS
490 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CTR_GRP_INSTANCE';
491 l_api_version CONSTANT NUMBER := 1.0;
492
493 BEGIN
494 null;
495 END Create_Ctr_Grp_Instance;
496
497 PROCEDURE Create_Counter
498 (
499 p_api_version IN NUMBER,
500 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
501 p_commit IN VARCHAR2 := FND_API.G_FALSE,
502 x_return_status OUT NOCOPY VARCHAR2,
503 x_msg_count OUT NOCOPY NUMBER,
504 x_msg_data OUT NOCOPY VARCHAR2,
505 p_ctr_rec IN CS_COUNTERS_PUB.Ctr_Rec_Type,
506 x_ctr_id IN OUT NOCOPY NUMBER,
507 x_object_version_number OUT NOCOPY NUMBER
508 ) IS
509 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_COUNTER';
510 l_api_version CONSTANT NUMBER := 1.0;
511
512 l_template_flag VARCHAR2(1);
513 l_counter_template_rec CSI_CTR_DATASTRUCTURES_PUB.counter_template_rec;
514 l_ctr_item_associations_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_item_associations_tbl;
515 l_ctr_property_template_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_property_template_tbl;
516 l_counter_relationships_tbl CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_tbl;
517 l_ctr_derived_filters_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_tbl;
518 l_validation_level NUMBER;
519 BEGIN
520
521 SAVEPOINT Create_Counter_PUB;
522
523 -- Standard call to check for call compatibility.
524 IF NOT FND_API.Compatible_API_Call (l_api_version ,
525 p_api_version ,
526 l_api_name ,
527 G_PKG_NAME ) THEN
528 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
529 END IF;
530 -- Initialize message list if p_init_msg_list is set to TRUE.
531 IF FND_API.to_Boolean( p_init_msg_list ) THEN
532 FND_MSG_PUB.initialize;
533 END IF;
534
535
536 /* Customer pre -processing section - Mandatory */
537 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
538 CS_COUNTERS_CUHK.Create_Counter_Pre (
539 p_api_version => l_api_version,
540 p_init_msg_list => p_init_msg_list,
541 p_commit => p_commit,
542 x_return_status => x_return_status,
543 x_msg_count => x_msg_count,
544 x_msg_data => x_msg_data,
545 p_ctr_rec => p_ctr_rec,
546 x_ctr_id => x_ctr_id,
547 x_object_version_number => x_object_version_number
548 );
549 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
550 RAISE FND_API.G_EXC_ERROR;
551 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
552 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
553 END IF;
554 END IF;
555 /* Vertical pre -processing section - Mandatory */
556 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
557 CS_COUNTERS_VUHK.Create_Counter_Pre (
558 p_api_version => l_api_version,
559 p_init_msg_list => p_init_msg_list,
560 p_commit => p_commit,
561 x_return_status => x_return_status,
562 x_msg_count => x_msg_count,
563 x_msg_data => x_msg_data,
564 p_ctr_rec => p_ctr_rec,
565 x_ctr_id => x_ctr_id,
566 x_object_version_number => x_object_version_number
567 );
568 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
569 RAISE FND_API.G_EXC_ERROR;
570 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
571 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
572 END IF;
573 END IF;
574
575 -- Initialize API return status to success
576 x_return_status := FND_API.G_RET_STS_SUCCESS;
577
578 -- Start of API Body
579 l_counter_template_rec.COUNTER_ID := x_ctr_id;
580 l_counter_template_rec.GROUP_ID := p_ctr_rec.counter_group_id;
581 l_counter_template_rec.COUNTER_TYPE := p_ctr_rec.type;
582 l_counter_template_rec.INITIAL_READING := p_ctr_rec.initial_reading;
583 l_counter_template_rec.TOLERANCE_PLUS := p_ctr_rec.tolerance_plus;
584 l_counter_template_rec.TOLERANCE_MINUS := p_ctr_rec.tolerance_minus;
585 l_counter_template_rec.UOM_CODE := p_ctr_rec.uom_code;
586 l_counter_template_rec.DERIVE_COUNTER_ID := p_ctr_rec.derive_counter_id;
587 l_counter_template_rec.DERIVE_FUNCTION := p_ctr_rec.derive_function;
588 l_counter_template_rec.DERIVE_PROPERTY_ID := p_ctr_rec.derive_property_id;
589 l_counter_template_rec.FORMULA_TEXT := p_ctr_rec.formula_text;
590 l_counter_template_rec.ROLLOVER_LAST_READING := p_ctr_rec.rollover_last_reading;
591 l_counter_template_rec.ROLLOVER_FIRST_READING := p_ctr_rec.rollover_first_reading;
592 l_counter_template_rec.USAGE_ITEM_ID := p_ctr_rec.usage_item_id;
593 l_counter_template_rec.START_DATE_ACTIVE := p_ctr_rec.start_date_active;
594 l_counter_template_rec.END_DATE_ACTIVE := p_ctr_rec.end_date_active;
595 l_counter_template_rec.ATTRIBUTE1 := p_ctr_rec.desc_flex.ATTRIBUTE1;
596 l_counter_template_rec.ATTRIBUTE2 := p_ctr_rec.desc_flex.ATTRIBUTE2;
597 l_counter_template_rec.ATTRIBUTE3 := p_ctr_rec.desc_flex.ATTRIBUTE3;
598 l_counter_template_rec.ATTRIBUTE4 := p_ctr_rec.desc_flex.ATTRIBUTE4;
599 l_counter_template_rec.ATTRIBUTE5 := p_ctr_rec.desc_flex.ATTRIBUTE5;
600 l_counter_template_rec.ATTRIBUTE6 := p_ctr_rec.desc_flex.ATTRIBUTE6;
601 l_counter_template_rec.ATTRIBUTE7 := p_ctr_rec.desc_flex.ATTRIBUTE7;
602 l_counter_template_rec.ATTRIBUTE8 := p_ctr_rec.desc_flex.ATTRIBUTE8;
603 l_counter_template_rec.ATTRIBUTE9 := p_ctr_rec.desc_flex.ATTRIBUTE9;
604 l_counter_template_rec.ATTRIBUTE10 := p_ctr_rec.desc_flex.ATTRIBUTE10;
605 l_counter_template_rec.ATTRIBUTE11 := p_ctr_rec.desc_flex.ATTRIBUTE11;
606 l_counter_template_rec.ATTRIBUTE12 := p_ctr_rec.desc_flex.ATTRIBUTE12;
607 l_counter_template_rec.ATTRIBUTE13 := p_ctr_rec.desc_flex.ATTRIBUTE13;
608 l_counter_template_rec.ATTRIBUTE14 := p_ctr_rec.desc_flex.ATTRIBUTE14;
609 l_counter_template_rec.ATTRIBUTE15 := p_ctr_rec.desc_flex.ATTRIBUTE15;
610 l_counter_template_rec.ATTRIBUTE_CATEGORY := p_ctr_rec.desc_flex.CONTEXT;
611 l_counter_template_rec.CUSTOMER_VIEW := p_ctr_rec.customer_view;
612 l_counter_template_rec.DIRECTION := p_ctr_rec.direction;
613 l_counter_template_rec.FILTER_TYPE := p_ctr_rec.filter_type;
614 l_counter_template_rec.FILTER_READING_COUNT := p_ctr_rec.filter_reading_count;
615 l_counter_template_rec.FILTER_TIME_UOM := p_ctr_rec.filter_time_uom;
616 l_counter_template_rec.ESTIMATION_ID := p_ctr_rec.estimation_id;
617 l_counter_template_rec.NAME := p_ctr_rec.name;
618 l_counter_template_rec.DESCRIPTION := p_ctr_rec.description;
619 l_counter_template_rec.COMMENTS := p_ctr_rec.comments;
620 l_counter_template_rec.READING_TYPE := 1;
621 IF p_ctr_rec.rollover_last_reading is not null and p_ctr_rec.rollover_first_reading is not null THEN
622 l_counter_template_rec.AUTOMATIC_ROLLOVER := 'Y';
623 ELSE
624 l_counter_template_rec.AUTOMATIC_ROLLOVER := 'N';
625 END IF;
626
627 CSI_COUNTER_TEMPLATE_PUB.create_counter_template
628 (
629 p_api_version => p_api_version
630 ,p_commit => p_commit
631 ,p_init_msg_list => p_init_msg_list
632 ,p_validation_level => l_validation_level
633 ,p_counter_template_rec => l_counter_template_rec
634 ,p_ctr_item_associations_tbl => l_ctr_item_associations_tbl
635 ,p_ctr_property_template_tbl => l_ctr_property_template_tbl
636 ,p_counter_relationships_tbl => l_counter_relationships_tbl
637 ,p_ctr_derived_filters_tbl => l_ctr_derived_filters_tbl
638 ,x_return_status => x_return_status
639 ,x_msg_count => x_msg_count
640 ,x_msg_data => x_msg_data
641 );
642
643 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
644 ROLLBACK TO Create_Counter_PUB;
645 RETURN;
646 END IF;
647 -- End of API Body
648 --
649 -- Customer/Vertical Hookups
650 /* Customer post -processing section - Mandatory */
651 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
652 CS_COUNTERS_CUHK.Create_Counter_Post (
653 p_api_version => l_api_version,
654 p_init_msg_list => p_init_msg_list,
655 p_commit => p_commit,
656 x_return_status => x_return_status,
657 x_msg_count => x_msg_count,
658 x_msg_data => x_msg_data,
659 p_ctr_rec => p_ctr_rec,
660 x_ctr_id => x_ctr_id,
661 x_object_version_number => x_object_version_number
662 );
663 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
664 RAISE FND_API.G_EXC_ERROR;
665 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
666 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
667 END IF;
668 END IF;
669 /* Vertical post -processing section - Mandatory */
670 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
671 CS_COUNTERS_VUHK.Create_Counter_Post (
672 p_api_version => l_api_version,
673 p_init_msg_list => p_init_msg_list,
674 p_commit => p_commit,
675 x_return_status => x_return_status,
676 x_msg_count => x_msg_count,
677 x_msg_data => x_msg_data,
678 p_ctr_rec => p_ctr_rec,
679 x_ctr_id => x_ctr_id,
680 x_object_version_number => x_object_version_number
681 );
682 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
683 RAISE FND_API.G_EXC_ERROR;
684 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
685 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
686 END IF;
687 END IF;
688
689
690 IF FND_API.To_Boolean( p_commit ) THEN
691 COMMIT WORK;
692 END IF;
693
694 FND_MSG_PUB.Count_And_Get
695 (p_count => x_msg_count ,
696 p_data => x_msg_data
697 );
698
699 EXCEPTION
700
701 WHEN FND_API.G_EXC_ERROR THEN
702 ROLLBACK TO Create_Counter_PUB;
703 x_return_status := FND_API.G_RET_STS_ERROR ;
704 FND_MSG_PUB.Count_And_Get
705 (p_count => x_msg_count ,
706 p_data => x_msg_data
707 );
708 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
709 ROLLBACK TO Create_Counter_PUB;
710 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
711 FND_MSG_PUB.Count_And_Get
712 (p_count => x_msg_count ,
713 p_data => x_msg_data
714 );
715 WHEN OTHERS THEN
716 ROLLBACK TO Create_Counter_PUB;
717 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
718 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
719 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
720 END IF;
721 FND_MSG_PUB.Count_And_Get
722 (p_count => x_msg_count ,
723 p_data => x_msg_data
724 );
725 END Create_Counter;
726
727 PROCEDURE Create_Ctr_Prop
728 (
729 p_api_version IN NUMBER,
730 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
731 p_commit IN VARCHAR2 := FND_API.G_FALSE,
732 x_return_status OUT NOCOPY VARCHAR2,
733 x_msg_count OUT NOCOPY NUMBER,
734 x_msg_data OUT NOCOPY VARCHAR2,
735 p_ctr_prop_rec IN Ctr_Prop_Rec_Type,
736 x_ctr_prop_id IN OUT NOCOPY NUMBER,
737 x_object_version_number OUT NOCOPY NUMBER
738 ) is
739 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CTR_PROP';
740 l_api_version CONSTANT NUMBER := 1.0;
741
742 l_ctr_property_template_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_property_template_rec;
743 l_validation_level NUMBER;
744
745 BEGIN
746
747 SAVEPOINT Create_Ctr_Prop_PUB;
748
749 -- Standard call to check for call compatibility.
750 IF NOT FND_API.Compatible_API_Call (l_api_version ,
751 p_api_version ,
752 l_api_name ,
753 G_PKG_NAME ) THEN
754 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
755 END IF;
756 -- Initialize message list if p_init_msg_list is set to TRUE.
757 IF FND_API.to_Boolean( p_init_msg_list ) THEN
758 FND_MSG_PUB.initialize;
759 END IF;
760
761 /* Customer pre -processing section - Mandatory */
762 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
763 CS_COUNTERS_CUHK.Create_Ctr_Prop_Pre (
764 p_api_version => l_api_version,
765 p_init_msg_list => p_init_msg_list,
766 p_commit => p_commit,
767 x_return_status => x_return_status,
768 x_msg_count => x_msg_count,
769 x_msg_data => x_msg_data,
770 p_ctr_prop_rec => p_ctr_prop_rec,
771 x_ctr_prop_id => x_ctr_prop_id,
772 x_object_version_number => x_object_version_number
773 );
774 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
775 RAISE FND_API.G_EXC_ERROR;
776 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
777 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
778 END IF;
779 END IF;
780 /* Vertical pre -processing section - Mandatory */
781 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
782 CS_COUNTERS_VUHK.Create_Ctr_Prop_Pre (
783 p_api_version => l_api_version,
784 p_init_msg_list => p_init_msg_list,
785 p_commit => p_commit,
786 x_return_status => x_return_status,
787 x_msg_count => x_msg_count,
788 x_msg_data => x_msg_data,
789 p_ctr_prop_rec => p_ctr_prop_rec,
790 x_ctr_prop_id => x_ctr_prop_id,
791 x_object_version_number => x_object_version_number
792 );
793 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
794 RAISE FND_API.G_EXC_ERROR;
795 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
796 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
797 END IF;
798 END IF;
799
800 -- Initialize API return status to success
801 x_return_status := FND_API.G_RET_STS_SUCCESS;
802
803 -- Start of API Body
804 l_ctr_property_template_rec.COUNTER_PROPERTY_ID := x_ctr_prop_id;
805 l_ctr_property_template_rec.COUNTER_ID := p_ctr_prop_rec.counter_id;
806 l_ctr_property_template_rec.PROPERTY_DATA_TYPE := p_ctr_prop_rec.property_data_type;
807 l_ctr_property_template_rec.IS_NULLABLE := p_ctr_prop_rec.is_nullable;
808 l_ctr_property_template_rec.DEFAULT_VALUE := p_ctr_prop_rec.default_value;
809 l_ctr_property_template_rec.MINIMUM_VALUE := p_ctr_prop_rec.minimum_value;
810 l_ctr_property_template_rec.MAXIMUM_VALUE := p_ctr_prop_rec.maximum_value;
811 l_ctr_property_template_rec.UOM_CODE := p_ctr_prop_rec.uom_code;
812 l_ctr_property_template_rec.START_DATE_ACTIVE := p_ctr_prop_rec.start_date_active;
813 l_ctr_property_template_rec.END_DATE_ACTIVE := p_ctr_prop_rec.end_date_active;
814 l_ctr_property_template_rec.ATTRIBUTE1 := p_ctr_prop_rec.desc_flex.ATTRIBUTE1;
815 l_ctr_property_template_rec.ATTRIBUTE2 := p_ctr_prop_rec.desc_flex.ATTRIBUTE2;
816 l_ctr_property_template_rec.ATTRIBUTE3 := p_ctr_prop_rec.desc_flex.ATTRIBUTE3;
817 l_ctr_property_template_rec.ATTRIBUTE4 := p_ctr_prop_rec.desc_flex.ATTRIBUTE4;
818 l_ctr_property_template_rec.ATTRIBUTE5 := p_ctr_prop_rec.desc_flex.ATTRIBUTE5;
819 l_ctr_property_template_rec.ATTRIBUTE6 := p_ctr_prop_rec.desc_flex.ATTRIBUTE6;
820 l_ctr_property_template_rec.ATTRIBUTE7 := p_ctr_prop_rec.desc_flex.ATTRIBUTE7;
821 l_ctr_property_template_rec.ATTRIBUTE8 := p_ctr_prop_rec.desc_flex.ATTRIBUTE8;
822 l_ctr_property_template_rec.ATTRIBUTE9 := p_ctr_prop_rec.desc_flex.ATTRIBUTE9;
823 l_ctr_property_template_rec.ATTRIBUTE10 := p_ctr_prop_rec.desc_flex.ATTRIBUTE10;
824 l_ctr_property_template_rec.ATTRIBUTE11 := p_ctr_prop_rec.desc_flex.ATTRIBUTE11;
825 l_ctr_property_template_rec.ATTRIBUTE12 := p_ctr_prop_rec.desc_flex.ATTRIBUTE12;
826 l_ctr_property_template_rec.ATTRIBUTE13 := p_ctr_prop_rec.desc_flex.ATTRIBUTE13;
827 l_ctr_property_template_rec.ATTRIBUTE14 := p_ctr_prop_rec.desc_flex.ATTRIBUTE14;
828 l_ctr_property_template_rec.ATTRIBUTE15 := p_ctr_prop_rec.desc_flex.ATTRIBUTE15;
829 l_ctr_property_template_rec.ATTRIBUTE_CATEGORY := p_ctr_prop_rec.desc_flex.CONTEXT;
830 l_ctr_property_template_rec.PROPERTY_LOV_TYPE := p_ctr_prop_rec.property_lov_type;
831 l_ctr_property_template_rec.NAME := p_ctr_prop_rec.name;
832 l_ctr_property_template_rec.DESCRIPTION := p_ctr_prop_rec.description;
833
834 CSI_COUNTER_TEMPLATE_PUB.create_ctr_property_template
835 (
836 p_api_version => p_api_version
837 ,p_commit => p_commit
838 ,p_init_msg_list => p_init_msg_list
839 ,p_validation_level => l_validation_level
840 ,p_ctr_property_template_rec => l_ctr_property_template_rec
841 ,x_return_status => x_return_status
842 ,x_msg_count => x_msg_count
843 ,x_msg_data => x_msg_data
844 );
845
846 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
847 ROLLBACK TO Create_Ctr_Prop_PUB;
848 RETURN;
849 END IF;
850 --
851 -- End of API Body
852 --
853 -- Customer/Vertical Hookups
854 /* Customer post -processing section - Mandatory */
855 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
856 CS_COUNTERS_CUHK.Create_Ctr_Prop_Post (
857 p_api_version => l_api_version,
858 p_init_msg_list => p_init_msg_list,
859 p_commit => p_commit,
860 x_return_status => x_return_status,
861 x_msg_count => x_msg_count,
862 x_msg_data => x_msg_data,
863 p_ctr_prop_rec => p_ctr_prop_rec,
864 x_ctr_prop_id => x_ctr_prop_id,
865 x_object_version_number => x_object_version_number
866 );
867 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
868 RAISE FND_API.G_EXC_ERROR;
869 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
870 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
871 END IF;
872 END IF;
873
874 /* Vertical post -processing section - Mandatory */
875 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
876 CS_COUNTERS_VUHK.Create_Ctr_Prop_Post (
877 p_api_version => l_api_version,
878 p_init_msg_list => p_init_msg_list,
879 p_commit => p_commit,
880 x_return_status => x_return_status,
881 x_msg_count => x_msg_count,
882 x_msg_data => x_msg_data,
883 p_ctr_prop_rec => p_ctr_prop_rec,
884 x_ctr_prop_id => x_ctr_prop_id,
885 x_object_version_number => x_object_version_number
886 );
887 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
888 RAISE FND_API.G_EXC_ERROR;
889 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
890 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
891 END IF;
892 END IF;
893
894
895 IF FND_API.To_Boolean( p_commit ) THEN
896 COMMIT WORK;
897 END IF;
898
899 FND_MSG_PUB.Count_And_Get
900 (p_count => x_msg_count ,
901 p_data => x_msg_data
902 );
903
904 EXCEPTION
905
906 WHEN FND_API.G_EXC_ERROR THEN
907 ROLLBACK TO Create_Ctr_Prop_PUB;
908 x_return_status := FND_API.G_RET_STS_ERROR ;
909 FND_MSG_PUB.Count_And_Get
910 (p_count => x_msg_count ,
911 p_data => x_msg_data
912 );
913 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
914 ROLLBACK TO Create_Ctr_Prop_PUB;
915 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
916 FND_MSG_PUB.Count_And_Get
917 (p_count => x_msg_count ,
918 p_data => x_msg_data
919 );
920 WHEN OTHERS THEN
921 ROLLBACK TO Create_Ctr_Prop_PUB;
922 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
923 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
924 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
925 END IF;
926 FND_MSG_PUB.Count_And_Get
927 (p_count => x_msg_count ,
928 p_data => x_msg_data
929 );
930 end Create_Ctr_Prop;
931
932 PROCEDURE Create_Formula_Ref
933 (
934 p_api_version IN NUMBER,
935 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
936 p_commit IN VARCHAR2 := FND_API.G_FALSE,
937 x_return_status OUT NOCOPY VARCHAR2,
938 x_msg_count OUT NOCOPY NUMBER,
939 x_msg_data OUT NOCOPY VARCHAR2,
940 p_counter_id IN NUMBER,
941 p_bind_var_name IN VARCHAR2,
942 p_mapped_item_id IN NUMBER := null,
943 p_mapped_counter_id IN NUMBER,
944 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
945 x_ctr_formula_bvar_id IN OUT NOCOPY NUMBER,
946 x_object_version_number OUT NOCOPY NUMBER,
947 p_reading_type IN VARCHAR2
948 ) is
949 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_FORMULA_REF';
950 l_api_version CONSTANT NUMBER := 1.0;
951
952 l_counter_relationships_rec CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_rec;
953 l_validation_level NUMBER;
954
955 cursor ctr_associations IS
956 SELECT ctr_association_id, inventory_item_id
957 FROM csi_ctr_item_associations
958 WHERE counter_id = p_counter_id;
959 l_ctr_association_id number;
960 l_inventory_item_id number;
961
962 cursor src_ctr_associations(p_inv_item_id number) IS
963 SELECT ctr_association_id
964 FROM csi_ctr_item_associations
965 WHERE counter_id = p_mapped_counter_id
966 AND inventory_item_id = p_inv_item_id;
967 l_src_ctr_association_id number;
968
969 BEGIN
970
971 SAVEPOINT Create_Formula_Ref_PUB;
972
973 -- Standard call to check for call compatibility.
974 IF NOT FND_API.Compatible_API_Call (l_api_version ,
975 p_api_version ,
976 l_api_name ,
977 G_PKG_NAME ) THEN
978 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
979 END IF;
980 -- Initialize message list if p_init_msg_list is set to TRUE.
981 IF FND_API.to_Boolean( p_init_msg_list ) THEN
982 FND_MSG_PUB.initialize;
983 END IF;
984
985 /* Customer pre -processing section - Mandatory */
986 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
987 CS_COUNTERS_CUHK.Create_Formula_Ref_Pre (
988 p_api_version => l_api_version,
989 p_init_msg_list => p_init_msg_list,
990 p_commit => p_commit,
991 x_return_status => x_return_status,
992 x_msg_count => x_msg_count,
993 x_msg_data => x_msg_data,
994 p_counter_id => p_counter_id,
995 p_bind_var_name => p_bind_var_name,
996 p_mapped_item_id => p_mapped_item_id,
997 p_mapped_counter_id => p_mapped_counter_id,
998 x_ctr_formula_bvar_id => x_ctr_formula_bvar_id,
999 x_object_version_number => x_object_version_number,
1000 p_reading_type => p_reading_type
1001 );
1002 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1003 RAISE FND_API.G_EXC_ERROR;
1004 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1005 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1006 END IF;
1007 END IF;
1008 /* Vertical pre -processing section - Mandatory */
1009 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1010 CS_COUNTERS_VUHK.Create_Formula_Ref_Pre (
1011 p_api_version => l_api_version,
1012 p_init_msg_list => p_init_msg_list,
1013 p_commit => p_commit,
1014 x_return_status => x_return_status,
1015 x_msg_count => x_msg_count,
1016 x_msg_data => x_msg_data,
1017 p_counter_id => p_counter_id,
1018 p_bind_var_name => p_bind_var_name,
1019 p_mapped_item_id => p_mapped_item_id,
1020 p_mapped_counter_id => p_mapped_counter_id,
1021 x_ctr_formula_bvar_id => x_ctr_formula_bvar_id,
1022 x_object_version_number => x_object_version_number,
1023 p_reading_type => p_reading_type
1024 );
1025 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1026 RAISE FND_API.G_EXC_ERROR;
1027 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1028 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1029 END IF;
1030 END IF;
1031
1032 -- Initialize API return status to success
1033 x_return_status := FND_API.G_RET_STS_SUCCESS;
1034 --
1035 -- Start of API Body
1036 --this is a template, insert one reference for each ctr association id of the formula counter.
1037 FOR ctr_associations_rec in ctr_associations LOOP
1038 l_src_ctr_association_id := null;
1039 l_counter_relationships_rec.RELATIONSHIP_ID := x_ctr_formula_bvar_id;
1040 l_counter_relationships_rec.CTR_ASSOCIATION_ID := ctr_associations_rec.ctr_association_id;
1041 l_counter_relationships_rec.RELATIONSHIP_TYPE_CODE := 'FORMULA';
1042 l_counter_relationships_rec.SOURCE_COUNTER_ID := p_mapped_counter_id;
1043 l_counter_relationships_rec.OBJECT_COUNTER_ID := p_counter_id;
1044 l_counter_relationships_rec.ATTRIBUTE_CATEGORY := p_desc_flex.CONTEXT;
1045 l_counter_relationships_rec.ATTRIBUTE1 := p_desc_flex.ATTRIBUTE1;
1046 l_counter_relationships_rec.ATTRIBUTE2 := p_desc_flex.ATTRIBUTE2;
1047 l_counter_relationships_rec.ATTRIBUTE3 := p_desc_flex.ATTRIBUTE3;
1048 l_counter_relationships_rec.ATTRIBUTE4 := p_desc_flex.ATTRIBUTE4;
1049 l_counter_relationships_rec.ATTRIBUTE5 := p_desc_flex.ATTRIBUTE5;
1050 l_counter_relationships_rec.ATTRIBUTE6 := p_desc_flex.ATTRIBUTE6;
1051 l_counter_relationships_rec.ATTRIBUTE7 := p_desc_flex.ATTRIBUTE7;
1052 l_counter_relationships_rec.ATTRIBUTE8 := p_desc_flex.ATTRIBUTE8;
1053 l_counter_relationships_rec.ATTRIBUTE9 := p_desc_flex.ATTRIBUTE9;
1054 l_counter_relationships_rec.ATTRIBUTE10 := p_desc_flex.ATTRIBUTE10;
1055 l_counter_relationships_rec.ATTRIBUTE11 := p_desc_flex.ATTRIBUTE11;
1056 l_counter_relationships_rec.ATTRIBUTE12 := p_desc_flex.ATTRIBUTE12;
1057 l_counter_relationships_rec.ATTRIBUTE13 := p_desc_flex.ATTRIBUTE13;
1058 l_counter_relationships_rec.ATTRIBUTE14 := p_desc_flex.ATTRIBUTE14;
1059 l_counter_relationships_rec.ATTRIBUTE15 := p_desc_flex.ATTRIBUTE15;
1060 l_counter_relationships_rec.BIND_VARIABLE_NAME := p_bind_var_name;
1061 l_counter_relationships_rec.FACTOR := 1;
1062
1063 open src_ctr_associations(ctr_associations_rec.inventory_item_id);
1064 fetch src_ctr_associations into l_src_ctr_association_id;
1065 close src_ctr_associations;
1066
1067 If l_src_ctr_association_id is not null then
1068
1069 CSI_COUNTER_TEMPLATE_PUB.create_counter_relationship
1070 (
1071 p_api_version => p_api_version
1072 ,p_commit => p_commit
1073 ,p_init_msg_list => p_init_msg_list
1074 ,p_validation_level => l_validation_level
1075 ,p_counter_relationships_rec => l_counter_relationships_rec
1076 ,x_return_status => x_return_status
1077 ,x_msg_count => x_msg_count
1078 ,x_msg_data => x_msg_data
1079 );
1080
1081 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
1082 ROLLBACK TO Create_Formula_Ref_PUB;
1083 RETURN;
1084 End if;
1085 END IF;
1086 END LOOP;
1087 --
1088 -- End of API Body
1089 --
1090
1091 -- Customer/Vertical Hookups
1092 /* Customer post -processing section - Mandatory */
1093 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1094 CS_COUNTERS_CUHK.Create_Formula_Ref_Post (
1095 p_api_version => l_api_version,
1096 p_init_msg_list => p_init_msg_list,
1097 p_commit => p_commit,
1098 x_return_status => x_return_status,
1099 x_msg_count => x_msg_count,
1100 x_msg_data => x_msg_data,
1101 p_counter_id => p_counter_id,
1102 p_bind_var_name => p_bind_var_name,
1103 p_mapped_item_id => p_mapped_item_id,
1104 p_mapped_counter_id => p_mapped_counter_id,
1105 x_ctr_formula_bvar_id => x_ctr_formula_bvar_id,
1106 x_object_version_number => x_object_version_number,
1107 p_reading_type => p_reading_type
1108 );
1109 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1110 RAISE FND_API.G_EXC_ERROR;
1111 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1112 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1113 END IF;
1114 END IF;
1115 /* Vertical post -processing section - Mandatory */
1116 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1117 CS_COUNTERS_VUHK.Create_Formula_Ref_Post (
1118 p_api_version => l_api_version,
1119 p_init_msg_list => p_init_msg_list,
1120 p_commit => p_commit,
1121 x_return_status => x_return_status,
1122 x_msg_count => x_msg_count,
1123 x_msg_data => x_msg_data,
1124 p_counter_id => p_counter_id,
1125 p_bind_var_name => p_bind_var_name,
1126 p_mapped_item_id => p_mapped_item_id,
1127 p_mapped_counter_id => p_mapped_counter_id,
1128 x_ctr_formula_bvar_id => x_ctr_formula_bvar_id,
1129 x_object_version_number => x_object_version_number,
1130 p_reading_type => p_reading_type
1131 );
1132 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1133 RAISE FND_API.G_EXC_ERROR;
1134 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1135 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1136 END IF;
1137 END IF;
1138
1139
1140 IF FND_API.To_Boolean( p_commit ) THEN
1141 COMMIT WORK;
1142 END IF;
1143
1144 FND_MSG_PUB.Count_And_Get
1145 (p_count => x_msg_count ,
1146 p_data => x_msg_data
1147 );
1148
1149 EXCEPTION
1150
1151 WHEN FND_API.G_EXC_ERROR THEN
1152 ROLLBACK TO Create_Formula_Ref_PUB;
1153 x_return_status := FND_API.G_RET_STS_ERROR ;
1154 FND_MSG_PUB.Count_And_Get
1155 (p_count => x_msg_count ,
1156 p_data => x_msg_data
1157 );
1158 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1159 ROLLBACK TO Create_Formula_Ref_PUB;
1160 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1161 FND_MSG_PUB.Count_And_Get
1162 (p_count => x_msg_count ,
1163 p_data => x_msg_data
1164 );
1165 WHEN OTHERS THEN
1166 ROLLBACK TO Create_Formula_Ref_PUB;
1167 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1168 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1169 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1170 END IF;
1171 FND_MSG_PUB.Count_And_Get
1172 (p_count => x_msg_count ,
1173 p_data => x_msg_data
1174 );
1175
1176 end Create_Formula_Ref;
1177
1178 PROCEDURE Create_GrpOp_Filter
1179 (
1180 p_api_version IN NUMBER,
1181 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1182 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1183 x_return_status OUT NOCOPY VARCHAR2,
1184 x_msg_count OUT NOCOPY NUMBER,
1185 x_msg_data OUT NOCOPY VARCHAR2,
1186 p_seq_no IN NUMBER := null,
1187 p_counter_id IN NUMBER,
1188 p_left_paren IN VARCHAR2,
1189 p_ctr_prop_id IN NUMBER,
1190 p_rel_op IN VARCHAR2,
1191 p_right_val IN VARCHAR2,
1192 p_right_paren IN VARCHAR2,
1193 p_log_op IN VARCHAR2,
1194 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
1195 x_ctr_der_filter_id IN OUT NOCOPY NUMBER,
1196 x_object_version_number OUT NOCOPY NUMBER
1197 ) is
1198 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_GRPOP_FILTER';
1199 l_api_version CONSTANT NUMBER := 1.0;
1200
1201 l_ctr_derived_filters_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_tbl;
1202 l_validation_level NUMBER;
1203
1204 BEGIN
1205
1206 SAVEPOINT Create_GrpOp_Filter_PUB;
1207
1208 -- Standard call to check for call compatibility.
1209 IF NOT FND_API.Compatible_API_Call (l_api_version ,
1210 p_api_version ,
1211 l_api_name ,
1212 G_PKG_NAME ) THEN
1213 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1214 END IF;
1215 -- Initialize message list if p_init_msg_list is set to TRUE.
1216 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1217 FND_MSG_PUB.initialize;
1218 END IF;
1219
1220 /* Customer / Vertical Hookups
1221 /* Customer pre -processing section - Mandatory */
1222 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1223 CS_COUNTERS_CUHK.Create_GrpOp_Filter_Pre (
1224 p_api_version => l_api_version,
1225 p_init_msg_list => p_init_msg_list,
1226 p_commit => p_commit,
1227 x_return_status => x_return_status,
1228 x_msg_count => x_msg_count,
1229 x_msg_data => x_msg_data,
1230 p_seq_no => p_seq_no,
1231 p_counter_id => p_counter_id,
1232 p_left_paren => p_left_paren,
1233 p_ctr_prop_id => p_ctr_prop_id,
1234 p_rel_op => p_rel_op,
1235 p_right_val => p_right_val,
1236 p_right_paren => p_right_paren,
1237 p_log_op => p_log_op,
1238 x_ctr_der_filter_id => x_ctr_der_filter_id,
1239 x_object_version_number => x_object_version_number
1240 );
1241 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1242 RAISE FND_API.G_EXC_ERROR;
1243 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1244 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1245 END IF;
1246 END IF;
1247 /* Vertical pre -processing section - Mandatory */
1248 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1249 CS_COUNTERS_VUHK.Create_GrpOp_Filter_Pre (
1250 p_api_version => l_api_version,
1251 p_init_msg_list => p_init_msg_list,
1252 p_commit => p_commit,
1253 x_return_status => x_return_status,
1254 x_msg_count => x_msg_count,
1255 x_msg_data => x_msg_data,
1256 p_seq_no => p_seq_no,
1257 p_counter_id => p_counter_id,
1258 p_left_paren => p_left_paren,
1259 p_ctr_prop_id => p_ctr_prop_id,
1260 p_rel_op => p_rel_op,
1261 p_right_val => p_right_val,
1262 p_right_paren => p_right_paren,
1263 p_log_op => p_log_op,
1264 x_ctr_der_filter_id => x_ctr_der_filter_id,
1265 x_object_version_number => x_object_version_number
1266 );
1267 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1268 RAISE FND_API.G_EXC_ERROR;
1269 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1270 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1271 END IF;
1272 END IF;
1273 -- Initialize API return status to success
1274 x_return_status := FND_API.G_RET_STS_SUCCESS;
1275 --
1276 -- Start of API Body
1277 l_ctr_derived_filters_tbl(1).COUNTER_DERIVED_FILTER_ID := x_ctr_der_filter_id;
1278 l_ctr_derived_filters_tbl(1).COUNTER_ID := p_counter_id;
1279 l_ctr_derived_filters_tbl(1).SEQ_NO := p_seq_no;
1280 l_ctr_derived_filters_tbl(1).LEFT_PARENT := p_left_paren;
1281 l_ctr_derived_filters_tbl(1).COUNTER_PROPERTY_ID := p_ctr_prop_id;
1282 l_ctr_derived_filters_tbl(1).RELATIONAL_OPERATOR := p_rel_op;
1283 l_ctr_derived_filters_tbl(1).RIGHT_VALUE := p_right_val;
1284 l_ctr_derived_filters_tbl(1).RIGHT_PARENT := p_right_paren;
1285 l_ctr_derived_filters_tbl(1).LOGICAL_OPERATOR := p_log_op;
1286 l_ctr_derived_filters_tbl(1).ATTRIBUTE1 := p_desc_flex.ATTRIBUTE1;
1287 l_ctr_derived_filters_tbl(1).ATTRIBUTE2 := p_desc_flex.ATTRIBUTE2;
1288 l_ctr_derived_filters_tbl(1).ATTRIBUTE3 := p_desc_flex.ATTRIBUTE3;
1289 l_ctr_derived_filters_tbl(1).ATTRIBUTE4 := p_desc_flex.ATTRIBUTE4;
1290 l_ctr_derived_filters_tbl(1).ATTRIBUTE5 := p_desc_flex.ATTRIBUTE5;
1291 l_ctr_derived_filters_tbl(1).ATTRIBUTE6 := p_desc_flex.ATTRIBUTE6;
1292 l_ctr_derived_filters_tbl(1).ATTRIBUTE7 := p_desc_flex.ATTRIBUTE7;
1293 l_ctr_derived_filters_tbl(1).ATTRIBUTE8 := p_desc_flex.ATTRIBUTE8;
1294 l_ctr_derived_filters_tbl(1).ATTRIBUTE9 := p_desc_flex.ATTRIBUTE9;
1295 l_ctr_derived_filters_tbl(1).ATTRIBUTE10 := p_desc_flex.ATTRIBUTE10;
1296 l_ctr_derived_filters_tbl(1).ATTRIBUTE11 := p_desc_flex.ATTRIBUTE11;
1297 l_ctr_derived_filters_tbl(1).ATTRIBUTE12 := p_desc_flex.ATTRIBUTE12;
1298 l_ctr_derived_filters_tbl(1).ATTRIBUTE13 := p_desc_flex.ATTRIBUTE13;
1299 l_ctr_derived_filters_tbl(1).ATTRIBUTE14 := p_desc_flex.ATTRIBUTE14;
1300 l_ctr_derived_filters_tbl(1).ATTRIBUTE15 := p_desc_flex.ATTRIBUTE15;
1301 l_ctr_derived_filters_tbl(1).ATTRIBUTE_CATEGORY := p_desc_flex.CONTEXT;
1302
1303 CSI_COUNTER_TEMPLATE_PUB.create_derived_filters
1304 (
1305 p_api_version => p_api_version
1306 ,p_commit => p_commit
1307 ,p_init_msg_list => p_init_msg_list
1308 ,p_validation_level => l_validation_level
1309 ,p_ctr_derived_filters_tbl => l_ctr_derived_filters_tbl
1310 ,x_return_status => x_return_status
1311 ,x_msg_count => x_msg_count
1312 ,x_msg_data => x_msg_data
1313 );
1314
1315 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
1316 ROLLBACK TO Create_GrpOp_Filter_PUB;
1317 RETURN;
1318 END IF;
1319 --
1320 -- End of API Body
1321 --
1322 --
1323 -- Customer/Vertical Hookups
1324 /* Customer post -processing section - Mandatory */
1325 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1326 CS_COUNTERS_CUHK.Create_GrpOp_Filter_Post (
1327 p_api_version => l_api_version,
1328 p_init_msg_list => p_init_msg_list,
1329 p_commit => p_commit,
1330 x_return_status => x_return_status,
1331 x_msg_count => x_msg_count,
1332 x_msg_data => x_msg_data,
1333 p_seq_no => p_seq_no,
1334 p_counter_id => p_counter_id,
1335 p_left_paren => p_left_paren,
1336 p_ctr_prop_id => p_ctr_prop_id,
1337 p_rel_op => p_rel_op,
1338 p_right_val => p_right_val,
1339 p_right_paren => p_right_paren,
1340 p_log_op => p_log_op,
1341 x_ctr_der_filter_id => x_ctr_der_filter_id,
1342 x_object_version_number => x_object_version_number
1343 );
1344 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1345 RAISE FND_API.G_EXC_ERROR;
1346 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1347 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1348 END IF;
1349 END IF;
1350 /* Vertical post -processing section - Mandatory */
1351 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1352 CS_COUNTERS_VUHK.Create_GrpOp_Filter_Post (
1353 p_api_version => l_api_version,
1354 p_init_msg_list => p_init_msg_list,
1355 p_commit => p_commit,
1356 x_return_status => x_return_status,
1357 x_msg_count => x_msg_count,
1358 x_msg_data => x_msg_data,
1359 p_seq_no => p_seq_no,
1360 p_counter_id => p_counter_id,
1361 p_left_paren => p_left_paren,
1362 p_ctr_prop_id => p_ctr_prop_id,
1363 p_rel_op => p_rel_op,
1364 p_right_val => p_right_val,
1365 p_right_paren => p_right_paren,
1366 p_log_op => p_log_op,
1367 x_ctr_der_filter_id => x_ctr_der_filter_id,
1368 x_object_version_number => x_object_version_number
1369 );
1370 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1371 RAISE FND_API.G_EXC_ERROR;
1372 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1373 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1374 END IF;
1375 END IF;
1376
1377 IF FND_API.To_Boolean( p_commit ) THEN
1378 COMMIT WORK;
1379 END IF;
1380
1381 FND_MSG_PUB.Count_And_Get
1382 (p_count => x_msg_count ,
1383 p_data => x_msg_data
1384 );
1385
1386 EXCEPTION
1387
1388 WHEN FND_API.G_EXC_ERROR THEN
1389 ROLLBACK TO Create_GrpOp_Filter_PUB;
1390 x_return_status := FND_API.G_RET_STS_ERROR ;
1391 FND_MSG_PUB.Count_And_Get
1392 (p_count => x_msg_count ,
1393 p_data => x_msg_data
1394 );
1395 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1396 ROLLBACK TO Create_GrpOp_Filter_PUB;
1397 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1398 FND_MSG_PUB.Count_And_Get
1399 (p_count => x_msg_count ,
1400 p_data => x_msg_data
1401 );
1402 WHEN OTHERS THEN
1403 ROLLBACK TO Create_GrpOp_Filter_PUB;
1404 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1405 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1406 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1407 END IF;
1408 FND_MSG_PUB.Count_And_Get
1409 (p_count => x_msg_count ,
1410 p_data => x_msg_data
1411 );
1412
1413 end Create_GrpOp_Filter;
1414
1415 PROCEDURE Create_Ctr_Association
1416 (
1417 p_api_version IN NUMBER,
1418 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1419 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1420 x_return_status OUT NOCOPY VARCHAR2,
1421 x_msg_count OUT NOCOPY NUMBER,
1422 x_msg_data OUT NOCOPY VARCHAR2,
1423 p_ctr_grp_id IN NUMBER,
1424 p_source_object_id IN NUMBER,
1425 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
1426 x_ctr_association_id OUT NOCOPY NUMBER,
1427 x_object_version_number OUT NOCOPY NUMBER
1428 ) is
1429 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_CTR_ASSOCIATION';
1430 l_api_version CONSTANT NUMBER := 1.0;
1431 l_association_type VARCHAR2(30);
1432 l_ctr_item_associations_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_item_associations_rec;
1433 l_validation_level NUMBER;
1434 BEGIN
1435 SAVEPOINT Create_Ctr_Association_PUB;
1436
1437 -- Standard call to check for call compatibility.
1438 IF NOT FND_API.Compatible_API_Call (l_api_version ,
1439 p_api_version ,
1440 l_api_name ,
1441 G_PKG_NAME ) THEN
1442 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1443 END IF;
1444 -- Initialize message list if p_init_msg_list is set to TRUE.
1445 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1446 FND_MSG_PUB.initialize;
1447 END IF;
1448 /* Customer/Vertical Hookups
1449 /* Customer pre -processing section - Mandatory */
1450 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1451 CS_COUNTERS_CUHK.Create_Ctr_Association_Pre (
1452 p_api_version => l_api_version,
1453 p_init_msg_list => p_init_msg_list,
1454 p_commit => p_commit,
1455 x_return_status => x_return_status,
1456 x_msg_count => x_msg_count,
1457 x_msg_data => x_msg_data,
1458 p_ctr_grp_id => p_ctr_grp_id,
1459 p_source_object_id => p_source_object_id,
1460 x_ctr_association_id => x_ctr_association_id,
1461 x_object_version_number => x_object_version_number
1462 );
1463 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1464 RAISE FND_API.G_EXC_ERROR;
1465 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1466 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1467 END IF;
1468 END IF;
1469 /* Vertical pre -processing section - Mandatory */
1470 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1471 CS_COUNTERS_VUHK.Create_Ctr_Association_Pre (
1472 p_api_version => l_api_version,
1473 p_init_msg_list => p_init_msg_list,
1474 p_commit => p_commit,
1475 x_return_status => x_return_status,
1476 x_msg_count => x_msg_count,
1477 x_msg_data => x_msg_data,
1478 p_ctr_grp_id => p_ctr_grp_id,
1479 p_source_object_id => p_source_object_id,
1480 x_ctr_association_id => x_ctr_association_id,
1481 x_object_version_number => x_object_version_number
1482 );
1483 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1484 RAISE FND_API.G_EXC_ERROR;
1485 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1486 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487 END IF;
1488 END IF;
1489
1490 -- Initialize API return status to success
1491 x_return_status := FND_API.G_RET_STS_SUCCESS;
1492 -- Start of API Body
1493 /*
1494 BEGIN
1495 SELECT association_type
1496 INTO l_association_type
1497 FROM cs_counter_groups
1498 WHERE counter_group_id = p_ctr_grp_id;
1499 -- and template_flag = 'Y';
1500
1501 EXCEPTION WHEN NO_DATA_FOUND THEN
1502 CS_Counters_PVT.ExitWithErrMsg('CS_API_CTR_GRP_INVALID');
1503 END;
1504 */
1505 l_ctr_item_associations_rec.CTR_ASSOCIATION_ID := x_ctr_association_id;
1506 l_ctr_item_associations_rec.GROUP_ID := p_ctr_grp_id;
1507 l_ctr_item_associations_rec.INVENTORY_ITEM_ID := p_source_object_id;
1508 l_ctr_item_associations_rec.ATTRIBUTE1 := p_desc_flex.ATTRIBUTE1;
1509 l_ctr_item_associations_rec.ATTRIBUTE2 := p_desc_flex.ATTRIBUTE2;
1510 l_ctr_item_associations_rec.ATTRIBUTE3 := p_desc_flex.ATTRIBUTE3;
1511 l_ctr_item_associations_rec.ATTRIBUTE4 := p_desc_flex.ATTRIBUTE4;
1512 l_ctr_item_associations_rec.ATTRIBUTE5 := p_desc_flex.ATTRIBUTE5;
1513 l_ctr_item_associations_rec.ATTRIBUTE6 := p_desc_flex.ATTRIBUTE6;
1514 l_ctr_item_associations_rec.ATTRIBUTE7 := p_desc_flex.ATTRIBUTE7;
1515 l_ctr_item_associations_rec.ATTRIBUTE8 := p_desc_flex.ATTRIBUTE8;
1516 l_ctr_item_associations_rec.ATTRIBUTE9 := p_desc_flex.ATTRIBUTE9;
1517 l_ctr_item_associations_rec.ATTRIBUTE10 := p_desc_flex.ATTRIBUTE10;
1518 l_ctr_item_associations_rec.ATTRIBUTE11 := p_desc_flex.ATTRIBUTE11;
1519 l_ctr_item_associations_rec.ATTRIBUTE12 := p_desc_flex.ATTRIBUTE12;
1520 l_ctr_item_associations_rec.ATTRIBUTE13 := p_desc_flex.ATTRIBUTE13;
1521 l_ctr_item_associations_rec.ATTRIBUTE14 := p_desc_flex.ATTRIBUTE14;
1522 l_ctr_item_associations_rec.ATTRIBUTE15 := p_desc_flex.ATTRIBUTE15;
1523 l_ctr_item_associations_rec.ATTRIBUTE_CATEGORY := p_desc_flex.CONTEXT;
1524 --convert association type 'PROD_ITEM' TO 'TRACKABLE', AND SERVICE ITEM
1525 /*
1526 IF l_association_type = 'PROD_ITEM' THEN
1527 l_ctr_item_associations_rec.ASSOCIATION_TYPE := 'TRACKABLE';
1528 ELSIF l_association_type = 'SVC_ITEM' THEN
1529 l_ctr_item_associations_rec.ASSOCIATION_TYPE := 'CONTRACT';
1530 END IF;
1531 */
1532 l_ctr_item_associations_rec.ASSOCIATED_TO_GROUP := 'Y';
1533
1534 CSI_COUNTER_TEMPLATE_PUB.create_item_association
1535 (
1536 p_api_version => p_api_version
1537 ,p_commit => p_commit
1538 ,p_init_msg_list => p_init_msg_list
1539 ,p_validation_level => l_validation_level
1540 ,p_ctr_item_associations_rec => l_ctr_item_associations_rec
1541 ,x_return_status => x_return_status
1542 ,x_msg_count => x_msg_count
1543 ,x_msg_data => x_msg_data
1544 );
1545
1546 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
1547 ROLLBACK TO Create_Ctr_Association_PUB;
1548 RETURN;
1549 END IF;
1550
1551 -- End of API Body
1552 --
1553 -- Customer/Vertical Hookups
1554 /* Customer post -processing section - Mandatory */
1555 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1556 CS_COUNTERS_CUHK.Create_Ctr_Association_Post (
1557 p_api_version => l_api_version,
1558 p_init_msg_list => p_init_msg_list,
1559 p_commit => p_commit,
1560 x_return_status => x_return_status,
1561 x_msg_count => x_msg_count,
1562 x_msg_data => x_msg_data,
1563 p_ctr_grp_id => p_ctr_grp_id,
1564 p_source_object_id => p_source_object_id,
1565 x_ctr_association_id => l_ctr_item_associations_rec.CTR_ASSOCIATION_ID,
1566 x_object_version_number => x_object_version_number
1567 );
1568 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1569 RAISE FND_API.G_EXC_ERROR;
1570 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1571 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1572 END IF;
1573 END IF;
1574 /* Vertical post -processing section - Mandatory */
1575 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1576 CS_COUNTERS_VUHK.Create_Ctr_Association_Post (
1577 p_api_version => l_api_version,
1578 p_init_msg_list => p_init_msg_list,
1579 p_commit => p_commit,
1580 x_return_status => x_return_status,
1581 x_msg_count => x_msg_count,
1582 x_msg_data => x_msg_data,
1583 p_ctr_grp_id => p_ctr_grp_id,
1584 p_source_object_id => p_source_object_id,
1585 x_ctr_association_id => l_ctr_item_associations_rec.CTR_ASSOCIATION_ID,
1586 x_object_version_number => x_object_version_number
1587 );
1588 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1589 RAISE FND_API.G_EXC_ERROR;
1590 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1591 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1592 END IF;
1593 END IF;
1594
1595 IF FND_API.To_Boolean( p_commit ) THEN
1596 COMMIT WORK;
1597 END IF;
1598
1599 FND_MSG_PUB.Count_And_Get
1600 (p_count => x_msg_count ,
1601 p_data => x_msg_data
1602 );
1603
1604 EXCEPTION
1605
1606 WHEN FND_API.G_EXC_ERROR THEN
1607 ROLLBACK TO Create_Ctr_Association_PUB;
1608 x_return_status := FND_API.G_RET_STS_ERROR ;
1609 FND_MSG_PUB.Count_And_Get
1610 (p_count => x_msg_count ,
1611 p_data => x_msg_data
1612 );
1613 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1614 ROLLBACK TO Create_Ctr_Association_PUB;
1615 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1616 FND_MSG_PUB.Count_And_Get
1617 (p_count => x_msg_count ,
1618 p_data => x_msg_data
1619 );
1620 WHEN OTHERS THEN
1621 ROLLBACK TO Create_Ctr_Association_PUB;
1622 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1623 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1624 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1625 END IF;
1626 FND_MSG_PUB.Count_And_Get
1627 (p_count => x_msg_count ,
1628 p_data => x_msg_data
1629 );
1630
1631 end Create_Ctr_Association;
1632
1633 PROCEDURE AutoInstantiate_Counters
1634 (
1635 p_api_version IN NUMBER,
1636 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1637 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1638 x_return_status OUT NOCOPY VARCHAR2,
1639 x_msg_count OUT NOCOPY NUMBER,
1640 x_msg_data OUT NOCOPY VARCHAR2,
1641 p_source_object_id_template IN NUMBER,
1642 p_source_object_id_instance IN NUMBER,
1643 x_ctr_grp_id_template IN OUT NOCOPY NUMBER,
1644 x_ctr_grp_id_instance IN OUT NOCOPY NUMBER,
1645 p_organization_id IN NUMBER := cs_std.get_item_valdn_orgzn_id
1646 ) is
1647 l_api_name CONSTANT VARCHAR2(30) := 'AUTOINSTANTIATE_COUNTERS';
1648 l_api_version CONSTANT NUMBER := 1.0;
1649 l_ctr_template_autoinst_tbl CSI_COUNTER_TEMPLATE_PUB.ctr_template_autoinst_tbl;
1650 l_counter_autoinstantiate_tbl CSI_COUNTER_TEMPLATE_PUB.counter_autoinstantiate_tbl;
1651 l_msg_index NUMBER;
1652 l_msg_count NUMBER;
1653 BEGIN
1654 SAVEPOINT AutoInstantiate_Counters_PUB;
1655
1656 -- Standard call to check for call compatibility.
1657 IF NOT FND_API.Compatible_API_Call (l_api_version ,
1658 p_api_version ,
1659 l_api_name ,
1660 G_PKG_NAME ) THEN
1661 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1662 END IF;
1663 -- Initialize message list if p_init_msg_list is set to TRUE.
1664 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1665 FND_MSG_PUB.initialize;
1666 END IF;
1667
1668 /* Customer/Vertical Hookups
1669 /* Customer pre -processing section - Mandatory */
1670 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1671 CS_COUNTERS_CUHK.AutoInstantiate_Counters_Pre (
1672 p_api_version => l_api_version,
1673 p_init_msg_list => p_init_msg_list,
1674 p_commit => p_commit,
1675 x_return_status => x_return_status,
1676 x_msg_count => x_msg_count,
1677 x_msg_data => x_msg_data,
1678 p_source_object_id_template => p_source_object_id_template,
1679 p_source_object_id_instance => p_source_object_id_instance,
1680 x_ctr_grp_id_template => x_ctr_grp_id_template,
1681 x_ctr_grp_id_instance => x_ctr_grp_id_instance
1682 );
1683 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1684 RAISE FND_API.G_EXC_ERROR;
1685 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1686 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1687 END IF;
1688 END IF;
1689 /* Vertical pre -processing section - Mandatory */
1690 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1691 CS_COUNTERS_VUHK.AutoInstantiate_Counters_Pre (
1692 p_api_version => l_api_version,
1693 p_init_msg_list => p_init_msg_list,
1694 p_commit => p_commit,
1695 x_return_status => x_return_status,
1696 x_msg_count => x_msg_count,
1697 x_msg_data => x_msg_data,
1698 p_source_object_id_template => p_source_object_id_template,
1699 p_source_object_id_instance => p_source_object_id_instance,
1700 x_ctr_grp_id_template => x_ctr_grp_id_template,
1701 x_ctr_grp_id_instance => x_ctr_grp_id_instance
1702 );
1703 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1704 RAISE FND_API.G_EXC_ERROR;
1705 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1706 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1707 END IF;
1708 END IF;
1709
1710 -- Initialize API return status to success
1711 x_return_status := FND_API.G_RET_STS_SUCCESS;
1712 -- Start of API Body
1713 CSI_COUNTER_TEMPLATE_PUB.AutoInstantiate_Counters
1714 (
1715 p_api_version => p_api_version
1716 ,p_commit => p_commit
1717 ,p_init_msg_list => p_init_msg_list
1718 ,x_return_status => x_return_status
1719 ,x_msg_count => x_msg_count
1720 ,x_msg_data => x_msg_data
1721 ,p_source_object_id_template => p_source_object_id_template
1722 ,p_source_object_id_instance => p_source_object_id_instance
1723 ,x_ctr_id_template => l_ctr_template_autoinst_tbl
1724 ,x_ctr_id_instance => l_counter_autoinstantiate_tbl
1725 ,x_ctr_grp_id_template => x_ctr_grp_id_template
1726 ,x_ctr_grp_id_instance => x_ctr_grp_id_instance
1727 ,p_organization_id => p_organization_id
1728 );
1729
1730 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
1731 l_msg_index := 1;
1732 l_msg_count := x_msg_count;
1733
1734 WHILE l_msg_count > 0 LOOP
1735 x_msg_data := FND_MSG_PUB.GET
1736 (l_msg_index,
1737 FND_API.G_FALSE);
1738 csi_ctr_gen_utility_pvt.put_line('Error from CSI_COUNTER_TEMPLATE_PUB.AutoInstantiate_Counters');
1739 csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1740 l_msg_index := l_msg_index + 1;
1741 l_msg_count := l_msg_count - 1;
1742 END LOOP;
1743 RAISE FND_API.G_EXC_ERROR;
1744 END IF;
1745
1746 -- End of API Body
1747 --
1748 -- Customer/Vertical Hookups
1749 /* Customer post -processing section - Mandatory */
1750 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1751 CS_COUNTERS_CUHK.AutoInstantiate_Counters_Post (
1752 p_api_version => l_api_version,
1753 p_init_msg_list => p_init_msg_list,
1754 p_commit => p_commit,
1755 x_return_status => x_return_status,
1756 x_msg_count => x_msg_count,
1757 x_msg_data => x_msg_data,
1758 p_source_object_id_template => p_source_object_id_template,
1759 p_source_object_id_instance => p_source_object_id_instance,
1760 x_ctr_grp_id_template => x_ctr_grp_id_template,
1761 x_ctr_grp_id_instance => x_ctr_grp_id_instance
1762 );
1763 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1764 RAISE FND_API.G_EXC_ERROR;
1765 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1766 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1767 END IF;
1768 END IF;
1769 /* Vertical post -processing section - Mandatory */
1770 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1771 CS_COUNTERS_VUHK.AutoInstantiate_Counters_Post (
1772 p_api_version => l_api_version,
1773 p_init_msg_list => p_init_msg_list,
1774 p_commit => p_commit,
1775 x_return_status => x_return_status,
1776 x_msg_count => x_msg_count,
1777 x_msg_data => x_msg_data,
1778 p_source_object_id_template => p_source_object_id_template,
1779 p_source_object_id_instance => p_source_object_id_instance,
1780 x_ctr_grp_id_template => x_ctr_grp_id_template,
1781 x_ctr_grp_id_instance => x_ctr_grp_id_instance
1782 );
1783 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1784 RAISE FND_API.G_EXC_ERROR;
1785 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1786 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1787 END IF;
1788 END IF;
1789
1790 -- IF FND_API.To_Boolean( p_commit ) THEN
1791 IF FND_API.To_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
1792 COMMIT WORK;
1793 END IF;
1794
1795 FND_MSG_PUB.Count_And_Get
1796 (p_count => x_msg_count ,
1797 p_data => x_msg_data
1798 );
1799
1800 EXCEPTION
1801 WHEN FND_API.G_EXC_ERROR THEN
1802 x_return_status := FND_API.G_RET_STS_ERROR ;
1803 ROLLBACK TO AutoInstantiate_Counters_PUB;
1804 FND_MSG_PUB.Count_And_Get
1805 (p_count => x_msg_count ,
1806 p_data => x_msg_data
1807 );
1808 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1809 ROLLBACK TO AutoInstantiate_Counters_PUB;
1810 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1811 FND_MSG_PUB.Count_And_Get
1812 (p_count => x_msg_count ,
1813 p_data => x_msg_data
1814 );
1815 WHEN OTHERS THEN
1816 ROLLBACK TO AutoInstantiate_Counters_PUB;
1817 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1818 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1819 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1820 END IF;
1821 FND_MSG_PUB.Count_And_Get
1822 (p_count => x_msg_count ,
1823 p_data => x_msg_data
1824 );
1825
1826 end AutoInstantiate_Counters;
1827
1828 PROCEDURE Instantiate_Counters
1829 (
1830 p_api_version IN NUMBER,
1831 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1832 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1833 x_return_status OUT NOCOPY VARCHAR2,
1834 x_msg_count OUT NOCOPY NUMBER,
1835 x_msg_data OUT NOCOPY VARCHAR2,
1836 p_counter_group_id_template IN NUMBER,
1837 p_source_object_code_instance IN VARCHAR2,
1838 p_source_object_id_instance IN NUMBER,
1839 x_ctr_grp_id_template OUT NOCOPY NUMBER,
1840 x_ctr_grp_id_instance OUT NOCOPY NUMBER
1841 ) is
1842 l_api_name CONSTANT VARCHAR2(30) := 'INSTANTIATE_COUNTERS';
1843 l_api_version CONSTANT NUMBER := 1.0;
1844 l_ctr_grp_id_instance NUMBER;
1845 l_ctr_id_template NUMBER;
1846 l_ctr_id_instance NUMBER;
1847
1848
1849 BEGIN
1850
1851 SAVEPOINT Instantiate_Counters_PUB;
1852
1853 -- Standard call to check for call compatibility.
1854 IF NOT FND_API.Compatible_API_Call (l_api_version ,
1855 p_api_version ,
1856 l_api_name ,
1857 G_PKG_NAME ) THEN
1858 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1859 END IF;
1860 -- Initialize message list if p_init_msg_list is set to TRUE.
1861 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1862 FND_MSG_PUB.initialize;
1863 END IF;
1864
1865 /* Customer/Vertical Hookups
1866 /* Customer pre -processing section - Mandatory */
1867 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
1868 CS_COUNTERS_CUHK.Instantiate_Counters_Pre (
1869 p_api_version => l_api_version,
1870 p_init_msg_list => p_init_msg_list,
1871 p_commit => p_commit,
1872 x_return_status => x_return_status,
1873 x_msg_count => x_msg_count,
1874 x_msg_data => x_msg_data,
1875 p_counter_group_id_template => p_counter_group_id_template,
1876 p_source_object_code_instance => p_source_object_code_instance,
1877 p_source_object_id_instance => p_source_object_id_instance,
1878 x_ctr_grp_id_template => x_ctr_grp_id_template,
1879 x_ctr_grp_id_instance => x_ctr_grp_id_instance
1880 );
1881 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1882 RAISE FND_API.G_EXC_ERROR;
1883 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1884 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1885 END IF;
1886 END IF;
1887 /* Vertical pre -processing section - Mandatory */
1888 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
1889 CS_COUNTERS_VUHK.Instantiate_Counters_Pre (
1890 p_api_version => l_api_version,
1891 p_init_msg_list => p_init_msg_list,
1892 p_commit => p_commit,
1893 x_return_status => x_return_status,
1894 x_msg_count => x_msg_count,
1895 x_msg_data => x_msg_data,
1896 p_counter_group_id_template => p_counter_group_id_template,
1897 p_source_object_code_instance => p_source_object_code_instance,
1898 p_source_object_id_instance => p_source_object_id_instance,
1899 x_ctr_grp_id_template => x_ctr_grp_id_template,
1900 x_ctr_grp_id_instance => x_ctr_grp_id_instance
1901 );
1902 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1903 RAISE FND_API.G_EXC_ERROR;
1904 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1905 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1906 END IF;
1907 END IF;
1908
1909 -- Initialize API return status to success
1910 x_return_status := FND_API.G_RET_STS_SUCCESS;
1911 -- Start of API Body
1912 CSI_COUNTER_TEMPLATE_PUB.instantiate_grp_counters
1913 (
1914 p_api_version,
1915 p_init_msg_list,
1916 p_commit,
1917 x_return_status,
1918 x_msg_count,
1919 x_msg_data,
1920 p_counter_group_id_template,
1921 p_source_object_code_instance,
1922 p_source_object_id_instance,
1923 x_ctr_grp_id_instance,
1924 p_maint_org_id=>NULL,
1925 p_primary_failure_flag=>NULL
1926 );
1927 -- End of API Body
1928 --
1929 -- Customer/Vertical Hookups
1930 /* Customer post -processing section - Mandatory */
1931 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
1932 CS_COUNTERS_CUHK.Instantiate_Counters_Post (
1933 p_api_version => l_api_version,
1934 p_init_msg_list => p_init_msg_list,
1935 p_commit => p_commit,
1936 x_return_status => x_return_status,
1937 x_msg_count => x_msg_count,
1938 x_msg_data => x_msg_data,
1939 p_counter_group_id_template => p_counter_group_id_template,
1940 p_source_object_code_instance => p_source_object_code_instance,
1941 p_source_object_id_instance => p_source_object_id_instance,
1942 x_ctr_grp_id_template => x_ctr_grp_id_template,
1943 x_ctr_grp_id_instance => l_ctr_grp_id_instance
1944 );
1945 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1946 RAISE FND_API.G_EXC_ERROR;
1947 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1948 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1949 END IF;
1950 END IF;
1951 /* Vertical post -processing section - Mandatory */
1952 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
1953 CS_COUNTERS_VUHK.Instantiate_Counters_Post (
1954 p_api_version => l_api_version,
1955 p_init_msg_list => p_init_msg_list,
1956 p_commit => p_commit,
1957 x_return_status => x_return_status,
1958 x_msg_count => x_msg_count,
1959 x_msg_data => x_msg_data,
1960 p_counter_group_id_template => p_counter_group_id_template,
1961 p_source_object_code_instance => p_source_object_code_instance,
1962 p_source_object_id_instance => p_source_object_id_instance,
1963 x_ctr_grp_id_template => x_ctr_grp_id_template,
1964 x_ctr_grp_id_instance => l_ctr_grp_id_instance
1965 );
1966 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
1967 RAISE FND_API.G_EXC_ERROR;
1968 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
1969 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1970 END IF;
1971 END IF;
1972
1973 IF FND_API.To_Boolean( p_commit ) THEN
1974 COMMIT WORK;
1975 END IF;
1976
1977 FND_MSG_PUB.Count_And_Get
1978 (p_count => x_msg_count ,
1979 p_data => x_msg_data
1980 );
1981
1982 EXCEPTION
1983
1984 WHEN FND_API.G_EXC_ERROR THEN
1985 ROLLBACK TO Instantiate_Counters_PUB;
1986 x_return_status := FND_API.G_RET_STS_ERROR ;
1987 FND_MSG_PUB.Count_And_Get
1988 (p_count => x_msg_count ,
1989 p_data => x_msg_data
1990 );
1991 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1992 ROLLBACK TO Instantiate_Counters_PUB;
1993 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1994 FND_MSG_PUB.Count_And_Get
1995 (p_count => x_msg_count ,
1996 p_data => x_msg_data
1997 );
1998 WHEN OTHERS THEN
1999 ROLLBACK TO Instantiate_Counters_PUB;
2000 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2001 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2002 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
2003 END IF;
2004 FND_MSG_PUB.Count_And_Get
2005 (p_count => x_msg_count ,
2006 p_data => x_msg_data
2007 );
2008
2009 end Instantiate_Counters;
2010
2011 PROCEDURE Update_Ctr_Grp
2012 (
2013 p_api_version IN NUMBER,
2014 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2015 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2016 x_return_status OUT NOCOPY VARCHAR2,
2017 x_msg_count OUT NOCOPY NUMBER,
2018 x_msg_data OUT NOCOPY VARCHAR2,
2019 p_ctr_grp_id IN NUMBER,
2020 p_object_version_number IN NUMBER,
2021 p_ctr_grp_rec IN CS_COUNTERS_PUB.CtrGrp_Rec_Type,
2022 p_cascade_upd_to_instances IN VARCHAR2 := FND_API.G_FALSE,
2023 x_object_version_number OUT NOCOPY NUMBER
2024 ) is
2025 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CTR_GRP';
2026 l_api_version CONSTANT NUMBER := 1.0;
2027
2028 l_ctr_groups_rec CSI_CTR_DATASTRUCTURES_PUB.counter_groups_rec;
2029 l_ctr_item_associations_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_item_associations_tbl;
2030 l_validation_level NUMBER;
2031
2032 BEGIN
2033
2034 SAVEPOINT Update_Ctr_Grp_PUB;
2035
2036 -- Standard call to check for call compatibility.
2037 IF NOT FND_API.Compatible_API_Call (l_api_version ,
2038 p_api_version ,
2039 l_api_name ,
2040 G_PKG_NAME ) THEN
2041 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2042 END IF;
2043 -- Initialize message list if p_init_msg_list is set to TRUE.
2044 IF FND_API.to_Boolean( p_init_msg_list ) THEN
2045 FND_MSG_PUB.initialize;
2046 END IF;
2047
2048 /* Customer pre -processing section - Mandatory */
2049 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2050 CS_COUNTERS_CUHK.Update_Ctr_Grp_Pre (
2051 p_api_version => l_api_version,
2052 p_init_msg_list => p_init_msg_list,
2053 p_commit => p_commit,
2054 x_return_status => x_return_status,
2055 x_msg_count => x_msg_count,
2056 x_msg_data => x_msg_data,
2057 p_ctr_grp_id => p_ctr_grp_id,
2058 p_object_version_number => p_object_version_number,
2059 p_ctr_grp_rec => p_ctr_grp_rec,
2060 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2061 x_object_version_number => x_object_version_number
2062 );
2063 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2064 RAISE FND_API.G_EXC_ERROR;
2065 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2066 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2067 END IF;
2068 END IF;
2069 /* Vertical pre -processing section - Mandatory */
2070 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2071 CS_COUNTERS_VUHK.Update_Ctr_Grp_Pre (
2072 p_api_version => l_api_version,
2073 p_init_msg_list => p_init_msg_list,
2074 p_commit => p_commit,
2075 x_return_status => x_return_status,
2076 x_msg_count => x_msg_count,
2077 x_msg_data => x_msg_data,
2078 p_ctr_grp_id => p_ctr_grp_id,
2079 p_object_version_number => p_object_version_number,
2080 p_ctr_grp_rec => p_ctr_grp_rec,
2081 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2082 x_object_version_number => x_object_version_number
2083 );
2084 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2085 RAISE FND_API.G_EXC_ERROR;
2086 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2087 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2088 END IF;
2089 END IF;
2090
2091 -- Initialize API return status to success
2092 x_return_status := FND_API.G_RET_STS_SUCCESS;
2093 --
2094 -- Start of API Body
2095 l_ctr_groups_rec.COUNTER_GROUP_ID := p_ctr_grp_id;
2096 l_ctr_groups_rec.NAME := p_ctr_grp_rec.NAME;
2097 l_ctr_groups_rec.DESCRIPTION := p_ctr_grp_rec.DESCRIPTION;
2098 l_ctr_groups_rec.START_DATE_ACTIVE := p_ctr_grp_rec.start_date_active;
2099 l_ctr_groups_rec.END_DATE_ACTIVE := p_ctr_grp_rec.end_date_active;
2100 l_ctr_groups_rec.ATTRIBUTE1 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE1;
2101 l_ctr_groups_rec.ATTRIBUTE2 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE2;
2102 l_ctr_groups_rec.ATTRIBUTE3 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE3;
2103 l_ctr_groups_rec.ATTRIBUTE4 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE4;
2104 l_ctr_groups_rec.ATTRIBUTE5 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE5;
2105 l_ctr_groups_rec.ATTRIBUTE6 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE6;
2106 l_ctr_groups_rec.ATTRIBUTE7 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE7;
2107 l_ctr_groups_rec.ATTRIBUTE8 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE8;
2108 l_ctr_groups_rec.ATTRIBUTE9 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE9;
2109 l_ctr_groups_rec.ATTRIBUTE10 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE10;
2110 l_ctr_groups_rec.ATTRIBUTE11 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE11;
2111 l_ctr_groups_rec.ATTRIBUTE12 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE12;
2112 l_ctr_groups_rec.ATTRIBUTE13 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE13;
2113 l_ctr_groups_rec.ATTRIBUTE14 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE14;
2114 l_ctr_groups_rec.ATTRIBUTE15 := p_ctr_grp_rec.DESC_FLEX.ATTRIBUTE15;
2115 l_ctr_groups_rec.CONTEXT := p_ctr_grp_rec.DESC_FLEX.CONTEXT;
2116 l_ctr_groups_rec.ASSOCIATION_TYPE := p_ctr_grp_rec.ASSOCIATION_TYPE;
2117 l_ctr_groups_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
2118
2119 CSI_COUNTER_TEMPLATE_PUB.update_counter_group
2120 (
2121 p_api_version => p_api_version
2122 ,p_commit => p_commit
2123 ,p_init_msg_list => p_init_msg_list
2124 ,p_validation_level => l_validation_level
2125 ,p_counter_groups_rec => l_ctr_groups_rec
2126 ,p_ctr_item_associations_tbl => l_ctr_item_associations_tbl
2127 ,x_return_status => x_return_status
2128 ,x_msg_count => x_msg_count
2129 ,x_msg_data => x_msg_data
2130 );
2131
2132 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
2133 ROLLBACK TO Update_Ctr_Grp_PUB;
2134 RETURN;
2135 END IF;
2136
2137 -- End of API Body
2138 --
2139 -- Customer/Vertical Hookups
2140 /* Customer post -processing section - Mandatory */
2141 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2142 CS_COUNTERS_CUHK.Update_Ctr_Grp_Post (
2143 p_api_version => l_api_version,
2144 p_init_msg_list => p_init_msg_list,
2145 p_commit => p_commit,
2146 x_return_status => x_return_status,
2147 x_msg_count => x_msg_count,
2148 x_msg_data => x_msg_data,
2149 p_ctr_grp_id => p_ctr_grp_id,
2150 p_object_version_number => p_object_version_number,
2151 p_ctr_grp_rec => p_ctr_grp_rec,
2152 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2153 x_object_version_number => x_object_version_number
2154 );
2155 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2156 RAISE FND_API.G_EXC_ERROR;
2157 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2158 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2159 END IF;
2160 END IF;
2161 /* Vertical post -processing section - Mandatory */
2162 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
2163 CS_COUNTERS_VUHK.Update_Ctr_Grp_Post (
2164 p_api_version => l_api_version,
2165 p_init_msg_list => p_init_msg_list,
2166 p_commit => p_commit,
2167 x_return_status => x_return_status,
2168 x_msg_count => x_msg_count,
2169 x_msg_data => x_msg_data,
2170 p_ctr_grp_id => p_ctr_grp_id,
2171 p_object_version_number => p_object_version_number,
2172 p_ctr_grp_rec => p_ctr_grp_rec,
2173 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2174 x_object_version_number => x_object_version_number
2175 );
2176 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2177 RAISE FND_API.G_EXC_ERROR;
2178 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2179 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2180 END IF;
2181 END IF;
2182
2183
2184 IF FND_API.To_Boolean( p_commit ) THEN
2185 COMMIT WORK;
2186 END IF;
2187
2188 FND_MSG_PUB.Count_And_Get
2189 (p_count => x_msg_count ,
2190 p_data => x_msg_data
2191 );
2192
2193 EXCEPTION
2194
2195 WHEN FND_API.G_EXC_ERROR THEN
2196 ROLLBACK TO Update_Ctr_Grp_PUB;
2197 x_return_status := FND_API.G_RET_STS_ERROR ;
2198 FND_MSG_PUB.Count_And_Get
2199 (p_count => x_msg_count ,
2200 p_data => x_msg_data
2201 );
2202 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2203 ROLLBACK TO Update_Ctr_Grp_PUB;
2204 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2205 FND_MSG_PUB.Count_And_Get
2206 (p_count => x_msg_count ,
2207 p_data => x_msg_data
2208 );
2209 WHEN OTHERS THEN
2210 ROLLBACK TO Update_Ctr_Grp_PUB;
2211 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2212 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2213 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
2214 END IF;
2215 FND_MSG_PUB.Count_And_Get
2216 (p_count => x_msg_count ,
2217 p_data => x_msg_data
2218 );
2219
2220 end Update_Ctr_Grp;
2221
2222 PROCEDURE Update_Counter
2223 (
2224 p_api_version IN NUMBER,
2225 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2226 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2227 x_return_status OUT NOCOPY VARCHAR2,
2228 x_msg_count OUT NOCOPY NUMBER,
2229 x_msg_data OUT NOCOPY VARCHAR2,
2230 p_ctr_id IN NUMBER,
2231 p_object_version_number IN NUMBER,
2232 p_ctr_rec IN CS_COUNTERS_PUB.Ctr_Rec_Type,
2233 p_cascade_upd_to_instances IN VARCHAR2 := FND_API.G_FALSE,
2234 x_object_version_number OUT NOCOPY NUMBER
2235 ) is
2236 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_COUNTER';
2237 l_api_version CONSTANT NUMBER := 1.0;
2238
2239 l_counter_template_rec CSI_CTR_DATASTRUCTURES_PUB.counter_template_rec;
2240 l_ctr_item_associations_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_item_associations_tbl;
2241 l_ctr_property_template_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_property_template_tbl;
2242 l_counter_relationships_tbl CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_tbl;
2243 l_ctr_derived_filters_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_tbl;
2244 l_validation_level NUMBER;
2245
2246 BEGIN
2247
2248 SAVEPOINT Update_Counter_PUB;
2249
2250 -- Standard call to check for call compatibility.
2251 IF NOT FND_API.Compatible_API_Call (l_api_version ,
2252 p_api_version ,
2253 l_api_name ,
2254 G_PKG_NAME ) THEN
2255 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2256 END IF;
2257 -- Initialize message list if p_init_msg_list is set to TRUE.
2258 IF FND_API.to_Boolean( p_init_msg_list ) THEN
2259 FND_MSG_PUB.initialize;
2260 END IF;
2261
2262 /* Customer/Vertical Hookups
2263 /* Customer pre -processing section - Mandatory */
2264 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2265 CS_COUNTERS_CUHK.Update_Counter_Pre (
2266 p_api_version => l_api_version,
2267 p_init_msg_list => p_init_msg_list,
2268 p_commit => p_commit,
2269 x_return_status => x_return_status,
2270 x_msg_count => x_msg_count,
2271 x_msg_data => x_msg_data,
2272 p_ctr_id => p_ctr_id,
2273 p_object_version_number => p_object_version_number,
2274 p_ctr_rec => p_ctr_rec,
2275 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2276 x_object_version_number => x_object_version_number
2277 );
2278 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2279 RAISE FND_API.G_EXC_ERROR;
2280 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2281 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2282 END IF;
2283 END IF;
2284 /* Vertical pre -processing section - Mandatory */
2285 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2286 CS_COUNTERS_VUHK.Update_Counter_Pre (
2287 p_api_version => l_api_version,
2288 p_init_msg_list => p_init_msg_list,
2289 p_commit => p_commit,
2290 x_return_status => x_return_status,
2291 x_msg_count => x_msg_count,
2292 x_msg_data => x_msg_data,
2293 p_ctr_id => p_ctr_id,
2294 p_object_version_number => p_object_version_number,
2295 p_ctr_rec => p_ctr_rec,
2296 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2297 x_object_version_number => x_object_version_number
2298 );
2299 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2300 RAISE FND_API.G_EXC_ERROR;
2301 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2302 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2303 END IF;
2304 END IF;
2305
2306 -- Initialize API return status to success
2307 x_return_status := FND_API.G_RET_STS_SUCCESS;
2308 --
2309 -- Start of API Body
2310
2311 l_counter_template_rec.COUNTER_ID := p_ctr_id;
2312 l_counter_template_rec.GROUP_ID := p_ctr_rec.counter_group_id;
2313 l_counter_template_rec.COUNTER_TYPE := p_ctr_rec.type;
2314 l_counter_template_rec.INITIAL_READING := p_ctr_rec.initial_reading;
2315 l_counter_template_rec.TOLERANCE_PLUS := p_ctr_rec.tolerance_plus;
2316 l_counter_template_rec.TOLERANCE_MINUS := p_ctr_rec.tolerance_minus;
2317 l_counter_template_rec.UOM_CODE := p_ctr_rec.uom_code;
2318 l_counter_template_rec.DERIVE_COUNTER_ID := p_ctr_rec.derive_counter_id;
2319 l_counter_template_rec.DERIVE_FUNCTION := p_ctr_rec.derive_function;
2320 l_counter_template_rec.DERIVE_PROPERTY_ID := p_ctr_rec.derive_property_id;
2321 l_counter_template_rec.FORMULA_TEXT := p_ctr_rec.formula_text;
2322 l_counter_template_rec.ROLLOVER_LAST_READING := p_ctr_rec.rollover_last_reading;
2323 l_counter_template_rec.ROLLOVER_FIRST_READING := p_ctr_rec.rollover_first_reading;
2324 l_counter_template_rec.USAGE_ITEM_ID := p_ctr_rec.usage_item_id;
2325 l_counter_template_rec.START_DATE_ACTIVE := p_ctr_rec.start_date_active;
2326 l_counter_template_rec.END_DATE_ACTIVE := p_ctr_rec.end_date_active;
2327 l_counter_template_rec.ATTRIBUTE1 := p_ctr_rec.desc_flex.ATTRIBUTE1;
2328 l_counter_template_rec.ATTRIBUTE2 := p_ctr_rec.desc_flex.ATTRIBUTE2;
2329 l_counter_template_rec.ATTRIBUTE3 := p_ctr_rec.desc_flex.ATTRIBUTE3;
2330 l_counter_template_rec.ATTRIBUTE4 := p_ctr_rec.desc_flex.ATTRIBUTE4;
2331 l_counter_template_rec.ATTRIBUTE5 := p_ctr_rec.desc_flex.ATTRIBUTE5;
2332 l_counter_template_rec.ATTRIBUTE6 := p_ctr_rec.desc_flex.ATTRIBUTE6;
2333 l_counter_template_rec.ATTRIBUTE7 := p_ctr_rec.desc_flex.ATTRIBUTE7;
2334 l_counter_template_rec.ATTRIBUTE8 := p_ctr_rec.desc_flex.ATTRIBUTE8;
2335 l_counter_template_rec.ATTRIBUTE9 := p_ctr_rec.desc_flex.ATTRIBUTE9;
2336 l_counter_template_rec.ATTRIBUTE10 := p_ctr_rec.desc_flex.ATTRIBUTE10;
2337 l_counter_template_rec.ATTRIBUTE11 := p_ctr_rec.desc_flex.ATTRIBUTE11;
2338 l_counter_template_rec.ATTRIBUTE12 := p_ctr_rec.desc_flex.ATTRIBUTE12;
2339 l_counter_template_rec.ATTRIBUTE13 := p_ctr_rec.desc_flex.ATTRIBUTE13;
2340 l_counter_template_rec.ATTRIBUTE14 := p_ctr_rec.desc_flex.ATTRIBUTE14;
2341 l_counter_template_rec.ATTRIBUTE15 := p_ctr_rec.desc_flex.ATTRIBUTE15;
2342 l_counter_template_rec.ATTRIBUTE_CATEGORY := p_ctr_rec.desc_flex.CONTEXT;
2343 l_counter_template_rec.CUSTOMER_VIEW := p_ctr_rec.customer_view;
2344 l_counter_template_rec.DIRECTION := p_ctr_rec.direction;
2345 l_counter_template_rec.FILTER_TYPE := p_ctr_rec.filter_type;
2346 l_counter_template_rec.FILTER_READING_COUNT := p_ctr_rec.filter_reading_count;
2347 l_counter_template_rec.FILTER_TIME_UOM := p_ctr_rec.filter_time_uom;
2348 l_counter_template_rec.ESTIMATION_ID := p_ctr_rec.estimation_id;
2349 l_counter_template_rec.NAME := p_ctr_rec.name;
2350 l_counter_template_rec.DESCRIPTION := p_ctr_rec.description;
2351 l_counter_template_rec.COMMENTS := p_ctr_rec.comments;
2352 l_counter_template_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
2353
2354 CSI_COUNTER_TEMPLATE_PUB.update_counter_template
2355 (
2356 p_api_version => p_api_version
2357 ,p_commit => p_commit
2358 ,p_init_msg_list => p_init_msg_list
2359 ,p_validation_level => l_validation_level
2360 ,p_counter_template_rec => l_counter_template_rec
2361 ,p_ctr_item_associations_tbl => l_ctr_item_associations_tbl
2362 ,p_ctr_property_template_tbl => l_ctr_property_template_tbl
2363 ,p_counter_relationships_tbl => l_counter_relationships_tbl
2364 ,p_ctr_derived_filters_tbl => l_ctr_derived_filters_tbl
2365 ,x_return_status => x_return_status
2366 ,x_msg_count => x_msg_count
2367 ,x_msg_data => x_msg_data
2368 );
2369
2370 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
2371 ROLLBACK TO Update_Counter_PUB;
2372 RETURN;
2373 END IF;
2374
2375 -- End of API Body
2376 --
2377 --
2378 -- Customer/Vertical Hookups
2379 /* Customer post -processing section - Mandatory */
2380 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2381 CS_COUNTERS_CUHK.Update_Counter_Post (
2382 p_api_version => l_api_version,
2383 p_init_msg_list => p_init_msg_list,
2384 p_commit => p_commit,
2385 x_return_status => x_return_status,
2386 x_msg_count => x_msg_count,
2387 x_msg_data => x_msg_data,
2388 p_ctr_id => p_ctr_id,
2389 p_object_version_number => p_object_version_number,
2390 p_ctr_rec => p_ctr_rec,
2391 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2392 x_object_version_number => x_object_version_number
2393 );
2394 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2395 RAISE FND_API.G_EXC_ERROR;
2396 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2397 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2398 END IF;
2399 END IF;
2400 /* Vertical post -processing section - Mandatory */
2401 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
2402 CS_COUNTERS_VUHK.Update_Counter_Post (
2403 p_api_version => l_api_version,
2404 p_init_msg_list => p_init_msg_list,
2405 p_commit => p_commit,
2406 x_return_status => x_return_status,
2407 x_msg_count => x_msg_count,
2408 x_msg_data => x_msg_data,
2409 p_ctr_id => p_ctr_id,
2410 p_object_version_number => p_object_version_number,
2411 p_ctr_rec => p_ctr_rec,
2412 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2413 x_object_version_number => x_object_version_number
2414 );
2415 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2416 RAISE FND_API.G_EXC_ERROR;
2417 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2418 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2419 END IF;
2420 END IF;
2421
2422 IF FND_API.To_Boolean( p_commit ) THEN
2423 COMMIT WORK;
2424 END IF;
2425
2426 FND_MSG_PUB.Count_And_Get
2427 (p_count => x_msg_count ,
2428 p_data => x_msg_data
2429 );
2430
2431 EXCEPTION
2432
2433 WHEN FND_API.G_EXC_ERROR THEN
2434 ROLLBACK TO Update_Counter_PUB;
2435 x_return_status := FND_API.G_RET_STS_ERROR ;
2436 FND_MSG_PUB.Count_And_Get
2437 (p_count => x_msg_count ,
2438 p_data => x_msg_data
2439 );
2440 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2441 ROLLBACK TO Update_Counter_PUB;
2442 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2443 FND_MSG_PUB.Count_And_Get
2444 (p_count => x_msg_count ,
2445 p_data => x_msg_data
2446 );
2447 WHEN OTHERS THEN
2448 ROLLBACK TO Update_Counter_PUB;
2449 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2450 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2451 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
2452 END IF;
2453 FND_MSG_PUB.Count_And_Get
2454 (p_count => x_msg_count ,
2455 p_data => x_msg_data
2456 );
2457
2458 end Update_Counter;
2459
2460 PROCEDURE Update_Ctr_Prop
2461 (
2462 p_api_version IN NUMBER,
2463 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2464 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2465 x_return_status OUT NOCOPY VARCHAR2,
2466 x_msg_count OUT NOCOPY NUMBER,
2467 x_msg_data OUT NOCOPY VARCHAR2,
2468 p_ctr_prop_id IN NUMBER,
2469 p_object_version_number IN NUMBER,
2470 p_ctr_prop_rec IN Ctr_Prop_Rec_Type,
2471 p_cascade_upd_to_instances IN VARCHAR2 := FND_API.G_FALSE,
2472 x_object_version_number OUT NOCOPY NUMBER
2473 ) is
2474 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CTR_PROP';
2475 l_api_version CONSTANT NUMBER := 1.0;
2476
2477 l_ctr_property_template_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_property_template_rec;
2478 l_validation_level NUMBER;
2479
2480 BEGIN
2481
2482 SAVEPOINT Update_Ctr_Prop_PUB;
2483
2484 -- Standard call to check for call compatibility.
2485 IF NOT FND_API.Compatible_API_Call (l_api_version ,
2486 p_api_version ,
2487 l_api_name ,
2488 G_PKG_NAME ) THEN
2489 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2490 END IF;
2491 -- Initialize message list if p_init_msg_list is set to TRUE.
2492 IF FND_API.to_Boolean( p_init_msg_list ) THEN
2493 FND_MSG_PUB.initialize;
2494 END IF;
2495
2496
2497 /* Customer/Vertical Hookups
2498 /* Customer pre -processing section - Mandatory */
2499 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2500 CS_COUNTERS_CUHK.Update_Ctr_Prop_Pre (
2501 p_api_version => l_api_version,
2502 p_init_msg_list => p_init_msg_list,
2503 p_commit => p_commit,
2504 x_return_status => x_return_status,
2505 x_msg_count => x_msg_count,
2506 x_msg_data => x_msg_data,
2507 p_ctr_prop_id => p_ctr_prop_id,
2508 p_object_version_number => p_object_version_number,
2509 p_ctr_prop_rec => p_ctr_prop_rec,
2510 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2511 x_object_version_number => x_object_version_number
2512 );
2513 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2514 RAISE FND_API.G_EXC_ERROR;
2515 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2516 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2517 END IF;
2518 END IF;
2519 /* Vertical pre -processing section - Mandatory */
2520 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2521 CS_COUNTERS_VUHK.Update_Ctr_Prop_Pre (
2522 p_api_version => l_api_version,
2523 p_init_msg_list => p_init_msg_list,
2524 p_commit => p_commit,
2525 x_return_status => x_return_status,
2526 x_msg_count => x_msg_count,
2527 x_msg_data => x_msg_data,
2528 p_ctr_prop_id => p_ctr_prop_id,
2529 p_object_version_number => p_object_version_number,
2530 p_ctr_prop_rec => p_ctr_prop_rec,
2531 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2532 x_object_version_number => x_object_version_number
2533 );
2534 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2535 RAISE FND_API.G_EXC_ERROR;
2536 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2537 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2538 END IF;
2539 END IF;
2540
2541 -- Initialize API return status to success
2542 x_return_status := FND_API.G_RET_STS_SUCCESS;
2543 --
2544 -- Start of API Body
2545 l_ctr_property_template_rec.COUNTER_PROPERTY_ID := p_ctr_prop_id;
2546 l_ctr_property_template_rec.COUNTER_ID := p_ctr_prop_rec.counter_id;
2547 l_ctr_property_template_rec.PROPERTY_DATA_TYPE := p_ctr_prop_rec.property_data_type;
2548 l_ctr_property_template_rec.IS_NULLABLE := p_ctr_prop_rec.is_nullable;
2549 l_ctr_property_template_rec.DEFAULT_VALUE := p_ctr_prop_rec.default_value;
2550 l_ctr_property_template_rec.MINIMUM_VALUE := p_ctr_prop_rec.minimum_value;
2551 l_ctr_property_template_rec.MAXIMUM_VALUE := p_ctr_prop_rec.maximum_value;
2552 l_ctr_property_template_rec.UOM_CODE := p_ctr_prop_rec.uom_code;
2553 l_ctr_property_template_rec.START_DATE_ACTIVE := p_ctr_prop_rec.start_date_active;
2554 l_ctr_property_template_rec.END_DATE_ACTIVE := p_ctr_prop_rec.end_date_active;
2555 l_ctr_property_template_rec.ATTRIBUTE1 := p_ctr_prop_rec.desc_flex.ATTRIBUTE1;
2556 l_ctr_property_template_rec.ATTRIBUTE2 := p_ctr_prop_rec.desc_flex.ATTRIBUTE2;
2557 l_ctr_property_template_rec.ATTRIBUTE3 := p_ctr_prop_rec.desc_flex.ATTRIBUTE3;
2558 l_ctr_property_template_rec.ATTRIBUTE4 := p_ctr_prop_rec.desc_flex.ATTRIBUTE4;
2559 l_ctr_property_template_rec.ATTRIBUTE5 := p_ctr_prop_rec.desc_flex.ATTRIBUTE5;
2560 l_ctr_property_template_rec.ATTRIBUTE6 := p_ctr_prop_rec.desc_flex.ATTRIBUTE6;
2561 l_ctr_property_template_rec.ATTRIBUTE7 := p_ctr_prop_rec.desc_flex.ATTRIBUTE7;
2562 l_ctr_property_template_rec.ATTRIBUTE8 := p_ctr_prop_rec.desc_flex.ATTRIBUTE8;
2563 l_ctr_property_template_rec.ATTRIBUTE9 := p_ctr_prop_rec.desc_flex.ATTRIBUTE9;
2564 l_ctr_property_template_rec.ATTRIBUTE10 := p_ctr_prop_rec.desc_flex.ATTRIBUTE10;
2565 l_ctr_property_template_rec.ATTRIBUTE11 := p_ctr_prop_rec.desc_flex.ATTRIBUTE11;
2566 l_ctr_property_template_rec.ATTRIBUTE12 := p_ctr_prop_rec.desc_flex.ATTRIBUTE12;
2567 l_ctr_property_template_rec.ATTRIBUTE13 := p_ctr_prop_rec.desc_flex.ATTRIBUTE13;
2568 l_ctr_property_template_rec.ATTRIBUTE14 := p_ctr_prop_rec.desc_flex.ATTRIBUTE14;
2569 l_ctr_property_template_rec.ATTRIBUTE15 := p_ctr_prop_rec.desc_flex.ATTRIBUTE15;
2570 l_ctr_property_template_rec.ATTRIBUTE_CATEGORY := p_ctr_prop_rec.desc_flex.CONTEXT;
2571 l_ctr_property_template_rec.PROPERTY_LOV_TYPE := p_ctr_prop_rec.property_lov_type;
2572 l_ctr_property_template_rec.NAME := p_ctr_prop_rec.name;
2573 l_ctr_property_template_rec.DESCRIPTION := p_ctr_prop_rec.description;
2574 l_ctr_property_template_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
2575
2576 CSI_COUNTER_TEMPLATE_PUB.update_ctr_property_template
2577 (
2578 p_api_version => p_api_version
2579 ,p_commit => p_commit
2580 ,p_init_msg_list => p_init_msg_list
2581 ,p_validation_level => l_validation_level
2582 ,p_ctr_property_template_rec => l_ctr_property_template_rec
2583 ,x_return_status => x_return_status
2584 ,x_msg_count => x_msg_count
2585 ,x_msg_data => x_msg_data
2586 );
2587
2588 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
2589 ROLLBACK TO Update_Ctr_Prop_PUB;
2590 RETURN;
2591 END IF;
2592
2593 -- End of API Body
2594 --
2595 /* Customer post -processing section - Mandatory */
2596 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2597 CS_COUNTERS_CUHK.Update_Ctr_Prop_Post (
2598 p_api_version => l_api_version,
2599 p_init_msg_list => p_init_msg_list,
2600 p_commit => p_commit,
2601 x_return_status => x_return_status,
2602 x_msg_count => x_msg_count,
2603 x_msg_data => x_msg_data,
2604 p_ctr_prop_id => p_ctr_prop_id,
2605 p_object_version_number => p_object_version_number,
2606 p_ctr_prop_rec => p_ctr_prop_rec,
2607 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2608 x_object_version_number => x_object_version_number
2609 );
2610 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2611 RAISE FND_API.G_EXC_ERROR;
2612 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2613 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2614 END IF;
2615 END IF;
2616 /* Vertical post -processing section - Mandatory */
2617 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
2618 CS_COUNTERS_VUHK.Update_Ctr_Prop_Post (
2619 p_api_version => l_api_version,
2620 p_init_msg_list => p_init_msg_list,
2621 p_commit => p_commit,
2622 x_return_status => x_return_status,
2623 x_msg_count => x_msg_count,
2624 x_msg_data => x_msg_data,
2625 p_ctr_prop_id => p_ctr_prop_id,
2626 p_object_version_number => p_object_version_number,
2627 p_ctr_prop_rec => p_ctr_prop_rec,
2628 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2629 x_object_version_number => x_object_version_number
2630 );
2631 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2632 RAISE FND_API.G_EXC_ERROR;
2633 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2634 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2635 END IF;
2636 END IF;
2637
2638 IF FND_API.To_Boolean( p_commit ) THEN
2639 COMMIT WORK;
2640 END IF;
2641
2642 FND_MSG_PUB.Count_And_Get
2643 (p_count => x_msg_count ,
2644 p_data => x_msg_data
2645 );
2646
2647 EXCEPTION
2648
2649 WHEN FND_API.G_EXC_ERROR THEN
2650 ROLLBACK TO Update_Ctr_Prop_PUB;
2651 x_return_status := FND_API.G_RET_STS_ERROR ;
2652 FND_MSG_PUB.Count_And_Get
2653 (p_count => x_msg_count ,
2654 p_data => x_msg_data
2655 );
2656 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2657 ROLLBACK TO Update_Ctr_Prop_PUB;
2658 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2659 FND_MSG_PUB.Count_And_Get
2660 (p_count => x_msg_count ,
2661 p_data => x_msg_data
2662 );
2663 WHEN OTHERS THEN
2664 ROLLBACK TO Update_Ctr_Prop_PUB;
2665 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2666 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2667 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
2668 END IF;
2669 FND_MSG_PUB.Count_And_Get
2670 (p_count => x_msg_count ,
2671 p_data => x_msg_data
2672 );
2673
2674 end Update_Ctr_Prop;
2675
2676 PROCEDURE Update_Formula_Ref
2677 (
2678 p_api_version IN NUMBER,
2679 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2680 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2681 x_return_status OUT NOCOPY VARCHAR2,
2682 x_msg_count OUT NOCOPY NUMBER,
2683 x_msg_data OUT NOCOPY VARCHAR2,
2684 p_ctr_formula_bvar_id IN NUMBER,
2685 p_object_version_number IN NUMBER,
2686 p_counter_id IN NUMBER,
2687 p_bind_var_name IN VARCHAR2,
2688 p_mapped_item_id IN NUMBER := null,
2689 p_mapped_counter_id IN NUMBER,
2690 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
2691 p_cascade_upd_to_instances IN VARCHAR2 := FND_API.G_FALSE,
2692 x_object_version_number OUT NOCOPY NUMBER,
2693 p_reading_type IN VARCHAR2
2694 ) is
2695 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_FORMULA_REF';
2696 l_api_version CONSTANT NUMBER := 1.0;
2697
2698 l_counter_relationships_rec CSI_CTR_DATASTRUCTURES_PUB.counter_relationships_rec;
2699 l_validation_level NUMBER;
2700
2701 BEGIN
2702
2703 SAVEPOINT Update_Formula_Ref_PUB;
2704
2705 -- Standard call to check for call compatibility.
2706 IF NOT FND_API.Compatible_API_Call (l_api_version ,
2707 p_api_version ,
2708 l_api_name ,
2709 G_PKG_NAME ) THEN
2710 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2711 END IF;
2712 -- Initialize message list if p_init_msg_list is set to TRUE.
2713 IF FND_API.to_Boolean( p_init_msg_list ) THEN
2714 FND_MSG_PUB.initialize;
2715 END IF;
2716
2717 /* Customer/Vertical Hookups
2718 /* Customer pre -processing section - Mandatory */
2719 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2720 CS_COUNTERS_CUHK.Update_Formula_Ref_Pre (
2721 p_api_version => l_api_version,
2722 p_init_msg_list => p_init_msg_list,
2723 p_commit => p_commit,
2724 x_return_status => x_return_status,
2725 x_msg_count => x_msg_count,
2726 x_msg_data => x_msg_data,
2727 p_ctr_formula_bvar_id => p_ctr_formula_bvar_id,
2728 p_object_version_number => p_object_version_number,
2729 p_counter_id => p_counter_id,
2730 p_bind_var_name => p_bind_var_name,
2731 p_mapped_item_id => p_mapped_item_id,
2732 p_mapped_counter_id => p_mapped_counter_id,
2733 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2734 x_object_version_number => x_object_version_number,
2735 p_reading_type => p_reading_type
2736 );
2737 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2738 RAISE FND_API.G_EXC_ERROR;
2739 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2740 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2741 END IF;
2742 END IF;
2743 /* Vertical pre -processing section - Mandatory */
2744 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2745 CS_COUNTERS_VUHK.Update_Formula_Ref_Pre (
2746 p_api_version => l_api_version,
2747 p_init_msg_list => p_init_msg_list,
2748 p_commit => p_commit,
2749 x_return_status => x_return_status,
2750 x_msg_count => x_msg_count,
2751 x_msg_data => x_msg_data,
2752 p_ctr_formula_bvar_id => p_ctr_formula_bvar_id,
2753 p_object_version_number => p_object_version_number,
2754 p_counter_id => p_counter_id,
2755 p_bind_var_name => p_bind_var_name,
2756 p_mapped_item_id => p_mapped_item_id,
2757 p_mapped_counter_id => p_mapped_counter_id,
2758 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2759 x_object_version_number => x_object_version_number,
2760 p_reading_type => p_reading_type
2761 );
2762 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2763 RAISE FND_API.G_EXC_ERROR;
2764 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2765 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2766 END IF;
2767 END IF;
2768
2769 -- Initialize API return status to success
2770 x_return_status := FND_API.G_RET_STS_SUCCESS;
2771 --
2772 -- Start of API Body
2773 l_counter_relationships_rec.RELATIONSHIP_ID := p_ctr_formula_bvar_id;
2774 --l_counter_relationships_rec.CTR_ASSOCIATION_ID := ctr_associations_rec.ctr_association_id;
2775 --l_counter_relationships_rec.RELATIONSHIP_TYPE_CODE := 'FORMULA';
2776 l_counter_relationships_rec.SOURCE_COUNTER_ID := p_mapped_counter_id;
2777 l_counter_relationships_rec.OBJECT_COUNTER_ID := p_counter_id;
2778 l_counter_relationships_rec.ATTRIBUTE_CATEGORY := p_desc_flex.CONTEXT;
2779 l_counter_relationships_rec.ATTRIBUTE1 := p_desc_flex.ATTRIBUTE1;
2780 l_counter_relationships_rec.ATTRIBUTE2 := p_desc_flex.ATTRIBUTE2;
2781 l_counter_relationships_rec.ATTRIBUTE3 := p_desc_flex.ATTRIBUTE3;
2782 l_counter_relationships_rec.ATTRIBUTE4 := p_desc_flex.ATTRIBUTE4;
2783 l_counter_relationships_rec.ATTRIBUTE5 := p_desc_flex.ATTRIBUTE5;
2784 l_counter_relationships_rec.ATTRIBUTE6 := p_desc_flex.ATTRIBUTE6;
2785 l_counter_relationships_rec.ATTRIBUTE7 := p_desc_flex.ATTRIBUTE7;
2786 l_counter_relationships_rec.ATTRIBUTE8 := p_desc_flex.ATTRIBUTE8;
2787 l_counter_relationships_rec.ATTRIBUTE9 := p_desc_flex.ATTRIBUTE9;
2788 l_counter_relationships_rec.ATTRIBUTE10 := p_desc_flex.ATTRIBUTE10;
2789 l_counter_relationships_rec.ATTRIBUTE11 := p_desc_flex.ATTRIBUTE11;
2790 l_counter_relationships_rec.ATTRIBUTE12 := p_desc_flex.ATTRIBUTE12;
2791 l_counter_relationships_rec.ATTRIBUTE13 := p_desc_flex.ATTRIBUTE13;
2792 l_counter_relationships_rec.ATTRIBUTE14 := p_desc_flex.ATTRIBUTE14;
2793 l_counter_relationships_rec.ATTRIBUTE15 := p_desc_flex.ATTRIBUTE15;
2794 l_counter_relationships_rec.BIND_VARIABLE_NAME := p_bind_var_name;
2795 l_counter_relationships_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
2796
2797 CSI_COUNTER_TEMPLATE_PUB.create_counter_relationship
2798 (
2799 p_api_version => p_api_version
2800 ,p_commit => p_commit
2801 ,p_init_msg_list => p_init_msg_list
2802 ,p_validation_level => l_validation_level
2803 ,p_counter_relationships_rec => l_counter_relationships_rec
2804 ,x_return_status => x_return_status
2805 ,x_msg_count => x_msg_count
2806 ,x_msg_data => x_msg_data
2807 );
2808
2809 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
2810 ROLLBACK TO Create_Formula_Ref_PUB;
2811 RETURN;
2812 End if;
2813
2814 -- End of API Body
2815 --
2816 --
2817 /* Customer post -processing section - Mandatory */
2818 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
2819 CS_COUNTERS_CUHK.Update_Formula_Ref_Post (
2820 p_api_version => l_api_version,
2821 p_init_msg_list => p_init_msg_list,
2822 p_commit => p_commit,
2823 x_return_status => x_return_status,
2824 x_msg_count => x_msg_count,
2825 x_msg_data => x_msg_data,
2826 p_ctr_formula_bvar_id => p_ctr_formula_bvar_id,
2827 p_object_version_number => p_object_version_number,
2828 p_counter_id => p_counter_id,
2829 p_bind_var_name => p_bind_var_name,
2830 p_mapped_item_id => p_mapped_item_id,
2831 p_mapped_counter_id => p_mapped_counter_id,
2832 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2833 x_object_version_number => x_object_version_number,
2834 p_reading_type => p_reading_type
2835 );
2836 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2837 RAISE FND_API.G_EXC_ERROR;
2838 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2839 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2840 END IF;
2841 END IF;
2842 /* Vertical post -processing section - Mandatory */
2843 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
2844 CS_COUNTERS_VUHK.Update_Formula_Ref_Post (
2845 p_api_version => l_api_version,
2846 p_init_msg_list => p_init_msg_list,
2847 p_commit => p_commit,
2848 x_return_status => x_return_status,
2849 x_msg_count => x_msg_count,
2850 x_msg_data => x_msg_data,
2851 p_ctr_formula_bvar_id => p_ctr_formula_bvar_id,
2852 p_object_version_number => p_object_version_number,
2853 p_counter_id => p_counter_id,
2854 p_bind_var_name => p_bind_var_name,
2855 p_mapped_item_id => p_mapped_item_id,
2856 p_mapped_counter_id => p_mapped_counter_id,
2857 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2858 x_object_version_number => x_object_version_number,
2859 p_reading_type => p_reading_type
2860 );
2861 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2862 RAISE FND_API.G_EXC_ERROR;
2863 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2864 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2865 END IF;
2866 END IF;
2867
2868 IF FND_API.To_Boolean( p_commit ) THEN
2869 COMMIT WORK;
2870 END IF;
2871
2872 FND_MSG_PUB.Count_And_Get
2873 (p_count => x_msg_count ,
2874 p_data => x_msg_data
2875 );
2876
2877 EXCEPTION
2878
2879 WHEN FND_API.G_EXC_ERROR THEN
2880 ROLLBACK TO Update_Formula_Ref_PUB;
2881 x_return_status := FND_API.G_RET_STS_ERROR ;
2882 FND_MSG_PUB.Count_And_Get
2883 (p_count => x_msg_count ,
2884 p_data => x_msg_data
2885 );
2886 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2887 ROLLBACK TO Update_Formula_Ref_PUB;
2888 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2889 FND_MSG_PUB.Count_And_Get
2890 (p_count => x_msg_count ,
2891 p_data => x_msg_data
2892 );
2893 WHEN OTHERS THEN
2894 ROLLBACK TO Update_Formula_Ref_PUB;
2895 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2896 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2897 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
2898 END IF;
2899 FND_MSG_PUB.Count_And_Get
2900 (p_count => x_msg_count ,
2901 p_data => x_msg_data
2902 );
2903
2904 end Update_Formula_Ref;
2905
2906
2907 PROCEDURE Update_GrpOp_Filter
2908 (
2909 p_api_version IN NUMBER,
2910 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2911 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2912 x_return_status OUT NOCOPY VARCHAR2,
2913 x_msg_count OUT NOCOPY NUMBER,
2914 x_msg_data OUT NOCOPY VARCHAR2,
2915 p_ctr_der_filter_id IN NUMBER,
2916 p_object_version_number IN NUMBER,
2917 p_seq_no IN NUMBER := null,
2918 p_counter_id IN NUMBER,
2919 p_left_paren IN VARCHAR2,
2920 p_ctr_prop_id IN NUMBER,
2921 p_rel_op IN VARCHAR2,
2922 p_right_val IN VARCHAR2,
2923 p_right_paren IN VARCHAR2,
2924 p_log_op IN VARCHAR2,
2925 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
2926 p_cascade_upd_to_instances IN VARCHAR2 := FND_API.G_FALSE,
2927 x_object_version_number OUT NOCOPY NUMBER
2928 ) is
2929 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_GRPOP_FILTER';
2930 l_api_version CONSTANT NUMBER := 1.0;
2931
2932 l_ctr_derived_filters_tbl CSI_CTR_DATASTRUCTURES_PUB.ctr_derived_filters_tbl;
2933 l_validation_level NUMBER;
2934
2935 BEGIN
2936
2937 SAVEPOINT Update_GrpOp_Filter_PUB;
2938
2939 -- Standard call to check for call compatibility.
2940 IF NOT FND_API.Compatible_API_Call (l_api_version ,
2941 p_api_version ,
2942 l_api_name ,
2943 G_PKG_NAME ) THEN
2944 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2945 END IF;
2946 -- Initialize message list if p_init_msg_list is set to TRUE.
2947 IF FND_API.to_Boolean( p_init_msg_list ) THEN
2948 FND_MSG_PUB.initialize;
2949 END IF;
2950 /* Customer/Vertical Hookups
2951 /* Customer pre -processing section - Mandatory */
2952 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
2953 CS_COUNTERS_CUHK.Update_GrpOp_Filter_Pre (
2954 p_api_version => l_api_version,
2955 p_init_msg_list => p_init_msg_list,
2956 p_commit => p_commit,
2957 x_return_status => x_return_status,
2958 x_msg_count => x_msg_count,
2959 x_msg_data => x_msg_data,
2960 p_ctr_der_filter_id => p_ctr_der_filter_id,
2961 p_object_version_number => p_object_version_number,
2962 p_seq_no => p_seq_no,
2963 p_counter_id => p_counter_id,
2964 p_left_paren => p_left_paren,
2965 p_ctr_prop_id => p_ctr_prop_id,
2966 p_rel_op => p_rel_op,
2967 p_right_val => p_right_val,
2968 p_right_paren => p_right_paren,
2969 p_log_op => p_log_op,
2970 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2971 x_object_version_number => x_object_version_number
2972 );
2973 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
2974 RAISE FND_API.G_EXC_ERROR;
2975 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
2976 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2977 END IF;
2978 END IF;
2979 /* Vertical pre -processing section - Mandatory */
2980 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
2981 CS_COUNTERS_VUHK.Update_GrpOp_Filter_Pre (
2982 p_api_version => l_api_version,
2983 p_init_msg_list => p_init_msg_list,
2984 p_commit => p_commit,
2985 x_return_status => x_return_status,
2986 x_msg_count => x_msg_count,
2987 x_msg_data => x_msg_data,
2988 p_ctr_der_filter_id => p_ctr_der_filter_id,
2989 p_object_version_number => p_object_version_number,
2990 p_seq_no => p_seq_no,
2991 p_counter_id => p_counter_id,
2992 p_left_paren => p_left_paren,
2993 p_ctr_prop_id => p_ctr_prop_id,
2994 p_rel_op => p_rel_op,
2995 p_right_val => p_right_val,
2996 p_right_paren => p_right_paren,
2997 p_log_op => p_log_op,
2998 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
2999 x_object_version_number => x_object_version_number
3000 );
3001 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3002 RAISE FND_API.G_EXC_ERROR;
3003 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3004 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3005 END IF;
3006 END IF;
3007
3008 -- Initialize API return status to success
3009 x_return_status := FND_API.G_RET_STS_SUCCESS;
3010 --
3011 -- Start of API Body
3012
3013 l_ctr_derived_filters_tbl(1).COUNTER_DERIVED_FILTER_ID := p_ctr_der_filter_id;
3014 l_ctr_derived_filters_tbl(1).COUNTER_ID := p_counter_id;
3015 l_ctr_derived_filters_tbl(1).SEQ_NO := p_seq_no;
3016 l_ctr_derived_filters_tbl(1).LEFT_PARENT := p_left_paren;
3017 l_ctr_derived_filters_tbl(1).COUNTER_PROPERTY_ID := p_ctr_prop_id;
3018 l_ctr_derived_filters_tbl(1).RELATIONAL_OPERATOR := p_rel_op;
3019 l_ctr_derived_filters_tbl(1).RIGHT_VALUE := p_right_val;
3020 l_ctr_derived_filters_tbl(1).RIGHT_PARENT := p_right_paren;
3021 l_ctr_derived_filters_tbl(1).LOGICAL_OPERATOR := p_log_op;
3022 l_ctr_derived_filters_tbl(1).ATTRIBUTE1 := p_desc_flex.ATTRIBUTE1;
3023 l_ctr_derived_filters_tbl(1).ATTRIBUTE2 := p_desc_flex.ATTRIBUTE2;
3024 l_ctr_derived_filters_tbl(1).ATTRIBUTE3 := p_desc_flex.ATTRIBUTE3;
3025 l_ctr_derived_filters_tbl(1).ATTRIBUTE4 := p_desc_flex.ATTRIBUTE4;
3026 l_ctr_derived_filters_tbl(1).ATTRIBUTE5 := p_desc_flex.ATTRIBUTE5;
3027 l_ctr_derived_filters_tbl(1).ATTRIBUTE6 := p_desc_flex.ATTRIBUTE6;
3028 l_ctr_derived_filters_tbl(1).ATTRIBUTE7 := p_desc_flex.ATTRIBUTE7;
3029 l_ctr_derived_filters_tbl(1).ATTRIBUTE8 := p_desc_flex.ATTRIBUTE8;
3030 l_ctr_derived_filters_tbl(1).ATTRIBUTE9 := p_desc_flex.ATTRIBUTE9;
3031 l_ctr_derived_filters_tbl(1).ATTRIBUTE10 := p_desc_flex.ATTRIBUTE10;
3032 l_ctr_derived_filters_tbl(1).ATTRIBUTE11 := p_desc_flex.ATTRIBUTE11;
3033 l_ctr_derived_filters_tbl(1).ATTRIBUTE12 := p_desc_flex.ATTRIBUTE12;
3034 l_ctr_derived_filters_tbl(1).ATTRIBUTE13 := p_desc_flex.ATTRIBUTE13;
3035 l_ctr_derived_filters_tbl(1).ATTRIBUTE14 := p_desc_flex.ATTRIBUTE14;
3036 l_ctr_derived_filters_tbl(1).ATTRIBUTE15 := p_desc_flex.ATTRIBUTE15;
3037 l_ctr_derived_filters_tbl(1).ATTRIBUTE_CATEGORY := p_desc_flex.CONTEXT;
3038 l_ctr_derived_filters_tbl(1).OBJECT_VERSION_NUMBER := p_object_version_number;
3039
3040 CSI_COUNTER_TEMPLATE_PUB.update_derived_filters
3041 (
3042 p_api_version => p_api_version
3043 ,p_commit => p_commit
3044 ,p_init_msg_list => p_init_msg_list
3045 ,p_validation_level => l_validation_level
3046 ,p_ctr_derived_filters_tbl => l_ctr_derived_filters_tbl
3047 ,x_return_status => x_return_status
3048 ,x_msg_count => x_msg_count
3049 ,x_msg_data => x_msg_data
3050 );
3051
3052 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
3053 ROLLBACK TO Update_GrpOp_Filter_PUB;
3054 RETURN;
3055 END IF;
3056
3057 -- End of API Body
3058 --
3059 /* Customer post -processing section - Mandatory */
3060 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
3061 CS_COUNTERS_CUHK.Update_GrpOp_Filter_Post (
3062 p_api_version => l_api_version,
3063 p_init_msg_list => p_init_msg_list,
3064 p_commit => p_commit,
3065 x_return_status => x_return_status,
3066 x_msg_count => x_msg_count,
3067 x_msg_data => x_msg_data,
3068 p_ctr_der_filter_id => p_ctr_der_filter_id,
3069 p_object_version_number => p_object_version_number,
3070 p_seq_no => p_seq_no,
3071 p_counter_id => p_counter_id,
3072 p_left_paren => p_left_paren,
3073 p_ctr_prop_id => p_ctr_prop_id,
3074 p_rel_op => p_rel_op,
3075 p_right_val => p_right_val,
3076 p_right_paren => p_right_paren,
3077 p_log_op => p_log_op,
3078 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
3079 x_object_version_number => x_object_version_number
3080 );
3081 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3082 RAISE FND_API.G_EXC_ERROR;
3083 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3084 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3085 END IF;
3086 END IF;
3087 /* Vertical post -processing section - Mandatory */
3088 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
3089 CS_COUNTERS_VUHK.Update_GrpOp_Filter_Post (
3090 p_api_version => l_api_version,
3091 p_init_msg_list => p_init_msg_list,
3092 p_commit => p_commit,
3093 x_return_status => x_return_status,
3094 x_msg_count => x_msg_count,
3095 x_msg_data => x_msg_data,
3096 p_ctr_der_filter_id => p_ctr_der_filter_id,
3097 p_object_version_number => p_object_version_number,
3098 p_seq_no => p_seq_no,
3099 p_counter_id => p_counter_id,
3100 p_left_paren => p_left_paren,
3101 p_ctr_prop_id => p_ctr_prop_id,
3102 p_rel_op => p_rel_op,
3103 p_right_val => p_right_val,
3104 p_right_paren => p_right_paren,
3105 p_log_op => p_log_op,
3106 p_cascade_upd_to_instances => p_cascade_upd_to_instances,
3107 x_object_version_number => x_object_version_number
3108 );
3109 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3110 RAISE FND_API.G_EXC_ERROR;
3111 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3112 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3113 END IF;
3114 END IF;
3115
3116
3117 IF FND_API.To_Boolean( p_commit ) THEN
3118 COMMIT WORK;
3119 END IF;
3120
3121 FND_MSG_PUB.Count_And_Get
3122 (p_count => x_msg_count ,
3123 p_data => x_msg_data
3124 );
3125
3126 EXCEPTION
3127
3128 WHEN FND_API.G_EXC_ERROR THEN
3129 ROLLBACK TO Update_GrpOp_Filter_PUB;
3130 x_return_status := FND_API.G_RET_STS_ERROR ;
3131 FND_MSG_PUB.Count_And_Get
3132 (p_count => x_msg_count ,
3133 p_data => x_msg_data
3134 );
3135 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3136 ROLLBACK TO Update_GrpOp_Filter_PUB;
3137 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3138 FND_MSG_PUB.Count_And_Get
3139 (p_count => x_msg_count ,
3140 p_data => x_msg_data
3141 );
3142 WHEN OTHERS THEN
3143 ROLLBACK TO Update_GrpOp_Filter_PUB;
3144 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3145 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3146 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
3147 END IF;
3148 FND_MSG_PUB.Count_And_Get
3149 (p_count => x_msg_count ,
3150 p_data => x_msg_data
3151 );
3152
3153 end Update_GrpOp_Filter;
3154
3155 PROCEDURE Update_Ctr_Association
3156 (
3157 p_api_version IN NUMBER,
3158 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3159 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3160 x_return_status OUT NOCOPY VARCHAR2,
3161 x_msg_count OUT NOCOPY NUMBER,
3162 x_msg_data OUT NOCOPY VARCHAR2,
3163 p_ctr_association_id IN NUMBER,
3164 p_object_version_number IN NUMBER,
3165 p_ctr_grp_id IN NUMBER,
3166 p_source_object_id IN NUMBER,
3167 p_desc_flex IN CS_COUNTERS_EXT_PVT.DFF_Rec_Type,
3168 x_object_version_number OUT NOCOPY NUMBER
3169 ) is
3170 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_CTR_ASSOCIATION';
3171 l_api_version CONSTANT NUMBER := 1.0;
3172
3173 l_ctr_item_associations_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_item_associations_rec;
3174 l_validation_level NUMBER;
3175
3176 BEGIN
3177
3178 SAVEPOINT Update_Ctr_Association_PUB;
3179
3180 -- Standard call to check for call compatibility.
3181 IF NOT FND_API.Compatible_API_Call (l_api_version ,
3182 p_api_version ,
3183 l_api_name ,
3184 G_PKG_NAME ) THEN
3185 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3186 END IF;
3187 -- Initialize message list if p_init_msg_list is set to TRUE.
3188 IF FND_API.to_Boolean( p_init_msg_list ) THEN
3189 FND_MSG_PUB.initialize;
3190 END IF;
3191 /* Customer/Vertical Hookups
3192 /* Customer pre -processing section - Mandatory */
3193 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
3194 CS_COUNTERS_CUHK.Update_Ctr_Association_Pre (
3195 p_api_version => l_api_version,
3196 p_init_msg_list => p_init_msg_list,
3197 p_commit => p_commit,
3198 x_return_status => x_return_status,
3199 x_msg_count => x_msg_count,
3200 x_msg_data => x_msg_data,
3201 p_ctr_association_id => p_ctr_association_id,
3202 p_object_version_number => p_object_version_number,
3203 p_ctr_grp_id => p_ctr_grp_id,
3204 p_source_object_id => p_source_object_id,
3205 x_object_version_number => x_object_version_number
3206 );
3207 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3208 RAISE FND_API.G_EXC_ERROR;
3209 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3210 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3211 END IF;
3212 END IF;
3213 /* Vertical pre -processing section - Mandatory */
3214 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
3215 CS_COUNTERS_VUHK.Update_Ctr_Association_Pre (
3216 p_api_version => l_api_version,
3217 p_init_msg_list => p_init_msg_list,
3218 p_commit => p_commit,
3219 x_return_status => x_return_status,
3220 x_msg_count => x_msg_count,
3221 x_msg_data => x_msg_data,
3222 p_ctr_association_id => p_ctr_association_id,
3223 p_object_version_number => p_object_version_number,
3224 p_ctr_grp_id => p_ctr_grp_id,
3225 p_source_object_id => p_source_object_id,
3226 x_object_version_number => x_object_version_number
3227 );
3228 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3229 RAISE FND_API.G_EXC_ERROR;
3230 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3231 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3232 END IF;
3233 END IF;
3234
3235 -- Initialize API return status to success
3236 x_return_status := FND_API.G_RET_STS_SUCCESS;
3237 --
3238 -- Start of API Body
3239 l_ctr_item_associations_rec.CTR_ASSOCIATION_ID := p_ctr_association_id;
3240 l_ctr_item_associations_rec.GROUP_ID := p_ctr_grp_id;
3241 l_ctr_item_associations_rec.INVENTORY_ITEM_ID := p_source_object_id;
3242 l_ctr_item_associations_rec.ATTRIBUTE1 := p_desc_flex.ATTRIBUTE1;
3243 l_ctr_item_associations_rec.ATTRIBUTE2 := p_desc_flex.ATTRIBUTE2;
3244 l_ctr_item_associations_rec.ATTRIBUTE3 := p_desc_flex.ATTRIBUTE3;
3245 l_ctr_item_associations_rec.ATTRIBUTE4 := p_desc_flex.ATTRIBUTE4;
3246 l_ctr_item_associations_rec.ATTRIBUTE5 := p_desc_flex.ATTRIBUTE5;
3247 l_ctr_item_associations_rec.ATTRIBUTE6 := p_desc_flex.ATTRIBUTE6;
3248 l_ctr_item_associations_rec.ATTRIBUTE7 := p_desc_flex.ATTRIBUTE7;
3249 l_ctr_item_associations_rec.ATTRIBUTE8 := p_desc_flex.ATTRIBUTE8;
3250 l_ctr_item_associations_rec.ATTRIBUTE9 := p_desc_flex.ATTRIBUTE9;
3251 l_ctr_item_associations_rec.ATTRIBUTE10 := p_desc_flex.ATTRIBUTE10;
3252 l_ctr_item_associations_rec.ATTRIBUTE11 := p_desc_flex.ATTRIBUTE11;
3253 l_ctr_item_associations_rec.ATTRIBUTE12 := p_desc_flex.ATTRIBUTE12;
3254 l_ctr_item_associations_rec.ATTRIBUTE13 := p_desc_flex.ATTRIBUTE13;
3255 l_ctr_item_associations_rec.ATTRIBUTE14 := p_desc_flex.ATTRIBUTE14;
3256 l_ctr_item_associations_rec.ATTRIBUTE15 := p_desc_flex.ATTRIBUTE15;
3257 l_ctr_item_associations_rec.ATTRIBUTE_CATEGORY := p_desc_flex.CONTEXT;
3258 --l_ctr_item_associations_rec.ASSOCIATION_TYPE := l_association_type;
3259 --l_ctr_item_associations_rec.ASSOCIATED_TO_GROUP := 'Y';
3260 l_ctr_item_associations_rec.OBJECT_VERSION_NUMBER:= p_object_version_number;
3261
3262 CSI_COUNTER_TEMPLATE_PUB.update_item_association
3263 (
3264 p_api_version => p_api_version
3265 ,p_commit => p_commit
3266 ,p_init_msg_list => p_init_msg_list
3267 ,p_validation_level => l_validation_level
3268 ,p_ctr_item_associations_rec => l_ctr_item_associations_rec
3269 ,x_return_status => x_return_status
3270 ,x_msg_count => x_msg_count
3271 ,x_msg_data => x_msg_data
3272 );
3273
3274
3275 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
3276 ROLLBACK TO Update_Ctr_Association_PUB;
3277 RETURN;
3278 END IF;
3279
3280 -- End of API Body
3281 --
3282 /* Customer post -processing section - Mandatory */
3283 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
3284 CS_COUNTERS_CUHK.Update_Ctr_Association_Post (
3285 p_api_version => l_api_version,
3286 p_init_msg_list => p_init_msg_list,
3287 p_commit => p_commit,
3288 x_return_status => x_return_status,
3289 x_msg_count => x_msg_count,
3290 x_msg_data => x_msg_data,
3291 p_ctr_association_id => p_ctr_association_id,
3292 p_object_version_number => p_object_version_number,
3293 p_ctr_grp_id => p_ctr_grp_id,
3294 p_source_object_id => p_source_object_id,
3295 x_object_version_number => x_object_version_number
3296 );
3297 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3298 RAISE FND_API.G_EXC_ERROR;
3299 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3300 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3301 END IF;
3302 END IF;
3303 /* Vertical post -processing section - Mandatory */
3304 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
3305 CS_COUNTERS_VUHK.Update_Ctr_Association_Post (
3306 p_api_version => l_api_version,
3307 p_init_msg_list => p_init_msg_list,
3308 p_commit => p_commit,
3309 x_return_status => x_return_status,
3310 x_msg_count => x_msg_count,
3311 x_msg_data => x_msg_data,
3312 p_ctr_association_id => p_ctr_association_id,
3313 p_object_version_number => p_object_version_number,
3314 p_ctr_grp_id => p_ctr_grp_id,
3315 p_source_object_id => p_source_object_id,
3316 x_object_version_number => x_object_version_number
3317 );
3318 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3319 RAISE FND_API.G_EXC_ERROR;
3320 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3321 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3322 END IF;
3323 END IF;
3324
3325 IF FND_API.To_Boolean( p_commit ) THEN
3326 COMMIT WORK;
3327 END IF;
3328
3329 FND_MSG_PUB.Count_And_Get
3330 (p_count => x_msg_count ,
3331 p_data => x_msg_data
3332 );
3333
3334 EXCEPTION
3335
3336 WHEN FND_API.G_EXC_ERROR THEN
3337 ROLLBACK TO Update_Ctr_Association_PUB;
3338 x_return_status := FND_API.G_RET_STS_ERROR ;
3339 FND_MSG_PUB.Count_And_Get
3340 (p_count => x_msg_count ,
3341 p_data => x_msg_data
3342 );
3343 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3344 ROLLBACK TO Update_Ctr_Association_PUB;
3345 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3346 FND_MSG_PUB.Count_And_Get
3347 (p_count => x_msg_count ,
3348 p_data => x_msg_data
3349 );
3350 WHEN OTHERS THEN
3351 ROLLBACK TO Update_Ctr_Association_PUB;
3352 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3353 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3354 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
3355 END IF;
3356 FND_MSG_PUB.Count_And_Get
3357 (p_count => x_msg_count ,
3358 p_data => x_msg_data
3359 );
3360
3361 end Update_Ctr_Association;
3362
3363 PROCEDURE Delete_Counter
3364 (
3365 p_api_version IN NUMBER,
3366 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3367 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3368 x_return_status OUT NOCOPY VARCHAR2,
3369 x_msg_count OUT NOCOPY NUMBER,
3370 x_msg_data OUT NOCOPY VARCHAR2,
3371 p_ctr_id IN NUMBER
3372 ) is
3373 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_COUNTER';
3374 l_api_version CONSTANT NUMBER := 1.0;
3375
3376 BEGIN
3377 null;
3378 end Delete_Counter;
3379
3380 PROCEDURE Delete_Ctr_Prop
3381 (
3382 p_api_version IN NUMBER,
3383 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3384 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3385 x_return_status OUT NOCOPY VARCHAR2,
3386 x_msg_count OUT NOCOPY NUMBER,
3387 x_msg_data OUT NOCOPY VARCHAR2,
3388 p_ctr_prop_id IN NUMBER
3389 ) is
3390 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CTR_PROP';
3391 l_api_version CONSTANT NUMBER := 1.0;
3392
3393 BEGIN
3394 null;
3395 end Delete_Ctr_Prop;
3396
3397
3398 PROCEDURE Delete_Formula_Ref
3399 (
3400 p_api_version IN NUMBER,
3401 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3402 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3403 x_return_status OUT NOCOPY VARCHAR2,
3404 x_msg_count OUT NOCOPY NUMBER,
3405 x_msg_data OUT NOCOPY VARCHAR2,
3406 p_ctr_formula_bvar_id IN NUMBER
3407 ) is
3408 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_FORMULA_REF';
3409 l_api_version CONSTANT NUMBER := 1.0;
3410
3411 BEGIN
3412 null;
3413 end Delete_Formula_Ref;
3414
3415
3416 PROCEDURE Delete_GrpOp_Filter
3417 (
3418 p_api_version IN NUMBER,
3419 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3420 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3421 x_return_status OUT NOCOPY VARCHAR2,
3422 x_msg_count OUT NOCOPY NUMBER,
3423 x_msg_data OUT NOCOPY VARCHAR2,
3424 p_ctr_der_filter_id IN NUMBER
3425 ) is
3426 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_GRPOP_FILTER';
3427 l_api_version CONSTANT NUMBER := 1.0;
3428
3429 BEGIN
3430 null;
3431 end Delete_GrpOp_Filter;
3432
3433
3434 PROCEDURE Delete_Ctr_Association
3435 (
3436 p_api_version IN NUMBER,
3437 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3438 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3439 x_return_status OUT NOCOPY VARCHAR2,
3440 x_msg_count OUT NOCOPY NUMBER,
3441 x_msg_data OUT NOCOPY VARCHAR2,
3442 p_ctr_association_id IN NUMBER
3443 ) is
3444 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_CTR_ASSOCIATION';
3445 l_api_version CONSTANT NUMBER := 1.0;
3446
3447 BEGIN
3448 null;
3449 end Delete_Ctr_Association;
3450
3451 PROCEDURE DELETE_COUNTER_INSTANCE(
3452 p_Api_Version IN NUMBER,
3453 p_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
3454 p_Commit IN VARCHAR2 := FND_API.G_FALSE,
3455 p_SOURCE_OBJECT_ID IN NUMBER,
3456 p_SOURCE_OBJECT_CODE IN VARCHAR2,
3457 x_Return_status OUT NOCOPY VARCHAR2,
3458 x_Msg_Count OUT NOCOPY NUMBER,
3459 x_Msg_Data OUT NOCOPY VARCHAR2,
3460 x_delete_status OUT NOCOPY VARCHAR2
3461 ) IS
3462 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_COUNTER_INSTANCE';
3463 l_api_version CONSTANT NUMBER := 1.0;
3464 l_ctr_group_id NUMBER;
3465 BEGIN
3466 null;
3467 END DELETE_COUNTER_INSTANCE;
3468
3469 PROCEDURE Instantiate_single_Ctr
3470 (
3471 p_api_version IN NUMBER,
3472 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
3473 p_commit IN VARCHAR2 := FND_API.G_FALSE,
3474 x_return_status OUT NOCOPY VARCHAR2,
3475 x_msg_count OUT NOCOPY NUMBER,
3476 x_msg_data OUT NOCOPY VARCHAR2,
3477 p_counter_id_template IN NUMBER,
3478 p_source_object_code_instance IN VARCHAR2,
3479 p_source_object_id_instance IN NUMBER,
3480 x_ctr_id_instance OUT NOCOPY NUMBER
3481 ) is
3482 l_api_name CONSTANT VARCHAR2(30) := 'Instantiate_single_Ctr';
3483 l_api_version CONSTANT NUMBER := 1.0;
3484 x_ctr_id_template NUMBER; -- Added for bug #5983441
3485
3486
3487
3488
3489 BEGIN
3490
3491 /*
3492
3493
3494 SAVEPOINT Instantiate_Counters_PUB;
3495
3496 -- Standard call to check for call compatibility.
3497 IF NOT FND_API.Compatible_API_Call (l_api_version ,
3498 p_api_version ,
3499 l_api_name ,
3500 G_PKG_NAME ) THEN
3501 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3502 END IF;
3503 -- Initialize message list if p_init_msg_list is set to TRUE.
3504 IF FND_API.to_Boolean( p_init_msg_list ) THEN
3505 FND_MSG_PUB.initialize;
3506 END IF;
3507
3508 --BigDecimal [] x_ctr_grp_id_template = new BigDecimal[]{new BigDecimal(0)};
3509 --x_ctr_grp_id_template NUMBER;
3510
3511 /* Customer/Vertical Hookups
3512 /* Customer pre -processing section - Mandatory */
3513 /*
3514 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) THEN
3515 CS_COUNTERS_CUHK.Instantiate_Counters_Pre (
3516 p_api_version => l_api_version,
3517 p_init_msg_list => p_init_msg_list,
3518 p_commit => p_commit,
3519 x_return_status => x_return_status,
3520 x_msg_count => x_msg_count,
3521 x_msg_data => x_msg_data,
3522 p_counter_group_id_template => p_counter_group_id_template,
3523 p_source_object_code_instance => p_source_object_code_instance,
3524 p_source_object_id_instance => p_source_object_id_instance,
3525 x_ctr_grp_id_template => x_ctr_grp_id_template,
3526 x_ctr_grp_id_instance => x_ctr_grp_id_instance
3527 );
3528
3529 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3530 RAISE FND_API.G_EXC_ERROR;
3531 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3532 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3533 END IF;
3534 END IF;
3535 /* Vertical pre -processing section - Mandatory */
3536 /*
3537 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) ) THEN
3538 CS_COUNTERS_VUHK.Instantiate_Counters_Pre (
3539 p_api_version=> l_api_version,
3540 p_init_msg_list=> p_init_msg_list,
3541 p_commit => p_commit,
3542 x_return_status=> x_return_status,
3543 x_msg_count=> x_msg_count,
3544 x_msg_data=> x_msg_data,
3545 p_counter_id_template => p_counter_id_template,
3546 p_source_object_code_instance => p_source_object_code_instance,
3547 p_source_object_id_instance => p_source_object_id_instance,
3548 x_ctr_id_template => x_ctr_id_template,
3549 x_ctr_id_instance => x_ctr_id_instance
3550 );
3551 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3552 RAISE FND_API.G_EXC_ERROR;
3553 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3554 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3555 END IF;
3556 END IF;
3557
3558 -- Initialize API return status to success
3559 x_return_status := FND_API.G_RET_STS_SUCCESS;
3560 -- Start of API Body
3561
3562 */
3563
3564 --Code Added for bug #5983441 starts here
3565
3566 CSI_COUNTER_TEMPLATE_PUB.Instantiate_Counters
3567 (
3568 p_api_version,
3569 p_init_msg_list,
3570 p_commit,
3571 x_return_status,
3572 x_msg_count,
3573 x_msg_data,
3574 p_counter_id_template,
3575 p_source_object_code_instance,
3576 p_source_object_id_instance,
3577 x_ctr_id_template,
3578 x_ctr_id_instance
3579
3580 );
3581
3582 --Code Added for bug #5983441 ends here
3583
3584 -- End of API Body
3585 --
3586 -- Customer/Vertical Hookups
3587 /* Customer post -processing section - Mandatory */
3588 /*
3589 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'C' ) ) THEN
3590 CS_COUNTERS_CUHK.Instantiate_Counters_Post (
3591 p_api_version => l_api_version,
3592 p_init_msg_list => p_init_msg_list,
3593 p_commit => p_commit,
3594 x_return_status => x_return_status,
3595 x_msg_count => x_msg_count,
3596 x_msg_data => x_msg_data,
3597 p_counter_id_template => p_counter_id_template,
3598 p_source_object_code_instance => p_source_object_code_instance,
3599 p_source_object_id_instance => p_source_object_id_instance,
3600 x_ctr_id_template => x_ctr_id_template,
3601 x_ctr_id_instance => l_ctr_id_instance
3602 );
3603 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3604 RAISE FND_API.G_EXC_ERROR;
3605 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3606 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3607 END IF;
3608 END IF;
3609 /* Vertical post -processing section - Mandatory */
3610 /*
3611 IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) ) THEN
3612 CS_COUNTERS_VUHK.Instantiate_Counters_Post (
3613 p_api_version => l_api_version,
3614 p_init_msg_list => p_init_msg_list,
3615 p_commit => p_commit,
3616 x_return_status => x_return_status,
3617 x_msg_count => x_msg_count,
3618 x_msg_data => x_msg_data,
3619 p_counter_id_template => p_counter_id_template,
3620 p_source_object_code_instance => p_source_object_code_instance,
3621 p_source_object_id_instance => p_source_object_id_instance,
3622 x_ctr_id_template => x_ctr_id_template,
3623 x_ctr_id_instance => l_ctr_id_instance
3624 );
3625 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
3626 RAISE FND_API.G_EXC_ERROR;
3627 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
3628 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3629 END IF;
3630 END IF;
3631
3632 IF FND_API.To_Boolean( p_commit ) THEN
3633 COMMIT WORK;
3634 END IF;
3635
3636 FND_MSG_PUB.Count_And_Get
3637 (p_count => x_msg_count ,
3638 p_data => x_msg_data
3639 );
3640
3641 EXCEPTION
3642
3643 WHEN FND_API.G_EXC_ERROR THEN
3644 ROLLBACK TO Instantiate_Counters_PUB;
3645 x_return_status := FND_API.G_RET_STS_ERROR ;
3646 FND_MSG_PUB.Count_And_Get
3647 (p_count => x_msg_count ,
3648 p_data => x_msg_data
3649 );
3650 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3651 ROLLBACK TO Instantiate_Counters_PUB;
3652 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3653 FND_MSG_PUB.Count_And_Get
3654 (p_count => x_msg_count ,
3655 p_data => x_msg_data
3656 );
3657 WHEN OTHERS THEN
3658 ROLLBACK TO Instantiate_Counters_PUB;
3659 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3660 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3661 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
3662 END IF;
3663 FND_MSG_PUB.Count_And_Get
3664 (p_count => x_msg_count ,
3665 p_data => x_msg_data
3666 );
3667 --null;
3668
3669 */
3670
3671 end Instantiate_single_Ctr;
3672
3673 PROCEDURE Create_Estimation_Method
3674 (
3675 p_api_version IN NUMBER,
3676 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
3677 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
3678 x_return_status OUT NOCOPY VARCHAR2,
3679 x_msg_count OUT NOCOPY NUMBER,
3680 x_msg_data OUT NOCOPY VARCHAR2,
3681 p_ctr_estimation_rec IN CS_COUNTERS_PUB.Ctr_Estimation_Rec_Type,
3682 x_estimation_id IN OUT NOCOPY NUMBER,
3683 x_object_version_number OUT NOCOPY NUMBER
3684 ) IS
3685 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_ESTIMATION_METHOD';
3686 l_api_version CONSTANT NUMBER := 1.0;
3687
3688 l_ctr_estimation_methods_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_estimation_methods_rec;
3689 l_validation_level NUMBER;
3690
3691 BEGIN
3692 SAVEPOINT Create_Ctr_Estimation_PUB;
3693
3694 -- Standard call to check for call compatibility.
3695 IF NOT FND_API.Compatible_API_Call (l_api_version ,
3696 p_api_version ,
3697 l_api_name ,
3698 G_PKG_NAME ) THEN
3699 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3700 END IF;
3701 -- Initialize message list if p_init_msg_list is set to TRUE.
3702 IF FND_API.to_Boolean( p_init_msg_list ) THEN
3703 FND_MSG_PUB.initialize;
3704 END IF;
3705
3706 -- Initialize API return status to success
3707 x_return_status := FND_API.G_RET_STS_SUCCESS;
3708
3709 -- Start of API Body
3710
3711 l_ctr_estimation_methods_rec.ESTIMATION_ID := x_estimation_id;
3712 l_ctr_estimation_methods_rec.ESTIMATION_TYPE := p_ctr_estimation_rec.estimation_type;
3713 l_ctr_estimation_methods_rec.FIXED_VALUE := p_ctr_estimation_rec.fixed_Value;
3714 l_ctr_estimation_methods_rec.USAGE_MARKUP := p_ctr_estimation_rec.Usage_Markup;
3715 l_ctr_estimation_methods_rec.DEFAULT_VALUE := p_ctr_estimation_rec.Default_Value;
3716 l_ctr_estimation_methods_rec.ESTIMATION_AVG_TYPE := p_ctr_estimation_rec.estimation_avg_type;
3717 l_ctr_estimation_methods_rec.START_DATE_ACTIVE := p_ctr_estimation_rec.start_date_active;
3718 l_ctr_estimation_methods_rec.END_DATE_ACTIVE := p_ctr_estimation_rec.end_date_active;
3719 l_ctr_estimation_methods_rec.ATTRIBUTE1 := p_ctr_estimation_rec.ATTRIBUTE1;
3720 l_ctr_estimation_methods_rec.ATTRIBUTE2 := p_ctr_estimation_rec.ATTRIBUTE2;
3721 l_ctr_estimation_methods_rec.ATTRIBUTE3 := p_ctr_estimation_rec.ATTRIBUTE3;
3722 l_ctr_estimation_methods_rec.ATTRIBUTE4 := p_ctr_estimation_rec.ATTRIBUTE4;
3723 l_ctr_estimation_methods_rec.ATTRIBUTE5 := p_ctr_estimation_rec.ATTRIBUTE5;
3724 l_ctr_estimation_methods_rec.ATTRIBUTE6 := p_ctr_estimation_rec.ATTRIBUTE6;
3725 l_ctr_estimation_methods_rec.ATTRIBUTE7 := p_ctr_estimation_rec.ATTRIBUTE7;
3726 l_ctr_estimation_methods_rec.ATTRIBUTE8 := p_ctr_estimation_rec.ATTRIBUTE8;
3727 l_ctr_estimation_methods_rec.ATTRIBUTE9 := p_ctr_estimation_rec.ATTRIBUTE9;
3728 l_ctr_estimation_methods_rec.ATTRIBUTE10 := p_ctr_estimation_rec.ATTRIBUTE10;
3729 l_ctr_estimation_methods_rec.ATTRIBUTE11 := p_ctr_estimation_rec.ATTRIBUTE11;
3730 l_ctr_estimation_methods_rec.ATTRIBUTE12 := p_ctr_estimation_rec.ATTRIBUTE12;
3731 l_ctr_estimation_methods_rec.ATTRIBUTE13 := p_ctr_estimation_rec.ATTRIBUTE13;
3732 l_ctr_estimation_methods_rec.ATTRIBUTE14 := p_ctr_estimation_rec.ATTRIBUTE14;
3733 l_ctr_estimation_methods_rec.ATTRIBUTE15 := p_ctr_estimation_rec.ATTRIBUTE15;
3734 l_ctr_estimation_methods_rec.ATTRIBUTE_CATEGORY := p_ctr_estimation_rec.ATTRIBUTE_CATEGORY;
3735 l_ctr_estimation_methods_rec.NAME := p_ctr_estimation_rec.estimation_name;
3736 l_ctr_estimation_methods_rec.DESCRIPTION := p_ctr_estimation_rec.estimation_description;
3737
3738 CSI_COUNTER_TEMPLATE_PUB.create_estimation_method
3739 (
3740 p_api_version => p_api_version
3741 ,p_commit => p_commit
3742 ,p_init_msg_list => p_init_msg_list
3743 ,p_validation_level => l_validation_level
3744 ,x_return_status => x_return_status
3745 ,x_msg_count => x_msg_count
3746 ,x_msg_data => x_msg_data
3747 ,p_ctr_estimation_rec => l_ctr_estimation_methods_rec
3748 );
3749
3750 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
3751 ROLLBACK TO Create_Ctr_Estimation_PUB;
3752 RETURN;
3753 END IF;
3754 -- End of API Body
3755
3756 IF FND_API.To_Boolean( p_commit ) THEN
3757 COMMIT WORK;
3758 END IF;
3759
3760 FND_MSG_PUB.Count_And_Get
3761 (p_count => x_msg_count ,
3762 p_data => x_msg_data
3763 );
3764
3765 EXCEPTION
3766
3767 WHEN FND_API.G_EXC_ERROR THEN
3768 ROLLBACK TO Create_Ctr_Estimation_PUB;
3769 x_return_status := FND_API.G_RET_STS_ERROR ;
3770 FND_MSG_PUB.Count_And_Get
3771 (p_count => x_msg_count ,
3772 p_data => x_msg_data
3773 );
3774 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3775 ROLLBACK TO Create_Ctr_Estimation_PUB;
3776 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3777 FND_MSG_PUB.Count_And_Get
3778 (p_count => x_msg_count ,
3779 p_data => x_msg_data
3780 );
3781 WHEN OTHERS THEN
3782 ROLLBACK TO Create_Ctr_Estimation_PUB;
3783 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3784 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3785 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
3786 END IF;
3787 FND_MSG_PUB.Count_And_Get
3788 (p_count => x_msg_count ,
3789 p_data => x_msg_data
3790 );
3791 END Create_Estimation_Method;
3792
3793 PROCEDURE Update_Estimation_Method
3794 (
3795 p_api_version IN NUMBER,
3796 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
3797 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
3798 x_return_status OUT NOCOPY VARCHAR2,
3799 x_msg_count OUT NOCOPY NUMBER,
3800 x_msg_data OUT NOCOPY VARCHAR2,
3801 p_estimation_id IN NUMBER,
3802 p_object_version_number IN NUMBER,
3803 p_ctr_estimation_rec IN CS_COUNTERS_PUB.Ctr_Estimation_Rec_Type,
3804 x_object_version_number OUT NOCOPY NUMBER
3805 ) is
3806 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_ESTIMATION_METHOD';
3807 l_api_version CONSTANT NUMBER := 1.0;
3808
3809 l_ctr_estimation_methods_rec CSI_CTR_DATASTRUCTURES_PUB.ctr_estimation_methods_rec;
3810 l_validation_level NUMBER;
3811 BEGIN
3812
3813 SAVEPOINT Update_Estimation_Method_PUB;
3814
3815 -- Standard call to check for call compatibility.
3816 IF NOT FND_API.Compatible_API_Call (l_api_version ,
3817 p_api_version ,
3818 l_api_name ,
3819 G_PKG_NAME ) THEN
3820 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3821 END IF;
3822 -- Initialize message list if p_init_msg_list is set to TRUE.
3823 IF FND_API.to_Boolean( p_init_msg_list ) THEN
3824 FND_MSG_PUB.initialize;
3825 END IF;
3826 -- Initialize API return status to success
3827 x_return_status := FND_API.G_RET_STS_SUCCESS;
3828 --
3829 -- Start of API Body
3830 l_ctr_estimation_methods_rec.ESTIMATION_ID := p_estimation_id;
3831 l_ctr_estimation_methods_rec.ESTIMATION_TYPE := p_ctr_estimation_rec.estimation_type;
3832 l_ctr_estimation_methods_rec.FIXED_VALUE := p_ctr_estimation_rec.fixed_Value;
3833 l_ctr_estimation_methods_rec.USAGE_MARKUP := p_ctr_estimation_rec.Usage_Markup;
3834 l_ctr_estimation_methods_rec.DEFAULT_VALUE := p_ctr_estimation_rec.Default_Value;
3835 l_ctr_estimation_methods_rec.ESTIMATION_AVG_TYPE := p_ctr_estimation_rec.estimation_avg_type;
3836 l_ctr_estimation_methods_rec.START_DATE_ACTIVE := p_ctr_estimation_rec.start_date_active;
3837 l_ctr_estimation_methods_rec.END_DATE_ACTIVE := p_ctr_estimation_rec.end_date_active;
3838 l_ctr_estimation_methods_rec.ATTRIBUTE1 := p_ctr_estimation_rec.ATTRIBUTE1;
3839 l_ctr_estimation_methods_rec.ATTRIBUTE2 := p_ctr_estimation_rec.ATTRIBUTE2;
3840 l_ctr_estimation_methods_rec.ATTRIBUTE3 := p_ctr_estimation_rec.ATTRIBUTE3;
3841 l_ctr_estimation_methods_rec.ATTRIBUTE4 := p_ctr_estimation_rec.ATTRIBUTE4;
3842 l_ctr_estimation_methods_rec.ATTRIBUTE5 := p_ctr_estimation_rec.ATTRIBUTE5;
3843 l_ctr_estimation_methods_rec.ATTRIBUTE6 := p_ctr_estimation_rec.ATTRIBUTE6;
3844 l_ctr_estimation_methods_rec.ATTRIBUTE7 := p_ctr_estimation_rec.ATTRIBUTE7;
3845 l_ctr_estimation_methods_rec.ATTRIBUTE8 := p_ctr_estimation_rec.ATTRIBUTE8;
3846 l_ctr_estimation_methods_rec.ATTRIBUTE9 := p_ctr_estimation_rec.ATTRIBUTE9;
3847 l_ctr_estimation_methods_rec.ATTRIBUTE10 := p_ctr_estimation_rec.ATTRIBUTE10;
3848 l_ctr_estimation_methods_rec.ATTRIBUTE11 := p_ctr_estimation_rec.ATTRIBUTE11;
3849 l_ctr_estimation_methods_rec.ATTRIBUTE12 := p_ctr_estimation_rec.ATTRIBUTE12;
3850 l_ctr_estimation_methods_rec.ATTRIBUTE13 := p_ctr_estimation_rec.ATTRIBUTE13;
3851 l_ctr_estimation_methods_rec.ATTRIBUTE14 := p_ctr_estimation_rec.ATTRIBUTE14;
3852 l_ctr_estimation_methods_rec.ATTRIBUTE15 := p_ctr_estimation_rec.ATTRIBUTE15;
3853 l_ctr_estimation_methods_rec.ATTRIBUTE_CATEGORY := p_ctr_estimation_rec.ATTRIBUTE_CATEGORY;
3854 l_ctr_estimation_methods_rec.NAME := p_ctr_estimation_rec.estimation_name;
3855 l_ctr_estimation_methods_rec.DESCRIPTION := p_ctr_estimation_rec.estimation_description;
3856
3857
3858 CSI_COUNTER_TEMPLATE_PUB.Update_Estimation_Method
3859 (
3860 p_api_version => p_api_version
3861 ,p_commit => p_commit
3862 ,p_init_msg_list => p_init_msg_list
3863 ,p_validation_level => l_validation_level
3864 ,x_return_status => x_return_status
3865 ,x_msg_count => x_msg_count
3866 ,x_msg_data => x_msg_data
3867 ,p_ctr_estimation_rec => l_ctr_estimation_methods_rec
3868 );
3869
3870 IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
3871 ROLLBACK TO Update_Estimation_Method_PUB;
3872 RETURN;
3873 END IF;
3874
3875 -- End of API Body
3876
3877 IF FND_API.To_Boolean( p_commit ) THEN
3878 COMMIT WORK;
3879 END IF;
3880
3881 FND_MSG_PUB.Count_And_Get
3882 (p_count => x_msg_count ,
3883 p_data => x_msg_data
3884 );
3885
3886 EXCEPTION
3887
3888 WHEN FND_API.G_EXC_ERROR THEN
3889 ROLLBACK TO Update_Estimation_Method_PUB;
3890 x_return_status := FND_API.G_RET_STS_ERROR ;
3891 FND_MSG_PUB.Count_And_Get
3892 (p_count => x_msg_count ,
3893 p_data => x_msg_data
3894 );
3895 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3896 ROLLBACK TO Update_Estimation_Method_PUB;
3897 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3898 FND_MSG_PUB.Count_And_Get
3899 (p_count => x_msg_count ,
3900 p_data => x_msg_data
3901 );
3902 WHEN OTHERS THEN
3903 ROLLBACK TO Update_Estimation_Method_PUB;
3904 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3905 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3906 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
3907 END IF;
3908 FND_MSG_PUB.Count_And_Get
3909 (p_count => x_msg_count ,
3910 p_data => x_msg_data
3911 );
3912
3913 end Update_Estimation_Method;
3914
3915 END CS_Counters_PUB;