10:
11: l_exist varchar2(1);
12:
13: begin
14: x_return_status := FND_API.G_RET_STS_SUCCESS;
15: open territory_code_exist_csr;
16: fetch territory_code_exist_csr into l_exist;
17: close territory_code_exist_csr;
18: if l_exist = 'Y'
19: then
20: FND_MESSAGE.SET_NAME('AR', 'HZ_API_DUPLICATE_COLUMN');
21: FND_MESSAGE.SET_TOKEN('COLUMN', 'territory_code');
22: FND_MSG_PUB.ADD;
23: x_return_status := FND_API.G_RET_STS_ERROR;
24: end if;
25: end;
26:
27: procedure duplicate_area_code(p_territory_code in varchar2, p_area_code in varchar2,
35:
36: l_exist varchar2(1);
37:
38: begin
39: x_return_status := FND_API.G_RET_STS_SUCCESS;
40: open area_code_exist_csr;
41: fetch area_code_exist_csr into l_exist;
42: close area_code_exist_csr;
43: if l_exist = 'Y'
43: if l_exist = 'Y'
44: then
45: FND_MESSAGE.SET_NAME('AR', 'HZ_TZ_AREA_DUP_ERROR');
46: FND_MSG_PUB.ADD;
47: x_return_status := FND_API.G_RET_STS_ERROR;
48: end if;
49: end;
50:
51: PROCEDURE create_area_code(
59: x_msg_data OUT NOCOPY VARCHAR2) is
60:
61: l_rowid ROWID;
62: begin
63: x_return_status := FND_API.G_RET_STS_SUCCESS;
64: fnd_msg_pub.initialize;
65: SAVEPOINT create_area_code;
66:
67: if p_area_code <> TRANSLATE (
70: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
71: then
72: fnd_message.set_name('AR','HZ_INVALID_AREA_CODE');
73: FND_MSG_PUB.ADD;
74: x_return_status := FND_API.G_RET_STS_ERROR;
75: RAISE FND_API.G_EXC_ERROR;
76: end if;
77:
78: duplicate_area_code(p_territory_code,p_area_code, x_return_status);
71: then
72: fnd_message.set_name('AR','HZ_INVALID_AREA_CODE');
73: FND_MSG_PUB.ADD;
74: x_return_status := FND_API.G_RET_STS_ERROR;
75: RAISE FND_API.G_EXC_ERROR;
76: end if;
77:
78: duplicate_area_code(p_territory_code,p_area_code, x_return_status);
79: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
75: RAISE FND_API.G_EXC_ERROR;
76: end if;
77:
78: duplicate_area_code(p_territory_code,p_area_code, x_return_status);
79: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
80: RAISE FND_API.G_EXC_ERROR;
81: END IF;
82:
83: HZ_PHONE_AREA_CODES_PKG.insert_row(
76: end if;
77:
78: duplicate_area_code(p_territory_code,p_area_code, x_return_status);
79: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
80: RAISE FND_API.G_EXC_ERROR;
81: END IF;
82:
83: HZ_PHONE_AREA_CODES_PKG.insert_row(
84: p_rowid => l_rowid,
94: p_OBJECT_VERSION_NUMBER =>1,
95: p_TIMEZONE_ID =>p_TIMEZONE_ID);
96:
97: EXCEPTION
98: WHEN FND_API.G_EXC_ERROR THEN
99: ROLLBACK to create_area_code;
100: x_return_status := FND_API.G_RET_STS_ERROR;
101: FND_MSG_PUB.Count_And_Get(
102: p_encoded => FND_API.G_FALSE,
96:
97: EXCEPTION
98: WHEN FND_API.G_EXC_ERROR THEN
99: ROLLBACK to create_area_code;
100: x_return_status := FND_API.G_RET_STS_ERROR;
101: FND_MSG_PUB.Count_And_Get(
102: p_encoded => FND_API.G_FALSE,
103: p_count => x_msg_count,
104: p_data => x_msg_data);
98: WHEN FND_API.G_EXC_ERROR THEN
99: ROLLBACK to create_area_code;
100: x_return_status := FND_API.G_RET_STS_ERROR;
101: FND_MSG_PUB.Count_And_Get(
102: p_encoded => FND_API.G_FALSE,
103: p_count => x_msg_count,
104: p_data => x_msg_data);
105:
106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
102: p_encoded => FND_API.G_FALSE,
103: p_count => x_msg_count,
104: p_data => x_msg_data);
105:
106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
107: ROLLBACK to create_area_code;
108: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
109: FND_MSG_PUB.Count_And_Get(
110: p_encoded => FND_API.G_FALSE,
104: p_data => x_msg_data);
105:
106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
107: ROLLBACK to create_area_code;
108: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
109: FND_MSG_PUB.Count_And_Get(
110: p_encoded => FND_API.G_FALSE,
111: p_count => x_msg_count,
112: p_data => x_msg_data);
106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
107: ROLLBACK to create_area_code;
108: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
109: FND_MSG_PUB.Count_And_Get(
110: p_encoded => FND_API.G_FALSE,
111: p_count => x_msg_count,
112: p_data => x_msg_data);
113:
114: WHEN OTHERS THEN
112: p_data => x_msg_data);
113:
114: WHEN OTHERS THEN
115: ROLLBACK to create_area_code;
116: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
117:
118: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
119: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
120: FND_MSG_PUB.ADD;
119: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
120: FND_MSG_PUB.ADD;
121:
122: FND_MSG_PUB.Count_And_Get(
123: p_encoded => FND_API.G_FALSE,
124: p_count => x_msg_count,
125: p_data => x_msg_data);
126: END;
127:
140: l_rowid ROWID;
141: l_area_code varchar2(30);
142:
143: begin
144: x_return_status := FND_API.G_RET_STS_SUCCESS;
145: fnd_msg_pub.initialize;
146: SAVEPOINT update_area_code;
147:
148:
152: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
153: then
154: fnd_message.set_name('AR','HZ_INVALID_AREA_CODE');
155: FND_MSG_PUB.ADD;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: RAISE FND_API.G_EXC_ERROR;
158: end if;
159:
160: -- check whether record has been updated by another user. If not, lock it.
153: then
154: fnd_message.set_name('AR','HZ_INVALID_AREA_CODE');
155: FND_MSG_PUB.ADD;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: RAISE FND_API.G_EXC_ERROR;
158: end if;
159:
160: -- check whether record has been updated by another user. If not, lock it.
161: BEGIN
172: THEN
173: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
174: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PHONE_AREA_CODES');
175: FND_MSG_PUB.ADD;
176: x_return_status := FND_API.G_RET_STS_ERROR;
177: RAISE FND_API.G_EXC_ERROR;
178: END IF;
179:
180: p_object_version_number := nvl(l_object_version_number, 1) + 1;
173: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
174: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PHONE_AREA_CODES');
175: FND_MSG_PUB.ADD;
176: x_return_status := FND_API.G_RET_STS_ERROR;
177: RAISE FND_API.G_EXC_ERROR;
178: END IF;
179:
180: p_object_version_number := nvl(l_object_version_number, 1) + 1;
181:
183: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
184: FND_MESSAGE.SET_TOKEN('RECORD', 'HZ_PHONE_AREA_CODES');
185: FND_MESSAGE.SET_TOKEN('VALUE', 'territory_code+area_code');
186: FND_MSG_PUB.ADD;
187: RAISE FND_API.G_EXC_ERROR;
188: END;
189:
190: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
191: RAISE FND_API.G_EXC_ERROR;
186: FND_MSG_PUB.ADD;
187: RAISE FND_API.G_EXC_ERROR;
188: END;
189:
190: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
191: RAISE FND_API.G_EXC_ERROR;
192: END IF;
193:
194: if l_area_code <> p_area_code
187: RAISE FND_API.G_EXC_ERROR;
188: END;
189:
190: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
191: RAISE FND_API.G_EXC_ERROR;
192: END IF;
193:
194: if l_area_code <> p_area_code
195: then
193:
194: if l_area_code <> p_area_code
195: then
196: duplicate_area_code(p_territory_code,p_area_code, x_return_status);
197: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
198: RAISE FND_API.G_EXC_ERROR;
199: END IF;
200: end if;
201:
194: if l_area_code <> p_area_code
195: then
196: duplicate_area_code(p_territory_code,p_area_code, x_return_status);
197: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
198: RAISE FND_API.G_EXC_ERROR;
199: END IF;
200: end if;
201:
202: HZ_PHONE_AREA_CODES_PKG.update_row(
202: HZ_PHONE_AREA_CODES_PKG.update_row(
203: p_rowid => l_rowid,
204: p_TERRITORY_CODE =>p_TERRITORY_CODE,
205: p_AREA_CODE =>p_AREA_CODE,
206: p_PHONE_COUNTRY_CODE =>fnd_api.g_miss_char,
207: p_DESCRIPTION =>p_DESCRIPTION,
208: p_CREATED_BY =>hz_utility_v2pub.created_by,
209: p_CREATION_DATE =>hz_utility_v2pub.creation_date,
210: p_LAST_UPDATE_LOGIN => hz_utility_v2pub.last_update_login,
213: p_OBJECT_VERSION_NUMBER =>l_object_version_number,
214: p_TIMEZONE_ID =>p_TIMEZONE_ID );
215:
216: EXCEPTION
217: WHEN FND_API.G_EXC_ERROR THEN
218: ROLLBACK to update_area_code;
219: x_return_status := FND_API.G_RET_STS_ERROR;
220: FND_MSG_PUB.Count_And_Get(
221: p_encoded => FND_API.G_FALSE,
215:
216: EXCEPTION
217: WHEN FND_API.G_EXC_ERROR THEN
218: ROLLBACK to update_area_code;
219: x_return_status := FND_API.G_RET_STS_ERROR;
220: FND_MSG_PUB.Count_And_Get(
221: p_encoded => FND_API.G_FALSE,
222: p_count => x_msg_count,
223: p_data => x_msg_data);
217: WHEN FND_API.G_EXC_ERROR THEN
218: ROLLBACK to update_area_code;
219: x_return_status := FND_API.G_RET_STS_ERROR;
220: FND_MSG_PUB.Count_And_Get(
221: p_encoded => FND_API.G_FALSE,
222: p_count => x_msg_count,
223: p_data => x_msg_data);
224:
225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
221: p_encoded => FND_API.G_FALSE,
222: p_count => x_msg_count,
223: p_data => x_msg_data);
224:
225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
226: ROLLBACK to update_area_code;
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
228: FND_MSG_PUB.Count_And_Get(
229: p_encoded => FND_API.G_FALSE,
223: p_data => x_msg_data);
224:
225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
226: ROLLBACK to update_area_code;
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
228: FND_MSG_PUB.Count_And_Get(
229: p_encoded => FND_API.G_FALSE,
230: p_count => x_msg_count,
231: p_data => x_msg_data);
225: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
226: ROLLBACK to update_area_code;
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
228: FND_MSG_PUB.Count_And_Get(
229: p_encoded => FND_API.G_FALSE,
230: p_count => x_msg_count,
231: p_data => x_msg_data);
232:
233: WHEN OTHERS THEN
231: p_data => x_msg_data);
232:
233: WHEN OTHERS THEN
234: ROLLBACK to update_area_code;
235: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
236:
237: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
238: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
239: FND_MSG_PUB.ADD;
238: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
239: FND_MSG_PUB.ADD;
240:
241: FND_MSG_PUB.Count_And_Get(
242: p_encoded => FND_API.G_FALSE,
243: p_count => x_msg_count,
244: p_data => x_msg_data);
245: end;
246: function areacode_timezone_exist(p_territory_code in varchar2) return varchar2 is
272:
273: l_exist_flag varchar2(1);
274: l_object_version_number number;
275: begin
276: x_return_status := FND_API.G_RET_STS_SUCCESS;
277: fnd_msg_pub.initialize;
278:
279: BEGIN
280: SELECT OBJECT_VERSION_NUMBER
289: THEN
290: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
291: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PHONE_COUNTRY_CODES');
292: FND_MSG_PUB.ADD;
293: x_return_status := FND_API.G_RET_STS_ERROR;
294: RAISE FND_API.G_EXC_ERROR;
295: END IF;
296:
297: p_object_version_number := nvl(l_object_version_number, 1) + 1;
290: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
291: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PHONE_COUNTRY_CODES');
292: FND_MSG_PUB.ADD;
293: x_return_status := FND_API.G_RET_STS_ERROR;
294: RAISE FND_API.G_EXC_ERROR;
295: END IF;
296:
297: p_object_version_number := nvl(l_object_version_number, 1) + 1;
298:
300: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
301: FND_MESSAGE.SET_TOKEN('RECORD', 'HZ_PHONE_AREA_CODES');
302: FND_MESSAGE.SET_TOKEN('VALUE', 'territory_code+area_code');
303: FND_MSG_PUB.ADD;
304: RAISE FND_API.G_EXC_ERROR;
305: END;
306:
307: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
308: RAISE FND_API.G_EXC_ERROR;
303: FND_MSG_PUB.ADD;
304: RAISE FND_API.G_EXC_ERROR;
305: END;
306:
307: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
308: RAISE FND_API.G_EXC_ERROR;
309: END IF;
310:
311:
304: RAISE FND_API.G_EXC_ERROR;
305: END;
306:
307: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
308: RAISE FND_API.G_EXC_ERROR;
309: END IF;
310:
311:
312: update hz_phone_country_codes
320: LAST_UPDATED_BY =hz_utility_v2pub.last_updated_by
321: where territory_code = p_territory_code;
322:
323: If (SQL%NOTFOUND) then
324: x_return_status := FND_API.G_RET_STS_ERROR;
325: RAISE NO_DATA_FOUND;
326: End If;
327:
328: l_exist_flag := areacode_timezone_exist(p_territory_code);