DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_MASS_CLOSE_PO_GRP

Source


1 PACKAGE BODY PO_Mass_Close_PO_GRP AS
2 /* $Header: PO_Mass_Close_PO_GRP.plb 120.2 2008/01/09 14:38:16 rakchakr noship $*/
3 
4 --------------------------------------------------------------------------------------------------
5 
6 -- Call is made such that the sql file POXMCL.sql calls the procedure
7 -- PO_Mass_Close_PO_GRP.DO_Close
8 -- PO_Mass_Close_PO_GRP.DO_Close calls the procedure PO_Mass_Close_PO_PVT.po_close_documents
9 
10 --------------------------------------------------------------------------------------------------
11 
12 g_debug_stmt                 CONSTANT BOOLEAN := PO_DEBUG.is_debug_stmt_on;
13 g_debug_unexp                CONSTANT BOOLEAN := PO_DEBUG.is_debug_unexp_on;
14 g_pkg_name                   CONSTANT VARCHAR2(100) := 'PO_Mass_Close_PO_GRP';
15 g_log_head                   CONSTANT VARCHAR2(1000) := 'po.plsql.' || g_pkg_name || '.';
16 
17 --------------------------------------------------------------------------------------------------
18 -- Start of Comments
19 
20 -- API Name   : DO_Close.
21 -- Type       : Group
22 -- Pre-reqs   : None
23 -- Function   : Calls the procedure PO_Mass_Close_PO_PVT.po_close_documents to close
24 --		the PO's and releases.
25 
26 -- Parameters :
27 
28 -- IN         : p_document_type        Type of the document(STANDARD,BLANKET.CONTRACT,PLANNED).
29 --		p_document_no_from     Document number from.
30 --		p_document_no_to       Document number to.
31 --		p_date_from            Date from.
32 --		p_date_to              Date to.
33 --		p_supplier_id          Supplier id.
34 --		p_commit_interval      Commit interval.
35 
36 -- OUT        : p_msg_data             Actual message in encoded format.
37 --		p_msg_count            Holds the number of messages in the API list.
38 --		p_return_status        Return status of the API (Includes 'S','E','U').
39 
40 -- End of Comments
41 --------------------------------------------------------------------------------------------------
42 
43 PROCEDURE DO_Close(p_document_type    IN VARCHAR2,
44                    p_document_no_from IN VARCHAR2,
45                    p_document_no_to   IN VARCHAR2,
46                    p_date_from        IN DATE,
47                    p_date_to          IN DATE,
48                    p_supplier_id      IN NUMBER,
49 		   p_commit_interval  IN NUMBER,
50 		   p_msg_data         OUT NOCOPY  VARCHAR2,
51                    p_msg_count        OUT NOCOPY  NUMBER,
52                    p_return_status    OUT NOCOPY  VARCHAR2) IS
53 
54 l_progress                 varchar2(3);
55 l_log_head                 CONSTANT VARCHAR2(1000) := g_log_head||'DO_Close';
56 
57 BEGIN
58 
59 l_progress  := '000';
60 
61 IF g_debug_stmt THEN
62 
63 	PO_DEBUG.debug_begin(l_log_head);
64 	PO_DEBUG.debug_var(l_log_head,l_progress,'p_document_type',p_document_type );
65         PO_DEBUG.debug_var(l_log_head,l_progress,'p_document_no_from',p_document_no_from );
66 	PO_DEBUG.debug_var(l_log_head,l_progress,'p_date_from',p_date_from);
67 	PO_DEBUG.debug_var(l_log_head,l_progress,'p_date_to',p_date_to);
68 	PO_DEBUG.debug_var(l_log_head,l_progress,'p_supplier_id',p_supplier_id);
69 	PO_DEBUG.debug_var(l_log_head,l_progress,'p_commit_interval',p_commit_interval);
70 
71 END IF;
72 
73 SAVEPOINT DO_Close_SP;
74 
75 PO_Mass_Close_PO_PVT.po_close_documents(p_document_type,
76                                         p_document_no_from,
77                                         p_document_no_to,
78                                         p_date_from,
79                                         p_date_to,
80                                         p_supplier_id,
81 	                                p_commit_interval,
82 					p_msg_data,
83 	                                p_msg_count,
84 		                        p_return_status);
85 
86 l_progress  := '001';
87 
88 IF g_debug_stmt THEN
89 
90 	PO_DEBUG.debug_var(l_log_head,l_progress,'After Calling Do_Update', 'After Calling Do_Update');
91 
92 END IF;
93 
94 EXCEPTION
95 
96 WHEN OTHERS THEN
97 
98      IF ( FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
99 
100 		FND_LOG.STRING( FND_LOG.LEVEL_UNEXPECTED ,l_log_head,l_progress|| SQLCODE || SUBSTR(SQLERRM,1,200));
101 
102 	END IF;
103 
104 ROLLBACK TO DO_Close_SP;
105 
106 p_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
107 
108 	IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
109 
110 		FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME, l_log_head );
111 
112 	END IF;
113 
114 FND_MSG_PUB.Count_And_Get(p_encoded=>'F', p_count => p_msg_count, p_data => p_msg_data );
115 
116 END Do_Close;
117 
118 END PO_Mass_Close_PO_GRP;