26: /*Procedure to create or update asset/instance geolocation latitude and longitude values*/
27: PROCEDURE CREATEUPDATE_INST_GEOLOC_INFO
28: (
29: p_api_version IN NUMBER
30: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
31: ,p_CSI_instance_geoloc_tbl IN CSI_GIS_INSTANCE_LOC_PUB.csi_instance_geoloc_tbl_type
32: ,p_asset_context IN VARCHAR2 :='EAM'
33: ,x_return_status OUT NOCOPY VARCHAR2
34: ,x_msg_count OUT NOCOPY NUMBER
54:
55: SAVEPOINT CREATEUPDATE_INST_GEOLOC_INFO;
56:
57: -- Standard call to check for call compatibility.
58: IF NOT FND_API.Compatible_API_Call (l_api_version,
59: p_api_version,
60: l_api_name ,
61: G_PKG_NAME ) THEN
62: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
58: IF NOT FND_API.Compatible_API_Call (l_api_version,
59: p_api_version,
60: l_api_name ,
61: G_PKG_NAME ) THEN
62: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
63: END IF;
64:
65: -- Initialize API return status to success
66: x_return_status := FND_API.G_RET_STS_SUCCESS;
62: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
63: END IF;
64:
65: -- Initialize API return status to success
66: x_return_status := FND_API.G_RET_STS_SUCCESS;
67:
68: FND_MSG_PUB.initialize;
69:
70: -- Check the profile option debug_level for debug message reporting
93:
94: csi_t_gen_utility_pvt.add( 'calling validate instance');
95:
96: IF p_csi_instance_geoloc_tbl(i).instance_id IS NULL
97: OR p_csi_instance_geoloc_tbl(i).instance_id = FND_API.G_MISS_NUM THEN
98: IF p_asset_context = 'EAM' THEN
99: FND_MESSAGE.SET_NAME('CSI','CSI_ASSET_NOT_NULL');
100: ELSE
101: FND_MESSAGE.SET_NAME('CSI','CSI_INSTANCE_NOT_NULL');
100: ELSE
101: FND_MESSAGE.SET_NAME('CSI','CSI_INSTANCE_NOT_NULL');
102: END IF;
103: FND_MSG_PUB.ADD;
104: x_return_status := FND_API.G_RET_STS_ERROR;
105: l_error_count:=l_error_count+1;
106: RAISE FND_API.G_EXC_ERROR;
107: END IF;
108:
102: END IF;
103: FND_MSG_PUB.ADD;
104: x_return_status := FND_API.G_RET_STS_ERROR;
105: l_error_count:=l_error_count+1;
106: RAISE FND_API.G_EXC_ERROR;
107: END IF;
108:
109: /*validate Asset/instance */
110: CSI_GIS_INSTANCE_LOC_UTL_PKG.VALIDATE_INSTANCE_NUMBER
133: ,p_valid_flag => 'N'
134: ,x_return_status => l_return_status
135: );
136:
137: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
138:
139: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
140: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
141: IF FND_API.To_Boolean(p_commit) THEN
135: );
136:
137: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
138:
139: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
140: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
141: IF FND_API.To_Boolean(p_commit) THEN
142: UPDATE csi_ii_geoloc_interface
143: SET process_flag = 'E',
137: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
138:
139: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
140: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
141: IF FND_API.To_Boolean(p_commit) THEN
142: UPDATE csi_ii_geoloc_interface
143: SET process_flag = 'E',
144: error_message=l_msg_data,
145: process_date=sysdate
149: AND PROCESS_FLAG = 'R';
150: END IF;
151: l_error_count:=l_error_count+1;
152: -- Continue processing other records
153: RAISE FND_API.G_EXC_ERROR;
154: END IF;
155: RAISE FND_API.G_EXC_ERROR;
156: ELSE
157: RAISE FND_API.G_EXC_ERROR;
151: l_error_count:=l_error_count+1;
152: -- Continue processing other records
153: RAISE FND_API.G_EXC_ERROR;
154: END IF;
155: RAISE FND_API.G_EXC_ERROR;
156: ELSE
157: RAISE FND_API.G_EXC_ERROR;
158: END IF;
159: END IF;
153: RAISE FND_API.G_EXC_ERROR;
154: END IF;
155: RAISE FND_API.G_EXC_ERROR;
156: ELSE
157: RAISE FND_API.G_EXC_ERROR;
158: END IF;
159: END IF;
160:
161: IF (l_instance_tbl.EXISTS(p_csi_instance_geoloc_tbl(i).instance_id)) THEN
165: FND_MESSAGE.SET_NAME('CSI','CSI_GIS_DUPLICATE_INSTANCE');
166: END IF;
167: FND_MESSAGE.SET_TOKEN('INSTANCE',l_instance_number);
168: FND_MSG_PUB.ADD;
169: x_return_status := FND_API.G_RET_STS_ERROR;
170: l_error_count:=l_error_count+1;
171: RAISE FND_API.G_EXC_ERROR;
172: END IF;
173:
167: FND_MESSAGE.SET_TOKEN('INSTANCE',l_instance_number);
168: FND_MSG_PUB.ADD;
169: x_return_status := FND_API.G_RET_STS_ERROR;
170: l_error_count:=l_error_count+1;
171: RAISE FND_API.G_EXC_ERROR;
172: END IF;
173:
174: l_instance_tbl(p_csi_instance_geoloc_tbl(i).instance_id) := 'Y' ;
175:
178: csi_t_gen_utility_pvt.add( 'l_create_update:'||l_create_update);
179: csi_t_gen_utility_pvt.add( 'l_instance_number:'||l_instance_number);
180: END IF;
181:
182: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
183:
184: l_error_count:=l_error_count+1;
185: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
186: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
181:
182: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
183:
184: l_error_count:=l_error_count+1;
185: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
186: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
187: IF FND_API.To_Boolean(p_commit) THEN
188: UPDATE csi_ii_geoloc_interface
189: SET process_flag = 'E',
183:
184: l_error_count:=l_error_count+1;
185: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
186: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
187: IF FND_API.To_Boolean(p_commit) THEN
188: UPDATE csi_ii_geoloc_interface
189: SET process_flag = 'E',
190: error_message=l_msg_data,
191: process_date=sysdate
194: WHERE instance_id = p_csi_instance_geoloc_tbl(i).instance_id)
195: AND PROCESS_FLAG = 'R';
196: END IF;
197: -- Continue processing other records
198: RAISE FND_API.G_EXC_ERROR;
199: END IF;
200:
201: /*If delete from UI, this invalidates the geolocation information for asset/instance */
202: IF p_CSI_instance_geoloc_tbl(i).valid_flag = 'N' THEN
212: ,p_valid_flag => p_csi_instance_geoloc_tbl(i).valid_flag
213: ,x_return_status => l_return_status
214: );
215:
216: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
217:
218: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
219: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
220: IF FND_API.To_Boolean(p_commit) THEN
214: );
215:
216: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
217:
218: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
219: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
220: IF FND_API.To_Boolean(p_commit) THEN
221: UPDATE csi_ii_geoloc_interface
222: SET process_flag = 'E',
216: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
217:
218: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
219: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
220: IF FND_API.To_Boolean(p_commit) THEN
221: UPDATE csi_ii_geoloc_interface
222: SET process_flag = 'E',
223: error_message=l_msg_data,
224: process_date=sysdate
248: ) ;
249:
250: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
251:
252: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
253: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
254: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
255:
256: IF FND_API.To_Boolean(p_commit) THEN
249:
250: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
251:
252: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
253: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
254: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
255:
256: IF FND_API.To_Boolean(p_commit) THEN
257: UPDATE csi_ii_geoloc_interface
252: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
253: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
254: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
255:
256: IF FND_API.To_Boolean(p_commit) THEN
257: UPDATE csi_ii_geoloc_interface
258: SET process_flag = 'E',
259: error_message=l_msg_data,
260: process_date=sysdate
265: END IF;
266:
267: l_error_count:=l_error_count+1;
268: -- Continue processing other records
269: RAISE FND_API.G_EXC_ERROR;
270: END IF;
271:
272: /*IF geocode format is 'DD' no need to convert latitude and longitude values*/
273: IF p_CSI_instance_geoloc_tbl(i).geocode_format IN ('DMS','DM') THEN
287: );
288:
289: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
290:
291: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
292: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
293: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
294: IF FND_API.To_Boolean(p_commit) THEN
295: UPDATE csi_ii_geoloc_interface
288:
289: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
290:
291: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
292: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
293: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
294: IF FND_API.To_Boolean(p_commit) THEN
295: UPDATE csi_ii_geoloc_interface
296: SET process_flag = 'E',
290:
291: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
292: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
293: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
294: IF FND_API.To_Boolean(p_commit) THEN
295: UPDATE csi_ii_geoloc_interface
296: SET process_flag = 'E',
297: error_message=l_msg_data,
298: process_date=sysdate
302: AND PROCESS_FLAG = 'R';
303: END IF;
304: l_error_count:=l_error_count+1;
305: -- Continue processing other records
306: RAISE FND_API.G_EXC_ERROR;
307: END IF;
308:
309: csi_t_gen_utility_pvt.add( 'Convert Latitude value to DD');
310:
321: );
322:
323: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
324:
325: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
326: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
327: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
328: IF FND_API.To_Boolean(p_commit) THEN
329: UPDATE csi_ii_geoloc_interface
322:
323: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
324:
325: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
326: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
327: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
328: IF FND_API.To_Boolean(p_commit) THEN
329: UPDATE csi_ii_geoloc_interface
330: SET process_flag = 'E',
324:
325: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
326: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
327: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
328: IF FND_API.To_Boolean(p_commit) THEN
329: UPDATE csi_ii_geoloc_interface
330: SET process_flag = 'E',
331: error_message=l_msg_data,
332: process_date=sysdate
336: AND PROCESS_FLAG = 'R';
337: END IF;
338: l_error_count:=l_error_count+1;
339: -- Continue processing other records
340: RAISE FND_API.G_EXC_ERROR;
341: END IF;
342: ELSIF p_CSI_instance_geoloc_tbl(i).geocode_format IN ('DD') THEN
343:
344: l_inst_latitude_dd_value:=to_number(p_csi_instance_geoloc_tbl(i).inst_latitude);
359: );
360:
361: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
362:
363: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
364: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
365: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
366: IF FND_API.To_Boolean(p_commit) THEN
367: UPDATE csi_ii_geoloc_interface
360:
361: csi_t_gen_utility_pvt.add( 'Return Status:'||l_return_status);
362:
363: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
364: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
365: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
366: IF FND_API.To_Boolean(p_commit) THEN
367: UPDATE csi_ii_geoloc_interface
368: SET process_flag = 'E',
362:
363: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
364: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
365: csi_t_gen_utility_pvt.add('Error Message:'||l_msg_data);
366: IF FND_API.To_Boolean(p_commit) THEN
367: UPDATE csi_ii_geoloc_interface
368: SET process_flag = 'E',
369: error_message=l_msg_data,
370: process_date=sysdate
374: AND PROCESS_FLAG = 'R';
375: END IF;
376: l_error_count:=l_error_count+1;
377: -- Continue processing other records
378: RAISE FND_API.G_EXC_ERROR;
379: END IF;
380:
381: IF FND_API.To_Boolean( p_commit ) THEN
382: UPDATE csi_ii_geoloc_interface
377: -- Continue processing other records
378: RAISE FND_API.G_EXC_ERROR;
379: END IF;
380:
381: IF FND_API.To_Boolean( p_commit ) THEN
382: UPDATE csi_ii_geoloc_interface
383: SET process_flag = 'P',
384: process_date = sysdate
385: WHERE instance_number = (select instance_number
402: ,p_valid_flag => p_CSI_instance_geoloc_tbl(i).valid_flag
403: , x_return_status => l_return_status
404: );
405:
406: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
407: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
408: csi_t_gen_utility_pvt.add(l_msg_data);
409: IF FND_API.To_Boolean(p_commit) THEN
410: UPDATE csi_ii_geoloc_interface
403: , x_return_status => l_return_status
404: );
405:
406: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
407: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
408: csi_t_gen_utility_pvt.add(l_msg_data);
409: IF FND_API.To_Boolean(p_commit) THEN
410: UPDATE csi_ii_geoloc_interface
411: SET process_flag = 'E',
405:
406: IF NOT(l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
407: l_msg_data:=fnd_msg_pub.get(fnd_msg_pub.G_LAST, FND_API.G_FALSE);
408: csi_t_gen_utility_pvt.add(l_msg_data);
409: IF FND_API.To_Boolean(p_commit) THEN
410: UPDATE csi_ii_geoloc_interface
411: SET process_flag = 'E',
412: error_message=l_msg_data,
413: process_date = sysdate
417: AND PROCESS_FLAG = 'R';
418: END IF;
419: l_error_count:=l_error_count + 1;
420: -- Continue processing other records
421: RAISE FND_API.G_EXC_ERROR;
422: END IF;
423:
424: IF FND_API.To_Boolean( p_commit ) THEN
425: UPDATE csi_ii_geoloc_interface
420: -- Continue processing other records
421: RAISE FND_API.G_EXC_ERROR;
422: END IF;
423:
424: IF FND_API.To_Boolean( p_commit ) THEN
425: UPDATE csi_ii_geoloc_interface
426: SET process_flag = 'P',
427: process_date = sysdate
428: WHERE instance_number = (select instance_number
433: csi_t_gen_utility_pvt.add( 'Completed Processing Record#:'||i);
434: END IF;
435: END IF;
436: EXCEPTION
437: WHEN FND_API.G_EXC_ERROR THEN
438:
439: NULL;
440: END;
441: END LOOP;
440: END;
441: END LOOP;
442: END IF;
443:
444: IF FND_API.To_Boolean( p_commit ) THEN
445: csi_t_gen_utility_pvt.add( 'Returning to Import API');
446: return;
447: END IF;
448:
446: return;
447: END IF;
448:
449: IF l_error_count > 0 THEN
450: RAISE FND_API.G_EXC_ERROR;
451: END IF;
452:
453: COMMIT WORK;
454:
455: csi_t_gen_utility_pvt.add( 'Completed Processing Records');
456:
457: EXCEPTION
458:
459: WHEN FND_API.G_EXC_ERROR THEN
460: x_return_status := FND_API.G_RET_STS_ERROR ;
461: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
462: csi_t_gen_utility_pvt.add( 'Error Count:'||l_error_count);
463: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
456:
457: EXCEPTION
458:
459: WHEN FND_API.G_EXC_ERROR THEN
460: x_return_status := FND_API.G_RET_STS_ERROR ;
461: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
462: csi_t_gen_utility_pvt.add( 'Error Count:'||l_error_count);
463: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
464: FND_MSG_PUB.Count_And_Get
461: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
462: csi_t_gen_utility_pvt.add( 'Error Count:'||l_error_count);
463: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
464: FND_MSG_PUB.Count_And_Get
465: ( p_encoded => FND_API.G_FALSE,
466: p_count => x_msg_count,
467: p_data => x_msg_data
468: );
469:
466: p_count => x_msg_count,
467: p_data => x_msg_data
468: );
469:
470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
471: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
472: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
473: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
474: FND_MSG_PUB.Count_And_Get
467: p_data => x_msg_data
468: );
469:
470: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
471: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
472: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
473: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
474: FND_MSG_PUB.Count_And_Get
475: ( p_encoded => FND_API.G_FALSE,
471: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
472: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
473: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
474: FND_MSG_PUB.Count_And_Get
475: ( p_encoded => FND_API.G_FALSE,
476: p_count => x_msg_count,
477: p_data => x_msg_data
478: );
479:
477: p_data => x_msg_data
478: );
479:
480: WHEN OTHERS THEN
481: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
482: csi_t_gen_utility_pvt.add( 'Error in Processing Records');
483: ROLLBACK TO CREATEUPDATE_INST_GEOLOC_INFO;
484: IF FND_MSG_PUB.Check_Msg_Level
485: (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
489: l_api_name
490: );
491: END IF;
492: FND_MSG_PUB.Count_And_Get
493: ( p_encoded => FND_API.G_FALSE,
494: p_count => x_msg_count,
495: p_data => x_msg_data
496: );
497:
499:
500: PROCEDURE IMPORT_INSTANCE_GEO_LOCATION
501: (
502: p_api_version IN NUMBER,
503: p_commit IN VARCHAR2 := FND_API.G_TRUE ,
504: x_return_status OUT NOCOPY VARCHAR2 ,
505: x_msg_count OUT NOCOPY NUMBER ,
506: x_msg_data OUT NOCOPY VARCHAR2
507: ) IS
528: import_inst_geo_loc_tbl import_inst_geo_loc_tbl_type;
529: BEGIN
530:
531: -- Standard call to check for call compatibility.
532: IF NOT FND_API.Compatible_API_Call (l_api_version,
533: p_api_version,
534: l_api_name ,
535: G_PKG_NAME ) THEN
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
532: IF NOT FND_API.Compatible_API_Call (l_api_version,
533: p_api_version,
534: l_api_name ,
535: G_PKG_NAME ) THEN
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537: END IF;
538:
539: -- Initialize API return status to success
540: x_return_status := FND_API.G_RET_STS_SUCCESS;
536: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
537: END IF;
538:
539: -- Initialize API return status to success
540: x_return_status := FND_API.G_RET_STS_SUCCESS;
541:
542: -- Check the profile option debug_level for debug message reporting
543: l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
544:
571: error_message = FND_MESSAGE.Get_String('CSI', 'CSI_GIS_DUP_INST_ASSET'),
572: process_date=sysdate
573: WHERE instance_number = import_inst_geo_loc_tbl(i).instance_number
574: AND PROCESS_FLAG = 'R';
575: RAISE FND_API.G_EXC_ERROR;
576: END IF;
577:
578: BEGIN
579: SELECT instance_id
590: error_message = FND_MESSAGE.Get_String('CSI', 'CSI_INSTANCE_NOT_FOUND'),
591: process_date=sysdate
592: WHERE instance_number = import_inst_geo_loc_tbl(i).instance_number
593: AND PROCESS_FLAG = 'R';
594: RAISE FND_API.G_EXC_ERROR;
595:
596: END;
597:
598: /*checking for valid geocode formats*/
612: error_message = FND_MESSAGE.Get_String('CSI', 'CSI_INVALID_GEOCODE_FORMAT'),
613: process_date=sysdate
614: WHERE instance_number = import_inst_geo_loc_tbl(i).instance_number
615: AND PROCESS_FLAG = 'R';
616: RAISE FND_API.G_EXC_ERROR;
617: END IF;
618:
619: l_index:=l_index + 1;
620: l_csi_instance_geoloc_tbl(l_index).INSTANCE_ID :=l_instance_id;
625: ELSE
626: l_csi_instance_geoloc_tbl(l_index).GEOCODE_FORMAT :=import_inst_geo_loc_tbl(i).geocode_format;
627: END IF;
628: EXCEPTION
629: WHEN FND_API.G_EXC_ERROR THEN
630: NULL;
631: END;
632: END LOOP;
633:
634: /*calling create update API*/
635: IF l_csi_instance_geoloc_tbl.count > 0 THEN
636:
637: CSI_GIS_INSTANCE_LOC_PUB.CREATEUPDATE_INST_GEOLOC_INFO(p_api_version => 1,
638: p_commit => FND_API.G_TRUE
639: ,p_csi_instance_geoloc_tbl => l_csi_instance_geoloc_tbl
640: ,x_return_status => l_return_status
641: ,x_msg_count => l_msg_count
642: ,x_msg_data => l_msg_data);