DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_VP_COPY_CONTRACT_PUB

Source


1 PACKAGE BODY OKL_VP_COPY_CONTRACT_PUB AS
2 /*$Header: OKLPCPXB.pls 120.2 2005/06/17 23:52:53 fmiao noship $*/
3 
4   ---------------------------------------------------------------------------
5   -- PROCEDURE COPY_contract
6   -- Public wrapper for COPY  contract process api
7   ---------------------------------------------------------------------------
8   PROCEDURE copy_contract(p_api_version          IN               NUMBER,
9                           p_init_msg_list        IN               VARCHAR2 DEFAULT OKL_API.G_FALSE,
10                           x_return_status        OUT              NOCOPY VARCHAR2,
11                           x_msg_count            OUT              NOCOPY NUMBER,
12                           x_msg_data             OUT              NOCOPY VARCHAR2,
13                           p_copy_rec             IN               copy_header_rec_type,
14                           x_new_contract_id      OUT NOCOPY              NUMBER) IS
15 
16 
17     l_copy_rec                        copy_header_rec_type;
18     l_data                            VARCHAR2(100);
19     l_api_name                        CONSTANT VARCHAR2(30)  := 'copy_contract';
20     l_count                           NUMBER ;
21     l_return_status                   VARCHAR2(1)    := FND_API.G_RET_STS_SUCCESS;
22     l_contract_id                     NUMBER;
23   BEGIN
24     x_return_status := FND_API.G_RET_STS_SUCCESS;
25     l_copy_rec := p_copy_rec;
26 
27 
28 
29 	-- call process api to extend contract
30 
31     OKL_VP_COPY_CONTRACT_PVT.copy_contract(p_api_version     => p_api_version,
32                                            p_init_msg_list   => p_init_msg_list,
33               			           x_return_status   => l_return_status,
34                			           x_msg_count       => x_msg_count,
35                               	           x_msg_data        => x_msg_data,
36                               	           p_copy_rec        => l_copy_rec,
37                                            x_new_contract_id => l_contract_id);
38 
39 
40      IF l_return_status = FND_API.G_RET_STS_ERROR THEN
41         RAISE FND_API.G_EXC_ERROR;
42      ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
43         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
44      END IF;
45 
46 		 --fmiao add for copy vendor programs--
47 		 x_new_contract_id := l_contract_id;
48 		 --end fmiao copy--
49 
50 
51 
52   EXCEPTION
53     WHEN FND_API.G_EXC_ERROR THEN
54        -- notify caller of an UNEXPECTED error
55       x_return_status := FND_API.G_RET_STS_ERROR;
56 
57       -- store SQL error message on message stack for caller
58       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE,
59 	                        p_count   => x_msg_count,
60                                 p_data    => x_msg_data);
61 
62     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
63       -- notify caller of an UNEXPECTED error
64       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
65 
66       -- store SQL error message on message stack for caller
67       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE,
68 	  		        p_count   => x_msg_count,
69                                 p_data    => x_msg_data);
70 
71     WHEN OTHERS THEN
72       -- notify caller of an UNEXPECTED error
73       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
74       FND_MSG_PUB.ADD_EXC_MSG('OKL_VP_COPY_CONTRACT_PUB','copy_contract');
75 
76       -- store SQL error message on message stack for caller
77       FND_MSG_PUB.Count_and_get(p_encoded => OKC_API.G_FALSE,
78                                 p_count   => x_msg_count,
79                                 p_data    => x_msg_data);
80   END copy_contract;
81 
82 END OKL_VP_COPY_CONTRACT_PUB;