DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_POST_ACCT_PROGS_PKG

Source


1 PACKAGE BODY xla_post_acct_progs_pkg AS
2 /* $Header: xlaamprg.pkb 120.0 2005/05/24 21:39:07 dcshah noship $ */
3 /*======================================================================+
4 |             Copyright (c) 1995-2002 Oracle Corporation                |
5 |                       Redwood Shores, CA, USA                         |
6 |                         All rights reserved.                          |
7 +=======================================================================+
8 | PACKAGE NAME                                                          |
9 |    xla_post_acct_progs_pkg                                            |
10 |                                                                       |
11 | DESCRIPTION                                                           |
12 |    XLA Post Accounting Programs Package                               |
13 |                                                                       |
14 | HISTORY                                                               |
15 |    01-May-01 Dimple Shah    Created                                   |
16 |                                                                       |
17 +======================================================================*/
18 
19 --=============================================================================
20 --               *********** Local Trace Routine **********
21 --=============================================================================
22 C_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
23 C_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
24 C_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
25 C_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
26 C_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
27 C_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
28 
29 C_LEVEL_LOG_DISABLED  CONSTANT NUMBER := 99;
30 C_DEFAULT_MODULE      CONSTANT VARCHAR2(240) := 'xla.plsql.xla_post_acct_progs_pkg';
31 
32 g_log_level           NUMBER;
33 g_log_enabled         BOOLEAN;
34 
35 PROCEDURE trace
36   (p_msg                        IN VARCHAR2
37   ,p_module                     IN VARCHAR2
38   ,p_level                      IN NUMBER) IS
39 BEGIN
40   ----------------------------------------------------------------------------
41   -- Following is for FND log.
42   ----------------------------------------------------------------------------
43   IF (p_msg IS NULL AND p_level >= g_log_level) THEN
44     fnd_log.message(p_level, p_module);
45   ELSIF p_level >= g_log_level THEN
46     fnd_log.string(p_level, p_module, p_msg);
47   END IF;
48 
49 EXCEPTION
50   WHEN xla_exceptions_pkg.application_exception THEN
51     RAISE;
52 
53   WHEN OTHERS THEN
54     xla_exceptions_pkg.raise_message
55       (p_location   => 'xla_post_acct_progs_pkg.trace');
56 END trace;
57 
58 
59 
60 /*======================================================================+
61 |                                                                       |
62 | Public Procedure                                                      |
63 |                                                                       |
64 | delete_program_details                                                |
65 |                                                                       |
66 | Deletes all details of the Post Accounting Program                    |
67 |                                                                       |
68 +======================================================================*/
69 
70 PROCEDURE delete_program_details
71   (p_program_code                   IN VARCHAR2
72   ,p_program_owner_code             IN VARCHAR2)
73 IS
74 
75    l_log_module  VARCHAR2(240);
76 BEGIN
77    IF g_log_enabled THEN
78      l_log_module := C_DEFAULT_MODULE||'.delete_program_details';
79    END IF;
80 
81    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82      trace(p_msg    => 'BEGIN of procedure delete_program_details'
83           ,p_module => l_log_module
84           ,p_level  => C_LEVEL_PROCEDURE);
85    END IF;
86 
87    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
88      trace(p_msg    => 'program_code = '||p_program_code||
89                        ',program_owner_code = '||p_program_owner_code
90           ,p_module => l_log_module
91           ,p_level  => C_LEVEL_STATEMENT);
92    END IF;
93 
94    DELETE
95      FROM xla_acct_class_assgns
96     WHERE program_code          = p_program_code
97       AND program_owner_code    = p_program_owner_code;
98 
99    DELETE
100      FROM xla_assignment_defns_tl
101     WHERE program_code          = p_program_code
102       AND program_owner_code    = p_program_owner_code;
103 
104    DELETE
105      FROM xla_assignment_defns_b
106     WHERE program_code          = p_program_code
107       AND program_owner_code    = p_program_owner_code;
108 
109    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110      trace(p_msg    => 'END of procedure delete_program_details'
111           ,p_module => l_log_module
112           ,p_level  => C_LEVEL_PROCEDURE);
113    END IF;
114 
115 EXCEPTION
116    WHEN xla_exceptions_pkg.application_exception THEN
117       RAISE;
118    WHEN OTHERS                                   THEN
119       xla_exceptions_pkg.raise_message
120         (p_location   => 'xla_post_acct_progs_pkg.delete_program_details');
121 
122 END delete_program_details;
123 
124 /*======================================================================+
125 |                                                                       |
126 | Public Procedure                                                      |
127 |                                                                       |
128 | delete_assignment_details                                             |
129 |                                                                       |
130 | Deletes all details of the Assignment Definition                      |
131 |                                                                       |
132 +======================================================================*/
133 
134 PROCEDURE delete_assignment_details
135   (p_program_code                   IN VARCHAR2
136   ,p_program_owner_code             IN VARCHAR2
137   ,p_assignment_code                IN VARCHAR2
138   ,p_assignment_owner_code          IN VARCHAR2)
139 
140 IS
141 
142    l_log_module  VARCHAR2(240);
143 BEGIN
144    IF g_log_enabled THEN
145      l_log_module := C_DEFAULT_MODULE||'.delete_assignment_details';
146    END IF;
147 
148    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149      trace(p_msg    => 'BEGIN of procedure delete_assignment_details'
150           ,p_module => l_log_module
151           ,p_level  => C_LEVEL_PROCEDURE);
152    END IF;
153 
154    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
155      trace(p_msg    => 'program_code = '||p_program_code||
156                        ',program_owner_code = '||p_program_owner_code||
157                        ',assignment_code = '||p_assignment_code||
158                        ',assignment_owner_code = '||p_assignment_owner_code
159           ,p_module => l_log_module
160           ,p_level  => C_LEVEL_STATEMENT);
161    END IF;
162 
163    DELETE
164      FROM xla_acct_class_assgns
165     WHERE program_code          = p_program_code
166       AND program_owner_code    = p_program_owner_code
167       AND assignment_code       = p_assignment_code
168       AND assignment_owner_code = p_assignment_owner_code;
169 
170    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171      trace(p_msg    => 'END of procedure delete_assignment_details'
172           ,p_module => l_log_module
173           ,p_level  => C_LEVEL_PROCEDURE);
174    END IF;
175 
176 EXCEPTION
177    WHEN xla_exceptions_pkg.application_exception THEN
178       RAISE;
179    WHEN OTHERS                                   THEN
180       xla_exceptions_pkg.raise_message
181         (p_location   => 'xla_post_acct_progs_pkg.delete_ssignment_details');
182 
183 END delete_assignment_details;
184 
185 /*======================================================================+
186 |                                                                       |
187 | Public Procedure                                                      |
188 |                                                                       |
189 | copy_assignment_details                                               |
190 |                                                                       |
191 | Copies all details of the Assignment Definition                       |
192 |                                                                       |
193 +======================================================================*/
194 
195 PROCEDURE copy_assignment_details
196   (p_program_code                   IN VARCHAR2
197   ,p_program_owner_code             IN VARCHAR2
198   ,p_old_assignment_code            IN VARCHAR2
199   ,p_old_assignment_owner_code      IN VARCHAR2
200   ,p_new_assignment_code            IN VARCHAR2
201   ,p_new_assignment_owner_code      IN VARCHAR2)
202 
203 IS
204    l_creation_date                   DATE;
205    l_last_update_date                DATE;
206    l_created_by                      INTEGER;
207    l_last_update_login               INTEGER;
208    l_last_updated_by                 INTEGER;
209    l_accounting_class_code           VARCHAR2(30);
210 
211    CURSOR c_acct_class
212    IS
213    SELECT accounting_class_code
214      FROM xla_acct_class_assgns
215     WHERE program_code                = p_program_code
216       AND program_owner_code          = p_program_owner_code
217       AND assignment_code             = p_old_assignment_code
218       AND assignment_owner_code       = p_old_assignment_owner_code;
219 
220    l_log_module  VARCHAR2(240);
221 BEGIN
222    IF g_log_enabled THEN
223      l_log_module := C_DEFAULT_MODULE||'.copy_assignment_details';
224    END IF;
225 
226    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
227      trace(p_msg    => 'BEGIN of procedure copy_assignment_details'
228           ,p_module => l_log_module
229           ,p_level  => C_LEVEL_PROCEDURE);
230    END IF;
231 
232    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
233      trace(p_msg    => 'program_code = '||p_program_code||
234                        ',program_owner_code = '||p_program_owner_code||
235                        ',old_assignment_code = '||p_old_assignment_code||
236                        ',old_assignment_owner_code = '||p_old_assignment_owner_code||
237                        ',new_assignment_code = '||p_new_assignment_code||
238                        ',new_assignment_owner_code = '||p_new_assignment_owner_code
239           ,p_module => l_log_module
240           ,p_level  => C_LEVEL_STATEMENT);
241    END IF;
242 
243    l_creation_date           := sysdate;
244    l_last_update_date        := sysdate;
245    l_created_by              := xla_environment_pkg.g_usr_id;
246    l_last_update_login       := xla_environment_pkg.g_login_id;
247    l_last_updated_by         := xla_environment_pkg.g_usr_id;
248 
249    OPEN c_acct_class;
250    LOOP
251       FETCH c_acct_class
252        INTO l_accounting_class_code;
253       EXIT WHEN c_acct_class%notfound;
254 
255 
256    INSERT INTO xla_acct_class_assgns
257      (program_code
258      ,program_owner_code
259      ,assignment_code
260      ,assignment_owner_code
261      ,accounting_class_code
262      ,creation_date
263      ,created_by
264      ,last_update_date
265      ,last_updated_by
266      ,last_update_login)
267     VALUES
268       (p_program_code
269       ,p_program_owner_code
270       ,p_new_assignment_code
271       ,p_new_assignment_owner_code
272       ,l_accounting_class_code
273       ,l_creation_date
274       ,l_created_by
275       ,l_last_update_date
276       ,l_last_updated_by
277       ,l_last_update_login);
278 
279    END LOOP;
280    CLOSE c_acct_class;
281 
282    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
283      trace(p_msg    => 'END of procedure copy_assignment_details'
284           ,p_module => l_log_module
285           ,p_level  => C_LEVEL_PROCEDURE);
286    END IF;
287 
288 EXCEPTION
289    WHEN xla_exceptions_pkg.application_exception THEN
290       RAISE;
291    WHEN OTHERS                                   THEN
292       xla_exceptions_pkg.raise_message
293         (p_location   => 'xla_post_acct_progs_pkg.copy_ssignment_details');
294 
295 END copy_assignment_details;
296 
297 END xla_post_acct_progs_pkg;