DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSC_PLAN_LINES_PKG

Source


1 PACKAGE BODY CSC_PLAN_LINES_PKG as
2 /* $Header: csctplnb.pls 120.3 2005/09/18 23:57:09 vshastry noship $ */
3 -- Start of Comments
4 -- Package name     : CSC_PLAN_LINES_PKG
5 -- Purpose          : Table handler package to performs Inserts, Updates, Deletes and
6 --                    row operations on the CSC_PLAN_LINES table.
7 -- History          :
8 -- MM-DD-YYYY    NAME          MODIFICATIONS
9 -- 10-21-1999    dejoseph      Created.
10 -- 12-08-1999    dejoseph      'Arcs'ed in for first code freeze.
11 -- 12-21-1999    dejoseph      'Arcs'ed in for second code freeze.
12 -- 01-03-2000    dejoseph      'Arcs'ed in for third code freeze. (10-JAN-2000)
13 -- 01-31-2000    dejoseph      'Arcs'ed in for fourth code freeze. (07-FEB-2000)
14 -- 02-13-2000    dejoseph      'Arcs'ed on for fifth code freeze. (21-FEB-2000)
15 -- 02-28-2000    dejoseph      'Arcs'ed on for sixth code freeze. (06-MAR-2000)
16 --
17 -- 08-17-2001    dejoseph      Made the following changes for 11.5.6 to cater to the seeding
18 --                             of Relationship Plans. Ref Bug # 1895567.
19 --                             - Added proc load_row to be called for the .lct file (cscpllns.lct)
20 --                             - added parameter p_application_id to procedure insert_row and
21 --                               update_row.
22 --                             - added check if user_id = 1, ie SEED, then seeded_flag='Y' in
23 --                               procedure insert_row and update_row
24 -- 08-24-2001   dejoseph      Added check to insert NULL into application_id if no values was
25 --                            passed in for this parameter.
26 -- 11-12-2002	bhroy		NOCOPY changes made
27 -- 11-25-2002	bhroy		FND_API defaults removed, added WHENEVER OSERROR EXIT FAILURE ROLLBACK
28 -- 19-aug-2005  tpalaniv        Deriving l_user_id in load_row API using fnd_load_util as part of
29 --                              R12 ATG Project
30 -- NOTE             :
31 -- End of Comments
32 
33 
34 G_PKG_NAME  CONSTANT VARCHAR2(30) := 'CSC_PLAN_LINES_PKG';
35 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csctplnb.pls';
36 
37 PROCEDURE Insert_Row(
38           px_LINE_ID               IN OUT NOCOPY NUMBER,
39           p_PLAN_ID                IN   NUMBER,
40           p_CONDITION_ID           IN   NUMBER,
41           p_CREATION_DATE          IN   DATE,
42           p_LAST_UPDATE_DATE       IN   DATE,
43           p_CREATED_BY             IN   NUMBER,
44           p_LAST_UPDATED_BY        IN   NUMBER,
45           p_LAST_UPDATE_LOGIN      IN   NUMBER,
46           p_ATTRIBUTE1             IN   VARCHAR2,
47           p_ATTRIBUTE2             IN   VARCHAR2,
48           p_ATTRIBUTE3             IN   VARCHAR2,
49           p_ATTRIBUTE4             IN   VARCHAR2,
50           p_ATTRIBUTE5             IN   VARCHAR2,
51           p_ATTRIBUTE6             IN   VARCHAR2,
52           p_ATTRIBUTE7             IN   VARCHAR2,
53           p_ATTRIBUTE8             IN   VARCHAR2,
54           p_ATTRIBUTE9             IN   VARCHAR2,
55           p_ATTRIBUTE10            IN   VARCHAR2,
56           p_ATTRIBUTE11            IN   VARCHAR2,
57           p_ATTRIBUTE12            IN   VARCHAR2,
58           p_ATTRIBUTE13            IN   VARCHAR2,
59           p_ATTRIBUTE14            IN   VARCHAR2,
60           p_ATTRIBUTE15            IN   VARCHAR2,
61           p_ATTRIBUTE_CATEGORY     IN   VARCHAR2,
62 	  p_APPLICATION_ID         IN   NUMBER,
63           X_OBJECT_VERSION_NUMBER  OUT NOCOPY  NUMBER)
64 IS
65    CURSOR C2 IS
66    SELECT CSC_PLAN_LINES_S.nextval
67    FROM sys.dual;
68 
69    l_seeded_flag         VARCHAR2(3);
70 
71 BEGIN
72    If (px_LINE_ID IS NULL) OR (px_LINE_ID = FND_API.G_MISS_NUM) then
73        OPEN C2;
74        FETCH C2 INTO px_LINE_ID;
75        CLOSE C2;
76    End If;
77 
78    /* added 120 for bug 4596220 */
79    if ( p_created_by IN (1, 120) ) then
80       l_seeded_flag := 'Y';
81    else
82       l_seeded_flag := 'N';
83    end if;
84 
85    INSERT INTO CSC_PLAN_LINES(
86        LINE_ID,
87        PLAN_ID,
88        CONDITION_ID,
89        LAST_UPDATE_DATE,
90        CREATION_DATE,
91        LAST_UPDATED_BY,
92        CREATED_BY,
93        LAST_UPDATE_LOGIN,
94        ATTRIBUTE1,
95        ATTRIBUTE2,
96        ATTRIBUTE3,
97        ATTRIBUTE4,
98        ATTRIBUTE5,
99        ATTRIBUTE6,
100        ATTRIBUTE7,
101        ATTRIBUTE8,
102        ATTRIBUTE9,
103        ATTRIBUTE10,
104        ATTRIBUTE11,
105        ATTRIBUTE12,
106        ATTRIBUTE13,
107        ATTRIBUTE14,
108        ATTRIBUTE15,
109        ATTRIBUTE_CATEGORY,
110        APPLICATION_ID,
111        SEEDED_FLAG,
112        OBJECT_VERSION_NUMBER
113           )
114    VALUES (
115        px_LINE_ID,
116        decode( p_PLAN_ID, FND_API.G_MISS_NUM, NULL, p_PLAN_ID),
117        decode( p_CONDITION_ID, FND_API.G_MISS_NUM, NULL, p_CONDITION_ID),
118        decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, NULL, p_LAST_UPDATE_DATE),
119        decode( p_CREATION_DATE, FND_API.G_MISS_DATE, NULL, p_CREATION_DATE),
120        decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
121        decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
122        decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
123        decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
124        decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
125        decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
126        decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
127        decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
128        decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
129        decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
130        decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
131        decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
132        decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
133        decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
134        decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
135        decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
136        decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
137        decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15),
138        decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
139        decode( p_application_id, FND_API.G_MISS_NUM, NULL, p_application_id),
140        l_seeded_flag,
141        1 );  -- the first time a record is created, the object_version_number = 1
142 
143    x_object_version_number := 1;
144 End Insert_Row;
145 
146 PROCEDURE Update_Row(
147           p_LINE_ID                IN  NUMBER,
148           p_PLAN_ID                IN  NUMBER,
149           p_CONDITION_ID           IN  NUMBER,
150           p_CREATION_DATE          IN  DATE,
151           p_LAST_UPDATE_DATE       IN  DATE,
152           p_CREATED_BY             IN  NUMBER,
153           p_LAST_UPDATED_BY        IN  NUMBER,
154           p_LAST_UPDATE_LOGIN      IN  NUMBER,
155           p_ATTRIBUTE1             IN  VARCHAR2,
156           p_ATTRIBUTE2             IN  VARCHAR2,
157           p_ATTRIBUTE3             IN  VARCHAR2,
158           p_ATTRIBUTE4             IN  VARCHAR2,
159           p_ATTRIBUTE5             IN  VARCHAR2,
160           p_ATTRIBUTE6             IN  VARCHAR2,
161           p_ATTRIBUTE7             IN  VARCHAR2,
162           p_ATTRIBUTE8             IN  VARCHAR2,
163           p_ATTRIBUTE9             IN  VARCHAR2,
164           p_ATTRIBUTE10            IN  VARCHAR2,
165           p_ATTRIBUTE11            IN  VARCHAR2,
166           p_ATTRIBUTE12            IN  VARCHAR2,
167           p_ATTRIBUTE13            IN  VARCHAR2,
168           p_ATTRIBUTE14            IN  VARCHAR2,
169           p_ATTRIBUTE15            IN  VARCHAR2,
170           p_ATTRIBUTE_CATEGORY     IN  VARCHAR2,
171 	  p_APPLICATION_ID         IN  NUMBER ,
172           X_OBJECT_VERSION_NUMBER  OUT NOCOPY NUMBER)
173 IS
174    l_seeded_flag       VARCHAR2(3);
175 BEGIN
176    /* added 120 for bug 4596220 */
177     if ( p_last_updated_by IN (1, 120) ) then
178        l_seeded_flag := 'Y';
179     else
180        l_seeded_flag := 'N';
181     end if;
182 
183     Update CSC_PLAN_LINES
184     SET
185        PLAN_ID = decode( p_PLAN_ID, FND_API.G_MISS_NUM, PLAN_ID, p_PLAN_ID),
186        CONDITION_ID = decode( p_CONDITION_ID, FND_API.G_MISS_NUM,
187                                               CONDITION_ID, p_CONDITION_ID),
188        LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE,
189                                               LAST_UPDATE_DATE, p_last_update_date),
190        LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM,
191                                               LAST_UPDATED_BY, p_LAST_UPDATED_BY),
192        LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM,
193                                               LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
194        ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
195        ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
196        ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
197        ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
198        ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
199        ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
200        ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
201        ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
202        ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
203        ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
204        ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
205        ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
206        ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
207        ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
208        ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15),
209        ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR,
210                                               ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
211        APPLICATION_ID = decode(P_APPLICATION_ID, FND_API.G_MISS_NUM, APPLICATION_ID, P_APPLICATION_ID),
212        SEEDED_FLAG    = L_SEEDED_FLAG,
213        OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1
214     where LINE_ID   = p_LINE_ID
215     and   PLAN_ID   = p_PLAN_ID
216     RETURNING object_version_number INTO x_object_version_number;
217 
218     If (SQL%NOTFOUND) then
219         RAISE NO_DATA_FOUND;
220     End If;
221 
222 END Update_Row;
223 
224 PROCEDURE Delete_Row(
225     P_LINE_ID   IN  NUMBER,
226     P_PLAN_ID   IN  NUMBER)
227 IS
228 BEGIN
229    DELETE FROM CSC_PLAN_LINES
230    WHERE  LINE_ID = nvl(p_line_id, LINE_ID)
231    and    PLAN_ID = nvl(p_plan_id, PLAN_ID);
232 
233    If (SQL%NOTFOUND) then
234        RAISE NO_DATA_FOUND;
235    End If;
236 
237 END Delete_Row;
238 
239 PROCEDURE Lock_Row(
240           p_LINE_ID                IN   NUMBER,
241           p_PLAN_ID                IN   NUMBER,
242           p_CONDITION_ID           IN   NUMBER,
243           p_CREATION_DATE          IN   DATE,
244           p_LAST_UPDATE_DATE       IN   DATE,
245           p_CREATED_BY             IN   NUMBER,
246           p_LAST_UPDATED_BY        IN   NUMBER,
247           p_LAST_UPDATE_LOGIN      IN   NUMBER,
248           p_ATTRIBUTE1             IN   VARCHAR2,
249           p_ATTRIBUTE2             IN   VARCHAR2,
250           p_ATTRIBUTE3             IN   VARCHAR2,
251           p_ATTRIBUTE4             IN   VARCHAR2,
252           p_ATTRIBUTE5             IN   VARCHAR2,
253           p_ATTRIBUTE6             IN   VARCHAR2,
254           p_ATTRIBUTE7             IN   VARCHAR2,
255           p_ATTRIBUTE8             IN   VARCHAR2,
256           p_ATTRIBUTE9             IN   VARCHAR2,
257           p_ATTRIBUTE10            IN   VARCHAR2,
258           p_ATTRIBUTE11            IN   VARCHAR2,
259           p_ATTRIBUTE12            IN   VARCHAR2,
260           p_ATTRIBUTE13            IN   VARCHAR2,
261           p_ATTRIBUTE14            IN   VARCHAR2,
262           p_ATTRIBUTE15            IN   VARCHAR2,
263           p_ATTRIBUTE_CATEGORY     IN   VARCHAR2,
264           p_OBJECT_VERSION_NUMBER  IN   NUMBER)
265 IS
266    CURSOR C IS
267         SELECT *
268         FROM   CSC_PLAN_LINES
269         WHERE  LINE_ID =  p_LINE_ID
270         FOR    UPDATE of LINE_ID NOWAIT;
271    Recinfo C%ROWTYPE;
272 BEGIN
273     OPEN C;
274     FETCH C INTO Recinfo;
275     If (C%NOTFOUND) then
276         CLOSE C;
277         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
278         -- APP_EXCEPTION.RAISE_EXCEPTION;
279     End If;
280     CLOSE C;
281     if (
282            (      Recinfo.LINE_ID = p_LINE_ID)
283        AND (    ( Recinfo.PLAN_ID = p_PLAN_ID)
284             OR (    ( Recinfo.PLAN_ID IS NULL )
285                 AND (  p_PLAN_ID IS NULL )))
286        AND (    ( Recinfo.CONDITION_ID = p_CONDITION_ID)
287             OR (    ( Recinfo.CONDITION_ID IS NULL )
288                 AND (  p_CONDITION_ID IS NULL )))
289        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
290             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
291                 AND (  p_LAST_UPDATE_DATE IS NULL )))
292        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
293             OR (    ( Recinfo.CREATION_DATE IS NULL )
294                 AND (  p_CREATION_DATE IS NULL )))
295        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
296             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
297                 AND (  p_LAST_UPDATED_BY IS NULL )))
298        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
299             OR (    ( Recinfo.CREATED_BY IS NULL )
300                 AND (  p_CREATED_BY IS NULL )))
301        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
302             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
303                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
304        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
305             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
306                 AND (  p_ATTRIBUTE1 IS NULL )))
307        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
308             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
309                 AND (  p_ATTRIBUTE2 IS NULL )))
310        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
311             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
312                 AND (  p_ATTRIBUTE3 IS NULL )))
313        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
314             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
315                 AND (  p_ATTRIBUTE4 IS NULL )))
316        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
317             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
318                 AND (  p_ATTRIBUTE5 IS NULL )))
319        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
320             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
321                 AND (  p_ATTRIBUTE6 IS NULL )))
322        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
323             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
324                 AND (  p_ATTRIBUTE7 IS NULL )))
325        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE7)
326             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
327                 AND (  p_ATTRIBUTE8 IS NULL )))
328        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
329             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
330                 AND (  p_ATTRIBUTE9 IS NULL )))
331        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
332             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
333                 AND (  p_ATTRIBUTE10 IS NULL )))
334        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
335             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
336                 AND (  p_ATTRIBUTE11 IS NULL )))
337        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
338             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
339                 AND (  p_ATTRIBUTE12 IS NULL )))
340        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
341             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
342                 AND (  p_ATTRIBUTE13 IS NULL )))
343        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
344             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
345                 AND (  p_ATTRIBUTE14 IS NULL )))
346        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
347             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
348                 AND (  p_ATTRIBUTE15 IS NULL )))
349        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
350             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
351                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
352        AND (    ( Recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER)
353             OR (    ( Recinfo.OBJECT_VERSION_NUMBER IS NULL )
354                 AND (  p_OBJECT_VERSION_NUMBER IS NULL )))
355        ) then
356        RETURN;
357    else
358        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
359        -- APP_EXCEPTION.RAISE_EXCEPTION;
360    End If;
361 END Lock_Row;
362 
363 PROCEDURE LOAD_ROW (
364    P_LINE_ID                IN   NUMBER,
365    P_PLAN_ID                IN   NUMBER,
366    P_CONDITION_ID           IN   NUMBER,
367    P_LAST_UPDATE_DATE       IN   DATE,
368    P_LAST_UPDATED_BY        IN   NUMBER,
369    P_CREATED_BY             IN   NUMBER,
370    P_LAST_UPDATE_LOGIN      IN   NUMBER,
371    P_ATTRIBUTE1             IN   VARCHAR2,
372    P_ATTRIBUTE2             IN   VARCHAR2,
373    P_ATTRIBUTE3             IN   VARCHAR2,
374    P_ATTRIBUTE4             IN   VARCHAR2,
375    P_ATTRIBUTE5             IN   VARCHAR2,
376    P_ATTRIBUTE6             IN   VARCHAR2,
377    P_ATTRIBUTE7             IN   VARCHAR2,
378    P_ATTRIBUTE8             IN   VARCHAR2,
379    P_ATTRIBUTE9             IN   VARCHAR2,
380    P_ATTRIBUTE10            IN   VARCHAR2,
381    P_ATTRIBUTE11            IN   VARCHAR2,
382    P_ATTRIBUTE12            IN   VARCHAR2,
383    P_ATTRIBUTE13            IN   VARCHAR2,
384    P_ATTRIBUTE14            IN   VARCHAR2,
385    P_ATTRIBUTE15            IN   VARCHAR2,
386    P_ATTRIBUTE_CATEGORY     IN   VARCHAR2,
387    P_OBJECT_VERSION_NUMBER  OUT NOCOPY  NUMBER,
388    P_APPLICATION_ID         IN   NUMBER,
389    P_OWNER                  IN   VARCHAR2 )
390 IS
391    l_user_id                NUMBER := 0;
392    l_line_id                NUMBER := CSC_CORE_UTILS_PVT.G_MISS_NUM;
393    l_object_version_number  NUMBER := 0;
394 
395 BEGIN
396 
397    l_line_id := p_line_id;
398 
399    update_row(
400       p_LINE_ID                =>  l_line_id,
401       p_PLAN_ID                =>  p_plan_id,
402       p_CONDITION_ID           =>  p_condition_id,
403       p_CREATION_DATE          =>  p_last_update_date,
404       p_LAST_UPDATE_DATE       =>  p_last_update_date,
405       p_CREATED_BY             =>  p_created_by,
406       p_LAST_UPDATED_BY        =>  p_last_updated_by,
407       p_LAST_UPDATE_LOGIN      =>  0,
408       p_ATTRIBUTE1             =>  p_attribute1,
409       p_ATTRIBUTE2             =>  p_attribute2,
410       p_ATTRIBUTE3             =>  p_attribute3,
411       p_ATTRIBUTE4             =>  p_attribute4,
412       p_ATTRIBUTE5             =>  p_attribute5,
413       p_ATTRIBUTE6             =>  p_attribute6,
414       p_ATTRIBUTE7             =>  p_attribute7,
415       p_ATTRIBUTE8             =>  p_attribute8,
416       p_ATTRIBUTE9             =>  p_attribute9,
417       p_ATTRIBUTE10            =>  p_attribute10,
418       p_ATTRIBUTE11            =>  p_attribute11,
419       p_ATTRIBUTE12            =>  p_attribute12,
420       p_ATTRIBUTE13            =>  p_attribute13,
421       p_ATTRIBUTE14            =>  p_attribute14,
422       p_ATTRIBUTE15            =>  p_attribute15,
423       p_ATTRIBUTE_CATEGORY     =>  p_attribute_category,
424       p_APPLICATION_ID         =>  p_application_id,
425       X_OBJECT_VERSION_NUMBER  =>  l_object_version_number);
426 
427 EXCEPTION
428    when no_data_found then
429       insert_row(
430          px_LINE_ID               =>  l_line_id,
431          p_PLAN_ID                =>  p_plan_id,
432          p_CONDITION_ID           =>  p_condition_id,
433 	 p_CREATION_DATE          =>  p_last_update_date,
434          p_LAST_UPDATE_DATE       =>  p_last_update_date,
435          p_CREATED_BY             =>  p_created_by,
436          p_LAST_UPDATED_BY        =>  p_last_updated_by,
437          p_LAST_UPDATE_LOGIN      =>  0,
438          p_ATTRIBUTE1             =>  p_attribute1,
439          p_ATTRIBUTE2             =>  p_attribute2,
440          p_ATTRIBUTE3             =>  p_attribute3,
441          p_ATTRIBUTE4             =>  p_attribute4,
442          p_ATTRIBUTE5             =>  p_attribute5,
443          p_ATTRIBUTE6             =>  p_attribute6,
444          p_ATTRIBUTE7             =>  p_attribute7,
445          p_ATTRIBUTE8             =>  p_attribute8,
446          p_ATTRIBUTE9             =>  p_attribute9,
447          p_ATTRIBUTE10            =>  p_attribute10,
448          p_ATTRIBUTE11            =>  p_attribute11,
449          p_ATTRIBUTE12            =>  p_attribute12,
450          p_ATTRIBUTE13            =>  p_attribute13,
451          p_ATTRIBUTE14            =>  p_attribute14,
452          p_ATTRIBUTE15            =>  p_attribute15,
453          p_ATTRIBUTE_CATEGORY     =>  p_attribute_category,
454          p_APPLICATION_ID         =>  p_application_id,
455          X_OBJECT_VERSION_NUMBER  =>  l_object_version_number);
456 
457 END LOAD_ROW;
458 
459 End CSC_PLAN_LINES_PKG;