DBA Data[Home] [Help]

PACKAGE BODY: APPS.POS_TAX_REPORT_BO_PKG

Source


1 PACKAGE BODY pos_tax_report_bo_pkg AS
2   /* $Header: POSSPTXRB.pls 120.1 2010/11/25 12:19:30 puppulur noship $ */
3 
4   PROCEDURE get_pos_tax_report_bo_tbl
5   (
6     p_api_version           IN NUMBER DEFAULT NULL,
7     p_init_msg_list         IN VARCHAR2 DEFAULT NULL,
8     p_party_id              IN NUMBER,
9     p_orig_system           IN VARCHAR2,
10     p_orig_system_reference IN VARCHAR2,
11     x_pos_tax_report_bo_tbl OUT NOCOPY pos_tax_report_bo_tbl,
12     x_return_status         OUT NOCOPY VARCHAR2,
13     x_msg_count             OUT NOCOPY NUMBER,
14     x_msg_data              OUT NOCOPY VARCHAR2
15   ) IS
16 
17     l_pos_tax_report_bo_tbl pos_tax_report_bo_tbl := pos_tax_report_bo_tbl();
18 
19     l_party_id NUMBER;
20   BEGIN
21     x_return_status := fnd_api.g_ret_sts_success;
22     x_msg_count     := 0;
23     x_msg_data      := '';
24 
25     IF p_party_id IS NULL OR p_party_id = 0 THEN
26 
27       l_party_id := pos_supplier_bo_dep_pkg.get_party_id(p_orig_system,
28                                                          p_orig_system_reference);
29     ELSE
30       l_party_id := p_party_id;
31     END IF;
32     SELECT pos_tax_report_bo(reporting_code_assoc_id,
33                              entity_code,
34                              entity_id,
35                              exception_code,
36                              effective_from,
37                              effective_to,
38                              created_by,
39                              creation_date,
40                              last_updated_by,
41                              last_update_date,
42                              last_update_login,
43                              reporting_code_char_value,
44                              reporting_code_date_value,
45                              reporting_code_num_value,
46                              reporting_type_id,
47                              reporting_code_id,
48                              object_version_number) BULK COLLECT
49     INTO   l_pos_tax_report_bo_tbl
50     FROM   zx_report_codes_assoc
51     WHERE  entity_id = l_party_id;
52 
53     x_pos_tax_report_bo_tbl := l_pos_tax_report_bo_tbl;
54   EXCEPTION
55     WHEN fnd_api.g_exc_error THEN
56 
57       x_return_status := fnd_api.g_ret_sts_error;
58       x_msg_count     := 1;
59       x_msg_data      := SQLCODE || SQLERRM;
60     WHEN fnd_api.g_exc_unexpected_error THEN
61 
62       x_return_status := fnd_api.g_ret_sts_unexp_error;
63       x_msg_count     := 1;
64       x_msg_data      := SQLCODE || SQLERRM;
65     WHEN OTHERS THEN
66 
67       x_return_status := fnd_api.g_ret_sts_unexp_error;
68 
69       x_msg_count := 1;
70       x_msg_data  := SQLCODE || SQLERRM;
71 
72   END get_pos_tax_report_bo_tbl;
73 
74   PROCEDURE create_pos_tax_report_bo_row
75   (
76     p_api_version           IN NUMBER DEFAULT NULL,
77     p_init_msg_list         IN VARCHAR2 DEFAULT NULL,
78     p_party_id              IN NUMBER,
79     p_orig_system           IN VARCHAR2,
80     p_orig_system_reference IN VARCHAR2,
81     p_create_update_flag    IN VARCHAR2,
82     p_pos_tax_report_bo     IN pos_tax_report_bo_tbl,
83     x_return_status         OUT NOCOPY VARCHAR2,
84     x_msg_count             OUT NOCOPY NUMBER,
85     x_msg_data              OUT NOCOPY VARCHAR2
86   ) IS
87 
88     l_row_exists        NUMBER := 0;
89     l_party_id          NUMBER := 0;
90     l_reporting_code_id NUMBER;
91   BEGIN
92     l_row_exists    := 0;
93     x_return_status := fnd_api.g_ret_sts_success;
94     x_msg_count     := 0;
95     x_msg_data      := '';
96 
97     IF p_party_id IS NULL OR p_party_id = 0 THEN
98 
99       l_party_id := pos_supplier_bo_dep_pkg.get_party_id(p_orig_system,
100                                                          p_orig_system_reference);
101     ELSE
102       l_party_id := p_party_id;
103     END IF;
104 
105     FOR i IN p_pos_tax_report_bo.first .. p_pos_tax_report_bo.last LOOP
106       IF p_create_update_flag = 'U' THEN
107         --update the existing row;
108         UPDATE zx_report_codes_assoc
109         SET    reporting_code_assoc_id   = p_pos_tax_report_bo(i)
110                                            .reporting_code_assoc_id,
111                entity_code               = p_pos_tax_report_bo(i).entity_code,
112                exception_code            = p_pos_tax_report_bo(i)
113                                            .exception_code,
114                effective_from            = p_pos_tax_report_bo(i)
115                                            .effective_from,
116                effective_to              = p_pos_tax_report_bo(i)
117                                            .effective_to,
118                last_updated_by           = p_pos_tax_report_bo(i)
119                                            .last_updated_by,
120                last_update_date          = SYSDATE,
121                last_update_login         = p_pos_tax_report_bo(i)
122                                            .last_update_login,
123                reporting_code_char_value = p_pos_tax_report_bo(i)
124                                            .reporting_code_char_value,
125                reporting_code_date_value = p_pos_tax_report_bo(i)
126                                            .reporting_code_date_value,
127                reporting_code_num_value  = p_pos_tax_report_bo(i)
128                                            .reporting_code_num_value,
129                reporting_type_id         = p_pos_tax_report_bo(i)
130                                            .reporting_type_id,
131                reporting_code_id         = p_pos_tax_report_bo(i)
132                                            .reporting_code_id,
133                object_version_number     = p_pos_tax_report_bo(i)
134                                            .object_version_number
135         WHERE  entity_id = l_party_id;
136 
137       ELSIF p_create_update_flag = 'C' THEN
138         SELECT zx_reporting_codes_b_s.nextval
139         INTO   l_reporting_code_id
140         FROM   dual;
141         IF l_party_id IS NULL THEN
142           l_party_id := p_pos_tax_report_bo(i).entity_id;
143         END IF;
144         INSERT INTO zx_report_codes_assoc
145           (reporting_code_assoc_id,
146            entity_code,
147            entity_id,
148            exception_code,
149            effective_from,
150            effective_to,
151            created_by,
152            creation_date,
153            last_updated_by,
154            last_update_date,
155            last_update_login,
156            reporting_code_char_value,
157            reporting_code_date_value,
158            reporting_code_num_value,
159            reporting_type_id,
160            reporting_code_id,
161            object_version_number)
162         VALUES
163           (l_reporting_code_id,
164            p_pos_tax_report_bo(i).entity_code,
165            p_pos_tax_report_bo(i).entity_id,
166            p_pos_tax_report_bo(i).exception_code,
167            p_pos_tax_report_bo(i).effective_from,
168            p_pos_tax_report_bo(i).effective_to,
169            p_pos_tax_report_bo(i).created_by,
170            SYSDATE,
171            p_pos_tax_report_bo(i).last_updated_by,
172            SYSDATE,
173            p_pos_tax_report_bo(i).last_update_login,
174            p_pos_tax_report_bo(i).reporting_code_char_value,
175            p_pos_tax_report_bo(i).reporting_code_date_value,
176            p_pos_tax_report_bo(i).reporting_code_num_value,
177            p_pos_tax_report_bo(i).reporting_type_id,
178            p_pos_tax_report_bo(i).reporting_code_id,
179            p_pos_tax_report_bo(i).object_version_number);
180 
181       END IF;
182     END LOOP;
183   EXCEPTION
184     WHEN fnd_api.g_exc_error THEN
185 
186       x_return_status := fnd_api.g_ret_sts_error;
187       x_msg_count     := 1;
188       x_msg_data      := SQLCODE || SQLERRM;
189     WHEN fnd_api.g_exc_unexpected_error THEN
190 
191       x_return_status := fnd_api.g_ret_sts_unexp_error;
192       x_msg_count     := 1;
193       x_msg_data      := SQLCODE || SQLERRM;
194     WHEN OTHERS THEN
195       x_return_status := fnd_api.g_ret_sts_unexp_error;
196 
197       x_msg_count := 1;
198       x_msg_data  := SQLCODE || SQLERRM;
199   END create_pos_tax_report_bo_row;
200 
201 END pos_tax_report_bo_pkg;