13: ------------------------------------------------------------------------------
14:
15: PROCEDURE create_mapping(
16: p_api_version IN NUMBER,
17: p_init_msg_list IN VARCHAR2 := FND_API.g_false,
18: p_commit IN VARCHAR2 := FND_API.g_false,
19: p_validation_level IN NUMBER := FND_API.g_valid_level_full,
20: x_return_status OUT NOCOPY VARCHAR2,
21: x_msg_count OUT NOCOPY NUMBER,
14:
15: PROCEDURE create_mapping(
16: p_api_version IN NUMBER,
17: p_init_msg_list IN VARCHAR2 := FND_API.g_false,
18: p_commit IN VARCHAR2 := FND_API.g_false,
19: p_validation_level IN NUMBER := FND_API.g_valid_level_full,
20: x_return_status OUT NOCOPY VARCHAR2,
21: x_msg_count OUT NOCOPY NUMBER,
22: x_msg_data OUT NOCOPY VARCHAR2,
15: PROCEDURE create_mapping(
16: p_api_version IN NUMBER,
17: p_init_msg_list IN VARCHAR2 := FND_API.g_false,
18: p_commit IN VARCHAR2 := FND_API.g_false,
19: p_validation_level IN NUMBER := FND_API.g_valid_level_full,
20: x_return_status OUT NOCOPY VARCHAR2,
21: x_msg_count OUT NOCOPY NUMBER,
22: x_msg_data OUT NOCOPY VARCHAR2,
23: p_imp_list_header_id in NUMBER,
115: BEGIN
116:
117: SAVEPOINT create_mapping;
118:
119: IF FND_API.to_boolean(p_init_msg_list) THEN
120: FND_MSG_PUB.initialize;
121: END IF;
122:
123: IF NOT FND_API.compatible_api_call
119: IF FND_API.to_boolean(p_init_msg_list) THEN
120: FND_MSG_PUB.initialize;
121: END IF;
122:
123: IF NOT FND_API.compatible_api_call
124: (
125: l_api_version,
126: p_api_version,
127: l_api_name,
127: l_api_name,
128: g_pkg_name
129: )
130: THEN
131: RAISE FND_API.g_exc_unexpected_error;
132: END IF;
133: x_return_status := FND_API.G_RET_STS_SUCCESS;
134:
135: OPEN c_get_import_type (p_imp_list_header_id);
129: )
130: THEN
131: RAISE FND_API.g_exc_unexpected_error;
132: END IF;
133: x_return_status := FND_API.G_RET_STS_SUCCESS;
134:
135: OPEN c_get_import_type (p_imp_list_header_id);
136: FETCH c_get_import_type INTO l_import_type;
137: CLOSE c_get_import_type;
161:
162: IF l_no_of_rows_saved <> l_no_of_rows THEN
163: FND_MESSAGE.Set_Name('AMS','AMS_INVALID_MAP');
164: FND_MSG_PUB.Add;
165: RAISE FND_API.g_exc_error;
166: END If;
167:
168: for i in 1 .. l_no_of_rows
169: loop
170: begin
171: IF p_list_src_fields(i) <> l_temp_fields(i) THEN
172: FND_MESSAGE.Set_Name('AMS','AMS_INVALID_MAP');
173: FND_MSG_PUB.Add;
174: RAISE FND_API.g_exc_error;
175: END If;
176: end;
177: end loop;
178: ELSE -- create, need to check the name
181: IF (l_dummy is not null)
182: THEN
183: FND_MESSAGE.set_name('AMS', 'AMS_MAPPING_NAME_DUPLICATE');
184: FND_MSG_PUB.Add;
185: RAISE FND_API.g_exc_error;
186: END IF;
187: End if;
188:
189: IF p_list_target_fields IS NULL OR p_list_target_fields.COUNT=0
189: IF p_list_target_fields IS NULL OR p_list_target_fields.COUNT=0
190: THEN
191: FND_MESSAGE.Set_Name('AMS','AMS_INVALID_MAP');
192: FND_MSG_PUB.Add;
193: RAISE FND_API.g_exc_error;
194: END IF;
195:
196: IF p_list_src_fields.last <> p_list_target_fields.last
197: THEN
196: IF p_list_src_fields.last <> p_list_target_fields.last
197: THEN
198: FND_MESSAGE.Set_Name('AMS','AMS_MAX_COL_MAP');
199: FND_MSG_PUB.Add;
200: RAISE FND_API.g_exc_error;
201: END IF;
202:
203: if px_src_type_id is null then
204: OPEN c_get_id;
421:
422: if l_count > 0 then
423: FND_MESSAGE.Set_Name('AMS','AMS_REQ_FIELDS_NOT_MAPPED');
424: FND_MSG_PUB.Add;
425: RAISE FND_API.g_exc_error;
426: end if;
427:
428: update ams_imp_list_headers_all
429: set LIST_SOURCE_TYPE_ID = l_list_source_type_id
428: update ams_imp_list_headers_all
429: set LIST_SOURCE_TYPE_ID = l_list_source_type_id
430: where IMPORT_LIST_HEADER_ID = p_imp_list_header_id ;
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;
429: set LIST_SOURCE_TYPE_ID = l_list_source_type_id
430: where IMPORT_LIST_HEADER_ID = p_imp_list_header_id ;
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: IF p_commit = FND_API.g_true then
430: where IMPORT_LIST_HEADER_ID = p_imp_list_header_id ;
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: IF p_commit = FND_API.g_true then
438: COMMIT WORK;
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: IF p_commit = FND_API.g_true then
438: COMMIT WORK;
439: END IF;
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: IF p_commit = FND_API.g_true then
438: COMMIT WORK;
439: END IF;
440:
441: FND_MSG_PUB.Count_AND_Get
440:
441: FND_MSG_PUB.Count_AND_Get
442: ( p_count => x_msg_count,
443: p_data => x_msg_data,
444: p_encoded => FND_API.G_FALSE );
445: --END IF;
446: --end if;
447:
448: EXCEPTION
445: --END IF;
446: --end if;
447:
448: EXCEPTION
449: WHEN FND_API.G_EXC_ERROR THEN
450: x_return_status := FND_API.g_ret_sts_error ;
451: ROLLBACK TO create_mapping;
452: FND_MSG_PUB.Count_AND_Get
453: ( p_count => x_msg_count,
446: --end if;
447:
448: EXCEPTION
449: WHEN FND_API.G_EXC_ERROR THEN
450: x_return_status := FND_API.g_ret_sts_error ;
451: ROLLBACK TO create_mapping;
452: FND_MSG_PUB.Count_AND_Get
453: ( p_count => x_msg_count,
454: p_data => x_msg_data,
451: ROLLBACK TO create_mapping;
452: FND_MSG_PUB.Count_AND_Get
453: ( p_count => x_msg_count,
454: p_data => x_msg_data,
455: p_encoded => FND_API.G_FALSE
456: );
457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458: x_return_status := FND_API.g_ret_sts_unexp_error ;
459: ROLLBACK TO create_mapping;
453: ( p_count => x_msg_count,
454: p_data => x_msg_data,
455: p_encoded => FND_API.G_FALSE
456: );
457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458: x_return_status := FND_API.g_ret_sts_unexp_error ;
459: ROLLBACK TO create_mapping;
460: FND_MSG_PUB.Count_AND_Get
461: ( p_count => x_msg_count,
454: p_data => x_msg_data,
455: p_encoded => FND_API.G_FALSE
456: );
457: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
458: x_return_status := FND_API.g_ret_sts_unexp_error ;
459: ROLLBACK TO create_mapping;
460: FND_MSG_PUB.Count_AND_Get
461: ( p_count => x_msg_count,
462: p_data => x_msg_data,
459: ROLLBACK TO create_mapping;
460: FND_MSG_PUB.Count_AND_Get
461: ( p_count => x_msg_count,
462: p_data => x_msg_data,
463: p_encoded => FND_API.G_FALSE
464: );
465: WHEN OTHERS THEN
466: x_return_status := FND_API.g_ret_sts_unexp_error ;
467: ROLLBACK TO create_mapping;
462: p_data => x_msg_data,
463: p_encoded => FND_API.G_FALSE
464: );
465: WHEN OTHERS THEN
466: x_return_status := FND_API.g_ret_sts_unexp_error ;
467: ROLLBACK TO create_mapping;
468: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
469: THEN
470: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
471: END IF;
472: FND_MSG_PUB.Count_AND_Get
473: ( p_count => x_msg_count,
474: p_data => x_msg_data,
475: p_encoded => FND_API.G_FALSE
476: );
477:
478: END;
479: END AMS_LIST_SRC_MAPPING ;