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