28: */
29:
30: PROCEDURE set_certification_level (
31: -- input parameters
32: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
33: p_party_id IN number,
34: p_cert_level IN VARCHAR2,
35: p_cert_reason_code IN VARCHAR2,
36: -- in/out parameters
51: l_rowid ROWID;
52: l_party_id NUMBER;
53: l_count NUMBER;
54: l_cert_reason_code varchar2(30);
55: dss_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
56: dss_msg_count NUMBER := 0;
57: dss_msg_data VARCHAR2(2000):= null;
58: l_test_security VARCHAR2(1):= 'F';
59: l_party_type varchar2(30);
63: -- standard start of API savepoint
64: SAVEPOINT set_certification_level ;
65:
66: -- initialize message list if p_init_msg_list is set to TRUE.
67: IF FND_API.to_Boolean(p_init_msg_list) THEN
68: FND_MSG_PUB.initialize;
69: END IF;
70:
71: -- initialize API return status to success.
68: FND_MSG_PUB.initialize;
69: END IF;
70:
71: -- initialize API return status to success.
72: x_return_status := FND_API.G_RET_STS_SUCCESS;
73:
74: -- check whether record has been updated by another user.
75: -- if not, lock it.
76:
86: FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
87: FND_MESSAGE.SET_TOKEN('RECORD', 'party of type organization');
88: FND_MESSAGE.SET_TOKEN('VALUE', NVL(TO_CHAR(P_PARTY_ID), 'NULL'));
89: FND_MSG_PUB.ADD;
90: RAISE FND_API.G_EXC_ERROR;
91: END;
92:
93: -- If this happens the record has changed
94: IF NOT ((x_object_version_number is null and l_object_version_number is null)
96: THEN
97: FND_MESSAGE.SET_NAME('AR', 'HZ_API_RECORD_CHANGED');
98: FND_MESSAGE.SET_TOKEN('TABLE', 'HZ_PARTIES');
99: FND_MSG_PUB.ADD;
100: RAISE FND_API.G_EXC_ERROR;
101: END IF;
102:
103: x_object_version_number := nvl(l_object_version_number, 1) + 1;
104:
103: x_object_version_number := nvl(l_object_version_number, 1) + 1;
104:
105:
106: l_cert_reason_code := p_cert_reason_code;
107: if (p_cert_level is null or p_cert_level = FND_API.G_MISS_CHAR)
108: then
109: l_cert_reason_code := null;
110: end if;
111:
113: ----------------------------------
114: -- VALIDATIONS
115: ----------------------------------
116: -- validate the passed in certification status against ar_lookups
117: -- only if it is non-trivial ( neither null nor fnd_api.g_miss_char)
118:
119: IF p_cert_level is not null and p_cert_level <> FND_API.G_MISS_CHAR
120: THEN
121: HZ_UTILITY_V2PUB.validate_lookup(
115: ----------------------------------
116: -- validate the passed in certification status against ar_lookups
117: -- only if it is non-trivial ( neither null nor fnd_api.g_miss_char)
118:
119: IF p_cert_level is not null and p_cert_level <> FND_API.G_MISS_CHAR
120: THEN
121: HZ_UTILITY_V2PUB.validate_lookup(
122: p_column => 'certification_level',
123: p_lookup_type => 'HZ_PARTY_CERT_LEVEL',
125: x_return_status => x_return_status
126: );
127: END IF;
128:
129: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
130: THEN
131: RAISE FND_API.G_EXC_ERROR;
132: END IF;
133:
127: END IF;
128:
129: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
130: THEN
131: RAISE FND_API.G_EXC_ERROR;
132: END IF;
133:
134:
135: -- validate the passed in certification reason code against ar_lookups
132: END IF;
133:
134:
135: -- validate the passed in certification reason code against ar_lookups
136: -- only if it is non-trivial ( neither null nor fnd_api.g_miss_char)
137:
138: IF p_cert_reason_code is not null and p_cert_reason_code <> FND_API.G_MISS_CHAR
139: THEN
140: HZ_UTILITY_V2PUB.validate_lookup(
134:
135: -- validate the passed in certification reason code against ar_lookups
136: -- only if it is non-trivial ( neither null nor fnd_api.g_miss_char)
137:
138: IF p_cert_reason_code is not null and p_cert_reason_code <> FND_API.G_MISS_CHAR
139: THEN
140: HZ_UTILITY_V2PUB.validate_lookup(
141: p_column => 'cert_reason_code',
142: p_lookup_type => 'HZ_PARTY_CERT_REASON',
144: x_return_status => x_return_status
145: );
146: END IF;
147:
148: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
149: THEN
150: RAISE FND_API.G_EXC_ERROR;
151: END IF;
152:
146: END IF;
147:
148: IF x_return_status <> FND_API.G_RET_STS_SUCCESS
149: THEN
150: RAISE FND_API.G_EXC_ERROR;
151: END IF;
152:
153:
154:
163: x_return_status => dss_return_status,
164: x_msg_count => dss_msg_count,
165: x_msg_data => dss_msg_data);
166:
167: if dss_return_status <> fnd_api.g_ret_sts_success THEN
168: RAISE FND_API.G_EXC_ERROR;
169: end if;
170:
171: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
164: x_msg_count => dss_msg_count,
165: x_msg_data => dss_msg_data);
166:
167: if dss_return_status <> fnd_api.g_ret_sts_success THEN
168: RAISE FND_API.G_EXC_ERROR;
169: end if;
170:
171: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
172:
167: if dss_return_status <> fnd_api.g_ret_sts_success THEN
168: RAISE FND_API.G_EXC_ERROR;
169: end if;
170:
171: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
172:
173: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
174: FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
175: hz_dss_util_pub.get_display_name('HZ_PARTIES', null));
173: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
174: FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
175: hz_dss_util_pub.get_display_name('HZ_PARTIES', null));
176: FND_MSG_PUB.ADD;
177: RAISE FND_API.G_EXC_ERROR;
178: end if;
179: END IF;
180:
181: */
180:
181: */
182: -- do the actual update
183: UPDATE HZ_PARTIES SET
184: CERTIFICATION_LEVEL = DECODE( p_cert_level, FND_API.G_MISS_CHAR, NULL, p_cert_level ),
185: CERT_REASON_CODE = DECODE( l_cert_reason_code, FND_API.G_MISS_CHAR, NULL, l_cert_reason_code ),
186: LAST_UPDATED_BY = HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
187: CREATION_DATE = CREATION_DATE,
188: LAST_UPDATE_LOGIN = HZ_UTILITY_V2PUB.LAST_UPDATE_LOGIN,
181: */
182: -- do the actual update
183: UPDATE HZ_PARTIES SET
184: CERTIFICATION_LEVEL = DECODE( p_cert_level, FND_API.G_MISS_CHAR, NULL, p_cert_level ),
185: CERT_REASON_CODE = DECODE( l_cert_reason_code, FND_API.G_MISS_CHAR, NULL, l_cert_reason_code ),
186: LAST_UPDATED_BY = HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
187: CREATION_DATE = CREATION_DATE,
188: LAST_UPDATE_LOGIN = HZ_UTILITY_V2PUB.LAST_UPDATE_LOGIN,
189: REQUEST_ID = HZ_UTILITY_V2PUB.REQUEST_ID, --Bug No.4181943
191: CREATED_BY = CREATED_BY,
192: LAST_UPDATE_DATE = HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
193: PROGRAM_ID = HZ_UTILITY_V2PUB.PROGRAM_ID,
194: PROGRAM_UPDATE_DATE = HZ_UTILITY_V2PUB.PROGRAM_UPDATE_DATE,
195: OBJECT_VERSION_NUMBER = DECODE( X_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, X_OBJECT_VERSION_NUMBER )
196: WHERE ROWID = l_rowid;
197:
198: -- Start of changes Bug No: 4181943
199:
218:
219:
220: -- standard call to get message count and if count is 1, get message info.
221: FND_MSG_PUB.Count_And_Get(
222: p_encoded => FND_API.G_FALSE,
223: p_count => x_msg_count,
224: p_data => x_msg_data);
225:
226: EXCEPTION
223: p_count => x_msg_count,
224: p_data => x_msg_data);
225:
226: EXCEPTION
227: WHEN FND_API.G_EXC_ERROR THEN
228: ROLLBACK TO set_certification_level;
229: x_return_status := FND_API.G_RET_STS_ERROR;
230: FND_MSG_PUB.Count_And_Get(
231: p_encoded => FND_API.G_FALSE,
225:
226: EXCEPTION
227: WHEN FND_API.G_EXC_ERROR THEN
228: ROLLBACK TO set_certification_level;
229: x_return_status := FND_API.G_RET_STS_ERROR;
230: FND_MSG_PUB.Count_And_Get(
231: p_encoded => FND_API.G_FALSE,
232: p_count => x_msg_count,
233: p_data => x_msg_data);
227: WHEN FND_API.G_EXC_ERROR THEN
228: ROLLBACK TO set_certification_level;
229: x_return_status := FND_API.G_RET_STS_ERROR;
230: FND_MSG_PUB.Count_And_Get(
231: p_encoded => FND_API.G_FALSE,
232: p_count => x_msg_count,
233: p_data => x_msg_data);
234: WHEN OTHERS THEN
235: ROLLBACK TO set_certification_level ;
232: p_count => x_msg_count,
233: p_data => x_msg_data);
234: WHEN OTHERS THEN
235: ROLLBACK TO set_certification_level ;
236: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
237: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
238: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
239: FND_MSG_PUB.ADD;
240: FND_MSG_PUB.Count_And_Get(
237: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
238: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
239: FND_MSG_PUB.ADD;
240: FND_MSG_PUB.Count_And_Get(
241: p_encoded => FND_API.G_FALSE,
242: p_count => x_msg_count,
243: p_data => x_msg_data);
244: END set_certification_level ;
245:
247: validation here */
248:
249: PROCEDURE set_party_attributes(
250: -- input parameters
251: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
252: p_party_id IN number,
253: p_status IN VARCHAR2,
254: p_internal_flag IN VARCHAR2,
255: -- in/out parameters
264: from hz_parties
265: where party_id = p_party_id;
266:
267: l_party_type varchar2(30);
268: dss_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
269: dss_msg_count NUMBER := 0;
270: dss_msg_data VARCHAR2(2000):= null;
271: l_test_security VARCHAR2(1):= 'F';
272:
274: -- standard start of API savepoint
275: SAVEPOINT set_party_attributes ;
276:
277: -- initialize message list if p_init_msg_list is set to TRUE.
278: IF FND_API.to_Boolean(p_init_msg_list) THEN
279: FND_MSG_PUB.initialize;
280: END IF;
281:
282: -- initialize API return status to success.
279: FND_MSG_PUB.initialize;
280: END IF;
281:
282: -- initialize API return status to success.
283: x_return_status := FND_API.G_RET_STS_SUCCESS;
284:
285: -- Take out DSS Check per PM
286: /* IF NVL(fnd_profile.value('HZ_DSS_ENABLED'), 'N') = 'Y' THEN
287: l_test_security :=
293: x_return_status => dss_return_status,
294: x_msg_count => dss_msg_count,
295: x_msg_data => dss_msg_data);
296:
297: if dss_return_status <> fnd_api.g_ret_sts_success THEN
298: RAISE FND_API.G_EXC_ERROR;
299: end if;
300:
301: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
294: x_msg_count => dss_msg_count,
295: x_msg_data => dss_msg_data);
296:
297: if dss_return_status <> fnd_api.g_ret_sts_success THEN
298: RAISE FND_API.G_EXC_ERROR;
299: end if;
300:
301: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
302:
297: if dss_return_status <> fnd_api.g_ret_sts_success THEN
298: RAISE FND_API.G_EXC_ERROR;
299: end if;
300:
301: if (l_test_security <> 'T' OR l_test_security <> FND_API.G_TRUE) then
302:
303: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
304: FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
305: hz_dss_util_pub.get_display_name('HZ_PARTIES', null));
303: FND_MESSAGE.SET_NAME('AR', 'HZ_DSS_NO_UPDATE_PRIVILEGE');
304: FND_MESSAGE.SET_TOKEN('ENTITY_NAME',
305: hz_dss_util_pub.get_display_name('HZ_PARTIES', null));
306: FND_MSG_PUB.ADD;
307: RAISE FND_API.G_EXC_ERROR;
308: end if;
309: END IF;
310: */
311:
389: -- End of changes Bug No: 4181943
390:
391: -- standard call to get message count and if count is 1, get message info.
392: FND_MSG_PUB.Count_And_Get(
393: p_encoded => FND_API.G_FALSE,
394: p_count => x_msg_count,
395: p_data => x_msg_data);
396:
397: EXCEPTION
394: p_count => x_msg_count,
395: p_data => x_msg_data);
396:
397: EXCEPTION
398: WHEN FND_API.G_EXC_ERROR THEN
399: ROLLBACK TO set_party_attributes;
400: x_return_status := FND_API.G_RET_STS_ERROR;
401: FND_MSG_PUB.Count_And_Get(
402: p_encoded => FND_API.G_FALSE,
396:
397: EXCEPTION
398: WHEN FND_API.G_EXC_ERROR THEN
399: ROLLBACK TO set_party_attributes;
400: x_return_status := FND_API.G_RET_STS_ERROR;
401: FND_MSG_PUB.Count_And_Get(
402: p_encoded => FND_API.G_FALSE,
403: p_count => x_msg_count,
404: p_data => x_msg_data);
398: WHEN FND_API.G_EXC_ERROR THEN
399: ROLLBACK TO set_party_attributes;
400: x_return_status := FND_API.G_RET_STS_ERROR;
401: FND_MSG_PUB.Count_And_Get(
402: p_encoded => FND_API.G_FALSE,
403: p_count => x_msg_count,
404: p_data => x_msg_data);
405: WHEN OTHERS THEN
406: ROLLBACK TO set_party_attributes;
403: p_count => x_msg_count,
404: p_data => x_msg_data);
405: WHEN OTHERS THEN
406: ROLLBACK TO set_party_attributes;
407: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
408: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
409: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
410: FND_MSG_PUB.ADD;
411: FND_MSG_PUB.Count_And_Get(
408: FND_MESSAGE.SET_NAME('AR', 'HZ_API_OTHERS_EXCEP');
409: FND_MESSAGE.SET_TOKEN('ERROR' ,SQLERRM);
410: FND_MSG_PUB.ADD;
411: FND_MSG_PUB.Count_And_Get(
412: p_encoded => FND_API.G_FALSE,
413: p_count => x_msg_count,
414: p_data => x_msg_data);
415:
416: end;