DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_VERSION_PUB

Source


1 PACKAGE BODY oke_version_pub AS
2 /* $Header: OKEPVERB.pls 115.8 2002/11/20 20:39:13 who ship $ */
3 
4 G_PKG_NAME     CONSTANT VARCHAR2(30) := 'OKE_VERSION_PUB';
5 
6 PROCEDURE version_contract
7 (  p_api_version            IN    NUMBER
8 ,  p_commit                 IN    VARCHAR2 := FND_API.G_FALSE
9 ,  p_init_msg_list          IN    VARCHAR2 := FND_API.G_FALSE
10 ,  x_msg_count              OUT   NOCOPY NUMBER
11 ,  x_msg_data               OUT   NOCOPY VARCHAR2
12 ,  x_return_status          OUT   NOCOPY VARCHAR2
13 --,  p_Contract_Number        IN    VARCHAR2 := FND_API.G_MISS_CHAR
14 --,  p_Contract_Num_Modifier  IN    VARCHAR2 := FND_API.G_MISS_CHAR
15 ,  p_Contract_Header_ID     IN    NUMBER   --:= FND_API.G_MISS_NUM
16 ,  p_chg_request_id	    IN    NUMBER
17 ,  p_version_reason_code    IN    VARCHAR2
18 ,  x_Prev_Version           OUT   NOCOPY NUMBER
19 ,  x_New_Version            OUT   NOCOPY NUMBER
20 ) IS
21 
22 l_api_name     CONSTANT VARCHAR2(30) := 'VERSION_CONTRACT';
23 l_api_version  CONSTANT NUMBER       := 1.0;
24 
25 /*
26 cursor k is
27   select id
28   from   okc_k_headers_b
29   where  contract_number = p_Contract_Number
30   and    (  ( (  p_Contract_Num_Modifier IS NULL
31               or p_Contract_Num_Modifier = FND_API.G_MISS_CHAR )
32             and  contract_number_modifier IS NULL )
33          or ( contract_number_modifier = p_Contract_Num_Modifier )
34          );
35 */
36 l_chr_id number;
37 
38 BEGIN
39 
40   --
41   -- Standard Start of API savepoint
42   --
43   SAVEPOINT version_contract_pub;
44 
45   --
46   -- Check API incompatibility
47   --
48   IF NOT FND_API.Compatible_API_Call( l_api_version
49                                     , p_api_version
50                                     , l_api_name
51                                     , G_PKG_NAME )
52   THEN
53     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
54   END IF;
55 
56   --
57   -- Initialize the message table if requested.
58   --
59   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
60     FND_MSG_PUB.initialize;
61   END IF;
62 
63   --
64   -- Set API return status to success
65   --
66   x_return_status := FND_API.G_RET_STS_SUCCESS;
67 
68 
69   l_chr_id := p_Contract_Header_ID;
70 
71 
72 /*
73   --
74   -- Value to ID conversions
75   --
76   IF ( p_Contract_Header_ID <> FND_API.G_MISS_NUM ) THEN
77     l_chr_id := p_Contract_Header_ID;
78   ELSE
79     OPEN k;
80     FETCH k INTO l_chr_id;
81     CLOSE k;
82   END IF;
83 */
84   --
85   -- Calling Version Contract private API
86   --
87   OKE_VERSION_PVT.version_contract
88                  ( p_api_version    => p_api_version
89                  , x_msg_count      => x_msg_count
90                  , x_msg_data       => x_msg_data
91                  , x_return_status  => x_return_status
92                  , p_chr_id         => l_chr_id
93 		 ,  p_chg_request_id	   =>  p_chg_request_id
94 		 ,  p_version_reason_code  =>  p_version_reason_code
95                  , x_prev_vers      => x_Prev_Version
96                  , x_new_vers       => x_New_Version
97                  );
98 
99   --
100   -- Standard commit check
101   --
102   IF FND_API.To_Boolean( p_commit ) THEN
103     COMMIT WORK;
104   END IF;
105 
106   --
107   -- Standard call to get message count and if count is 1, get message
108   -- info
109   --
110   FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
111                            , p_data  => x_msg_data );
112 
113 EXCEPTION
114   WHEN FND_API.G_EXC_ERROR THEN
115     ROLLBACK TO version_contract_pub;
116     x_return_status := FND_API.G_RET_STS_ERROR;
117     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
118                              , p_data  => x_msg_data );
119 
120   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
121     ROLLBACK TO version_contract_pub;
122     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
123     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
124                              , p_data  => x_msg_data );
125 
126   WHEN OTHERS THEN
127     ROLLBACK TO version_contract_pub;
128     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
129     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
130       FND_MSG_PUB.add_exc_msg
131                  ( p_pkg_name        => G_PKG_NAME
132                  , p_procedure_name  => l_api_name );
133 
134     END IF;
135     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
136                              , p_data  => x_msg_data );
137 
138 END version_contract;
139 
140 
141 PROCEDURE restore_contract_version
142 (  p_api_version            IN    NUMBER
143 ,  p_commit                 IN    VARCHAR2 := FND_API.G_FALSE
144 ,  p_init_msg_list          IN    VARCHAR2 := FND_API.G_FALSE
145 ,  x_msg_count              OUT   NOCOPY NUMBER
146 ,  x_msg_data               OUT   NOCOPY VARCHAR2
147 ,  x_return_status          OUT   NOCOPY VARCHAR2
148 --,  p_Contract_Number        IN    VARCHAR2 := FND_API.G_MISS_CHAR
149 --,  p_Contract_Num_Modifier  IN    VARCHAR2 := FND_API.G_MISS_CHAR
150 ,  p_Contract_Header_ID     IN    NUMBER   --:= FND_API.G_MISS_NUM
151 ,  p_Restore_From_Version   IN    NUMBER   --:= FND_API.G_MISS_NUM
152 ,  p_chg_request_id	    IN    NUMBER
153 ,  p_version_reason_code    IN    VARCHAR2
154 ,  x_New_Version            OUT   NOCOPY NUMBER
155 ) IS
156 
157 l_api_name     CONSTANT VARCHAR2(30) := 'RESTORE_CONTRACT_VERSION';
158 l_api_version  CONSTANT NUMBER       := 1.0;
159 
160 /*
161 cursor k is
162   select id
163   from   okc_k_headers_b
164   where  contract_number = p_Contract_Number
165   and    (  ( (  p_Contract_Num_Modifier IS NULL
166               or p_Contract_Num_Modifier = FND_API.G_MISS_CHAR )
167             and  contract_number_modifier IS NULL )
168          or ( contract_number_modifier = p_Contract_Num_Modifier )
169          );
170 */
171 
172 l_chr_id number;
173 
174 BEGIN
175 
176   --
177   -- Standard Start of API savepoint
178   --
179   SAVEPOINT rstr_contract_version_pub;
180 
181   --
182   -- Check API incompatibility
183   --
184   IF NOT FND_API.Compatible_API_Call( l_api_version
185                                     , p_api_version
186                                     , l_api_name
187                                     , G_PKG_NAME )
188   THEN
189     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
190   END IF;
191 
192   --
193   -- Initialize the message table if requested.
194   --
195   IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
196     FND_MSG_PUB.initialize;
197   END IF;
198 
199   --
200   -- Set API return status to success
201   --
202   x_return_status := FND_API.G_RET_STS_SUCCESS;
203 
204   l_chr_id := p_Contract_Header_ID;
205 
206 /*
207   IF ( p_Contract_Header_ID is not null ) THEN
208     l_chr_id := p_Contract_Header_ID;
209   ELSE
210     OPEN k;
211     FETCH k INTO l_chr_id;
212     CLOSE k;
213   END IF;
214 */
215 
216   OKE_VERSION_PVT.restore_contract_version
217                  ( p_api_version    => p_api_version
218                  , p_commit         => p_commit
219                  , p_init_msg_list  => p_init_msg_list
220                  , x_msg_count      => x_msg_count
221                  , x_msg_data       => x_msg_data
222                  , x_return_status  => x_return_status
223                  , p_chr_id         => l_chr_id
224                  , p_rstr_from_ver  => p_Restore_From_Version
225 		 ,  p_chg_request_id	   =>  p_chg_request_id
226 		 ,  p_version_reason_code  =>  p_version_reason_code
227                  , x_new_vers       => x_New_Version
228                  );
229 
230   --
231   -- Standard commit check
232   --
233   IF FND_API.To_Boolean( p_commit ) THEN
234     COMMIT WORK;
235   END IF;
236 
237   --
238   -- Standard call to get message count and if count is 1, get message
239   -- info
240   --
241   FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
242                            , p_data  => x_msg_data );
243 
244 EXCEPTION
245   WHEN FND_API.G_EXC_ERROR THEN
246     ROLLBACK TO rstr_contract_version_pub;
247     x_return_status := FND_API.G_RET_STS_ERROR;
248     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
249                              , p_data  => x_msg_data );
250 
251   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
252     ROLLBACK TO rstr_contract_version_pub;
253     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
254     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
255                              , p_data  => x_msg_data );
256 
257   WHEN OTHERS THEN
258     ROLLBACK TO rstr_contract_version_pub;
259     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
260     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
261       FND_MSG_PUB.add_exc_msg
262                  ( p_pkg_name        => G_PKG_NAME
263                  , p_procedure_name  => l_api_name );
264 
265     END IF;
266     FND_MSG_PUB.Count_And_Get( p_count => x_msg_count
267                              , p_data  => x_msg_data );
268 
269 END restore_contract_version;
270 
271 END oke_version_pub;