[Home] [Help]
PACKAGE BODY: APPS.OKL_LESSEE_AS_VENDOR_PVT
Source
1 PACKAGE BODY OKL_LESSEE_AS_VENDOR_PVT AS
2 /* $Header: OKLRLVPB.pls 115.0 2003/10/09 00:48:58 cklee noship $ */
3 ----------------------------------------------------------------------------
4 -- Global Message Constants
5 ----------------------------------------------------------------------------
6 ----------------------------------------------------------------------------
7 -- Procedures and Functions
8 ----------------------------------------------------------------------------
9 --------------------------------------------------------------------------
10 ----- Validate Vendor
11 --------------------------------------------------------------------------
12 FUNCTION validate_vendor(
13 p_ppydv_rec ppydv_rec_type
14 ,p_mode VARCHAR2
15 ) RETURN VARCHAR2
16 IS
17 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
18
19 BEGIN
20
21 IF (p_mode = G_INSERT_MODE) THEN
22
23 -- column is required:
24 IF (p_ppydv_rec.vendor_id IS NULL) OR
25 (p_ppydv_rec.vendor_id = OKL_API.G_MISS_NUM)
26 THEN
27 OKL_API.Set_Message(p_app_name => G_APP_NAME,
28 p_msg_name => G_REQUIRED_VALUE,
29 p_token1 => G_COL_NAME_TOKEN,
30 p_token1_value => 'Pay As Vendor');
31 RAISE G_EXCEPTION_HALT_VALIDATION;
32 END IF;
33
34 ELSIF (p_mode = G_UPDATE_MODE) THEN
35
36 -- column is required:
37 IF (p_ppydv_rec.vendor_id IS NULL)
38 THEN
39 OKL_API.Set_Message(p_app_name => G_APP_NAME,
40 p_msg_name => G_REQUIRED_VALUE,
41 p_token1 => G_COL_NAME_TOKEN,
42 p_token1_value => 'Pay As Vendor');
43 RAISE G_EXCEPTION_HALT_VALIDATION;
44 END IF;
45
46 END IF;
47
48 RETURN l_return_status;
49
50 EXCEPTION
51 WHEN G_EXCEPTION_HALT_VALIDATION THEN
52 l_return_status := OKL_API.G_RET_STS_ERROR;
53 RETURN l_return_status;
54 WHEN OTHERS THEN
55 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
56 OKL_API.Set_Message(p_app_name => G_APP_NAME,
57 p_msg_name => G_UNEXPECTED_ERROR,
58 p_token1 => G_SQLCODE_TOKEN,
59 p_token1_value => SQLCODE,
60 p_token2 => G_SQLERRM_TOKEN,
61 p_token2_value => SQLERRM);
62 RETURN l_return_status;
63 END;
64
65 --------------------------------------------------------------------------
66 ----- Validate Vendor Site
67 --------------------------------------------------------------------------
68 FUNCTION validate_vendor_site(
69 p_ppydv_rec ppydv_rec_type
70 ,p_mode VARCHAR2
71 ) RETURN VARCHAR2
72 IS
73 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
74
75 BEGIN
76
77 IF (p_mode = G_INSERT_MODE) THEN
78
79 -- column is required:
80 IF (p_ppydv_rec.pay_site_id IS NULL) OR
81 (p_ppydv_rec.pay_site_id = OKL_API.G_MISS_NUM)
82 THEN
83 OKL_API.Set_Message(p_app_name => G_APP_NAME,
84 p_msg_name => G_REQUIRED_VALUE,
85 p_token1 => G_COL_NAME_TOKEN,
86 p_token1_value => 'Pay Site');
87 RAISE G_EXCEPTION_HALT_VALIDATION;
88 END IF;
89
90 ELSIF (p_mode = G_UPDATE_MODE) THEN
91
92 -- column is required:
93 IF (p_ppydv_rec.pay_site_id IS NULL)
94 THEN
95 OKL_API.Set_Message(p_app_name => G_APP_NAME,
96 p_msg_name => G_REQUIRED_VALUE,
97 p_token1 => G_COL_NAME_TOKEN,
98 p_token1_value => 'Pay Site');
99 RAISE G_EXCEPTION_HALT_VALIDATION;
100 END IF;
101
102 END IF;
103
104 RETURN l_return_status;
105
106 EXCEPTION
107 WHEN G_EXCEPTION_HALT_VALIDATION THEN
108 l_return_status := OKL_API.G_RET_STS_ERROR;
109 RETURN l_return_status;
110 WHEN OTHERS THEN
111 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
112 OKL_API.Set_Message(p_app_name => G_APP_NAME,
113 p_msg_name => G_UNEXPECTED_ERROR,
114 p_token1 => G_SQLCODE_TOKEN,
115 p_token1_value => SQLCODE,
116 p_token2 => G_SQLERRM_TOKEN,
117 p_token2_value => SQLERRM);
118 RETURN l_return_status;
119 END;
120
121 --------------------------------------------------------------------------
122 ----- Validate Payment Term
123 --------------------------------------------------------------------------
124 FUNCTION validate_payment_term(
125 p_ppydv_rec ppydv_rec_type
126 ,p_mode VARCHAR2
127 ) RETURN VARCHAR2
128 IS
129 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
130
131 BEGIN
132
133 IF (p_mode = G_INSERT_MODE) THEN
134
135 -- column is required:
136 IF (p_ppydv_rec.payment_term_id IS NULL) OR
137 (p_ppydv_rec.payment_term_id = OKL_API.G_MISS_NUM)
138 THEN
139 OKL_API.Set_Message(p_app_name => G_APP_NAME,
140 p_msg_name => G_REQUIRED_VALUE,
141 p_token1 => G_COL_NAME_TOKEN,
142 p_token1_value => 'Payment Term');
143 RAISE G_EXCEPTION_HALT_VALIDATION;
144 END IF;
145
146 ELSIF (p_mode = G_UPDATE_MODE) THEN
147
148 -- column is required:
149 IF (p_ppydv_rec.payment_term_id IS NULL)
150 THEN
151 OKL_API.Set_Message(p_app_name => G_APP_NAME,
152 p_msg_name => G_REQUIRED_VALUE,
153 p_token1 => G_COL_NAME_TOKEN,
154 p_token1_value => 'Payment Term');
155 RAISE G_EXCEPTION_HALT_VALIDATION;
156 END IF;
157
158 END IF;
159
160 RETURN l_return_status;
161
162 EXCEPTION
163 WHEN G_EXCEPTION_HALT_VALIDATION THEN
164 l_return_status := OKL_API.G_RET_STS_ERROR;
165 RETURN l_return_status;
166 WHEN OTHERS THEN
167 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
168 OKL_API.Set_Message(p_app_name => G_APP_NAME,
169 p_msg_name => G_UNEXPECTED_ERROR,
170 p_token1 => G_SQLCODE_TOKEN,
171 p_token1_value => SQLCODE,
172 p_token2 => G_SQLERRM_TOKEN,
173 p_token2_value => SQLERRM);
174 RETURN l_return_status;
175 END;
176
177 --------------------------------------------------------------------------
178 FUNCTION validate_header_attributes(
179 p_ppydv_rec ppydv_rec_type
180 ,p_mode VARCHAR2
181 ) RETURN VARCHAR2
182 IS
183 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
184 x_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
185
186 BEGIN
187
188 -- Do formal attribute validation:
189
190 l_return_status := validate_vendor(p_ppydv_rec, p_mode);
191 --- Store the highest degree of error
192 IF (l_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
193 IF (x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
194 x_return_status := l_return_status;
195 END IF;
196 RAISE G_EXCEPTION_HALT_VALIDATION;
197 END IF;
198
199 l_return_status := validate_vendor_site(p_ppydv_rec, p_mode);
200 --- Store the highest degree of error
201 IF (l_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
202 IF (x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
203 x_return_status := l_return_status;
204 END IF;
205 RAISE G_EXCEPTION_HALT_VALIDATION;
206 END IF;
207
208
209 RETURN x_return_status;
210 EXCEPTION
211 WHEN G_EXCEPTION_HALT_VALIDATION THEN
212 RETURN x_return_status;
213 WHEN OTHERS THEN
214 l_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
215 OKL_API.Set_Message(p_app_name => G_APP_NAME,
216 p_msg_name => G_UNEXPECTED_ERROR,
217 p_token1 => G_SQLCODE_TOKEN,
218 p_token1_value => SQLCODE,
219 p_token2 => G_SQLERRM_TOKEN,
220 p_token2_value => SQLERRM);
221 RETURN l_return_status;
222 END validate_header_attributes;
223
224 ----------------------------------------------------------------------------------
225 -- Start of comments
226 --
227 -- Procedure Name : create_lessee_as_vendor
228 -- Description : wrapper api for create party payment details
229 -- Business Rules :
230 -- Parameters :
231 -- Version : 1.0
232 -- End of comments
233 ----------------------------------------------------------------------------------
234 PROCEDURE create_lessee_as_vendor(
235 p_api_version IN NUMBER
236 ,p_init_msg_list IN VARCHAR2
237 ,x_return_status OUT NOCOPY VARCHAR2
238 ,x_msg_count OUT NOCOPY NUMBER
239 ,x_msg_data OUT NOCOPY VARCHAR2
240 ,p_chr_id IN OKC_K_HEADERS_B.ID%TYPE
241 ,p_ppydv_rec IN ppydv_rec_type
242 ,x_ppydv_rec OUT NOCOPY ppydv_rec_type
243 )
244 is
245 l_api_name CONSTANT VARCHAR2(30) := 'create_lessee_as_vendor';
246 l_api_version CONSTANT NUMBER := 1.0;
247 i NUMBER;
248 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
249 lp_ppydv_rec ppydv_rec_type := p_ppydv_rec;
250 -- lx_ppydv_rec ppydv_rec_type := x_ppydv_rec;
251 l_cpl_id okc_k_party_roles_b.id%type;
252
253 cursor c_cpl_id (p_chr_id number)
254 is
255 select kpr.id
256 from okc_k_party_roles_b kpr
257 where kpr.rle_code = 'LESSEE'
258 and kpr.dnz_chr_id = p_chr_id
259 ;
260
261 begin
262 -- Set API savepoint
263 SAVEPOINT create_lessee_as_vendor;
264
265 -- Check for call compatibility
266 IF (NOT FND_API.Compatible_API_Call (l_api_version,
267 p_api_version,
268 l_api_name,
269 G_PKG_NAME ))
270 THEN
271 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
272 END IF;
273
274 -- Initialize message list if requested
275 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
276 FND_MSG_PUB.initialize;
277 END IF;
278
279 -- Initialize API status to success
280 x_return_status := OKL_API.G_RET_STS_SUCCESS;
281
282
283 /*** Begin API body ****************************************************/
284
285 -- get cpl_id
286 open c_cpl_id(p_chr_id);
287 fetch c_cpl_id into l_cpl_id;
288 close c_cpl_id;
289
290 lp_ppydv_rec.cpl_id := l_cpl_id;
291
292 l_return_status := validate_header_attributes(lp_ppydv_rec, G_INSERT_MODE);
293 --- Store the highest degree of error
294 IF (l_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
295 IF (x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
296 x_return_status := l_return_status;
297 END IF;
298 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
299 END IF;
300
301 okl_pyd_pvt.insert_row(
302 p_api_version => p_api_version,
303 p_init_msg_list => p_init_msg_list,
304 x_return_status => x_return_status,
305 x_msg_count => x_msg_count,
306 x_msg_data => x_msg_data,
307 p_ppydv_rec => lp_ppydv_rec,
308 x_ppydv_rec => x_ppydv_rec);
309
310 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
311 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
312 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
313 raise OKC_API.G_EXCEPTION_ERROR;
314 End If;
315
316 lp_ppydv_rec.id := x_ppydv_rec.id;
317
318 /*** End API body ******************************************************/
319
320 -- Get message count and if count is 1, get message info
321 FND_MSG_PUB.Count_And_Get
322 (p_count => x_msg_count,
323 p_data => x_msg_data);
324
325 EXCEPTION
326 WHEN OKL_API.G_EXCEPTION_ERROR THEN
327 ROLLBACK TO create_lessee_as_vendor;
328 x_return_status := OKL_API.G_RET_STS_ERROR;
329 FND_MSG_PUB.Count_And_Get
330 (p_count => x_msg_count,
331 p_data => x_msg_data);
332
333 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
334 ROLLBACK TO create_lessee_as_vendor;
335 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
336 FND_MSG_PUB.Count_And_Get
337 (p_count => x_msg_count,
338 p_data => x_msg_data);
339
340 WHEN OTHERS THEN
341 ROLLBACK TO create_lessee_as_vendor;
342 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
343 OKL_API.Set_Message(p_app_name => G_APP_NAME,
344 p_msg_name => G_UNEXPECTED_ERROR,
345 p_token1 => G_SQLCODE_TOKEN,
346 p_token1_value => SQLCODE,
347 p_token2 => G_SQLERRM_TOKEN,
348 p_token2_value => SQLERRM);
349 FND_MSG_PUB.Count_And_Get
350 (p_count => x_msg_count,
351 p_data => x_msg_data);
352
353 end create_lessee_as_vendor;
354
355 ----------------------------------------------------------------------------------
356 -- Start of comments
357 --
358 -- Procedure Name : update_lessee_as_vendor
359 -- Description : wrapper api for update party payment details
360 -- Business Rules :
361 -- Parameters :
362 -- Version : 1.0
363 -- End of comments
364 ----------------------------------------------------------------------------------
365 PROCEDURE update_lessee_as_vendor(
366 p_api_version IN NUMBER
367 ,p_init_msg_list IN VARCHAR2
368 ,x_return_status OUT NOCOPY VARCHAR2
369 ,x_msg_count OUT NOCOPY NUMBER
370 ,x_msg_data OUT NOCOPY VARCHAR2
371 ,p_ppydv_rec IN ppydv_rec_type
372 ,x_ppydv_rec OUT NOCOPY ppydv_rec_type
373 )
374 is
375 l_api_name CONSTANT VARCHAR2(30) := 'update_lessee_as_vendor';
376 l_api_version CONSTANT NUMBER := 1.0;
377 i NUMBER;
378 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
379 lp_ppydv_rec ppydv_rec_type := p_ppydv_rec;
380 -- lx_ppydv_rec ppydv_rec_type := x_ppydv_rec;
381
382 begin
383 -- Set API savepoint
384 SAVEPOINT update_lessee_as_vendor;
385
386 -- Check for call compatibility
387 IF (NOT FND_API.Compatible_API_Call (l_api_version,
388 p_api_version,
389 l_api_name,
390 G_PKG_NAME ))
391 THEN
392 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
393 END IF;
394
395 -- Initialize message list if requested
396 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
397 FND_MSG_PUB.initialize;
398 END IF;
399
400 -- Initialize API status to success
401 x_return_status := OKL_API.G_RET_STS_SUCCESS;
402
403
404 /*** Begin API body ****************************************************/
405
406 l_return_status := validate_header_attributes(lp_ppydv_rec, G_UPDATE_MODE);
407 --- Store the highest degree of error
408 IF (l_return_status <> OKL_API.G_RET_STS_SUCCESS) THEN
409 IF (x_return_status <> OKL_API.G_RET_STS_UNEXP_ERROR) THEN
410 x_return_status := l_return_status;
411 END IF;
412 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
413 END IF;
414
415 okl_pyd_pvt.update_row(
416 p_api_version => p_api_version,
417 p_init_msg_list => p_init_msg_list,
418 x_return_status => x_return_status,
419 x_msg_count => x_msg_count,
420 x_msg_data => x_msg_data,
421 p_ppydv_rec => lp_ppydv_rec,
422 x_ppydv_rec => x_ppydv_rec);
423
424 If (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) then
425 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
426 Elsif (x_return_status = OKC_API.G_RET_STS_ERROR) then
427 raise OKC_API.G_EXCEPTION_ERROR;
428 End If;
429
430
431 /*** End API body ******************************************************/
432
433 -- Get message count and if count is 1, get message info
434 FND_MSG_PUB.Count_And_Get
435 (p_count => x_msg_count,
436 p_data => x_msg_data);
437
438 EXCEPTION
439 WHEN OKL_API.G_EXCEPTION_ERROR THEN
440 ROLLBACK TO update_lessee_as_vendor;
441 x_return_status := OKL_API.G_RET_STS_ERROR;
442 FND_MSG_PUB.Count_And_Get
443 (p_count => x_msg_count,
444 p_data => x_msg_data);
445
446 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
447 ROLLBACK TO update_lessee_as_vendor;
448 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
449 FND_MSG_PUB.Count_And_Get
450 (p_count => x_msg_count,
451 p_data => x_msg_data);
452
453 WHEN OTHERS THEN
454 ROLLBACK TO update_lessee_as_vendor;
455 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR ;
456 OKL_API.Set_Message(p_app_name => G_APP_NAME,
457 p_msg_name => G_UNEXPECTED_ERROR,
458 p_token1 => G_SQLCODE_TOKEN,
459 p_token1_value => SQLCODE,
460 p_token2 => G_SQLERRM_TOKEN,
461 p_token2_value => SQLERRM);
462 FND_MSG_PUB.Count_And_Get
463 (p_count => x_msg_count,
464 p_data => x_msg_data);
465
466 end update_lessee_as_vendor;
467
468
469 END OKL_LESSEE_AS_VENDOR_PVT;