DBA Data[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;