DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_PROD_SEG_RULES_F_PKG

Source


1 PACKAGE BODY xla_prod_seg_rules_f_pkg AS
2 /* $Header: xlatbasr.pkb 120.5 2003/03/18 00:42:57 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_prod_seg_rules_f_pkg                                           |
10 |                                                                       |
11 | DESCRIPTION                                                           |
12 |    Forms PL/SQL Wrapper for xla_prod_seg_rules                        |
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_application_id                   IN NUMBER
29   ,x_amb_context_code                 IN VARCHAR2
30   ,x_product_rule_type_code           IN VARCHAR2
31   ,x_product_rule_code                IN VARCHAR2
32   ,x_entity_code                      IN VARCHAR2
33   ,x_event_class_code                 IN VARCHAR2
34   ,x_event_type_code                  IN VARCHAR2
35   ,x_accounting_line_type_code        IN VARCHAR2
36   ,x_accounting_line_code             IN VARCHAR2
37   ,x_flexfield_segment_code           IN VARCHAR2
38   ,x_segment_rule_type_code           IN VARCHAR2
39   ,x_segment_rule_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 
46 IS
47 
48 CURSOR c IS
49 SELECT rowid
50 FROM   xla_prod_seg_rules
51 WHERE  application_id                   = x_application_id
52   AND  amb_context_code                 = x_amb_context_code
53   AND  product_rule_type_code           = x_product_rule_type_code
54   AND  product_rule_code                = x_product_rule_code
55   AND  entity_code                      = x_entity_code
56   AND  event_class_code                 = x_event_class_code
57   AND  event_type_code                  = x_event_type_code
58   AND  accounting_line_type_code        = x_accounting_line_type_code
59   AND  accounting_line_code             = x_accounting_line_code
60   AND  flexfield_segment_code           = x_flexfield_segment_code
61 ;
62 
63 BEGIN
64 xla_utility_pkg.trace('> .insert_row'                    ,20);
65 
66 INSERT INTO xla_prod_seg_rules
67 (creation_date
68 ,created_by
69 ,application_id
70 ,amb_context_code
71 ,product_rule_type_code
72 ,product_rule_code
73 ,entity_code
74 ,event_class_code
75 ,event_type_code
76 ,accounting_line_type_code
77 ,accounting_line_code
78 ,flexfield_segment_code
79 ,segment_rule_type_code
80 ,segment_rule_code
81 ,last_update_date
82 ,last_updated_by
83 ,last_update_login)
84 VALUES
85 (x_creation_date
86 ,x_created_by
87 ,x_application_id
88 ,x_amb_context_code
89 ,x_product_rule_type_code
90 ,x_product_rule_code
91 ,x_entity_code
92 ,x_event_class_code
93 ,x_event_type_code
94 ,x_accounting_line_type_code
95 ,x_accounting_line_code
96 ,x_flexfield_segment_code
97 ,x_segment_rule_type_code
98 ,x_segment_rule_code
99 ,x_last_update_date
100 ,x_last_updated_by
101 ,x_last_update_login)
102 ;
103 
104 OPEN c;
105 FETCH c INTO x_rowid;
106 
107 IF (c%NOTFOUND) THEN
108    CLOSE c;
109    RAISE NO_DATA_FOUND;
110 END IF;
111 CLOSE c;
112 
113 xla_utility_pkg.trace('< .insert_row'                    ,20);
114 END insert_row;
115 
116 /*======================================================================+
117 |                                                                       |
118 |  Procedure lock_row                                                   |
119 |                                                                       |
120 +======================================================================*/
121 PROCEDURE lock_row
122   (x_rowid                            IN OUT NOCOPY VARCHAR2
123   ,x_application_id                   IN NUMBER
124   ,x_amb_context_code                 IN VARCHAR2
125   ,x_product_rule_type_code           IN VARCHAR2
126   ,x_product_rule_code                IN VARCHAR2
127   ,x_entity_code                      IN VARCHAR2
128   ,x_event_class_code                 IN VARCHAR2
129   ,x_event_type_code                  IN VARCHAR2
130   ,x_accounting_line_type_code        IN VARCHAR2
131   ,x_accounting_line_code             IN VARCHAR2
132   ,x_flexfield_segment_code           IN VARCHAR2
133   ,x_segment_rule_type_code           IN VARCHAR2
134   ,x_segment_rule_code                IN VARCHAR2)
135 
136 IS
137 
138 CURSOR c IS
139 SELECT application_id
140       ,amb_context_code
141       ,product_rule_type_code
142       ,product_rule_code
143       ,entity_code
144       ,event_class_code
145       ,event_type_code
146       ,accounting_line_type_code
147       ,accounting_line_code
148       ,flexfield_segment_code
149       ,segment_rule_type_code
150       ,segment_rule_code
151 FROM   xla_prod_seg_rules
152 WHERE  application_id                   = x_application_id
153   AND  amb_context_code                 = x_amb_context_code
154   AND  product_rule_type_code           = x_product_rule_type_code
155   AND  product_rule_code                = x_product_rule_code
156   AND  entity_code                      = x_entity_code
157   AND  event_class_code                 = x_event_class_code
158   AND  event_type_code                  = x_event_type_code
159   AND  accounting_line_type_code        = x_accounting_line_type_code
160   AND  accounting_line_code             = x_accounting_line_code
161   AND  flexfield_segment_code           = x_flexfield_segment_code
162 FOR UPDATE OF application_id NOWAIT;
163 
164 recinfo              c%ROWTYPE;
165 
166 BEGIN
167 xla_utility_pkg.trace('> .lock_row'                      ,20);
168 
169 OPEN c;
170 FETCH c INTO recinfo;
171 
172 IF (c%NOTFOUND) THEN
173    CLOSE c;
174    fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
175    app_exception.raise_exception;
176 END IF;
177 CLOSE c;
178 
179 IF ( (recinfo.application_id                    = x_application_id)
180  AND (recinfo.amb_context_code                  = x_amb_context_code)
181  AND (recinfo.product_rule_type_code            = x_product_rule_type_code)
182  AND (recinfo.product_rule_code                 = x_product_rule_code)
183  AND (recinfo.entity_code                       = x_entity_code)
184  AND (recinfo.event_class_code                  = x_event_class_code)
185  AND (recinfo.event_type_code                   = x_event_type_code)
186  AND (recinfo.accounting_line_type_code         = x_accounting_line_type_code)
187  AND (recinfo.accounting_line_code              = x_accounting_line_code)
188  AND (recinfo.flexfield_segment_code            = x_flexfield_segment_code)
189  AND (recinfo.segment_rule_type_code            = x_segment_rule_type_code)
190  AND (recinfo.segment_rule_code                 = x_segment_rule_code)
191                    ) THEN
192    null;
193 ELSE
194    fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
195    app_exception.raise_exception;
196 END IF;
197 
198 xla_utility_pkg.trace('< .lock_row'                      ,20);
199 RETURN;
200 
201 END lock_row;
202 
203 /*======================================================================+
204 |                                                                       |
205 |  Procedure update_row                                                 |
206 |                                                                       |
207 +======================================================================*/
208 PROCEDURE update_row
209   (x_rowid                            IN OUT NOCOPY VARCHAR2
210   ,x_application_id                   IN NUMBER
211   ,x_amb_context_code                 IN VARCHAR2
212   ,x_product_rule_type_code           IN VARCHAR2
213   ,x_product_rule_code                IN VARCHAR2
214   ,x_entity_code                      IN VARCHAR2
215   ,x_event_class_code                 IN VARCHAR2
216   ,x_event_type_code                  IN VARCHAR2
217   ,x_accounting_line_type_code        IN VARCHAR2
218   ,x_accounting_line_code             IN VARCHAR2
219   ,x_flexfield_segment_code           IN VARCHAR2
220   ,x_segment_rule_type_code           IN VARCHAR2
221   ,x_segment_rule_code                IN VARCHAR2
222   ,x_last_update_date                 IN DATE
223   ,x_last_updated_by                  IN NUMBER
224   ,x_last_update_login                IN NUMBER)
225 IS
226 
227 BEGIN
228 xla_utility_pkg.trace('> .update_row'                    ,20);
229 UPDATE xla_prod_seg_rules
230    SET
231        last_update_date                 = x_last_update_date
232       ,segment_rule_type_code           = x_segment_rule_type_code
233       ,segment_rule_code                = x_segment_rule_code
234       ,last_updated_by                  = x_last_updated_by
235       ,last_update_login                = x_last_update_login
236 WHERE  application_id                   = x_application_id
237   AND  amb_context_code                 = x_amb_context_code
238   AND  product_rule_type_code           = x_product_rule_type_code
239   AND  product_rule_code                = x_product_rule_code
240   AND  entity_code                      = x_entity_code
241   AND  event_class_code                 = x_event_class_code
242   AND  event_type_code                  = x_event_type_code
243   AND  accounting_line_type_code        = x_accounting_line_type_code
244   AND  accounting_line_code             = x_accounting_line_code
245   AND  flexfield_segment_code           = x_flexfield_segment_code;
246 
247 IF (SQL%NOTFOUND) THEN
248    RAISE NO_DATA_FOUND;
249 END IF;
250 
251 xla_utility_pkg.trace('< .update_row'                    ,20);
252 END update_row;
253 
254 /*======================================================================+
255 |                                                                       |
256 |  Procedure delete_row                                                 |
257 |                                                                       |
258 +======================================================================*/
259 PROCEDURE delete_row
260   (x_application_id                   IN NUMBER
261   ,x_amb_context_code                 IN VARCHAR2
262   ,x_product_rule_type_code           IN VARCHAR2
263   ,x_product_rule_code                IN VARCHAR2
264   ,x_entity_code                      IN VARCHAR2
265   ,x_event_class_code                 IN VARCHAR2
266   ,x_event_type_code                  IN VARCHAR2
267   ,x_accounting_line_type_code        IN VARCHAR2
268   ,x_accounting_line_code             IN VARCHAR2
269   ,x_flexfield_segment_code           IN VARCHAR2)
270 
271 IS
272 
273 BEGIN
274 xla_utility_pkg.trace('> .delete_row'                    ,20);
275 DELETE FROM xla_prod_seg_rules
276 WHERE application_id                   = x_application_id
277   AND amb_context_code                 = x_amb_context_code
278   AND product_rule_type_code           = x_product_rule_type_code
279   AND product_rule_code                = x_product_rule_code
280   AND entity_code                      = x_entity_code
281   AND event_class_code                 = x_event_class_code
282   AND event_type_code                  = x_event_type_code
283   AND accounting_line_type_code        = x_accounting_line_type_code
284   AND accounting_line_code             = x_accounting_line_code
285   AND flexfield_segment_code           = x_flexfield_segment_code;
286 
287 IF (SQL%NOTFOUND) THEN
288    RAISE NO_DATA_FOUND;
289 END IF;
290 
291 xla_utility_pkg.trace('< .delete_row'                    ,20);
292 END delete_row;
293 
294 end xla_prod_seg_rules_f_pkg;