[Home] [Help]
PACKAGE BODY: APPS.RG_ROW_SEGMENT_SEQUENCES_PKG
Source
1 PACKAGE BODY RG_ROW_SEGMENT_SEQUENCES_PKG AS
2 /* $Header: rgirssqb.pls 120.3 2005/02/14 23:53:35 ticheng ship $ */
3 --
4 --
5 -- PUBLIC FUNCTIONS
6 --
7 --
8
9 FUNCTION new_row_segment_sequence_id
10 RETURN NUMBER
11 IS
12 new_sequence_number NUMBER;
13 BEGIN
14 SELECT rg_row_segment_sequences_s.nextval
15 INTO new_sequence_number
16 FROM dual;
17
18 RETURN(new_sequence_number);
19 END new_row_segment_sequence_id;
20
21 FUNCTION check_dup_sequence(cur_row_order_id IN NUMBER,
22 cur_row_segment_sequence_id IN NUMBER,
23 new_sequence IN NUMBER)
24 RETURN BOOLEAN
25 IS
26 rec_returned NUMBER;
27 BEGIN
28 SELECT count(*)
29 INTO rec_returned
30 FROM rg_row_segment_sequences
31 WHERE row_order_id = cur_row_order_id
32 AND row_segment_sequence_id <> cur_row_segment_sequence_id
33 AND segment_sequence = new_sequence;
34
35 IF rec_returned > 0 THEN
36 RETURN(TRUE);
37 ELSE
38 RETURN(FALSE);
39 END IF;
40 END check_dup_sequence;
41
42
43 FUNCTION check_dup_appl_col_name(cur_row_order_id IN NUMBER,
44 cur_row_segment_sequence_id IN NUMBER,
45 new_application_column_name IN VARCHAR2)
46 RETURN BOOLEAN
47 IS
48 rec_returned NUMBER;
49 BEGIN
50 SELECT count(*)
51 INTO rec_returned
52 FROM rg_row_segment_sequences
53 WHERE row_order_id = cur_row_order_id
54 AND row_segment_sequence_id <> cur_row_segment_sequence_id
55 AND application_column_name = new_application_column_name;
56
57 IF rec_returned > 0 THEN
58 RETURN(TRUE);
59 ELSE
60 RETURN(FALSE);
61 END IF;
62 END check_dup_appl_col_name;
63
64 -- *********************************************************************
65 -- The following procedures are necessary to handle the base view form.
66
67 PROCEDURE insert_row(X_rowid IN OUT NOCOPY VARCHAR2,
68 X_application_id NUMBER,
69 X_row_order_id NUMBER,
70 X_row_segment_sequence_id NUMBER,
71 X_segment_sequence NUMBER,
72 X_seg_order_type VARCHAR2,
73 X_seg_display_type VARCHAR2,
74 X_structure_id NUMBER,
75 X_application_column_name VARCHAR2,
76 X_segment_width NUMBER,
77 X_creation_date DATE,
78 X_created_by NUMBER,
79 X_last_update_date DATE,
80 X_last_updated_by NUMBER,
81 X_last_update_login NUMBER,
82 X_context VARCHAR2,
83 X_attribute1 VARCHAR2,
84 X_attribute2 VARCHAR2,
85 X_attribute3 VARCHAR2,
86 X_attribute4 VARCHAR2,
87 X_attribute5 VARCHAR2,
88 X_attribute6 VARCHAR2,
89 X_attribute7 VARCHAR2,
90 X_attribute8 VARCHAR2,
91 X_attribute9 VARCHAR2,
92 X_attribute10 VARCHAR2,
93 X_attribute11 VARCHAR2,
94 X_attribute12 VARCHAR2,
95 X_attribute13 VARCHAR2,
96 X_attribute14 VARCHAR2,
97 X_attribute15 VARCHAR2
98 ) IS
99 CURSOR C IS SELECT rowid FROM rg_row_segment_sequences
100 WHERE row_segment_sequence_id = X_row_segment_sequence_id;
101 BEGIN
102 INSERT INTO rg_row_segment_sequences
103 (application_id ,
104 row_order_id ,
105 row_segment_sequence_id ,
106 segment_sequence ,
107 seg_order_type ,
108 seg_display_type ,
109 structure_id ,
110 application_column_name ,
111 segment_width ,
112 creation_date ,
113 created_by ,
114 last_update_date ,
115 last_updated_by ,
116 last_update_login ,
117 context ,
118 attribute1 ,
119 attribute2 ,
120 attribute3 ,
121 attribute4 ,
122 attribute5 ,
123 attribute6 ,
124 attribute7 ,
125 attribute8 ,
126 attribute9 ,
127 attribute10 ,
128 attribute11 ,
129 attribute12 ,
130 attribute13 ,
131 attribute14 ,
132 attribute15 )
133 VALUES
134 (X_application_id ,
135 X_row_order_id ,
136 X_row_segment_sequence_id ,
137 X_segment_sequence ,
138 X_seg_order_type ,
139 X_seg_display_type ,
140 X_structure_id ,
141 X_application_column_name ,
142 X_segment_width ,
143 X_creation_date ,
144 X_created_by ,
145 X_last_update_date ,
146 X_last_updated_by ,
147 X_last_update_login ,
148 X_context ,
149 X_attribute1 ,
150 X_attribute2 ,
151 X_attribute3 ,
152 X_attribute4 ,
153 X_attribute5 ,
154 X_attribute6 ,
155 X_attribute7 ,
156 X_attribute8 ,
157 X_attribute9 ,
158 X_attribute10 ,
159 X_attribute11 ,
160 X_attribute12 ,
161 X_attribute13 ,
162 X_attribute14 ,
163 X_attribute15 );
164
165 OPEN C;
166 FETCH C INTO X_rowid;
167 IF (C%NOTFOUND) THEN
168 CLOSE C;
169 RAISE NO_DATA_FOUND;
170 END IF;
171 CLOSE C;
172 END insert_row;
173
174 PROCEDURE update_row(X_rowid IN OUT NOCOPY VARCHAR2,
175 X_application_id NUMBER,
176 X_row_order_id NUMBER,
177 X_row_segment_sequence_id NUMBER,
178 X_segment_sequence NUMBER,
179 X_seg_order_type VARCHAR2,
180 X_seg_display_type VARCHAR2,
181 X_structure_id NUMBER,
182 X_application_column_name VARCHAR2,
183 X_segment_width NUMBER,
184 X_last_update_date DATE,
185 X_last_updated_by NUMBER,
186 X_last_update_login NUMBER,
187 X_context VARCHAR2,
188 X_attribute1 VARCHAR2,
189 X_attribute2 VARCHAR2,
190 X_attribute3 VARCHAR2,
191 X_attribute4 VARCHAR2,
192 X_attribute5 VARCHAR2,
193 X_attribute6 VARCHAR2,
194 X_attribute7 VARCHAR2,
195 X_attribute8 VARCHAR2,
196 X_attribute9 VARCHAR2,
197 X_attribute10 VARCHAR2,
198 X_attribute11 VARCHAR2,
199 X_attribute12 VARCHAR2,
200 X_attribute13 VARCHAR2,
201 X_attribute14 VARCHAR2,
202 X_attribute15 VARCHAR2
203 ) IS
204 BEGIN
205 UPDATE rg_row_segment_sequences
206 SET application_id = X_application_id ,
207 row_order_id = X_row_order_id ,
208 row_segment_sequence_id = X_row_segment_sequence_id ,
209 segment_sequence = X_segment_sequence ,
210 seg_order_type = X_seg_order_type ,
211 seg_display_type = X_seg_display_type ,
212 structure_id = X_structure_id ,
213 application_column_name = X_application_column_name ,
214 segment_width = X_segment_width ,
215 last_update_date = X_last_update_date ,
216 last_updated_by = X_last_updated_by ,
217 last_update_login = X_last_update_login ,
218 context = X_context ,
219 attribute1 = X_attribute1 ,
220 attribute2 = X_attribute2 ,
221 attribute3 = X_attribute3 ,
222 attribute4 = X_attribute4 ,
223 attribute5 = X_attribute5 ,
224 attribute6 = X_attribute6 ,
225 attribute7 = X_attribute7 ,
226 attribute8 = X_attribute8 ,
227 attribute9 = X_attribute9 ,
228 attribute10 = X_attribute10 ,
229 attribute11 = X_attribute11 ,
230 attribute12 = X_attribute12 ,
231 attribute13 = X_attribute13 ,
232 attribute14 = X_attribute14 ,
233 attribute15 = X_attribute15
234 WHERE rowid = X_rowid;
235
236 IF (SQL%NOTFOUND) THEN
237 RAISE NO_DATA_FOUND;
238 END IF;
239 END update_row;
240
241 PROCEDURE lock_row(X_rowid IN OUT NOCOPY VARCHAR2,
242 X_application_id NUMBER,
243 X_row_order_id NUMBER,
244 X_row_segment_sequence_id NUMBER,
245 X_segment_sequence NUMBER,
246 X_seg_order_type VARCHAR2,
247 X_seg_display_type VARCHAR2,
248 X_structure_id NUMBER,
249 X_application_column_name VARCHAR2,
250 X_segment_width NUMBER,
251 X_context VARCHAR2,
252 X_attribute1 VARCHAR2,
253 X_attribute2 VARCHAR2,
254 X_attribute3 VARCHAR2,
255 X_attribute4 VARCHAR2,
256 X_attribute5 VARCHAR2,
257 X_attribute6 VARCHAR2,
258 X_attribute7 VARCHAR2,
259 X_attribute8 VARCHAR2,
260 X_attribute9 VARCHAR2,
261 X_attribute10 VARCHAR2,
262 X_attribute11 VARCHAR2,
263 X_attribute12 VARCHAR2,
264 X_attribute13 VARCHAR2,
265 X_attribute14 VARCHAR2,
266 X_attribute15 VARCHAR2
267 ) IS
268 CURSOR C IS
269 SELECT *
270 FROM rg_row_segment_sequences
271 WHERE rowid = X_rowid
272 FOR UPDATE OF segment_sequence NOWAIT;
273 Recinfo C%ROWTYPE;
274 BEGIN
275 OPEN C;
276 FETCH C INTO Recinfo;
277 IF (C%NOTFOUND) THEN
278 CLOSE C;
279 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
280 APP_EXCEPTION.RAISE_EXCEPTION;
281 END IF;
282 CLOSE C;
283
284 IF (
285 ( (Recinfo.application_id = X_application_id)
286 OR ( (Recinfo.application_id IS NULL)
287 AND (X_application_id IS NULL)))
288 AND ( (Recinfo.row_order_id = X_row_order_id)
289 OR ( (Recinfo.row_order_id IS NULL)
290 AND (X_row_order_id IS NULL)))
291 AND ( (Recinfo.row_segment_sequence_id = X_row_segment_sequence_id)
292 OR ( (Recinfo.row_segment_sequence_id IS NULL)
293 AND (X_row_segment_sequence_id IS NULL)))
294 AND ( (Recinfo.segment_sequence = X_segment_sequence)
295 OR ( (Recinfo.segment_sequence IS NULL)
296 AND (X_segment_sequence IS NULL)))
297 AND ( (Recinfo.seg_order_type = X_seg_order_type)
298 OR ( (Recinfo.seg_order_type IS NULL)
299 AND (X_seg_order_type IS NULL)))
300 AND ( (Recinfo.seg_display_type = X_seg_display_type)
301 OR ( (Recinfo.seg_display_type IS NULL)
302 AND (X_seg_display_type IS NULL)))
303 AND ( (Recinfo.structure_id = X_structure_id )
304 OR ( (Recinfo.structure_id IS NULL)
305 AND (X_structure_id IS NULL)))
306 AND ( (Recinfo.application_column_name = X_application_column_name)
307 OR ( (Recinfo.application_column_name IS NULL)
308 AND (X_application_column_name IS NULL)))
309 AND ( (Recinfo.segment_width = X_segment_width)
310 OR ( (Recinfo.segment_width IS NULL)
311 AND (X_segment_width IS NULL)))
312 AND ( (Recinfo.context = X_context)
313 OR ( (Recinfo.context IS NULL)
314 AND (X_context IS NULL)))
315 AND ( (Recinfo.attribute1 = X_attribute1)
316 OR ( (Recinfo.attribute1 IS NULL)
317 AND (X_attribute1 IS NULL)))
318 AND ( (Recinfo.attribute2 = X_attribute2)
319 OR ( (Recinfo.attribute2 IS NULL)
320 AND (X_attribute2 IS NULL)))
321 AND ( (Recinfo.attribute3 = X_attribute3)
322 OR ( (Recinfo.attribute3 IS NULL)
323 AND (X_attribute3 IS NULL)))
324 AND ( (Recinfo.attribute4 = X_attribute4)
325 OR ( (Recinfo.attribute4 IS NULL)
326 AND (X_attribute4 IS NULL)))
327 AND ( (Recinfo.attribute5 = X_attribute5)
328 OR ( (Recinfo.attribute5 IS NULL)
329 AND (X_attribute5 IS NULL)))
330 AND ( (Recinfo.attribute6 = X_attribute6)
331 OR ( (Recinfo.attribute6 IS NULL)
332 AND (X_attribute6 IS NULL)))
333 AND ( (Recinfo.attribute7 = X_attribute7)
334 OR ( (Recinfo.attribute7 IS NULL)
335 AND (X_attribute7 IS NULL)))
336 AND ( (Recinfo.attribute8 = X_attribute8)
337 OR ( (Recinfo.attribute8 IS NULL)
338 AND (X_attribute8 IS NULL)))
339 AND ( (Recinfo.attribute9 = X_attribute9)
340 OR ( (Recinfo.attribute9 IS NULL)
341 AND (X_attribute9 IS NULL)))
342 AND ( (Recinfo.attribute10 = X_attribute10)
343 OR ( (Recinfo.attribute10 IS NULL)
344 AND (X_attribute10 IS NULL)))
345 AND ( (Recinfo.attribute11 = X_attribute11)
346 OR ( (Recinfo.attribute11 IS NULL)
347 AND (X_attribute11 IS NULL)))
348 AND ( (Recinfo.attribute12 = X_attribute12)
349 OR ( (Recinfo.attribute12 IS NULL)
350 AND (X_attribute12 IS NULL)))
351 AND ( (Recinfo.attribute13 = X_attribute13)
352 OR ( (Recinfo.attribute13 IS NULL)
353 AND (X_attribute13 IS NULL)))
354 AND ( (Recinfo.attribute14 = X_attribute14)
355 OR ( (Recinfo.attribute4 IS NULL)
356 AND (X_attribute14 IS NULL)))
357 AND ( (Recinfo.attribute15 = X_attribute15)
358 OR ( (Recinfo.attribute15 IS NULL)
359 AND (X_attribute15 IS NULL)))
360 ) THEN
361 RETURN;
362 ELSE
363 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
364 APP_EXCEPTION.RAISE_EXCEPTION;
365 END IF;
366 END lock_row;
367
368 PROCEDURE delete_row(X_rowid VARCHAR2) IS
369 BEGIN
370 DELETE FROM rg_row_segment_sequences
371 WHERE rowid = X_rowid;
372
373 IF (SQL%NOTFOUND) THEN
374 RAISE NO_DATA_FOUND;
375 END IF;
376 END delete_row;
377
378 END RG_ROW_SEGMENT_SEQUENCES_PKG;