DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_TAX_INTERFACE_GRP

Source


1 PACKAGE BODY PO_TAX_INTERFACE_GRP AS
2 /* $Header: PO_TAX_INTERFACE_GRP.plb 120.0 2005/11/20 23:55:35 nipagarw noship $ */
3 
4 G_PACKAGE_NAME CONSTANT VARCHAR2(30) := 'PO_TAX_INTERFACE_GRP';
5 
6 -- Logging global constants
7 D_PACKAGE_BASE CONSTANT VARCHAR2(100) := PO_LOG.get_package_base(G_PACKAGE_NAME);
8 
9 
10 -----------------------------------------------------------------------------
11 --Start of Comments
12 --Name: get_document_tax_constants
13 --Pre-reqs:
14 --  None
15 --Modifies:
16 --  None
17 --Locks:
18 --  None
19 --Function:
20 --  Returns constants for PO EBTAX stored in PO_CONSTANTS_SV
21 --Parameters:
22 --IN:
23 --p_api_version
24 --  Standard API specification parameter
25 --p_init_msg_list
26 --  Standard API specification parameter. Not used
27 --p_commit
28 --  Standard API specification parameter. Not used
29 --p_validation_level
30 --  Standard API specification parameter. Not used
31 --p_document_type
32 --  Document Type. Can have values 'PO', 'RELEASE', 'REQUISITION'
33 --OUT:
34 --x_return_status
35 --  Standard API specification parameter
36 --  Can hold one of the following values:
37 --    FND_API.G_RET_STS_SUCCESS (='S')
38 --    FND_API.G_RET_STS_ERROR (='E')
39 --    FND_API.G_RET_STS_UNEXP_ERROR (='U')
40 --x_msg_count
41 --  Standard API specification parameter. Not used
42 --x_msg_data
43 --  Standard API specification parameter
44 --x_application_id
45 --  PO Application Id
46 --x_entity_code
47 --  Entity Code associated with the document
48 --x_event_class_code
49 --  Event Class Code associated with the document
50 --End of Comments
51 -----------------------------------------------------------------------------
52 PROCEDURE get_document_tax_constants(p_api_version      IN  NUMBER,
53                                      p_init_msg_list    IN  VARCHAR2,
54                                      p_commit           IN  VARCHAR2,
55                                      p_validation_level IN  NUMBER,
56                                      x_return_status    OUT NOCOPY VARCHAR2,
57                                      x_msg_count        OUT NOCOPY NUMBER,
58                                      x_msg_data         OUT NOCOPY VARCHAR2,
59                                      p_doc_type         IN  VARCHAR2,
60                                      x_application_id   OUT NOCOPY NUMBER,
61                                      x_entity_code      OUT NOCOPY VARCHAR2,
62                                      x_event_class_code OUT NOCOPY VARCHAR2)
63 IS
64   l_module_name CONSTANT VARCHAR2(100) := 'GET_DOCUMENT_TAX_CONSTANTS';
65   d_module_base CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(
66                                             D_PACKAGE_BASE, l_module_name);
67   l_api_version CONSTANT NUMBER := 1.0;
68   d_progress NUMBER;
69 BEGIN
70   IF (PO_LOG.d_proc) THEN
71     PO_LOG.proc_begin(d_module_base);
72     PO_LOG.proc_begin(d_module_base, 'p_api_version', p_api_version);
73     PO_LOG.proc_begin(d_module_base, 'p_init_msg_list', p_init_msg_list);
74     PO_LOG.proc_begin(d_module_base, 'p_commit', p_commit);
75     PO_LOG.proc_begin(d_module_base, 'p_validation_level', p_validation_level);
76     PO_LOG.proc_begin(d_module_base, 'p_doc_type', p_doc_type);
77   END IF;
78 
79   d_progress := 0;
80   -- By default return status is SUCCESS if no exception occurs
81   x_return_status := FND_API.G_RET_STS_SUCCESS;
82 
83   IF NOT (FND_API.compatible_api_call(l_api_version,
84                                       p_api_version,
85                                       l_module_name,
86                                       g_package_name)) THEN
87     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
88   END IF;
89 
90   IF p_doc_type = 'PO' THEN
91     d_progress := 10;
92     x_application_id := PO_CONSTANTS_SV.APPLICATION_ID;
93     x_entity_code := PO_CONSTANTS_SV.PO_ENTITY_CODE;
94     x_event_class_code :=PO_CONSTANTS_SV.PO_EVENT_CLASS_CODE;
95   ELSIF p_doc_type = 'RELEASE' THEN
96     d_progress := 20;
97     x_application_id := PO_CONSTANTS_SV.APPLICATION_ID;
98     x_entity_code := PO_CONSTANTS_SV.REL_ENTITY_CODE;
99     x_event_class_code :=PO_CONSTANTS_SV.REL_EVENT_CLASS_CODE;
100   ELSIF p_doc_type = 'REQUISITION' THEN
101     d_progress := 30;
102     x_application_id := PO_CONSTANTS_SV.APPLICATION_ID;
103     x_entity_code := PO_CONSTANTS_SV.REQ_ENTITY_CODE;
104     x_event_class_code :=PO_CONSTANTS_SV.REQ_EVENT_CLASS_CODE;
105   END IF;
106 
107   d_progress := 40;
108   IF (PO_LOG.d_proc) THEN
109     PO_LOG.proc_end(d_module_base);
110     PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
111     PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
112     PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
113     PO_LOG.proc_end(d_module_base, 'x_application_id', x_application_id);
114     PO_LOG.proc_end(d_module_base, 'x_entity_code', x_entity_code);
115     PO_LOG.proc_end(d_module_base, 'x_event_class_code', x_event_class_code);
116   END IF;
117 
118   d_progress := 50;
119 EXCEPTION
120   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
121     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
122     FND_MSG_PUB.count_and_get(p_count => x_msg_count,
123                               p_data  => x_msg_data);
124     IF (PO_LOG.d_exc) THEN
125       PO_LOG.exc(d_module_base, d_progress, 'Unexpected error in '||l_module_name);
126       PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
127       PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
128       PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
129       PO_LOG.proc_end(d_module_base, 'x_application_id', x_application_id);
130       PO_LOG.proc_end(d_module_base, 'x_entity_code', x_entity_code);
131       PO_LOG.proc_end(d_module_base, 'x_event_class_code', x_event_class_code);
132     END IF;
133   WHEN OTHERS THEN
134     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
135 
136     IF (PO_LOG.d_exc) THEN
137       PO_LOG.exc(d_module_base, d_progress, 'Unhandled exception in '||l_module_name);
138       PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
139       PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
140       PO_LOG.proc_end(d_module_base, 'x_msg_data', x_msg_data);
141       PO_LOG.proc_end(d_module_base, 'x_application_id', x_application_id);
142       PO_LOG.proc_end(d_module_base, 'x_entity_code', x_entity_code);
143       PO_LOG.proc_end(d_module_base, 'x_event_class_code', x_event_class_code);
144     END IF;
145 END get_document_tax_constants;
146 
147 
148 END PO_TAX_INTERFACE_GRP;