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