[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;