DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_ANALYTICAL_ASSGNS_F_PKG

Source


1 PACKAGE BODY xla_analytical_assgns_f_pkg AS
2 /* $Header: xlatbanc.pkb 120.4 2003/04/03 22:06:18 dcshah ship $ */
3 /*======================================================================+
4 |             Copyright (c) 2001-2002 Oracle Corporation                |
5 |                       Redwood Shores, CA, USA                         |
6 |                         All rights reserved.                          |
7 +=======================================================================+
8 | PACKAGE NAME                                                          |
9 |    xla_analytical_assgns_f_pkg                                        |
10 |                                                                       |
11 | DESCRIPTION                                                           |
12 |    Forms PL/SQL Wrapper for xla_analytical_assgns                     |
13 |                                                                       |
14 | HISTORY                                                               |
15 |    05/22/01     Dimple Shah    Created                                |
16 |                                                                       |
17 +======================================================================*/
18 
19 
20 
21 /*======================================================================+
22 |                                                                       |
23 |  Procedure insert_row                                                 |
24 |                                                                       |
25 +======================================================================*/
26 PROCEDURE insert_row
27   (x_rowid                            IN OUT NOCOPY VARCHAR2
28   ,x_analytical_assignment_id         IN OUT NOCOPY NUMBER
29   ,x_application_id                   IN NUMBER
30   ,x_amb_context_code                 IN VARCHAR2
31   ,x_product_rule_type_code           IN VARCHAR2
32   ,x_product_rule_code                IN VARCHAR2
33   ,x_entity_code                      IN VARCHAR2
34   ,x_event_class_code                 IN VARCHAR2
35   ,x_event_type_code                  IN VARCHAR2
36   ,x_accounting_line_type_code        IN VARCHAR2
37   ,x_accounting_line_code             IN VARCHAR2
38   ,x_anal_criterion_type_code          IN VARCHAR2
39   ,x_analytical_criterion_code         IN VARCHAR2
40   ,x_creation_date                    IN DATE
41   ,x_created_by                       IN NUMBER
42   ,x_last_update_date                 IN DATE
43   ,x_last_updated_by                  IN NUMBER
44   ,x_last_update_login                IN NUMBER)
45 IS
46 
47 l_analytical_assignment_id    number(38);
48 
49 CURSOR c IS
50 SELECT rowid
51 FROM   xla_analytical_assgns
52 WHERE  analytical_assignment_id                    = x_analytical_assignment_id
53 ;
54 
55 BEGIN
56 xla_utility_pkg.trace('> .insert_row'                    ,20);
57 
58 INSERT INTO xla_analytical_assgns
59 (creation_date
60 ,created_by
61 ,application_id
62 ,amb_context_code
63 ,analytical_assignment_id
64 ,product_rule_type_code
65 ,product_rule_code
66 ,entity_code
67 ,event_class_code
68 ,event_type_code
69 ,accounting_line_type_code
70 ,accounting_line_code
71 ,analytical_criterion_type_code
72 ,analytical_criterion_code
73 ,last_update_date
74 ,last_updated_by
75 ,last_update_login)
76 VALUES
77 (x_creation_date
78 ,x_created_by
79 ,x_application_id
80 ,x_amb_context_code
81 ,xla_analytical_assgns_s.nextval
82 ,x_product_rule_type_code
83 ,x_product_rule_code
84 ,x_entity_code
85 ,x_event_class_code
86 ,x_event_type_code
87 ,x_accounting_line_type_code
88 ,x_accounting_line_code
89 ,x_anal_criterion_type_code
90 ,x_analytical_criterion_code
91 ,x_last_update_date
92 ,x_last_updated_by
93 ,x_last_update_login)
94 returning analytical_assignment_id into x_analytical_assignment_id
95 ;
96 
97 OPEN c;
98 FETCH c INTO x_rowid;
99 
100 IF (c%NOTFOUND) THEN
101    CLOSE c;
102    RAISE NO_DATA_FOUND;
103 END IF;
104 CLOSE c;
105 
106 xla_utility_pkg.trace('< .insert_row'                    ,20);
107 END insert_row;
108 
109 /*======================================================================+
110 |                                                                       |
111 |  Procedure lock_row                                                   |
112 |                                                                       |
113 +======================================================================*/
114 PROCEDURE lock_row
115   (x_rowid                            IN OUT NOCOPY VARCHAR2
116   ,x_analytical_assignment_id         IN NUMBER
117   ,x_application_id                   IN NUMBER
118   ,x_amb_context_code                 IN VARCHAR2
119   ,x_product_rule_type_code           IN VARCHAR2
120   ,x_product_rule_code                IN VARCHAR2
121   ,x_entity_code                      IN VARCHAR2
122   ,x_event_class_code                 IN VARCHAR2
123   ,x_event_type_code                  IN VARCHAR2
124   ,x_accounting_line_type_code        IN VARCHAR2
125   ,x_accounting_line_code             IN VARCHAR2
126   ,x_anal_criterion_type_code          IN VARCHAR2
127   ,x_analytical_criterion_code         IN VARCHAR2)
128 
129 IS
130 
131 CURSOR c IS
132 SELECT application_id
133       ,amb_context_code
134       ,analytical_assignment_id
135       ,product_rule_type_code
136       ,product_rule_code
137       ,entity_code
138       ,event_class_code
139       ,event_type_code
140       ,accounting_line_type_code
141       ,accounting_line_code
142       ,analytical_criterion_type_code
143       ,analytical_criterion_code
144 FROM   xla_analytical_assgns
145 WHERE  analytical_assignment_id                   = x_analytical_assignment_id
146 FOR UPDATE OF application_id NOWAIT;
147 
148 recinfo              c%ROWTYPE;
149 
150 BEGIN
151 xla_utility_pkg.trace('> .lock_row'                      ,20);
152 
153 OPEN c;
154 FETCH c INTO recinfo;
155 
156 IF (c%NOTFOUND) THEN
157    CLOSE c;
158    fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
159    app_exception.raise_exception;
160 END IF;
161 CLOSE c;
162 
163 IF ( (recinfo.application_id                    = x_application_id)
164  AND (recinfo.amb_context_code                  = x_amb_context_code)
165  AND (recinfo.product_rule_type_code            = x_product_rule_type_code)
166  AND (recinfo.product_rule_code                 = x_product_rule_code)
167  AND (recinfo.entity_code                       = x_entity_code)
168  AND (recinfo.event_class_code                  = x_event_class_code)
169  AND (recinfo.event_type_code                   = x_event_type_code)
170  AND (recinfo.analytical_criterion_type_code     = x_anal_criterion_type_code)
171  AND (recinfo.analytical_criterion_code          = x_analytical_criterion_code)
172  AND ((recinfo.accounting_line_type_code        = x_accounting_line_type_code)
173    OR ((recinfo.accounting_line_type_code       IS NULL)
174   AND (x_accounting_line_type_code              IS NULL)))
175  AND ((recinfo.accounting_line_code             = x_accounting_line_code)
176    OR ((recinfo.accounting_line_code            IS NULL)
177   AND (x_accounting_line_code                   IS NULL)))
178                    ) THEN
179    null;
180 ELSE
181    fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
182    app_exception.raise_exception;
183 END IF;
184 
185 xla_utility_pkg.trace('< .lock_row'                      ,20);
186 RETURN;
187 
188 END lock_row;
189 
190 /*======================================================================+
191 |                                                                       |
192 |  Procedure update_row                                                 |
193 |                                                                       |
194 +======================================================================*/
195 PROCEDURE update_row
196   (x_rowid                            IN OUT NOCOPY VARCHAR2
197   ,x_analytical_assignment_id         IN NUMBER
198   ,x_application_id                   IN NUMBER
199   ,x_amb_context_code                 IN VARCHAR2
200   ,x_product_rule_type_code           IN VARCHAR2
201   ,x_product_rule_code                IN VARCHAR2
202   ,x_entity_code                      IN VARCHAR2
203   ,x_event_class_code                 IN VARCHAR2
204   ,x_event_type_code                  IN VARCHAR2
205   ,x_accounting_line_type_code        IN VARCHAR2
206   ,x_accounting_line_code             IN VARCHAR2
207   ,x_anal_criterion_type_code          IN VARCHAR2
208   ,x_analytical_criterion_code         IN VARCHAR2
209   ,x_last_update_date                 IN DATE
210   ,x_last_updated_by                  IN NUMBER
211   ,x_last_update_login                IN NUMBER)
212 
213 IS
214 
215 BEGIN
216 xla_utility_pkg.trace('> .update_row'                    ,20);
217 UPDATE xla_analytical_assgns
218    SET
219        last_update_date                 = x_last_update_date
220       ,analytical_criterion_type_code    = x_anal_criterion_type_code
221       ,analytical_criterion_code         = x_analytical_criterion_code
222       ,last_updated_by                  = x_last_updated_by
223       ,last_update_login                = x_last_update_login
224 WHERE  analytical_assignment_id         = x_analytical_assignment_id;
225 
226 IF (SQL%NOTFOUND) THEN
227    RAISE NO_DATA_FOUND;
228 END IF;
229 
230 xla_utility_pkg.trace('< .update_row'                    ,20);
231 END update_row;
232 
233 /*======================================================================+
234 |                                                                       |
235 |  Procedure delete_row                                                 |
236 |                                                                       |
237 +======================================================================*/
238 PROCEDURE delete_row
239   (x_analytical_assignment_id      IN NUMBER)
240 
241 IS
242 
243 BEGIN
244 xla_utility_pkg.trace('> .delete_row'                    ,20);
245 DELETE FROM xla_analytical_assgns
246 WHERE  analytical_assignment_id         = x_analytical_assignment_id;
247 
248 IF (SQL%NOTFOUND) THEN
249    RAISE NO_DATA_FOUND;
250 END IF;
251 
252 xla_utility_pkg.trace('< .delete_row'                    ,20);
253 END delete_row;
254 
255 end xla_analytical_assgns_f_pkg;