103: BEGIN
104: -- Standard Start of API savepoint
105: SAVEPOINT capture_counter_reading;
106: -- Standard call to check for call compatibility.
107: IF NOT FND_API.Compatible_API_Call (l_api_version,
108: p_api_version,
109: l_api_name ,
110: G_PKG_NAME ) THEN
111: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
107: IF NOT FND_API.Compatible_API_Call (l_api_version,
108: p_api_version,
109: l_api_name ,
110: G_PKG_NAME ) THEN
111: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
112: END IF;
113: -- Initialize message list if p_init_msg_list is set to TRUE.
114: IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
115: FND_MSG_PUB.initialize;
110: G_PKG_NAME ) THEN
111: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
112: END IF;
113: -- Initialize message list if p_init_msg_list is set to TRUE.
114: IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
115: FND_MSG_PUB.initialize;
116: END IF;
117: -- Initialize API return status to success
118: x_return_status := FND_API.G_RET_STS_SUCCESS;
114: IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
115: FND_MSG_PUB.initialize;
116: END IF;
117: -- Initialize API return status to success
118: x_return_status := FND_API.G_RET_STS_SUCCESS;
119:
120: -- Read the debug profiles values in to global variable 7197402
121: CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
122:
126: --
127: IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
128: csi_ctr_gen_utility_pvt.put_line( 'capture_counter_reading_pub' ||'-'||
129: p_api_version ||'-'||
130: nvl(p_commit,FND_API.G_FALSE) ||'-'||
131: nvl(p_init_msg_list,FND_API.G_FALSE) ||'-'||
132: nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL) );
133: END IF;
134: --
127: IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
128: csi_ctr_gen_utility_pvt.put_line( 'capture_counter_reading_pub' ||'-'||
129: p_api_version ||'-'||
130: nvl(p_commit,FND_API.G_FALSE) ||'-'||
131: nvl(p_init_msg_list,FND_API.G_FALSE) ||'-'||
132: nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL) );
133: END IF;
134: --
135: IF p_txn_tbl.count = 0 THEN
128: csi_ctr_gen_utility_pvt.put_line( 'capture_counter_reading_pub' ||'-'||
129: p_api_version ||'-'||
130: nvl(p_commit,FND_API.G_FALSE) ||'-'||
131: nvl(p_init_msg_list,FND_API.G_FALSE) ||'-'||
132: nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL) );
133: END IF;
134: --
135: IF p_txn_tbl.count = 0 THEN
136: csi_ctr_gen_utility_pvt.put_line('Transaction Information is empty. Cannot Proceed...');
143: csi_ctr_gen_utility_pvt.dump_txn_rec(p_txn_rec => p_txn_tbl(j));
144: csi_ctr_gen_utility_pvt.put_line('Calling Create_Reading_Transaction...');
145: Csi_Counter_Readings_Pvt.Create_Reading_Transaction
146: ( p_api_version => 1.0
147: ,p_commit => fnd_api.g_false
148: ,p_init_msg_list => fnd_api.g_true
149: ,p_validation_level => fnd_api.g_valid_level_full
150: ,p_txn_rec => p_txn_tbl(j)
151: ,x_return_status => x_return_status
144: csi_ctr_gen_utility_pvt.put_line('Calling Create_Reading_Transaction...');
145: Csi_Counter_Readings_Pvt.Create_Reading_Transaction
146: ( p_api_version => 1.0
147: ,p_commit => fnd_api.g_false
148: ,p_init_msg_list => fnd_api.g_true
149: ,p_validation_level => fnd_api.g_valid_level_full
150: ,p_txn_rec => p_txn_tbl(j)
151: ,x_return_status => x_return_status
152: ,x_msg_count => x_msg_count
145: Csi_Counter_Readings_Pvt.Create_Reading_Transaction
146: ( p_api_version => 1.0
147: ,p_commit => fnd_api.g_false
148: ,p_init_msg_list => fnd_api.g_true
149: ,p_validation_level => fnd_api.g_valid_level_full
150: ,p_txn_rec => p_txn_tbl(j)
151: ,x_return_status => x_return_status
152: ,x_msg_count => x_msg_count
153: ,x_msg_data => x_msg_data
151: ,x_return_status => x_return_status
152: ,x_msg_count => x_msg_count
153: ,x_msg_data => x_msg_data
154: );
155: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
156: csi_ctr_gen_utility_pvt.put_line('Error from Create_Reading_Transaction...');
157: l_msg_index := 1;
158: FND_MSG_PUB.Count_And_Get
159: (p_count => x_msg_count,
162: l_msg_count := x_msg_count;
163: WHILE l_msg_count > 0 LOOP
164: x_msg_data := FND_MSG_PUB.GET
165: ( l_msg_index,
166: FND_API.G_FALSE );
167: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
168: l_msg_index := l_msg_index + 1;
169: l_msg_count := l_msg_count - 1;
170: END LOOP;
167: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
168: l_msg_index := l_msg_index + 1;
169: l_msg_count := l_msg_count - 1;
170: END LOOP;
171: RAISE FND_API.G_EXC_ERROR;
172: END IF;
173: END IF; -- p_txn_tbl record exists check
174: END LOOP; -- End of Txn Tbl Loop
175: --
187: ,x_return_status => x_return_status
188: ,x_msg_count => x_msg_count
189: ,x_msg_data => x_msg_data
190: );
191: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
192: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_CUHK.Capture_Counter_Reading_Pre API ');
193: l_msg_index := 1;
194: l_msg_count := x_msg_count;
195: WHILE l_msg_count > 0 LOOP
194: l_msg_count := x_msg_count;
195: WHILE l_msg_count > 0 LOOP
196: x_msg_data := FND_MSG_PUB.GET
197: ( l_msg_index,
198: FND_API.G_FALSE
199: );
200: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
201: l_msg_index := l_msg_index + 1;
202: l_msg_count := l_msg_count - 1;
200: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
201: l_msg_index := l_msg_index + 1;
202: l_msg_count := l_msg_count - 1;
203: END LOOP;
204: RAISE FND_API.G_EXC_ERROR;
205: END IF;
206: END IF;
207: --
208: -- Calling Vertical Pre-processing Hook
219: ,x_return_status => x_return_status
220: ,x_msg_count => x_msg_count
221: ,x_msg_data => x_msg_data
222: );
223: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
224: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_VUHK.Capture_Counter_Reading_Pre API ');
225: l_msg_index := 1;
226: l_msg_count := x_msg_count;
227: WHILE l_msg_count > 0 LOOP
226: l_msg_count := x_msg_count;
227: WHILE l_msg_count > 0 LOOP
228: x_msg_data := FND_MSG_PUB.GET
229: ( l_msg_index,
230: FND_API.G_FALSE
231: );
232: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
233: l_msg_index := l_msg_index + 1;
234: l_msg_count := l_msg_count - 1;
232: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
233: l_msg_index := l_msg_index + 1;
234: l_msg_count := l_msg_count - 1;
235: END LOOP;
236: RAISE FND_API.G_EXC_ERROR;
237: END IF;
238: END IF;
239: --
240: IF p_ctr_rdg_tbl.count > 0 THEN
249: --
250: -- Check whether this is Reset only reading.
251: -- This will decide whether to compute Derive counters or not
252: --
253: IF NVL(p_ctr_rdg_tbl(j).counter_reading,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM AND
254: NVL(p_ctr_rdg_tbl(j).reset_mode,FND_API.G_MISS_CHAR) = 'SOFT' THEN
255: l_reset_only := 'T';
256: ELSE
257: l_reset_only := 'F';
250: -- Check whether this is Reset only reading.
251: -- This will decide whether to compute Derive counters or not
252: --
253: IF NVL(p_ctr_rdg_tbl(j).counter_reading,FND_API.G_MISS_NUM) = FND_API.G_MISS_NUM AND
254: NVL(p_ctr_rdg_tbl(j).reset_mode,FND_API.G_MISS_CHAR) = 'SOFT' THEN
255: l_reset_only := 'T';
256: ELSE
257: l_reset_only := 'F';
258: END IF;
266: csi_ctr_gen_utility_pvt.put_line('Calling Insert Meter Log...');
267: Eam_Asset_Log_Pvt.Insert_Meter_Log
268: (
269: P_api_version => 1.0,
270: P_init_msg_list => fnd_api.g_false,
271: P_commit => fnd_api.g_false,
272: P_validation_level => fnd_api.g_valid_level_full,
273: P_event_date => p_ctr_rdg_tbl(j).value_timestamp,
274: P_instance_id => l_instance_id,
267: Eam_Asset_Log_Pvt.Insert_Meter_Log
268: (
269: P_api_version => 1.0,
270: P_init_msg_list => fnd_api.g_false,
271: P_commit => fnd_api.g_false,
272: P_validation_level => fnd_api.g_valid_level_full,
273: P_event_date => p_ctr_rdg_tbl(j).value_timestamp,
274: P_instance_id => l_instance_id,
275: P_ref_id => p_ctr_rdg_tbl(j).counter_id,
268: (
269: P_api_version => 1.0,
270: P_init_msg_list => fnd_api.g_false,
271: P_commit => fnd_api.g_false,
272: P_validation_level => fnd_api.g_valid_level_full,
273: P_event_date => p_ctr_rdg_tbl(j).value_timestamp,
274: P_instance_id => l_instance_id,
275: P_ref_id => p_ctr_rdg_tbl(j).counter_id,
276: X_return_status => x_return_status,
279: );
280: -- Since this is only for logging we are ignoring the x_return_status.
281: -- Just report the API error and proceed.
282: --
283: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
284: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Insert_Meter_Log API ');
285: l_msg_index := 1;
286: l_msg_count := x_msg_count;
287: WHILE l_msg_count > 0 LOOP
286: l_msg_count := x_msg_count;
287: WHILE l_msg_count > 0 LOOP
288: x_msg_data := FND_MSG_PUB.GET
289: ( l_msg_index,
290: FND_API.G_FALSE
291: );
292: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
293: l_msg_index := l_msg_index + 1;
294: l_msg_count := l_msg_count - 1;
308: X_return_status => x_return_status,
309: X_msg_count => x_msg_count,
310: X_msg_data => x_msg_data
311: );
312: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
313: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Update_Last_Service_Reading_Wo API ');
314: l_msg_index := 1;
315: l_msg_count := x_msg_count;
316: WHILE l_msg_count > 0 LOOP
315: l_msg_count := x_msg_count;
316: WHILE l_msg_count > 0 LOOP
317: x_msg_data := FND_MSG_PUB.GET
318: ( l_msg_index,
319: FND_API.G_FALSE
320: );
321: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
322: l_msg_index := l_msg_index + 1;
323: l_msg_count := l_msg_count - 1;
321: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
322: l_msg_index := l_msg_index + 1;
323: l_msg_count := l_msg_count - 1;
324: END LOOP;
325: RAISE FND_API.G_EXC_ERROR;
326: END IF;
327: END IF; -- Call Update_Last_Service_Reading_WO check
328: --
329: csi_ctr_gen_utility_pvt.put_line('Calling Capture_Counter_Reading_pvt...');
338: ,x_return_status => x_return_status
339: ,x_msg_count => x_msg_count
340: ,x_msg_data => x_msg_data
341: );
342: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
343: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Capture_Counter_Reading_pvt API ');
344: l_msg_index := 1;
345: l_msg_count := x_msg_count;
346: WHILE l_msg_count > 0 LOOP
345: l_msg_count := x_msg_count;
346: WHILE l_msg_count > 0 LOOP
347: x_msg_data := FND_MSG_PUB.GET
348: ( l_msg_index,
349: FND_API.G_FALSE
350: );
351: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
352: l_msg_index := l_msg_index + 1;
353: l_msg_count := l_msg_count - 1;
351: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
352: l_msg_index := l_msg_index + 1;
353: l_msg_count := l_msg_count - 1;
354: END LOOP;
355: RAISE FND_API.G_EXC_ERROR;
356: END IF;
357: --
358: IF p_ctr_prop_rdg_tbl.count > 0 THEN
359: FOR k IN p_ctr_prop_rdg_tbl.FIRST .. p_ctr_prop_rdg_tbl.LAST LOOP
374: ,x_return_status => x_return_status
375: ,x_msg_count => x_msg_count
376: ,x_msg_data => x_msg_data
377: );
378: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
379: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Capture_Ctr_Property_Reading API ');
380: l_msg_index := 1;
381: l_msg_count := x_msg_count;
382: WHILE l_msg_count > 0 LOOP
381: l_msg_count := x_msg_count;
382: WHILE l_msg_count > 0 LOOP
383: x_msg_data := FND_MSG_PUB.GET
384: ( l_msg_index,
385: FND_API.G_FALSE
386: );
387: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
388: l_msg_index := l_msg_index + 1;
389: l_msg_count := l_msg_count - 1;
387: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
388: l_msg_index := l_msg_index + 1;
389: l_msg_count := l_msg_count - 1;
390: END LOOP;
391: RAISE FND_API.G_EXC_ERROR;
392: END IF;
393: END IF; -- Current counter property
394: END IF; -- Prop rec exists
395: END LOOP; -- Property Tbl Loop
417: ,x_return_status => x_return_status
418: ,x_msg_count => x_msg_count
419: ,x_msg_data => x_msg_data
420: );
421: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
422: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Capture_Ctr_Property_Reading API ');
423: l_msg_index := 1;
424: l_msg_count := x_msg_count;
425: WHILE l_msg_count > 0 LOOP
424: l_msg_count := x_msg_count;
425: WHILE l_msg_count > 0 LOOP
426: x_msg_data := FND_MSG_PUB.GET
427: ( l_msg_index,
428: FND_API.G_FALSE
429: );
430: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
431: l_msg_index := l_msg_index + 1;
432: l_msg_count := l_msg_count - 1;
430: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
431: l_msg_index := l_msg_index + 1;
432: l_msg_count := l_msg_count - 1;
433: END LOOP;
434: RAISE FND_API.G_EXC_ERROR;
435: END IF;
436: END LOOP; -- Default Property Loop
437: --
438: -- Call compute Derive filters only if the current capture is not a pure reset.
460: ,x_return_status => x_return_status
461: ,x_msg_count => x_msg_count
462: ,x_msg_data => x_msg_data
463: );
464: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
465: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Compute_Derive_Counters API ');
466: l_msg_index := 1;
467: l_msg_count := x_msg_count;
468: WHILE l_msg_count > 0 LOOP
467: l_msg_count := x_msg_count;
468: WHILE l_msg_count > 0 LOOP
469: x_msg_data := FND_MSG_PUB.GET
470: ( l_msg_index,
471: FND_API.G_FALSE
472: );
473: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
474: l_msg_index := l_msg_index + 1;
475: l_msg_count := l_msg_count - 1;
473: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
474: l_msg_index := l_msg_index + 1;
475: l_msg_count := l_msg_count - 1;
476: END LOOP;
477: RAISE FND_API.G_EXC_ERROR;
478: END IF;
479: --
480: -- Re-compute Derive comunters for the Later Readings
481: -- No need for SOFT reset as we would not have created it before.
502: ,x_return_status => x_return_status
503: ,x_msg_count => x_msg_count
504: ,x_msg_data => x_msg_data
505: );
506: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
507: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Compute_Derive_Counters API ');
508: l_msg_index := 1;
509: l_msg_count := x_msg_count;
510: WHILE l_msg_count > 0 LOOP
509: l_msg_count := x_msg_count;
510: WHILE l_msg_count > 0 LOOP
511: x_msg_data := FND_MSG_PUB.GET
512: ( l_msg_index,
513: FND_API.G_FALSE
514: );
515: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
516: l_msg_index := l_msg_index + 1;
517: l_msg_count := l_msg_count - 1;
515: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
516: l_msg_index := l_msg_index + 1;
517: l_msg_count := l_msg_count - 1;
518: END LOOP;
519: RAISE FND_API.G_EXC_ERROR;
520: END IF;
521: END IF; -- End of Derive counter call check
522: END LOOP;
523: END IF; -- l_reset_only check
533: ,x_return_status => x_return_status
534: ,x_msg_count => x_msg_count
535: ,x_msg_data => x_msg_data
536: );
537: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
538: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Compute_Formula_Counters API ');
539: l_msg_index := 1;
540: l_msg_count := x_msg_count;
541: WHILE l_msg_count > 0 LOOP
540: l_msg_count := x_msg_count;
541: WHILE l_msg_count > 0 LOOP
542: x_msg_data := FND_MSG_PUB.GET
543: ( l_msg_index,
544: FND_API.G_FALSE
545: );
546: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
547: l_msg_index := l_msg_index + 1;
548: l_msg_count := l_msg_count - 1;
546: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
547: l_msg_index := l_msg_index + 1;
548: l_msg_count := l_msg_count - 1;
549: END LOOP;
550: RAISE FND_API.G_EXC_ERROR;
551: END IF;
552: --
553: END IF; -- Rdg rec exists
554: END LOOP; -- Ctr Reading Tbl Loop
569: ,x_return_status => x_return_status
570: ,x_msg_count => x_msg_count
571: ,x_msg_data => x_msg_data
572: );
573: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
574: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_CUHK.Capture_Counter_Reading_Post API ');
575: l_msg_index := 1;
576: l_msg_count := x_msg_count;
577: WHILE l_msg_count > 0 LOOP
576: l_msg_count := x_msg_count;
577: WHILE l_msg_count > 0 LOOP
578: x_msg_data := FND_MSG_PUB.GET
579: ( l_msg_index,
580: FND_API.G_FALSE
581: );
582: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
583: l_msg_index := l_msg_index + 1;
584: l_msg_count := l_msg_count - 1;
582: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
583: l_msg_index := l_msg_index + 1;
584: l_msg_count := l_msg_count - 1;
585: END LOOP;
586: RAISE FND_API.G_EXC_ERROR;
587: END IF;
588: END IF;
589: --
590: -- Calling Vertical Post-processing Hook
601: ,x_return_status => x_return_status
602: ,x_msg_count => x_msg_count
603: ,x_msg_data => x_msg_data
604: );
605: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
606: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_VUHK.Capture_Counter_Reading_Post API ');
607: l_msg_index := 1;
608: l_msg_count := x_msg_count;
609: WHILE l_msg_count > 0 LOOP
608: l_msg_count := x_msg_count;
609: WHILE l_msg_count > 0 LOOP
610: x_msg_data := FND_MSG_PUB.GET
611: ( l_msg_index,
612: FND_API.G_FALSE
613: );
614: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
615: l_msg_index := l_msg_index + 1;
616: l_msg_count := l_msg_count - 1;
614: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
615: l_msg_index := l_msg_index + 1;
616: l_msg_count := l_msg_count - 1;
617: END LOOP;
618: RAISE FND_API.G_EXC_ERROR;
619: END IF;
620: END IF;
621: --
622: -- Need to Call the Contracts Assembler Event for all the counters that got captured in this Transaction
657: x_msg_data => x_msg_data,
658: p_counter_id => p_ctr_rdg_tbl(J).counter_id
659: );
660:
661: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
662: csi_ctr_gen_utility_pvt.put_line('ERROR FROM OKC_CG_UPD_ASMBLR_PVT.Acn_Assemble API ');
663: l_msg_index := 1;
664: l_msg_count := x_msg_count;
665: WHILE l_msg_count > 0 LOOP
664: l_msg_count := x_msg_count;
665: WHILE l_msg_count > 0 LOOP
666: x_msg_data := FND_MSG_PUB.GET
667: ( l_msg_index,
668: FND_API.G_FALSE
669: );
670: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
671: l_msg_index := l_msg_index + 1;
672: l_msg_count := l_msg_count - 1;
670: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
671: l_msg_index := l_msg_index + 1;
672: l_msg_count := l_msg_count - 1;
673: END LOOP;
674: RAISE FND_API.G_EXC_ERROR;
675: END IF;
676: END IF;
677: END LOOP;
678: --
687: x_msg_count => x_msg_count,
688: x_msg_data => x_msg_data,
689: p_counter_id => l_assembler_tbl(J)
690: );
691: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
692: csi_ctr_gen_utility_pvt.put_line('ERROR FROM OKC_CG_UPD_ASMBLR_PVT.Acn_Assemble API ');
693: l_msg_index := 1;
694: l_msg_count := x_msg_count;
695: WHILE l_msg_count > 0 LOOP
694: l_msg_count := x_msg_count;
695: WHILE l_msg_count > 0 LOOP
696: x_msg_data := FND_MSG_PUB.GET
697: ( l_msg_index,
698: FND_API.G_FALSE
699: );
700: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
701: l_msg_index := l_msg_index + 1;
702: l_msg_count := l_msg_count - 1;
700: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
701: l_msg_index := l_msg_index + 1;
702: l_msg_count := l_msg_count - 1;
703: END LOOP;
704: RAISE FND_API.G_EXC_ERROR;
705: END IF;
706: END IF;
707: END LOOP;
708: END IF;
707: END LOOP;
708: END IF;
709: */
710: --
711: IF FND_API.to_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
712: COMMIT WORK;
713: END IF;
714: --
715: csi_ctr_gen_utility_pvt.put_line('Capture Counter Reading Public API Successfully Completed...');
719: ( p_count => x_msg_count,
720: p_data => x_msg_data
721: );
722: EXCEPTION
723: WHEN FND_API.G_EXC_ERROR THEN
724: x_return_status := FND_API.G_RET_STS_ERROR ;
725: ROLLBACK TO capture_counter_reading;
726: FND_MSG_PUB.Count_And_Get
727: ( p_count => x_msg_count,
720: p_data => x_msg_data
721: );
722: EXCEPTION
723: WHEN FND_API.G_EXC_ERROR THEN
724: x_return_status := FND_API.G_RET_STS_ERROR ;
725: ROLLBACK TO capture_counter_reading;
726: FND_MSG_PUB.Count_And_Get
727: ( p_count => x_msg_count,
728: p_data => x_msg_data
726: FND_MSG_PUB.Count_And_Get
727: ( p_count => x_msg_count,
728: p_data => x_msg_data
729: );
730: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
731: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
732: ROLLBACK TO capture_counter_reading;
733: FND_MSG_PUB.Count_And_Get
734: ( p_count => x_msg_count,
727: ( p_count => x_msg_count,
728: p_data => x_msg_data
729: );
730: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
731: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
732: ROLLBACK TO capture_counter_reading;
733: FND_MSG_PUB.Count_And_Get
734: ( p_count => x_msg_count,
735: p_data => x_msg_data
734: ( p_count => x_msg_count,
735: p_data => x_msg_data
736: );
737: WHEN OTHERS THEN
738: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
739: ROLLBACK TO capture_counter_reading;
740: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
741: FND_MSG_PUB.Add_Exc_Msg
742: ( G_PKG_NAME,
818: BEGIN
819: -- Standard Start of API savepoint
820: SAVEPOINT update_counter_reading;
821: -- Standard call to check for call compatibility.
822: IF NOT FND_API.Compatible_API_Call (l_api_version,
823: p_api_version,
824: l_api_name ,
825: G_PKG_NAME ) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
822: IF NOT FND_API.Compatible_API_Call (l_api_version,
823: p_api_version,
824: l_api_name ,
825: G_PKG_NAME ) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
827: END IF;
828: -- Initialize message list if p_init_msg_list is set to TRUE.
829: IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
830: FND_MSG_PUB.initialize;
825: G_PKG_NAME ) THEN
826: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
827: END IF;
828: -- Initialize message list if p_init_msg_list is set to TRUE.
829: IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
830: FND_MSG_PUB.initialize;
831: END IF;
832: -- Initialize API return status to success
833: x_return_status := FND_API.G_RET_STS_SUCCESS;
829: IF FND_API.to_Boolean(nvl(p_init_msg_list,FND_API.G_FALSE)) THEN
830: FND_MSG_PUB.initialize;
831: END IF;
832: -- Initialize API return status to success
833: x_return_status := FND_API.G_RET_STS_SUCCESS;
834:
835: -- Read the debug profiles values in to global variable 7197402
836: CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
837:
845: --
846: IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
847: csi_ctr_gen_utility_pvt.put_line( 'update_counter_reading' ||
848: p_api_version ||'-'||
849: nvl(p_commit,FND_API.G_FALSE) ||'-'||
850: nvl(p_init_msg_list,FND_API.G_FALSE) ||'-'||
851: nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL) );
852: END IF;
853: -- Calling Customer Pre-processing Hook
846: IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
847: csi_ctr_gen_utility_pvt.put_line( 'update_counter_reading' ||
848: p_api_version ||'-'||
849: nvl(p_commit,FND_API.G_FALSE) ||'-'||
850: nvl(p_init_msg_list,FND_API.G_FALSE) ||'-'||
851: nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL) );
852: END IF;
853: -- Calling Customer Pre-processing Hook
854: IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) then
847: csi_ctr_gen_utility_pvt.put_line( 'update_counter_reading' ||
848: p_api_version ||'-'||
849: nvl(p_commit,FND_API.G_FALSE) ||'-'||
850: nvl(p_init_msg_list,FND_API.G_FALSE) ||'-'||
851: nvl(p_validation_level,FND_API.G_VALID_LEVEL_FULL) );
852: END IF;
853: -- Calling Customer Pre-processing Hook
854: IF ( JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'C' ) ) then
855: CSI_COUNTER_READINGS_CUHK.UPDATE_COUNTER_READING_PRE
862: ,x_return_status => x_return_status
863: ,x_msg_count => x_msg_count
864: ,x_msg_data => x_msg_data
865: );
866: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
867: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_CUHK.Update_Counter_Reading_Pre API ');
868: l_msg_index := 1;
869: l_msg_count := x_msg_count;
870: WHILE l_msg_count > 0 LOOP
869: l_msg_count := x_msg_count;
870: WHILE l_msg_count > 0 LOOP
871: x_msg_data := FND_MSG_PUB.GET
872: ( l_msg_index,
873: FND_API.G_FALSE
874: );
875: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
876: l_msg_index := l_msg_index + 1;
877: l_msg_count := l_msg_count - 1;
875: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
876: l_msg_index := l_msg_index + 1;
877: l_msg_count := l_msg_count - 1;
878: END LOOP;
879: RAISE FND_API.G_EXC_ERROR;
880: END IF;
881: END IF;
882: --
883: -- Calling Vertical Pre-processing Hook
892: ,x_return_status => x_return_status
893: ,x_msg_count => x_msg_count
894: ,x_msg_data => x_msg_data
895: );
896: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
897: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_VUHK.Update_Counter_Reading_Pre API ');
898: l_msg_index := 1;
899: l_msg_count := x_msg_count;
900: WHILE l_msg_count > 0 LOOP
899: l_msg_count := x_msg_count;
900: WHILE l_msg_count > 0 LOOP
901: x_msg_data := FND_MSG_PUB.GET
902: ( l_msg_index,
903: FND_API.G_FALSE
904: );
905: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
906: l_msg_index := l_msg_index + 1;
907: l_msg_count := l_msg_count - 1;
905: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
906: l_msg_index := l_msg_index + 1;
907: l_msg_count := l_msg_count - 1;
908: END LOOP;
909: RAISE FND_API.G_EXC_ERROR;
910: END IF;
911: END IF;
912: --
913: IF p_ctr_rdg_tbl.count > 0 THEN
926: ,x_return_status => x_return_status
927: ,x_msg_count => x_msg_count
928: ,x_msg_data => x_msg_data
929: );
930: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
931: csi_ctr_gen_utility_pvt.put_line('ERROR FROM Update_Counter_Reading_pvt API ');
932: l_msg_index := 1;
933: l_msg_count := x_msg_count;
934: WHILE l_msg_count > 0 LOOP
933: l_msg_count := x_msg_count;
934: WHILE l_msg_count > 0 LOOP
935: x_msg_data := FND_MSG_PUB.GET
936: ( l_msg_index,
937: FND_API.G_FALSE
938: );
939: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
940: l_msg_index := l_msg_index + 1;
941: l_msg_count := l_msg_count - 1;
939: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
940: l_msg_index := l_msg_index + 1;
941: l_msg_count := l_msg_count - 1;
942: END LOOP;
943: RAISE FND_API.G_EXC_ERROR;
944: END IF;
945: END IF; -- Rdg rec exists
946: END LOOP; -- Ctr Reading Tbl Loop
947: END IF;
958: ,x_return_status => x_return_status
959: ,x_msg_count => x_msg_count
960: ,x_msg_data => x_msg_data
961: );
962: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
963: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_CUHK.Update_Counter_Reading_Post API ');
964: l_msg_index := 1;
965: l_msg_count := x_msg_count;
966: WHILE l_msg_count > 0 LOOP
965: l_msg_count := x_msg_count;
966: WHILE l_msg_count > 0 LOOP
967: x_msg_data := FND_MSG_PUB.GET
968: ( l_msg_index,
969: FND_API.G_FALSE
970: );
971: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
972: l_msg_index := l_msg_index + 1;
973: l_msg_count := l_msg_count - 1;
971: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
972: l_msg_index := l_msg_index + 1;
973: l_msg_count := l_msg_count - 1;
974: END LOOP;
975: RAISE FND_API.G_EXC_ERROR;
976: END IF;
977: END IF;
978: --
979: -- Calling Vertical Post-processing Hook
988: ,x_return_status => x_return_status
989: ,x_msg_count => x_msg_count
990: ,x_msg_data => x_msg_data
991: );
992: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
993: csi_ctr_gen_utility_pvt.put_line('ERROR FROM CSI_COUNTER_READINGS_VUHK.Update_Counter_Reading_Post API ');
994: l_msg_index := 1;
995: l_msg_count := x_msg_count;
996: WHILE l_msg_count > 0 LOOP
995: l_msg_count := x_msg_count;
996: WHILE l_msg_count > 0 LOOP
997: x_msg_data := FND_MSG_PUB.GET
998: ( l_msg_index,
999: FND_API.G_FALSE
1000: );
1001: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1002: l_msg_index := l_msg_index + 1;
1003: l_msg_count := l_msg_count - 1;
1001: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1002: l_msg_index := l_msg_index + 1;
1003: l_msg_count := l_msg_count - 1;
1004: END LOOP;
1005: RAISE FND_API.G_EXC_ERROR;
1006: END IF;
1007: END IF;
1008: --
1009: -- Need to Call the Contracts Assembler Event for all the counters that got captured in this Transaction
1042: x_msg_count => x_msg_count,
1043: x_msg_data => x_msg_data,
1044: p_counter_id => p_ctr_rdg_tbl(J).counter_id
1045: );
1046: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1047: csi_ctr_gen_utility_pvt.put_line('ERROR FROM OKC_CG_UPD_ASMBLR_PVT.Acn_Assemble API ');
1048: l_msg_index := 1;
1049: l_msg_count := x_msg_count;
1050: WHILE l_msg_count > 0 LOOP
1049: l_msg_count := x_msg_count;
1050: WHILE l_msg_count > 0 LOOP
1051: x_msg_data := FND_MSG_PUB.GET
1052: ( l_msg_index,
1053: FND_API.G_FALSE
1054: );
1055: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1056: l_msg_index := l_msg_index + 1;
1057: l_msg_count := l_msg_count - 1;
1055: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1056: l_msg_index := l_msg_index + 1;
1057: l_msg_count := l_msg_count - 1;
1058: END LOOP;
1059: RAISE FND_API.G_EXC_ERROR;
1060: END IF;
1061: END IF;
1062: END LOOP;
1063: --
1073: x_msg_count => x_msg_count,
1074: x_msg_data => x_msg_data,
1075: p_counter_id => l_assembler_tbl(J)
1076: );
1077: IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1078: csi_ctr_gen_utility_pvt.put_line('ERROR FROM OKC_CG_UPD_ASMBLR_PVT.Acn_Assemble API ');
1079: l_msg_index := 1;
1080: l_msg_count := x_msg_count;
1081: WHILE l_msg_count > 0 LOOP
1080: l_msg_count := x_msg_count;
1081: WHILE l_msg_count > 0 LOOP
1082: x_msg_data := FND_MSG_PUB.GET
1083: ( l_msg_index,
1084: FND_API.G_FALSE
1085: );
1086: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1087: l_msg_index := l_msg_index + 1;
1088: l_msg_count := l_msg_count - 1;
1086: csi_ctr_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
1087: l_msg_index := l_msg_index + 1;
1088: l_msg_count := l_msg_count - 1;
1089: END LOOP;
1090: RAISE FND_API.G_EXC_ERROR;
1091: END IF;
1092: END IF;
1093: END LOOP;
1094: END IF;
1093: END LOOP;
1094: END IF;
1095: */
1096: --
1097: IF FND_API.to_Boolean(nvl(p_commit,FND_API.G_FALSE)) THEN
1098: COMMIT WORK;
1099: END IF;
1100: --
1101: -- Standard call to get message count and IF count is get message info.
1103: ( p_count => x_msg_count,
1104: p_data => x_msg_data
1105: );
1106: EXCEPTION
1107: WHEN FND_API.G_EXC_ERROR THEN
1108: x_return_status := FND_API.G_RET_STS_ERROR ;
1109: ROLLBACK TO update_counter_reading;
1110: FND_MSG_PUB.Count_And_Get
1111: ( p_count => x_msg_count,
1104: p_data => x_msg_data
1105: );
1106: EXCEPTION
1107: WHEN FND_API.G_EXC_ERROR THEN
1108: x_return_status := FND_API.G_RET_STS_ERROR ;
1109: ROLLBACK TO update_counter_reading;
1110: FND_MSG_PUB.Count_And_Get
1111: ( p_count => x_msg_count,
1112: p_data => x_msg_data
1110: FND_MSG_PUB.Count_And_Get
1111: ( p_count => x_msg_count,
1112: p_data => x_msg_data
1113: );
1114: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1115: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1116: ROLLBACK TO update_counter_reading;
1117: FND_MSG_PUB.Count_And_Get
1118: ( p_count => x_msg_count,
1111: ( p_count => x_msg_count,
1112: p_data => x_msg_data
1113: );
1114: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1115: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1116: ROLLBACK TO update_counter_reading;
1117: FND_MSG_PUB.Count_And_Get
1118: ( p_count => x_msg_count,
1119: p_data => x_msg_data
1118: ( p_count => x_msg_count,
1119: p_data => x_msg_data
1120: );
1121: WHEN OTHERS THEN
1122: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1123: ROLLBACK TO update_counter_reading;
1124: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1125: FND_MSG_PUB.Add_Exc_Msg
1126: ( G_PKG_NAME,