22: FUNCTION Contains_Value(
23: p_party_id NUMBER
24: , p_category VARCHAR2
25: , p_preference_code VARCHAR2
26: , p_value_varchar2_o VARCHAR2 := FND_API.G_MISS_CHAR
27: ) RETURN VARCHAR2
28: AS
29: l_dummy NUMBER;
30: l_return_status VARCHAR2(1);
37: ,l_return_status
38: );
39:
40: -- if the validation failed at some point, raise exception
41: if l_return_status = FND_API.G_RET_STS_ERROR then
42: RAISE FND_API.G_EXC_ERROR;
43: end if;
44:
45: SELECT 1
38: );
39:
40: -- if the validation failed at some point, raise exception
41: if l_return_status = FND_API.G_RET_STS_ERROR then
42: RAISE FND_API.G_EXC_ERROR;
43: end if;
44:
45: SELECT 1
46: INTO l_dummy
56: EXCEPTION
57: WHEN NO_DATA_FOUND THEN
58: RETURN 'N';
59:
60: WHEN FND_API.G_EXC_ERROR THEN
61: RETURN FND_API.G_RET_STS_ERROR;
62:
63: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
64: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
57: WHEN NO_DATA_FOUND THEN
58: RETURN 'N';
59:
60: WHEN FND_API.G_EXC_ERROR THEN
61: RETURN FND_API.G_RET_STS_ERROR;
62:
63: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
64: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
65:
59:
60: WHEN FND_API.G_EXC_ERROR THEN
61: RETURN FND_API.G_RET_STS_ERROR;
62:
63: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
64: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
65:
66: WHEN OTHERS THEN
67: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
60: WHEN FND_API.G_EXC_ERROR THEN
61: RETURN FND_API.G_RET_STS_ERROR;
62:
63: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
64: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
65:
66: WHEN OTHERS THEN
67: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
68: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
66: WHEN OTHERS THEN
67: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
68: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
69: FND_MSG_PUB.ADD;
70: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
71:
72: END Contains_Value;
73:
74:
90: ,l_return_status
91: );
92:
93: -- if the validation failed at some point, raise exception
94: if l_return_status = FND_API.G_RET_STS_ERROR then
95: RAISE FND_API.G_EXC_ERROR;
96: end if;
97:
98: SELECT 1
91: );
92:
93: -- if the validation failed at some point, raise exception
94: if l_return_status = FND_API.G_RET_STS_ERROR then
95: RAISE FND_API.G_EXC_ERROR;
96: end if;
97:
98: SELECT 1
99: INTO l_dummy
108: EXCEPTION
109: WHEN NO_DATA_FOUND THEN
110: RETURN 'N';
111:
112: WHEN FND_API.G_EXC_ERROR THEN
113: RETURN FND_API.G_RET_STS_ERROR;
114:
115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
116: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
109: WHEN NO_DATA_FOUND THEN
110: RETURN 'N';
111:
112: WHEN FND_API.G_EXC_ERROR THEN
113: RETURN FND_API.G_RET_STS_ERROR;
114:
115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
116: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
117:
111:
112: WHEN FND_API.G_EXC_ERROR THEN
113: RETURN FND_API.G_RET_STS_ERROR;
114:
115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
116: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
117:
118: WHEN OTHERS THEN
119: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
112: WHEN FND_API.G_EXC_ERROR THEN
113: RETURN FND_API.G_RET_STS_ERROR;
114:
115: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
116: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
117:
118: WHEN OTHERS THEN
119: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
120: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
118: WHEN OTHERS THEN
119: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
120: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
121: FND_MSG_PUB.ADD;
122: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
123:
124: END Contains_Preference;
125:
126:
127: FUNCTION Contains_Value(
128: p_party_id NUMBER
129: , p_category VARCHAR2
130: , p_preference_code VARCHAR2
131: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
132: , p_value_number NUMBER := FND_API.G_MISS_NUM
133: , p_value_date DATE := FND_API.G_MISS_DATE
134: ) RETURN VARCHAR2 AS
135:
128: p_party_id NUMBER
129: , p_category VARCHAR2
130: , p_preference_code VARCHAR2
131: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
132: , p_value_number NUMBER := FND_API.G_MISS_NUM
133: , p_value_date DATE := FND_API.G_MISS_DATE
134: ) RETURN VARCHAR2 AS
135:
136: l_dummy NUMBER;
129: , p_category VARCHAR2
130: , p_preference_code VARCHAR2
131: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
132: , p_value_number NUMBER := FND_API.G_MISS_NUM
133: , p_value_date DATE := FND_API.G_MISS_DATE
134: ) RETURN VARCHAR2 AS
135:
136: l_dummy NUMBER;
137: l_value_varchar2 VARCHAR2(50);
143: BEGIN
144:
145: -- do additional validations
146: -- if none of the preference values passed then it is an error
147: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
148: p_value_varchar2 IS NULL) and
149: (p_value_number = FND_API.G_MISS_NUM OR
150: p_value_number IS NULL) and
151: (p_value_date = FND_API.G_MISS_DATE OR
145: -- do additional validations
146: -- if none of the preference values passed then it is an error
147: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
148: p_value_varchar2 IS NULL) and
149: (p_value_number = FND_API.G_MISS_NUM OR
150: p_value_number IS NULL) and
151: (p_value_date = FND_API.G_MISS_DATE OR
152: p_value_date IS NULL)
153: then
147: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
148: p_value_varchar2 IS NULL) and
149: (p_value_number = FND_API.G_MISS_NUM OR
150: p_value_number IS NULL) and
151: (p_value_date = FND_API.G_MISS_DATE OR
152: p_value_date IS NULL)
153: then
154: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_PREFERENCE');
155: FND_MSG_PUB.ADD;
152: p_value_date IS NULL)
153: then
154: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_PREFERENCE');
155: FND_MSG_PUB.ADD;
156: RAISE FND_API.G_EXC_ERROR;
157: end if;
158:
159: -- if more than one preference values passed, then it is an error
160: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
156: RAISE FND_API.G_EXC_ERROR;
157: end if;
158:
159: -- if more than one preference values passed, then it is an error
160: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
161: p_value_varchar2 IS NOT NULL AND
162: p_value_number <> FND_API.G_MISS_NUM AND
163: p_value_number IS NOT NULL) OR
164: (p_value_number <> FND_API.G_MISS_NUM AND
158:
159: -- if more than one preference values passed, then it is an error
160: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
161: p_value_varchar2 IS NOT NULL AND
162: p_value_number <> FND_API.G_MISS_NUM AND
163: p_value_number IS NOT NULL) OR
164: (p_value_number <> FND_API.G_MISS_NUM AND
165: p_value_number IS NOT NULL AND
166: p_value_date <> FND_API.G_MISS_DATE AND
160: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
161: p_value_varchar2 IS NOT NULL AND
162: p_value_number <> FND_API.G_MISS_NUM AND
163: p_value_number IS NOT NULL) OR
164: (p_value_number <> FND_API.G_MISS_NUM AND
165: p_value_number IS NOT NULL AND
166: p_value_date <> FND_API.G_MISS_DATE AND
167: p_value_date IS NOT NULL) OR
168: (p_value_date <> FND_API.G_MISS_DATE AND
162: p_value_number <> FND_API.G_MISS_NUM AND
163: p_value_number IS NOT NULL) OR
164: (p_value_number <> FND_API.G_MISS_NUM AND
165: p_value_number IS NOT NULL AND
166: p_value_date <> FND_API.G_MISS_DATE AND
167: p_value_date IS NOT NULL) OR
168: (p_value_date <> FND_API.G_MISS_DATE AND
169: p_value_date IS NOT NULL AND
170: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
164: (p_value_number <> FND_API.G_MISS_NUM AND
165: p_value_number IS NOT NULL AND
166: p_value_date <> FND_API.G_MISS_DATE AND
167: p_value_date IS NOT NULL) OR
168: (p_value_date <> FND_API.G_MISS_DATE AND
169: p_value_date IS NOT NULL AND
170: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
171: p_value_varchar2 IS NOT NULL)
172: then
166: p_value_date <> FND_API.G_MISS_DATE AND
167: p_value_date IS NOT NULL) OR
168: (p_value_date <> FND_API.G_MISS_DATE AND
169: p_value_date IS NOT NULL AND
170: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
171: p_value_varchar2 IS NOT NULL)
172: then
173: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
174: FND_MSG_PUB.ADD;
171: p_value_varchar2 IS NOT NULL)
172: then
173: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
174: FND_MSG_PUB.ADD;
175: RAISE FND_API.G_EXC_ERROR;
176: end if;
177:
178: if p_value_varchar2 <> FND_API.G_MISS_CHAR and
179: p_value_varchar2 is not null then
174: FND_MSG_PUB.ADD;
175: RAISE FND_API.G_EXC_ERROR;
176: end if;
177:
178: if p_value_varchar2 <> FND_API.G_MISS_CHAR and
179: p_value_varchar2 is not null then
180: l_ret := Contains_Value(p_party_id, p_category, p_preference_code, p_value_varchar2_o => p_value_varchar2);
181: end if;
182:
179: p_value_varchar2 is not null then
180: l_ret := Contains_Value(p_party_id, p_category, p_preference_code, p_value_varchar2_o => p_value_varchar2);
181: end if;
182:
183: if p_value_number <> FND_API.G_MISS_NUM and
184: p_value_number is not null then
185: l_ret := Contains_Value(p_party_id, p_category, p_preference_code, p_value_number);
186: end if;
187:
184: p_value_number is not null then
185: l_ret := Contains_Value(p_party_id, p_category, p_preference_code, p_value_number);
186: end if;
187:
188: if p_value_date <> FND_API.G_MISS_DATE and
189: p_value_date is not null then
190: l_ret := Contains_Value(p_party_id, p_category, p_preference_code, p_value_date);
191: end if;
192:
195: EXCEPTION
196: WHEN NO_DATA_FOUND THEN
197: RETURN 'N';
198:
199: WHEN FND_API.G_EXC_ERROR THEN
200: RETURN FND_API.G_RET_STS_ERROR;
201:
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
196: WHEN NO_DATA_FOUND THEN
197: RETURN 'N';
198:
199: WHEN FND_API.G_EXC_ERROR THEN
200: RETURN FND_API.G_RET_STS_ERROR;
201:
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
204:
198:
199: WHEN FND_API.G_EXC_ERROR THEN
200: RETURN FND_API.G_RET_STS_ERROR;
201:
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
204:
205: WHEN OTHERS THEN
206: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
199: WHEN FND_API.G_EXC_ERROR THEN
200: RETURN FND_API.G_RET_STS_ERROR;
201:
202: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
203: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
204:
205: WHEN OTHERS THEN
206: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
207: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
205: WHEN OTHERS THEN
206: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
207: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
208: FND_MSG_PUB.ADD;
209: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
210:
211: END Contains_Value;
212:
213:
214: PROCEDURE Add(
215: p_party_id NUMBER
216: , p_category VARCHAR2
217: , p_preference_code VARCHAR2
218: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
219: , p_value_number NUMBER := FND_API.G_MISS_NUM
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
215: p_party_id NUMBER
216: , p_category VARCHAR2
217: , p_preference_code VARCHAR2
218: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
219: , p_value_number NUMBER := FND_API.G_MISS_NUM
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
216: , p_category VARCHAR2
217: , p_preference_code VARCHAR2
218: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
219: , p_value_number NUMBER := FND_API.G_MISS_NUM
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
217: , p_preference_code VARCHAR2
218: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
219: , p_value_number NUMBER := FND_API.G_MISS_NUM
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
218: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
219: , p_value_number NUMBER := FND_API.G_MISS_NUM
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
226: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
219: , p_value_number NUMBER := FND_API.G_MISS_NUM
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
226: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
227: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
220: , p_value_date DATE := FND_API.G_MISS_DATE
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
226: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
227: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
228: , x_return_status OUT NOCOPY VARCHAR2
221: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
226: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
227: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
228: , x_return_status OUT NOCOPY VARCHAR2
229: , x_msg_count OUT NOCOPY NUMBER
222: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
226: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
227: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
228: , x_return_status OUT NOCOPY VARCHAR2
229: , x_msg_count OUT NOCOPY NUMBER
230: , x_msg_data OUT NOCOPY VARCHAR2
223: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
224: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
225: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
226: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
227: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
228: , x_return_status OUT NOCOPY VARCHAR2
229: , x_msg_count OUT NOCOPY NUMBER
230: , x_msg_data OUT NOCOPY VARCHAR2
231: , x_object_version_number OUT NOCOPY NUMBER
255: ,l_return_status
256: );
257:
258: -- if the validation failed at some point, raise exception
259: if l_return_status = FND_API.G_RET_STS_ERROR then
260: RAISE FND_API.G_EXC_ERROR;
261: end if;
262:
263: -- if none of the preference values passed then it is an error
256: );
257:
258: -- if the validation failed at some point, raise exception
259: if l_return_status = FND_API.G_RET_STS_ERROR then
260: RAISE FND_API.G_EXC_ERROR;
261: end if;
262:
263: -- if none of the preference values passed then it is an error
264: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
260: RAISE FND_API.G_EXC_ERROR;
261: end if;
262:
263: -- if none of the preference values passed then it is an error
264: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
265: p_value_varchar2 IS NULL) AND
266: (p_value_number = FND_API.G_MISS_NUM OR
267: p_value_number IS NULL) AND
268: (p_value_date = FND_API.G_MISS_DATE OR
262:
263: -- if none of the preference values passed then it is an error
264: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
265: p_value_varchar2 IS NULL) AND
266: (p_value_number = FND_API.G_MISS_NUM OR
267: p_value_number IS NULL) AND
268: (p_value_date = FND_API.G_MISS_DATE OR
269: p_value_date IS NULL)
270: then
264: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
265: p_value_varchar2 IS NULL) AND
266: (p_value_number = FND_API.G_MISS_NUM OR
267: p_value_number IS NULL) AND
268: (p_value_date = FND_API.G_MISS_DATE OR
269: p_value_date IS NULL)
270: then
271: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_PREFERENCE');
272: FND_MSG_PUB.ADD;
269: p_value_date IS NULL)
270: then
271: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_PREFERENCE');
272: FND_MSG_PUB.ADD;
273: RAISE FND_API.G_EXC_ERROR;
274: end if;
275:
276: -- if more than one preference values passed, then it is an error
277: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
273: RAISE FND_API.G_EXC_ERROR;
274: end if;
275:
276: -- if more than one preference values passed, then it is an error
277: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
278: p_value_varchar2 IS NOT NULL AND
279: p_value_number <> FND_API.G_MISS_NUM AND
280: p_value_number IS NOT NULL) OR
281: (p_value_number <> FND_API.G_MISS_NUM AND
275:
276: -- if more than one preference values passed, then it is an error
277: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
278: p_value_varchar2 IS NOT NULL AND
279: p_value_number <> FND_API.G_MISS_NUM AND
280: p_value_number IS NOT NULL) OR
281: (p_value_number <> FND_API.G_MISS_NUM AND
282: p_value_number IS NOT NULL AND
283: p_value_date <> FND_API.G_MISS_DATE AND
277: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
278: p_value_varchar2 IS NOT NULL AND
279: p_value_number <> FND_API.G_MISS_NUM AND
280: p_value_number IS NOT NULL) OR
281: (p_value_number <> FND_API.G_MISS_NUM AND
282: p_value_number IS NOT NULL AND
283: p_value_date <> FND_API.G_MISS_DATE AND
284: p_value_date IS NOT NULL) OR
285: (p_value_date <> FND_API.G_MISS_DATE AND
279: p_value_number <> FND_API.G_MISS_NUM AND
280: p_value_number IS NOT NULL) OR
281: (p_value_number <> FND_API.G_MISS_NUM AND
282: p_value_number IS NOT NULL AND
283: p_value_date <> FND_API.G_MISS_DATE AND
284: p_value_date IS NOT NULL) OR
285: (p_value_date <> FND_API.G_MISS_DATE AND
286: p_value_date IS NOT NULL AND
287: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
281: (p_value_number <> FND_API.G_MISS_NUM AND
282: p_value_number IS NOT NULL AND
283: p_value_date <> FND_API.G_MISS_DATE AND
284: p_value_date IS NOT NULL) OR
285: (p_value_date <> FND_API.G_MISS_DATE AND
286: p_value_date IS NOT NULL AND
287: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
288: p_value_varchar2 IS NOT NULL)
289: then
283: p_value_date <> FND_API.G_MISS_DATE AND
284: p_value_date IS NOT NULL) OR
285: (p_value_date <> FND_API.G_MISS_DATE AND
286: p_value_date IS NOT NULL AND
287: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
288: p_value_varchar2 IS NOT NULL)
289: then
290: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
291: FND_MSG_PUB.ADD;
288: p_value_varchar2 IS NOT NULL)
289: then
290: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
291: FND_MSG_PUB.ADD;
292: RAISE FND_API.G_EXC_ERROR;
293: end if;
294:
295: -- if there is already some value set for the preference
296: -- and the preference is single-value type, then error
303: p_category,
304: p_preference_code) = 'Y' then -- already one preference value set
305: FND_MESSAGE.SET_NAME('AR', 'HZ_SINGLE_VALUE_PREFERENCE');
306: FND_MSG_PUB.ADD;
307: RAISE FND_API.G_EXC_ERROR;
308: end if;
309: end if;
310:
311: IF (Contains_Value(
354: denorm_pref_contact_method(p_party_id, p_value_varchar2);
355: END IF;
356: END IF;
357:
358: x_return_status := FND_API.G_RET_STS_SUCCESS;
359: x_object_version_number := l_object_version_number;
360:
361: FND_MSG_PUB.Count_And_Get(
362: p_encoded => FND_API.G_FALSE,
358: x_return_status := FND_API.G_RET_STS_SUCCESS;
359: x_object_version_number := l_object_version_number;
360:
361: FND_MSG_PUB.Count_And_Get(
362: p_encoded => FND_API.G_FALSE,
363: p_count => x_msg_count,
364: p_data => x_msg_data);
365:
366: EXCEPTION
364: p_data => x_msg_data);
365:
366: EXCEPTION
367:
368: WHEN FND_API.G_EXC_ERROR THEN
369: ROLLBACK TO add_preference;
370:
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: FND_MSG_PUB.Count_And_Get(
367:
368: WHEN FND_API.G_EXC_ERROR THEN
369: ROLLBACK TO add_preference;
370:
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: FND_MSG_PUB.Count_And_Get(
373: p_encoded => FND_API.G_FALSE,
374: p_count => x_msg_count,
375: p_data => x_msg_data);
369: ROLLBACK TO add_preference;
370:
371: x_return_status := FND_API.G_RET_STS_ERROR;
372: FND_MSG_PUB.Count_And_Get(
373: p_encoded => FND_API.G_FALSE,
374: p_count => x_msg_count,
375: p_data => x_msg_data);
376:
377: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
373: p_encoded => FND_API.G_FALSE,
374: p_count => x_msg_count,
375: p_data => x_msg_data);
376:
377: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
378: ROLLBACK TO add_preference;
379:
380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
381: FND_MSG_PUB.Count_And_Get(
376:
377: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
378: ROLLBACK TO add_preference;
379:
380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
381: FND_MSG_PUB.Count_And_Get(
382: p_encoded => FND_API.G_FALSE,
383: p_count => x_msg_count,
384: p_data => x_msg_data);
378: ROLLBACK TO add_preference;
379:
380: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
381: FND_MSG_PUB.Count_And_Get(
382: p_encoded => FND_API.G_FALSE,
383: p_count => x_msg_count,
384: p_data => x_msg_data);
385:
386: WHEN OTHERS THEN
385:
386: WHEN OTHERS THEN
387: ROLLBACK TO add_preference;
388:
389: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
391: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
392: FND_MSG_PUB.ADD;
393:
391: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
392: FND_MSG_PUB.ADD;
393:
394: FND_MSG_PUB.Count_And_Get(
395: p_encoded => FND_API.G_FALSE,
396: p_count => x_msg_count,
397: p_data => x_msg_data);
398:
399: END Add;
401: PROCEDURE Put(
402: p_party_id NUMBER
403: , p_category VARCHAR2
404: , p_preference_code VARCHAR2
405: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
406: , p_value_number NUMBER := FND_API.G_MISS_NUM
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
402: p_party_id NUMBER
403: , p_category VARCHAR2
404: , p_preference_code VARCHAR2
405: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
406: , p_value_number NUMBER := FND_API.G_MISS_NUM
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
403: , p_category VARCHAR2
404: , p_preference_code VARCHAR2
405: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
406: , p_value_number NUMBER := FND_API.G_MISS_NUM
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
404: , p_preference_code VARCHAR2
405: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
406: , p_value_number NUMBER := FND_API.G_MISS_NUM
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
405: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
406: , p_value_number NUMBER := FND_API.G_MISS_NUM
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
413: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
406: , p_value_number NUMBER := FND_API.G_MISS_NUM
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
413: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
414: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
407: , p_value_date DATE := FND_API.G_MISS_DATE
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
413: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
414: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
415: , p_object_version_number IN OUT NOCOPY NUMBER
408: , p_value_name VARCHAR2 := FND_API.G_MISS_CHAR
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
413: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
414: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
415: , p_object_version_number IN OUT NOCOPY NUMBER
416: , x_return_status OUT NOCOPY VARCHAR2
409: , p_module VARCHAR2 := FND_API.G_MISS_CHAR
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
413: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
414: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
415: , p_object_version_number IN OUT NOCOPY NUMBER
416: , x_return_status OUT NOCOPY VARCHAR2
417: , x_msg_count OUT NOCOPY NUMBER
410: , p_additional_value1 VARCHAR2 := FND_API.G_MISS_CHAR
411: , p_additional_value2 VARCHAR2 := FND_API.G_MISS_CHAR
412: , p_additional_value3 VARCHAR2 := FND_API.G_MISS_CHAR
413: , p_additional_value4 VARCHAR2 := FND_API.G_MISS_CHAR
414: , p_additional_value5 VARCHAR2 := FND_API.G_MISS_CHAR
415: , p_object_version_number IN OUT NOCOPY NUMBER
416: , x_return_status OUT NOCOPY VARCHAR2
417: , x_msg_count OUT NOCOPY NUMBER
418: , x_msg_data OUT NOCOPY VARCHAR2
445: ,l_return_status
446: );
447:
448: -- if the validation failed at some point, raise exception
449: if l_return_status = FND_API.G_RET_STS_ERROR then
450: RAISE FND_API.G_EXC_ERROR;
451: end if;
452:
453: -- if none of the preference values passed then it is an error
446: );
447:
448: -- if the validation failed at some point, raise exception
449: if l_return_status = FND_API.G_RET_STS_ERROR then
450: RAISE FND_API.G_EXC_ERROR;
451: end if;
452:
453: -- if none of the preference values passed then it is an error
454: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
450: RAISE FND_API.G_EXC_ERROR;
451: end if;
452:
453: -- if none of the preference values passed then it is an error
454: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
455: p_value_varchar2 IS NULL) AND
456: (p_value_number = FND_API.G_MISS_NUM OR
457: p_value_number IS NULL) AND
458: (p_value_date = FND_API.G_MISS_DATE OR
452:
453: -- if none of the preference values passed then it is an error
454: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
455: p_value_varchar2 IS NULL) AND
456: (p_value_number = FND_API.G_MISS_NUM OR
457: p_value_number IS NULL) AND
458: (p_value_date = FND_API.G_MISS_DATE OR
459: p_value_date IS NULL)
460: then
454: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
455: p_value_varchar2 IS NULL) AND
456: (p_value_number = FND_API.G_MISS_NUM OR
457: p_value_number IS NULL) AND
458: (p_value_date = FND_API.G_MISS_DATE OR
459: p_value_date IS NULL)
460: then
461: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_PREFERENCE');
462: FND_MSG_PUB.ADD;
459: p_value_date IS NULL)
460: then
461: FND_MESSAGE.SET_NAME('AR', 'HZ_NO_PREFERENCE');
462: FND_MSG_PUB.ADD;
463: RAISE FND_API.G_EXC_ERROR;
464: end if;
465:
466: -- if more than one preference values passed, then it is an error
467: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
463: RAISE FND_API.G_EXC_ERROR;
464: end if;
465:
466: -- if more than one preference values passed, then it is an error
467: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
468: p_value_varchar2 IS NOT NULL AND
469: p_value_number <> FND_API.G_MISS_NUM AND
470: p_value_number IS NOT NULL) OR
471: (p_value_number <> FND_API.G_MISS_NUM AND
465:
466: -- if more than one preference values passed, then it is an error
467: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
468: p_value_varchar2 IS NOT NULL AND
469: p_value_number <> FND_API.G_MISS_NUM AND
470: p_value_number IS NOT NULL) OR
471: (p_value_number <> FND_API.G_MISS_NUM AND
472: p_value_number IS NOT NULL AND
473: p_value_date <> FND_API.G_MISS_DATE AND
467: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
468: p_value_varchar2 IS NOT NULL AND
469: p_value_number <> FND_API.G_MISS_NUM AND
470: p_value_number IS NOT NULL) OR
471: (p_value_number <> FND_API.G_MISS_NUM AND
472: p_value_number IS NOT NULL AND
473: p_value_date <> FND_API.G_MISS_DATE AND
474: p_value_date IS NOT NULL) OR
475: (p_value_date <> FND_API.G_MISS_DATE AND
469: p_value_number <> FND_API.G_MISS_NUM AND
470: p_value_number IS NOT NULL) OR
471: (p_value_number <> FND_API.G_MISS_NUM AND
472: p_value_number IS NOT NULL AND
473: p_value_date <> FND_API.G_MISS_DATE AND
474: p_value_date IS NOT NULL) OR
475: (p_value_date <> FND_API.G_MISS_DATE AND
476: p_value_date IS NOT NULL AND
477: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
471: (p_value_number <> FND_API.G_MISS_NUM AND
472: p_value_number IS NOT NULL AND
473: p_value_date <> FND_API.G_MISS_DATE AND
474: p_value_date IS NOT NULL) OR
475: (p_value_date <> FND_API.G_MISS_DATE AND
476: p_value_date IS NOT NULL AND
477: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
478: p_value_varchar2 IS NOT NULL)
479: then
473: p_value_date <> FND_API.G_MISS_DATE AND
474: p_value_date IS NOT NULL) OR
475: (p_value_date <> FND_API.G_MISS_DATE AND
476: p_value_date IS NOT NULL AND
477: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
478: p_value_varchar2 IS NOT NULL)
479: then
480: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
481: FND_MSG_PUB.ADD;
478: p_value_varchar2 IS NOT NULL)
479: then
480: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
481: FND_MSG_PUB.ADD;
482: RAISE FND_API.G_EXC_ERROR;
483: end if;
484:
485: -- check if there is already an existing preference value
486: l_exists := Contains_Value(
546: then
547: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
548: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PARTY_PREFERENCES');
549: FND_MSG_PUB.ADD;
550: RAISE FND_API.G_EXC_ERROR;
551: end if;
552: l_object_version_number := o_object_version_number + 1;
553:
554: -- now call the update table handler to
579: THEN
580: denorm_pref_contact_method(p_party_id, p_value_varchar2);
581: END IF;
582:
583: x_return_status := FND_API.G_RET_STS_SUCCESS;
584: p_object_version_number := l_object_version_number;
585: else
586: Add(
587: p_party_id => p_party_id
601: , x_msg_count => x_msg_count
602: , x_msg_data => x_msg_data
603: , x_object_version_number => p_object_version_number
604: );
605: x_return_status := FND_API.G_RET_STS_SUCCESS;
606: end if;
607: end if;
608: ELSIF l_exists = 'Y'
609: THEN
609: THEN
610: -- update the preference
611: -- first we have to identify which record should
612: -- be updated based on what value was passed.
613: if p_value_varchar2 <> FND_API.G_MISS_CHAR AND
614: p_value_varchar2 IS NOT NULL
615: then
616: select party_preference_id, object_version_number
617: into l_party_preference_id, o_object_version_number
620: and category = p_category
621: and preference_code = p_preference_code
622: and value_varchar2 = p_value_varchar2
623: for update nowait;
624: elsif p_value_number <> FND_API.G_MISS_NUM AND
625: p_value_number IS NOT NULL
626: then
627: select party_preference_id, object_version_number
628: into l_party_preference_id, o_object_version_number
631: and category = p_category
632: and preference_code = p_preference_code
633: and value_number = p_value_number
634: for update nowait;
635: elsif p_value_date <> FND_API.G_MISS_DATE AND
636: p_value_date IS NOT NULL
637: then
638: select party_preference_id, object_version_number
639: into l_party_preference_id, o_object_version_number
650: then
651: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
652: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PARTY_PREFERENCES');
653: FND_MSG_PUB.ADD;
654: RAISE FND_API.G_EXC_ERROR;
655: end if;
656: l_object_version_number := o_object_version_number + 1;
657:
658: -- now call the update table handler to
683: THEN
684: denorm_pref_contact_method(p_party_id, p_value_varchar2);
685: END IF;
686:
687: x_return_status := FND_API.G_RET_STS_SUCCESS;
688: p_object_version_number := l_object_version_number;
689: END IF;
690:
691: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
687: x_return_status := FND_API.G_RET_STS_SUCCESS;
688: p_object_version_number := l_object_version_number;
689: END IF;
690:
691: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
692: IF(HZ_UTILITY_V2PUB.G_EXECUTE_API_CALLOUTS in ('EVENTS_ENABLED', 'BO_EVENTS_ENABLED')) THEN
693: IF(l_exists = 'Y') THEN
694: l_op := 'U';
695: l_ppref_id := l_party_preference_id;
703: END IF;
704: END IF;
705:
706: FND_MSG_PUB.Count_And_Get(
707: p_encoded => FND_API.G_FALSE,
708: p_count => x_msg_count,
709: p_data => x_msg_data);
710:
711: EXCEPTION
709: p_data => x_msg_data);
710:
711: EXCEPTION
712:
713: WHEN FND_API.G_EXC_ERROR THEN
714: ROLLBACK TO put_preference;
715:
716: x_return_status := FND_API.G_RET_STS_ERROR;
717: FND_MSG_PUB.Count_And_Get(
712:
713: WHEN FND_API.G_EXC_ERROR THEN
714: ROLLBACK TO put_preference;
715:
716: x_return_status := FND_API.G_RET_STS_ERROR;
717: FND_MSG_PUB.Count_And_Get(
718: p_encoded => FND_API.G_FALSE,
719: p_count => x_msg_count,
720: p_data => x_msg_data);
714: ROLLBACK TO put_preference;
715:
716: x_return_status := FND_API.G_RET_STS_ERROR;
717: FND_MSG_PUB.Count_And_Get(
718: p_encoded => FND_API.G_FALSE,
719: p_count => x_msg_count,
720: p_data => x_msg_data);
721:
722: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
718: p_encoded => FND_API.G_FALSE,
719: p_count => x_msg_count,
720: p_data => x_msg_data);
721:
722: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
723: ROLLBACK TO put_preference;
724:
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MSG_PUB.Count_And_Get(
721:
722: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
723: ROLLBACK TO put_preference;
724:
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MSG_PUB.Count_And_Get(
727: p_encoded => FND_API.G_FALSE,
728: p_count => x_msg_count,
729: p_data => x_msg_data);
723: ROLLBACK TO put_preference;
724:
725: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
726: FND_MSG_PUB.Count_And_Get(
727: p_encoded => FND_API.G_FALSE,
728: p_count => x_msg_count,
729: p_data => x_msg_data);
730:
731: WHEN OTHERS THEN
730:
731: WHEN OTHERS THEN
732: ROLLBACK TO put_preference;
733:
734: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
735: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
736: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
737: FND_MSG_PUB.ADD;
738:
736: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
737: FND_MSG_PUB.ADD;
738:
739: FND_MSG_PUB.Count_And_Get(
740: p_encoded => FND_API.G_FALSE,
741: p_count => x_msg_count,
742: p_data => x_msg_data);
743:
744: END Put;
746: PROCEDURE Remove(
747: p_party_id NUMBER
748: , p_category VARCHAR2
749: , p_preference_code VARCHAR2
750: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
751: , p_value_number NUMBER := FND_API.G_MISS_NUM
752: , p_value_date DATE := FND_API.G_MISS_DATE
753: , p_object_version_number NUMBER
754: , x_return_status OUT NOCOPY VARCHAR2
747: p_party_id NUMBER
748: , p_category VARCHAR2
749: , p_preference_code VARCHAR2
750: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
751: , p_value_number NUMBER := FND_API.G_MISS_NUM
752: , p_value_date DATE := FND_API.G_MISS_DATE
753: , p_object_version_number NUMBER
754: , x_return_status OUT NOCOPY VARCHAR2
755: , x_msg_count OUT NOCOPY NUMBER
748: , p_category VARCHAR2
749: , p_preference_code VARCHAR2
750: , p_value_varchar2 VARCHAR2 := FND_API.G_MISS_CHAR
751: , p_value_number NUMBER := FND_API.G_MISS_NUM
752: , p_value_date DATE := FND_API.G_MISS_DATE
753: , p_object_version_number NUMBER
754: , x_return_status OUT NOCOPY VARCHAR2
755: , x_msg_count OUT NOCOPY NUMBER
756: , x_msg_data OUT NOCOPY VARCHAR2
770: ,l_return_status
771: );
772:
773: -- if the validation failed at some point, raise exception
774: if l_return_status = FND_API.G_RET_STS_ERROR then
775: RAISE FND_API.G_EXC_ERROR;
776: end if;
777:
778: x_return_status := l_return_status;
771: );
772:
773: -- if the validation failed at some point, raise exception
774: if l_return_status = FND_API.G_RET_STS_ERROR then
775: RAISE FND_API.G_EXC_ERROR;
776: end if;
777:
778: x_return_status := l_return_status;
779:
777:
778: x_return_status := l_return_status;
779:
780: -- if more than one preference values passed, then it is an error
781: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
782: p_value_varchar2 IS NOT NULL AND
783: p_value_number <> FND_API.G_MISS_NUM AND
784: p_value_number IS NOT NULL) OR
785: (p_value_number <> FND_API.G_MISS_NUM AND
779:
780: -- if more than one preference values passed, then it is an error
781: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
782: p_value_varchar2 IS NOT NULL AND
783: p_value_number <> FND_API.G_MISS_NUM AND
784: p_value_number IS NOT NULL) OR
785: (p_value_number <> FND_API.G_MISS_NUM AND
786: p_value_number IS NOT NULL AND
787: p_value_date <> FND_API.G_MISS_DATE AND
781: if (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
782: p_value_varchar2 IS NOT NULL AND
783: p_value_number <> FND_API.G_MISS_NUM AND
784: p_value_number IS NOT NULL) OR
785: (p_value_number <> FND_API.G_MISS_NUM AND
786: p_value_number IS NOT NULL AND
787: p_value_date <> FND_API.G_MISS_DATE AND
788: p_value_date IS NOT NULL) OR
789: (p_value_date <> FND_API.G_MISS_DATE AND
783: p_value_number <> FND_API.G_MISS_NUM AND
784: p_value_number IS NOT NULL) OR
785: (p_value_number <> FND_API.G_MISS_NUM AND
786: p_value_number IS NOT NULL AND
787: p_value_date <> FND_API.G_MISS_DATE AND
788: p_value_date IS NOT NULL) OR
789: (p_value_date <> FND_API.G_MISS_DATE AND
790: p_value_date IS NOT NULL AND
791: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
785: (p_value_number <> FND_API.G_MISS_NUM AND
786: p_value_number IS NOT NULL AND
787: p_value_date <> FND_API.G_MISS_DATE AND
788: p_value_date IS NOT NULL) OR
789: (p_value_date <> FND_API.G_MISS_DATE AND
790: p_value_date IS NOT NULL AND
791: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
792: p_value_varchar2 IS NOT NULL)
793: then
787: p_value_date <> FND_API.G_MISS_DATE AND
788: p_value_date IS NOT NULL) OR
789: (p_value_date <> FND_API.G_MISS_DATE AND
790: p_value_date IS NOT NULL AND
791: p_value_varchar2 <> FND_API.G_MISS_CHAR AND
792: p_value_varchar2 IS NOT NULL)
793: then
794: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
795: FND_MSG_PUB.ADD;
792: p_value_varchar2 IS NOT NULL)
793: then
794: FND_MESSAGE.SET_NAME('AR', 'HZ_MULTIPLE_PREFERENCES');
795: FND_MSG_PUB.ADD;
796: RAISE FND_API.G_EXC_ERROR;
797: end if;
798:
799: -- if none of the values is specified, delete all
800: -- preferences for given party, category, preference_code
797: end if;
798:
799: -- if none of the values is specified, delete all
800: -- preferences for given party, category, preference_code
801: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
802: p_value_varchar2 IS NULL) AND
803: (p_value_number = FND_API.G_MISS_NUM OR
804: p_value_number IS NULL) AND
805: (p_value_date = FND_API.G_MISS_DATE OR
799: -- if none of the values is specified, delete all
800: -- preferences for given party, category, preference_code
801: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
802: p_value_varchar2 IS NULL) AND
803: (p_value_number = FND_API.G_MISS_NUM OR
804: p_value_number IS NULL) AND
805: (p_value_date = FND_API.G_MISS_DATE OR
806: p_value_date IS NULL)
807: then
801: if (p_value_varchar2 = FND_API.G_MISS_CHAR OR
802: p_value_varchar2 IS NULL) AND
803: (p_value_number = FND_API.G_MISS_NUM OR
804: p_value_number IS NULL) AND
805: (p_value_date = FND_API.G_MISS_DATE OR
806: p_value_date IS NULL)
807: then
808: DELETE FROM hz_party_preferences
809: WHERE party_id = p_party_id
815: THEN
816: denorm_pref_contact_method(p_party_id, null);
817: END IF;
818:
819: elsif (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
820: p_value_varchar2 IS NOT NULL) AND
821: (p_value_number = FND_API.G_MISS_NUM OR
822: p_value_number IS NULL) AND
823: (p_value_date = FND_API.G_MISS_DATE OR
817: END IF;
818:
819: elsif (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
820: p_value_varchar2 IS NOT NULL) AND
821: (p_value_number = FND_API.G_MISS_NUM OR
822: p_value_number IS NULL) AND
823: (p_value_date = FND_API.G_MISS_DATE OR
824: p_value_date IS NULL)
825: then
819: elsif (p_value_varchar2 <> FND_API.G_MISS_CHAR AND
820: p_value_varchar2 IS NOT NULL) AND
821: (p_value_number = FND_API.G_MISS_NUM OR
822: p_value_number IS NULL) AND
823: (p_value_date = FND_API.G_MISS_DATE OR
824: p_value_date IS NULL)
825: then
826: DELETE FROM hz_party_preferences
827: WHERE party_id = p_party_id
835: THEN
836: denorm_pref_contact_method(p_party_id, null);
837: END IF;
838:
839: elsif (p_value_varchar2 = FND_API.G_MISS_CHAR OR
840: p_value_varchar2 IS NULL) AND
841: (p_value_number <> FND_API.G_MISS_NUM AND
842: p_value_number IS NOT NULL) AND
843: (p_value_date = FND_API.G_MISS_DATE OR
837: END IF;
838:
839: elsif (p_value_varchar2 = FND_API.G_MISS_CHAR OR
840: p_value_varchar2 IS NULL) AND
841: (p_value_number <> FND_API.G_MISS_NUM AND
842: p_value_number IS NOT NULL) AND
843: (p_value_date = FND_API.G_MISS_DATE OR
844: p_value_date IS NULL)
845: then
839: elsif (p_value_varchar2 = FND_API.G_MISS_CHAR OR
840: p_value_varchar2 IS NULL) AND
841: (p_value_number <> FND_API.G_MISS_NUM AND
842: p_value_number IS NOT NULL) AND
843: (p_value_date = FND_API.G_MISS_DATE OR
844: p_value_date IS NULL)
845: then
846: DELETE FROM hz_party_preferences
847: WHERE party_id = p_party_id
849: AND preference_code = p_preference_code
850: AND value_number = p_value_number
851: AND object_version_number = p_object_version_number;
852:
853: elsif (p_value_varchar2 = FND_API.G_MISS_CHAR OR
854: p_value_varchar2 IS NULL) AND
855: (p_value_number = FND_API.G_MISS_NUM OR
856: p_value_number IS NULL) AND
857: (p_value_date <> FND_API.G_MISS_DATE AND
851: AND object_version_number = p_object_version_number;
852:
853: elsif (p_value_varchar2 = FND_API.G_MISS_CHAR OR
854: p_value_varchar2 IS NULL) AND
855: (p_value_number = FND_API.G_MISS_NUM OR
856: p_value_number IS NULL) AND
857: (p_value_date <> FND_API.G_MISS_DATE AND
858: p_value_date IS NOT NULL)
859: then
853: elsif (p_value_varchar2 = FND_API.G_MISS_CHAR OR
854: p_value_varchar2 IS NULL) AND
855: (p_value_number = FND_API.G_MISS_NUM OR
856: p_value_number IS NULL) AND
857: (p_value_date <> FND_API.G_MISS_DATE AND
858: p_value_date IS NOT NULL)
859: then
860: DELETE FROM hz_party_preferences
861: WHERE party_id = p_party_id
866:
867: end if;
868:
869: FND_MSG_PUB.Count_And_Get(
870: p_encoded => FND_API.G_FALSE,
871: p_count => x_msg_count,
872: p_data => x_msg_data);
873:
874: EXCEPTION
872: p_data => x_msg_data);
873:
874: EXCEPTION
875:
876: WHEN FND_API.G_EXC_ERROR THEN
877: ROLLBACK TO remove_preference;
878:
879: x_return_status := FND_API.G_RET_STS_ERROR;
880: FND_MSG_PUB.Count_And_Get(
875:
876: WHEN FND_API.G_EXC_ERROR THEN
877: ROLLBACK TO remove_preference;
878:
879: x_return_status := FND_API.G_RET_STS_ERROR;
880: FND_MSG_PUB.Count_And_Get(
881: p_encoded => FND_API.G_FALSE,
882: p_count => x_msg_count,
883: p_data => x_msg_data);
877: ROLLBACK TO remove_preference;
878:
879: x_return_status := FND_API.G_RET_STS_ERROR;
880: FND_MSG_PUB.Count_And_Get(
881: p_encoded => FND_API.G_FALSE,
882: p_count => x_msg_count,
883: p_data => x_msg_data);
884:
885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
881: p_encoded => FND_API.G_FALSE,
882: p_count => x_msg_count,
883: p_data => x_msg_data);
884:
885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
886: ROLLBACK TO remove_preference;
887:
888: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
889: FND_MSG_PUB.Count_And_Get(
884:
885: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
886: ROLLBACK TO remove_preference;
887:
888: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
889: FND_MSG_PUB.Count_And_Get(
890: p_encoded => FND_API.G_FALSE,
891: p_count => x_msg_count,
892: p_data => x_msg_data);
886: ROLLBACK TO remove_preference;
887:
888: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
889: FND_MSG_PUB.Count_And_Get(
890: p_encoded => FND_API.G_FALSE,
891: p_count => x_msg_count,
892: p_data => x_msg_data);
893:
894: WHEN OTHERS THEN
893:
894: WHEN OTHERS THEN
895: ROLLBACK TO remove_preference;
896:
897: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
898: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
899: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
900: FND_MSG_PUB.ADD;
901: FND_MSG_PUB.Count_And_Get(
898: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
899: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
900: FND_MSG_PUB.ADD;
901: FND_MSG_PUB.Count_And_Get(
902: p_encoded => FND_API.G_FALSE,
903: p_count => x_msg_count,
904: p_data => x_msg_data);
905:
906: END Remove;
927: ,l_return_status
928: );
929:
930: -- if the validation failed at some point, raise exception
931: if l_return_status = FND_API.G_RET_STS_ERROR then
932: RAISE FND_API.G_EXC_ERROR;
933: end if;
934:
935: x_return_status := l_return_status;
928: );
929:
930: -- if the validation failed at some point, raise exception
931: if l_return_status = FND_API.G_RET_STS_ERROR then
932: RAISE FND_API.G_EXC_ERROR;
933: end if;
934:
935: x_return_status := l_return_status;
936:
940: WHERE CATEGORY = p_category
941: AND PREFERENCE_CODE = p_preference_code
942: AND PARTY_ID = p_party_id;
943:
944: x_return_status := FND_API.G_RET_STS_SUCCESS;
945:
946: FND_MSG_PUB.Count_And_Get(
947: p_encoded => FND_API.G_FALSE,
948: p_count => x_msg_count,
943:
944: x_return_status := FND_API.G_RET_STS_SUCCESS;
945:
946: FND_MSG_PUB.Count_And_Get(
947: p_encoded => FND_API.G_FALSE,
948: p_count => x_msg_count,
949: p_data => x_msg_data);
950:
951: EXCEPTION
949: p_data => x_msg_data);
950:
951: EXCEPTION
952:
953: WHEN FND_API.G_EXC_ERROR THEN
954: x_return_status := FND_API.G_RET_STS_ERROR;
955: FND_MSG_PUB.Count_And_Get(
956: p_encoded => FND_API.G_FALSE,
957: p_count => x_msg_count,
950:
951: EXCEPTION
952:
953: WHEN FND_API.G_EXC_ERROR THEN
954: x_return_status := FND_API.G_RET_STS_ERROR;
955: FND_MSG_PUB.Count_And_Get(
956: p_encoded => FND_API.G_FALSE,
957: p_count => x_msg_count,
958: p_data => x_msg_data);
952:
953: WHEN FND_API.G_EXC_ERROR THEN
954: x_return_status := FND_API.G_RET_STS_ERROR;
955: FND_MSG_PUB.Count_And_Get(
956: p_encoded => FND_API.G_FALSE,
957: p_count => x_msg_count,
958: p_data => x_msg_data);
959:
960: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
956: p_encoded => FND_API.G_FALSE,
957: p_count => x_msg_count,
958: p_data => x_msg_data);
959:
960: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
962: FND_MSG_PUB.Count_And_Get(
963: p_encoded => FND_API.G_FALSE,
964: p_count => x_msg_count,
957: p_count => x_msg_count,
958: p_data => x_msg_data);
959:
960: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
962: FND_MSG_PUB.Count_And_Get(
963: p_encoded => FND_API.G_FALSE,
964: p_count => x_msg_count,
965: p_data => x_msg_data);
959:
960: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
961: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
962: FND_MSG_PUB.Count_And_Get(
963: p_encoded => FND_API.G_FALSE,
964: p_count => x_msg_count,
965: p_data => x_msg_data);
966:
967: WHEN OTHERS THEN
964: p_count => x_msg_count,
965: p_data => x_msg_data);
966:
967: WHEN OTHERS THEN
968: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
969: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
970: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
971: FND_MSG_PUB.ADD;
972: FND_MSG_PUB.Count_And_Get(
969: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
970: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
971: FND_MSG_PUB.ADD;
972: FND_MSG_PUB.Count_And_Get(
973: p_encoded => FND_API.G_FALSE,
974: p_count => x_msg_count,
975: p_data => x_msg_data);
976:
977: END Retrieve;
1003: ,l_return_status
1004: );
1005:
1006: -- if the validation failed at some point, raise exception
1007: if l_return_status = FND_API.G_RET_STS_ERROR then
1008: RAISE FND_API.G_EXC_ERROR;
1009: end if;
1010:
1011: OPEN c_pref(p_party_id, p_category, p_preference_code);
1004: );
1005:
1006: -- if the validation failed at some point, raise exception
1007: if l_return_status = FND_API.G_RET_STS_ERROR then
1008: RAISE FND_API.G_EXC_ERROR;
1009: end if;
1010:
1011: OPEN c_pref(p_party_id, p_category, p_preference_code);
1012: FETCH c_pref into l_vchar2;
1020: EXCEPTION
1021: WHEN NO_DATA_FOUND THEN
1022: RETURN NULL;
1023:
1024: WHEN FND_API.G_EXC_ERROR THEN
1025: RETURN NULL;
1026:
1027: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1028: RETURN NULL;
1023:
1024: WHEN FND_API.G_EXC_ERROR THEN
1025: RETURN NULL;
1026:
1027: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1028: RETURN NULL;
1029:
1030: WHEN OTHERS THEN
1031: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1061: ,l_return_status
1062: );
1063:
1064: -- if the validation failed at some point, raise exception
1065: if l_return_status = FND_API.G_RET_STS_ERROR then
1066: RAISE FND_API.G_EXC_ERROR;
1067: end if;
1068:
1069: OPEN c_pref(p_party_id, p_category, p_preference_code);
1062: );
1063:
1064: -- if the validation failed at some point, raise exception
1065: if l_return_status = FND_API.G_RET_STS_ERROR then
1066: RAISE FND_API.G_EXC_ERROR;
1067: end if;
1068:
1069: OPEN c_pref(p_party_id, p_category, p_preference_code);
1070: FETCH c_pref into l_num;
1078: EXCEPTION
1079: WHEN NO_DATA_FOUND THEN
1080: RETURN NULL;
1081:
1082: WHEN FND_API.G_EXC_ERROR THEN
1083: RETURN NULL;
1084:
1085: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1086: RETURN NULL;
1081:
1082: WHEN FND_API.G_EXC_ERROR THEN
1083: RETURN NULL;
1084:
1085: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1086: RETURN NULL;
1087:
1088: WHEN OTHERS THEN
1089: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1120: ,l_return_status
1121: );
1122:
1123: -- if the validation failed at some point, raise exception
1124: if l_return_status = FND_API.G_RET_STS_ERROR then
1125: RAISE FND_API.G_EXC_ERROR;
1126: end if;
1127:
1128: OPEN c_pref(p_party_id, p_category, p_preference_code);
1121: );
1122:
1123: -- if the validation failed at some point, raise exception
1124: if l_return_status = FND_API.G_RET_STS_ERROR then
1125: RAISE FND_API.G_EXC_ERROR;
1126: end if;
1127:
1128: OPEN c_pref(p_party_id, p_category, p_preference_code);
1129: FETCH c_pref into l_date;
1137: EXCEPTION
1138: WHEN NO_DATA_FOUND THEN
1139: RETURN NULL;
1140:
1141: WHEN FND_API.G_EXC_ERROR THEN
1142: RETURN NULL;
1143:
1144: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1145: RETURN NULL;
1140:
1141: WHEN FND_API.G_EXC_ERROR THEN
1142: RETURN NULL;
1143:
1144: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1145: RETURN NULL;
1146:
1147: WHEN OTHERS THEN
1148: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1157: FUNCTION Contains_Value(
1158: p_party_id NUMBER
1159: , p_category VARCHAR2
1160: , p_preference_code VARCHAR2
1161: , p_value_number NUMBER --:= FND_API.G_MISS_NUM
1162: ) RETURN VARCHAR2
1163: AS
1164: l_dummy NUMBER;
1165: l_return_status VARCHAR2(1);
1172: ,l_return_status
1173: );
1174:
1175: -- if the validation failed at some point, raise exception
1176: if l_return_status = FND_API.G_RET_STS_ERROR then
1177: RAISE FND_API.G_EXC_ERROR;
1178: end if;
1179:
1180: SELECT 1
1173: );
1174:
1175: -- if the validation failed at some point, raise exception
1176: if l_return_status = FND_API.G_RET_STS_ERROR then
1177: RAISE FND_API.G_EXC_ERROR;
1178: end if;
1179:
1180: SELECT 1
1181: INTO l_dummy
1191: EXCEPTION
1192: WHEN NO_DATA_FOUND THEN
1193: RETURN 'N';
1194:
1195: WHEN FND_API.G_EXC_ERROR THEN
1196: RETURN FND_API.G_RET_STS_ERROR;
1197:
1198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1199: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1192: WHEN NO_DATA_FOUND THEN
1193: RETURN 'N';
1194:
1195: WHEN FND_API.G_EXC_ERROR THEN
1196: RETURN FND_API.G_RET_STS_ERROR;
1197:
1198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1199: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1200:
1194:
1195: WHEN FND_API.G_EXC_ERROR THEN
1196: RETURN FND_API.G_RET_STS_ERROR;
1197:
1198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1199: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1200:
1201: WHEN OTHERS THEN
1202: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1195: WHEN FND_API.G_EXC_ERROR THEN
1196: RETURN FND_API.G_RET_STS_ERROR;
1197:
1198: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1199: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1200:
1201: WHEN OTHERS THEN
1202: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1203: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1201: WHEN OTHERS THEN
1202: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1203: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1204: FND_MSG_PUB.ADD;
1205: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1206:
1207: END Contains_Value;
1208:
1209:
1211: FUNCTION Contains_Value(
1212: p_party_id NUMBER
1213: , p_category VARCHAR2
1214: , p_preference_code VARCHAR2
1215: , p_value_date DATE --:= FND_API.G_MISS_DATE
1216: ) RETURN VARCHAR2
1217: AS
1218: l_dummy NUMBER;
1219: l_return_status VARCHAR2(1);
1226: ,l_return_status
1227: );
1228:
1229: -- if the validation failed at some point, raise exception
1230: if l_return_status = FND_API.G_RET_STS_ERROR then
1231: RAISE FND_API.G_EXC_ERROR;
1232: end if;
1233:
1234: SELECT 1
1227: );
1228:
1229: -- if the validation failed at some point, raise exception
1230: if l_return_status = FND_API.G_RET_STS_ERROR then
1231: RAISE FND_API.G_EXC_ERROR;
1232: end if;
1233:
1234: SELECT 1
1235: INTO l_dummy
1245: EXCEPTION
1246: WHEN NO_DATA_FOUND THEN
1247: RETURN 'N';
1248:
1249: WHEN FND_API.G_EXC_ERROR THEN
1250: RETURN FND_API.G_RET_STS_ERROR;
1251:
1252: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1253: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1246: WHEN NO_DATA_FOUND THEN
1247: RETURN 'N';
1248:
1249: WHEN FND_API.G_EXC_ERROR THEN
1250: RETURN FND_API.G_RET_STS_ERROR;
1251:
1252: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1253: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1254:
1248:
1249: WHEN FND_API.G_EXC_ERROR THEN
1250: RETURN FND_API.G_RET_STS_ERROR;
1251:
1252: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1253: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1254:
1255: WHEN OTHERS THEN
1256: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1249: WHEN FND_API.G_EXC_ERROR THEN
1250: RETURN FND_API.G_RET_STS_ERROR;
1251:
1252: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1253: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1254:
1255: WHEN OTHERS THEN
1256: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1257: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1255: WHEN OTHERS THEN
1256: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1257: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1258: FND_MSG_PUB.ADD;
1259: RETURN FND_API.G_RET_STS_UNEXP_ERROR;
1260:
1261: END Contains_Value;
1262:
1263:
1269: ) IS
1270: l_dummy VARCHAR2(1);
1271: BEGIN
1272:
1273: x_return_status := FND_API.G_RET_STS_SUCCESS;
1274:
1275: -- check whether party id has been passed in.
1276: IF p_party_id IS NULL OR
1277: p_party_id = FND_API.G_MISS_NUM THEN
1273: x_return_status := FND_API.G_RET_STS_SUCCESS;
1274:
1275: -- check whether party id has been passed in.
1276: IF p_party_id IS NULL OR
1277: p_party_id = FND_API.G_MISS_NUM THEN
1278: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1279: FND_MESSAGE.SET_TOKEN('COLUMN', 'party id');
1280: FND_MSG_PUB.ADD;
1281: RAISE FND_API.G_EXC_ERROR;
1277: p_party_id = FND_API.G_MISS_NUM THEN
1278: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1279: FND_MESSAGE.SET_TOKEN('COLUMN', 'party id');
1280: FND_MSG_PUB.ADD;
1281: RAISE FND_API.G_EXC_ERROR;
1282: END IF;
1283:
1284: -- check whether category has been passed in.
1285: IF p_category IS NULL OR
1282: END IF;
1283:
1284: -- check whether category has been passed in.
1285: IF p_category IS NULL OR
1286: p_category = FND_API.G_MISS_CHAR THEN
1287: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1288: FND_MESSAGE.SET_TOKEN('COLUMN', 'category');
1289: FND_MSG_PUB.ADD;
1290: RAISE FND_API.G_EXC_ERROR;
1286: p_category = FND_API.G_MISS_CHAR THEN
1287: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1288: FND_MESSAGE.SET_TOKEN('COLUMN', 'category');
1289: FND_MSG_PUB.ADD;
1290: RAISE FND_API.G_EXC_ERROR;
1291: END IF;
1292:
1293: -- check whether preference code has been passed in.
1294: IF p_preference_code IS NULL OR
1291: END IF;
1292:
1293: -- check whether preference code has been passed in.
1294: IF p_preference_code IS NULL OR
1295: p_preference_code = FND_API.G_MISS_CHAR THEN
1296: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1297: FND_MESSAGE.SET_TOKEN('COLUMN', 'preference code');
1298: FND_MSG_PUB.ADD;
1299: RAISE FND_API.G_EXC_ERROR;
1295: p_preference_code = FND_API.G_MISS_CHAR THEN
1296: FND_MESSAGE.SET_NAME('AR', 'HZ_API_MISSING_COLUMN');
1297: FND_MESSAGE.SET_TOKEN('COLUMN', 'preference code');
1298: FND_MSG_PUB.ADD;
1299: RAISE FND_API.G_EXC_ERROR;
1300: END IF;
1301:
1302: -- check if valid party_id has been passed
1303: begin
1310: FND_MESSAGE.SET_TOKEN('FK', 'party id');
1311: FND_MESSAGE.SET_TOKEN('COLUMN' ,'party_id');
1312: FND_MESSAGE.SET_TOKEN('TABLE' ,'HZ_PARTIES');
1313: FND_MSG_PUB.ADD;
1314: RAISE FND_API.G_EXC_ERROR;
1315: when others then
1316: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1317: end;
1318:
1312: FND_MESSAGE.SET_TOKEN('TABLE' ,'HZ_PARTIES');
1313: FND_MSG_PUB.ADD;
1314: RAISE FND_API.G_EXC_ERROR;
1315: when others then
1316: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1317: end;
1318:
1319: -- check if valid preference code has been passed
1320: hz_common_pub.validate_lookup(
1322: p_column => 'preference code',
1323: p_column_value => p_preference_code,
1324: x_return_status => x_return_status);
1325:
1326: if x_return_status = FND_API.G_RET_STS_ERROR then
1327: RAISE FND_API.G_EXC_ERROR;
1328: end if;
1329:
1330: EXCEPTION
1323: p_column_value => p_preference_code,
1324: x_return_status => x_return_status);
1325:
1326: if x_return_status = FND_API.G_RET_STS_ERROR then
1327: RAISE FND_API.G_EXC_ERROR;
1328: end if;
1329:
1330: EXCEPTION
1331:
1328: end if;
1329:
1330: EXCEPTION
1331:
1332: WHEN FND_API.G_EXC_ERROR THEN
1333: x_return_status := FND_API.G_RET_STS_ERROR;
1334:
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1329:
1330: EXCEPTION
1331:
1332: WHEN FND_API.G_EXC_ERROR THEN
1333: x_return_status := FND_API.G_RET_STS_ERROR;
1334:
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1337:
1331:
1332: WHEN FND_API.G_EXC_ERROR THEN
1333: x_return_status := FND_API.G_RET_STS_ERROR;
1334:
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1337:
1338: WHEN OTHERS THEN
1339: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1332: WHEN FND_API.G_EXC_ERROR THEN
1333: x_return_status := FND_API.G_RET_STS_ERROR;
1334:
1335: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1336: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1337:
1338: WHEN OTHERS THEN
1339: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
1340: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
1366: WHEN OTHERS THEN
1367: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
1368: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PARTIES');
1369: FND_MSG_PUB.ADD;
1370: RAISE FND_API.G_EXC_ERROR;
1371: END;
1372:
1373: UPDATE hz_parties
1374: SET preferred_contact_method = p_value_varchar2