[Home] [Help]
PACKAGE BODY: APPS.PO_SIGNATURE_GRP
Source
1 PACKAGE BODY PO_SIGNATURE_GRP AS
2 /* $Header: POXGSIGB.pls 120.1 2005/06/29 18:44:55 shsiung noship $ */
3
4 -------------------------------------------------------------------------------
5 --Start of Comments
6 --Name: Update_Po_Details
7 --Pre-reqs:
8 -- None.
9 --Modifies:
10 -- None
11 --Locks:
12 -- None.
13 --Function:
14 -- Updates PO tables
15 --Parameters:
16 --IN:
17 --p_po_header_id
18 -- PO_HEADER_ID
19 --p_status
20 -- Indicates if the Document is 'ACCEPTED' or 'REJECTED' while signing
21 --p_action_code
22 -- Action code to be inserted in PO_ACTION_HISTORY table.
23 -- Valid values 'SIGNED', 'BUYER REJECTED', 'SUPPLIER REJECTED'
24 --p_object_type_code
25 -- Document type - 'PO', 'PA' etc
26 --p_object_subtype_code
27 -- Document Subtype - 'STANDARD', 'CONTRACT', 'BLANKET' etc
28 --p_employee_id
29 -- Employee Id of the Buyer
30 --p_revision_num
31 -- Revision Number of the document
32 --p_init_msg_list
33 -- True/False parameter to initialize message list
34 --p_api_version
35 -- API version
36 --OUT:
37 --x_msg_count
38 -- Message count
39 --x_msg_data
40 -- message data
41 --x_return_status
42 -- FND_API.G_RET_STS_UNEXP_ERROR - for unexpected error
43
44 --Testing:
45 -- Testing to be done based on the test cases in Document Binding DLD
46 --End of Comments
47 -------------------------------------------------------------------------------
48
49 PROCEDURE Update_Po_Details(p_api_version IN NUMBER, -- bug3488839
50 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
51 p_po_header_id IN NUMBER,
52 p_status IN VARCHAR2,
53 p_action_code IN VARCHAR2,
54 p_object_type_code IN VARCHAR2,
55 p_object_subtype_code IN VARCHAR2,
56 p_employee_id IN NUMBER,
57 p_revision_num IN NUMBER,
58 x_return_status OUT NOCOPY VARCHAR2,
59 x_msg_count OUT NOCOPY NUMBER,
60 x_msg_data OUT NOCOPY VARCHAR2) IS
61 -- declare local variables
62 l_api_name CONSTANT VARCHAR2(30) := 'update_po_details';
63 l_api_version CONSTANT NUMBER := 1.0; -- bug3488839
64
65 BEGIN
66
67 IF NOT (FND_API.compatible_api_call(l_api_version
68 ,p_api_version
69 ,l_api_name
70 ,g_pkg_name)) THEN
71 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
72 END IF;
73
74 -- initialize API return status to success
75 x_return_status:= FND_API.G_RET_STS_SUCCESS;
76
77 -- initialize meesage list
78 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
79 FND_MSG_PUB.initialize;
80 END IF;
81
82 PO_SIGNATURE_PVT.update_po_details(
83 p_po_header_id => p_po_header_id,
84 p_status => p_status,
85 p_action_code => p_action_code,
86 p_object_type_code => p_object_type_code,
87 p_object_subtype_code => p_object_subtype_code,
88 p_employee_id => p_employee_id,
89 p_revision_num => p_revision_num);
90
91 EXCEPTION
92 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
93 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
94 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
95 ,p_data => x_msg_data);
96 WHEN OTHERS THEN
97 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
98 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
99 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
100 IF (g_fnd_debug='Y') THEN
101 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
102 FND_LOG.string(log_level => FND_LOG.level_unexpected
103 ,module => g_module_prefix ||l_api_name
104 ,message => SQLERRM);
105 END IF;
106 END IF;
107 END IF;
108 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
109 ,p_data => x_msg_data);
110 END update_po_details;
111
112 -------------------------------------------------------------------------------
113 --Start of Comments
114 --Name: GET_ITEM_KEY
115 --Pre-reqs:
116 -- None.
117 --Modifies:
118 -- None
119 --Locks:
120 -- None.
121 --Function:
122 -- Creates and Returns item key for the Document Signature Process
123 --Parameters:
124 --IN:
125 --p_po_header_id
126 -- PO_HEADER_ID
127 --p_revision_num
128 -- Revision Number of the document
129 --p_document_type
130 -- Document type - 'PO', 'PA' etc
131 --p_init_msg_list
132 -- True/False parameter to initialize message list
133 --p_api_version
134 -- API version
135 --OUT:
136 --x_msg_count
137 -- Message count
138 --x_msg_data
139 -- message data
140 --x_return_status
141 -- FND_API.G_RET_STS_UNEXP_ERROR - for unexpected error
142 --x_itemkey
143 -- Item key of the Document Signature Process
144 --Testing:
145 -- Testing to be done based on the test cases in Document Binding DLD
146 --End of Comments
147 -------------------------------------------------------------------------------
148
149 PROCEDURE Get_Item_Key(p_api_version IN NUMBER, -- bug3488839
150 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
151 p_po_header_id IN NUMBER,
152 p_revision_num IN NUMBER,
153 p_document_type IN VARCHAR2,
154 x_itemkey OUT NOCOPY VARCHAR2,
155 x_result OUT NOCOPY VARCHAR2,
156 x_return_status OUT NOCOPY VARCHAR2,
157 x_msg_count OUT NOCOPY NUMBER,
158 x_msg_data OUT NOCOPY VARCHAR2) IS
159
160
161 -- declare local variables
162 l_api_name CONSTANT VARCHAR2(30) := 'get_item_key';
163 l_api_version CONSTANT NUMBER := 1.0; -- bug3488839
164
165 BEGIN
166
167 IF NOT (FND_API.compatible_api_call(l_api_version
168 ,p_api_version
169 ,l_api_name
170 ,g_pkg_name)) THEN
171 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
172 END IF;
173
174 -- initialize API return status to success
175 x_return_status:= FND_API.G_RET_STS_SUCCESS;
176
177 -- initialize meesage list
178 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
179 FND_MSG_PUB.initialize;
180 END IF;
181
182 PO_SIGNATURE_PVT.get_item_key(
183 p_po_header_id => p_po_header_id,
184 p_revision_num => p_revision_num,
185 p_document_type => p_document_type,
186 x_itemkey => x_itemkey,
187 x_result => x_result);
188
189 EXCEPTION
190 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
191 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
192 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
193 ,p_data => x_msg_data);
194 WHEN OTHERS THEN
195 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
196 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
197 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
198 IF (g_fnd_debug='Y') THEN
199 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
200 FND_LOG.string(log_level => FND_LOG.level_unexpected
201 ,module => g_module_prefix ||l_api_name
202 ,message => SQLERRM);
203 END IF;
204 END IF;
205 END IF;
206 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
207 ,p_data => x_msg_data);
208 END get_item_key;
209
210 -------------------------------------------------------------------------------
211 --Start of Comments
212 --Name: FIND_ITEM_KEY
213 --Pre-reqs:
214 -- None.
215 --Modifies:
216 -- None
217 --Locks:
218 -- None.
219 --Function:
220 -- Returns item key of the active Document Signature Process
221 --Parameters:
222 --IN:
223 --p_po_header_id
224 -- PO_HEADER_ID
225 --p_revision_num
226 -- Revision Number of the document
227 --p_document_type
228 -- Document type - 'PO', 'PA' etc
229 --p_init_msg_list
230 -- True/False parameter to initialize message list
231 --p_api_version
232 -- API version
233 --OUT:
234 --x_msg_count
235 -- Message count
236 --x_msg_data
237 -- message data
238 --x_return_status
239 -- FND_API.G_RET_STS_UNEXP_ERROR - for unexpected error
240 --x_itemkey
241 -- Item key of the active Document Signature Process
242 --x_result
243 -- Returns 'S' for success and 'E' for Error
244 --Testing:
245 -- Testing to be done based on the test cases in Document Binding DLD
246 --End of Comments
247 -------------------------------------------------------------------------------
248
249 PROCEDURE find_item_key(p_api_version IN NUMBER, -- bug3488839
250 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
251 p_po_header_id IN NUMBER,
252 p_revision_num IN NUMBER,
253 p_document_type IN VARCHAR2,
254 x_itemkey OUT NOCOPY VARCHAR2,
255 x_result OUT NOCOPY VARCHAR2,
256 x_return_status OUT NOCOPY VARCHAR2,
257 x_msg_count OUT NOCOPY NUMBER,
258 x_msg_data OUT NOCOPY VARCHAR2) IS
259
260
261 -- declare local variables
262 l_api_name CONSTANT VARCHAR2(30) := 'find_item_key';
263 l_api_version CONSTANT NUMBER := 1.0; -- bug3488839
264
265 BEGIN
266
267 IF NOT (FND_API.compatible_api_call(l_api_version
268 ,p_api_version
269 ,l_api_name
270 ,g_pkg_name)) THEN
271 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
272 END IF;
273
274 -- initialize API return status to success
275 x_return_status:= FND_API.G_RET_STS_SUCCESS;
276
277 -- initialize meesage list
278 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
279 FND_MSG_PUB.initialize;
280 END IF;
281
282 PO_SIGNATURE_PVT.find_item_key(
283 p_po_header_id => p_po_header_id,
284 p_revision_num => p_revision_num,
285 p_document_type => p_document_type,
286 x_itemkey => x_itemkey,
287 x_result => x_result);
288
289 EXCEPTION
290 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
291 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
292 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
293 ,p_data => x_msg_data);
294 WHEN OTHERS THEN
295 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
296 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
297 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
298 IF (g_fnd_debug='Y') THEN
299 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
300 FND_LOG.string(log_level => FND_LOG.level_unexpected
301 ,module => g_module_prefix ||l_api_name
302 ,message => SQLERRM);
303 END IF;
304 END IF;
305 END IF;
306 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
307 ,p_data => x_msg_data);
308 END find_item_key;
309
310 -------------------------------------------------------------------------------
311 --Start of Comments
312 --Name: Abort_Doc_Sign_Process
313 --Pre-reqs:
314 -- None.
315 --Modifies:
316 -- None
317 --Locks:
318 -- None.
319 --Function:
320 -- Once signatures are complete aborts the Document Signature Process
321 --Parameters:
322 --IN:
323 --p_itemkey
324 -- Item key of the PO Approval workflow Document Signature Process
325 --p_init_msg_list
326 -- True/False parameter to initialize message list
327 --p_api_version
328 -- API version
329 --OUT:
330 --x_msg_count
331 -- Message count
332 --x_msg_data
333 -- message data
334 --x_return_status
335 -- FND_API.G_RET_STS_UNEXP_ERROR - for unexpected error
336 --x_result
337 -- Returns 'S' for success and 'E' for Error
338 --Testing:
339 -- Testing to be done based on the test cases in Document Binding DLD
340 --End of Comments
341 -------------------------------------------------------------------------------
342
343 PROCEDURE abort_doc_sign_process(p_api_version IN NUMBER, -- bug3488839
344 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
345 p_itemkey IN VARCHAR2,
346 x_result OUT NOCOPY VARCHAR2,
347 x_return_status OUT NOCOPY VARCHAR2,
348 x_msg_count OUT NOCOPY NUMBER,
349 x_msg_data OUT NOCOPY VARCHAR2) IS
350
351 -- local variables
352 l_api_name CONSTANT VARCHAR2(30) := 'abort_doc_sign_process';
356 BEGIN
353 l_api_version CONSTANT NUMBER := 1.0; -- bug3488839
354
355
357
358 IF NOT (FND_API.compatible_api_call(l_api_version
359 ,p_api_version
360 ,l_api_name
361 ,g_pkg_name)) THEN
362 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
363 END IF;
364
365 -- initialize API return status to success
366 x_return_status:= FND_API.G_RET_STS_SUCCESS;
367
368 -- initialize meesage list
369 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
370 FND_MSG_PUB.initialize;
371 END IF;
372
373 PO_SIGNATURE_PVT.Abort_Doc_Sign_Process(
374 p_itemkey => p_itemkey,
375 x_result => x_result);
376
377 EXCEPTION
378 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
379 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
380 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
381 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
382 IF (g_fnd_debug='Y') THEN
383 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
384 FND_LOG.string(log_level => FND_LOG.level_unexpected
385 ,module => g_module_prefix ||l_api_name
386 ,message => SQLERRM);
387 END IF;
388 END IF;
389 END IF;
390 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
391 ,p_data => x_msg_data);
392 WHEN OTHERS THEN
393 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
394 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
395 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
396 IF (g_fnd_debug='Y') THEN
397 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
398 FND_LOG.string(log_level => FND_LOG.level_unexpected
399 ,module => g_module_prefix ||l_api_name
400 ,message => SQLERRM);
401 END IF;
402 END IF;
403 END IF;
404 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
405 ,p_data => x_msg_data);
406
407 END abort_doc_sign_process;
408 -------------------------------------------------------------------------------
409 --Start of Comments
410 --Name: ERECORDS_ENABLED
411 --Pre-reqs:
412 -- None.
413 --Modifies:
414 -- None
415 --Locks:
416 -- None.
417 --Function:
418 -- If eRecords patch is applied and eRecords is enabled returns 'Y'
419 -- else returns 'N'
420 --Parameters:
421 --IN:
422 --p_init_msg_list
423 -- True/False parameter to initialize message list
424 --p_api_version
425 -- API version
426 --OUT:
427 --x_msg_count
428 -- Message count
429 --x_msg_data
430 -- message data
431 --x_return_status
432 -- FND_API.G_RET_STS_UNEXP_ERROR - for unexpected error
433 --x_erecords_enabled
434 -- Returns 'Y' if eRecords patch is applied and eRecords is enabled.
435 -- Otherwise returns 'N'.
436 --Testing:
437 -- Testing to be done based on the test cases in Document Binding DLD
438 --End of Comments
439 -------------------------------------------------------------------------------
440
441 PROCEDURE erecords_enabled(p_api_version IN NUMBER, -- bug3488839
442 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
443 x_erecords_enabled OUT NOCOPY VARCHAR2,
444 x_return_status OUT NOCOPY VARCHAR2,
445 x_msg_count OUT NOCOPY NUMBER,
446 x_msg_data OUT NOCOPY VARCHAR2) IS
447
448 -- local variables
449 l_api_name CONSTANT VARCHAR2(30) := 'erecords_enabled';
450 l_api_version CONSTANT NUMBER := 1.0; -- bug3488839
451
452
453 BEGIN
454
455 IF NOT (FND_API.compatible_api_call(l_api_version
456 ,p_api_version
457 ,l_api_name
458 ,g_pkg_name)) THEN
459 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
460 END IF;
461
462 -- initialize API return status to success
463 x_return_status:= FND_API.G_RET_STS_SUCCESS;
464
465 -- initialize meesage list
466 IF (FND_API.to_Boolean(p_init_msg_list)) THEN
467 FND_MSG_PUB.initialize;
468 END IF;
469
470 PO_ERECORDS_PVT.erecords_enabled(
471 x_erecords_enabled => x_erecords_enabled);
472
473 EXCEPTION
474 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
475 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
476 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
477 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
478 IF (g_fnd_debug='Y') THEN
479 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
480 FND_LOG.string(log_level => FND_LOG.level_unexpected
481 ,module => g_module_prefix ||l_api_name
482 ,message => SQLERRM);
483 END IF;
484 END IF;
485 END IF;
486 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
487 ,p_data => x_msg_data);
488 WHEN OTHERS THEN
489 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
490 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
491 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
492 IF (g_fnd_debug='Y') THEN
493 IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_UNEXPECTED) THEN
497 END IF;
494 FND_LOG.string(log_level => FND_LOG.level_unexpected
495 ,module => g_module_prefix ||l_api_name
496 ,message => SQLERRM);
498 END IF;
499 END IF;
500 FND_MSG_PUB.Count_and_Get(p_count => x_msg_count
501 ,p_data => x_msg_data);
502
503 END erecords_enabled;
504
505 END PO_SIGNATURE_GRP;