DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_PRODUCT_TASKS_PKG

Source


1 PACKAGE BODY CSP_PRODUCT_TASKS_PKG as
2 /* $Header: csptptab.pls 115.2 2002/11/26 06:31:18 hhaugeru noship $ */
3 -- Start of Comments
4 -- Package name     : CSP_PRODUCT_TASKS_PKG
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_PRODUCT_TASKS_PKG';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csptptab.pls';
13 
14 PROCEDURE Insert_Row(
15           px_PRODUCT_TASK_ID   IN OUT NOCOPY NUMBER,
16           p_PRODUCT_ID    NUMBER,
17           p_TASK_TEMPLATE_ID    NUMBER,
18           p_AUTO_MANUAL    VARCHAR2,
19           p_ACTUAL_TIMES_USED    NUMBER,
20           p_TASK_PERCENTAGE    NUMBER,
21           p_ATTRIBUTE_CATEGORY    VARCHAR2,
22           p_ATTRIBUTE1    VARCHAR2,
23           p_ATTRIBUTE2    VARCHAR2,
24           p_ATTRIBUTE3    VARCHAR2,
25           p_ATTRIBUTE4    VARCHAR2,
26           p_ATTRIBUTE5    VARCHAR2,
27           p_ATTRIBUTE6    VARCHAR2,
28           p_ATTRIBUTE7    VARCHAR2,
29           p_ATTRIBUTE8    VARCHAR2,
30           p_ATTRIBUTE9    VARCHAR2,
31           p_ATTRIBUTE10    VARCHAR2,
32           p_ATTRIBUTE11    VARCHAR2,
33           p_ATTRIBUTE12    VARCHAR2,
34           p_ATTRIBUTE13    VARCHAR2,
35           p_ATTRIBUTE14    VARCHAR2,
36           p_ATTRIBUTE15    VARCHAR2,
37           p_CREATED_BY    NUMBER,
38           p_CREATION_DATE    DATE,
39           p_LAST_UPDATED_BY    NUMBER,
40           p_LAST_UPDATE_DATE    DATE,
41           p_LAST_UPDATE_LOGIN    NUMBER)
42 
43  IS
44    CURSOR C2 IS SELECT CSP_PRODUCT_TASKS_S1.nextval FROM sys.dual;
45 BEGIN
46    If (px_PRODUCT_TASK_ID IS NULL) OR (px_PRODUCT_TASK_ID = FND_API.G_MISS_NUM) then
47        OPEN C2;
48        FETCH C2 INTO px_PRODUCT_TASK_ID;
49        CLOSE C2;
50    End If;
51    INSERT INTO CSP_PRODUCT_TASKS(
52            PRODUCT_TASK_ID,
53            PRODUCT_ID,
54            TASK_TEMPLATE_ID,
55            AUTO_MANUAL,
56            ACTUAL_TIMES_USED,
57            TASK_PERCENTAGE,
58            ATTRIBUTE_CATEGORY,
59            ATTRIBUTE1,
60            ATTRIBUTE2,
61            ATTRIBUTE3,
62            ATTRIBUTE4,
63            ATTRIBUTE5,
64            ATTRIBUTE6,
65            ATTRIBUTE7,
66            ATTRIBUTE8,
67            ATTRIBUTE9,
68            ATTRIBUTE10,
69            ATTRIBUTE11,
70            ATTRIBUTE12,
71            ATTRIBUTE13,
72            ATTRIBUTE14,
73            ATTRIBUTE15,
74            CREATED_BY,
75            CREATION_DATE,
76            LAST_UPDATED_BY,
77            LAST_UPDATE_DATE,
78            LAST_UPDATE_LOGIN
79           ) VALUES (
80            px_PRODUCT_TASK_ID,
81            decode( p_PRODUCT_ID, FND_API.G_MISS_NUM, NULL, p_PRODUCT_ID),
82            decode( p_TASK_TEMPLATE_ID, FND_API.G_MISS_NUM, NULL, p_TASK_TEMPLATE_ID),
83            decode( p_AUTO_MANUAL, FND_API.G_MISS_CHAR, NULL, p_AUTO_MANUAL),
84            decode( p_ACTUAL_TIMES_USED, FND_API.G_MISS_NUM, NULL, p_ACTUAL_TIMES_USED),
85            decode( p_TASK_PERCENTAGE, FND_API.G_MISS_NUM, NULL, p_TASK_PERCENTAGE),
86            decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
87            decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
88            decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
89            decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
90            decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
91            decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
92            decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
93            decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
94            decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
95            decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
96            decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
97            decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
98            decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
99            decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
100            decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
101            decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15),
102            decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
103            decode( p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_CREATION_DATE),
104            decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
105            decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_LAST_UPDATE_DATE),
106            decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN));
107 End Insert_Row;
108 
109 PROCEDURE Update_Row(
110           p_PRODUCT_TASK_ID    NUMBER,
111           p_PRODUCT_ID    NUMBER,
112           p_TASK_TEMPLATE_ID    NUMBER,
113           p_AUTO_MANUAL    VARCHAR2,
114           p_ACTUAL_TIMES_USED    NUMBER,
115           p_TASK_PERCENTAGE    NUMBER,
116           p_ATTRIBUTE_CATEGORY    VARCHAR2,
117           p_ATTRIBUTE1    VARCHAR2,
118           p_ATTRIBUTE2    VARCHAR2,
119           p_ATTRIBUTE3    VARCHAR2,
120           p_ATTRIBUTE4    VARCHAR2,
121           p_ATTRIBUTE5    VARCHAR2,
122           p_ATTRIBUTE6    VARCHAR2,
123           p_ATTRIBUTE7    VARCHAR2,
124           p_ATTRIBUTE8    VARCHAR2,
125           p_ATTRIBUTE9    VARCHAR2,
126           p_ATTRIBUTE10    VARCHAR2,
127           p_ATTRIBUTE11    VARCHAR2,
128           p_ATTRIBUTE12    VARCHAR2,
129           p_ATTRIBUTE13    VARCHAR2,
130           p_ATTRIBUTE14    VARCHAR2,
131           p_ATTRIBUTE15    VARCHAR2,
132           p_CREATED_BY    NUMBER,
133           p_CREATION_DATE    DATE,
134           p_LAST_UPDATED_BY    NUMBER,
135           p_LAST_UPDATE_DATE    DATE,
136           p_LAST_UPDATE_LOGIN    NUMBER)
137 
138  IS
139  BEGIN
140     Update CSP_PRODUCT_TASKS
141     SET
142               PRODUCT_ID = decode( p_PRODUCT_ID, FND_API.G_MISS_NUM, PRODUCT_ID, p_PRODUCT_ID),
143               TASK_TEMPLATE_ID = decode( p_TASK_TEMPLATE_ID, FND_API.G_MISS_NUM, TASK_TEMPLATE_ID, p_TASK_TEMPLATE_ID),
144               AUTO_MANUAL = decode( p_AUTO_MANUAL, FND_API.G_MISS_CHAR, AUTO_MANUAL, p_AUTO_MANUAL),
145               ACTUAL_TIMES_USED = decode( p_ACTUAL_TIMES_USED, FND_API.G_MISS_NUM, ACTUAL_TIMES_USED, p_ACTUAL_TIMES_USED),
146               TASK_PERCENTAGE = decode( p_TASK_PERCENTAGE, FND_API.G_MISS_NUM, TASK_PERCENTAGE, p_TASK_PERCENTAGE),
147               ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
148               ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
149               ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
150               ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
151               ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
152               ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
153               ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
154               ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
155               ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
156               ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
157               ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
158               ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
159               ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
160               ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
161               ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
162               ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15),
163               CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
164               CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
165               LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
166               LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
167               LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN)
168     where PRODUCT_TASK_ID = p_PRODUCT_TASK_ID;
169 
170     If (SQL%NOTFOUND) then
171         RAISE NO_DATA_FOUND;
172     End If;
173 END Update_Row;
174 
175 PROCEDURE Delete_Row(
176     p_PRODUCT_TASK_ID  NUMBER)
177  IS
178  BEGIN
179    DELETE FROM CSP_PRODUCT_TASKS
180     WHERE PRODUCT_TASK_ID = p_PRODUCT_TASK_ID;
181    If (SQL%NOTFOUND) then
182        RAISE NO_DATA_FOUND;
183    End If;
184  END Delete_Row;
185 
186 PROCEDURE Lock_Row(
187           p_PRODUCT_TASK_ID    NUMBER,
188           p_PRODUCT_ID    NUMBER,
189           p_TASK_TEMPLATE_ID    NUMBER,
190           p_AUTO_MANUAL    VARCHAR2,
191           p_ACTUAL_TIMES_USED    NUMBER,
192           p_TASK_PERCENTAGE    NUMBER,
193           p_ATTRIBUTE_CATEGORY    VARCHAR2,
194           p_ATTRIBUTE1    VARCHAR2,
195           p_ATTRIBUTE2    VARCHAR2,
196           p_ATTRIBUTE3    VARCHAR2,
197           p_ATTRIBUTE4    VARCHAR2,
198           p_ATTRIBUTE5    VARCHAR2,
199           p_ATTRIBUTE6    VARCHAR2,
200           p_ATTRIBUTE7    VARCHAR2,
201           p_ATTRIBUTE8    VARCHAR2,
202           p_ATTRIBUTE9    VARCHAR2,
203           p_ATTRIBUTE10    VARCHAR2,
204           p_ATTRIBUTE11    VARCHAR2,
205           p_ATTRIBUTE12    VARCHAR2,
206           p_ATTRIBUTE13    VARCHAR2,
207           p_ATTRIBUTE14    VARCHAR2,
208           p_ATTRIBUTE15    VARCHAR2,
209           p_CREATED_BY    NUMBER,
210           p_CREATION_DATE    DATE,
211           p_LAST_UPDATED_BY    NUMBER,
212           p_LAST_UPDATE_DATE    DATE,
213           p_LAST_UPDATE_LOGIN    NUMBER)
214 
215  IS
216    CURSOR C IS
217         SELECT *
218          FROM CSP_PRODUCT_TASKS
219         WHERE PRODUCT_TASK_ID =  p_PRODUCT_TASK_ID
220         FOR UPDATE of PRODUCT_TASK_ID NOWAIT;
221    Recinfo C%ROWTYPE;
222  BEGIN
223     OPEN C;
224     FETCH C INTO Recinfo;
225     If (C%NOTFOUND) then
226         CLOSE C;
227         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
228         APP_EXCEPTION.RAISE_EXCEPTION;
229     End If;
230     CLOSE C;
231     if (
232            (      Recinfo.PRODUCT_TASK_ID = p_PRODUCT_TASK_ID)
233        AND (    ( Recinfo.PRODUCT_ID = p_PRODUCT_ID)
234             OR (    ( Recinfo.PRODUCT_ID IS NULL )
235                 AND (  p_PRODUCT_ID IS NULL )))
236        AND (    ( Recinfo.TASK_TEMPLATE_ID = p_TASK_TEMPLATE_ID)
237             OR (    ( Recinfo.TASK_TEMPLATE_ID IS NULL )
238                 AND (  p_TASK_TEMPLATE_ID IS NULL )))
239        AND (    ( Recinfo.AUTO_MANUAL = p_AUTO_MANUAL)
240             OR (    ( Recinfo.AUTO_MANUAL IS NULL )
241                 AND (  p_AUTO_MANUAL IS NULL )))
242        AND (    ( Recinfo.ACTUAL_TIMES_USED = p_ACTUAL_TIMES_USED)
243             OR (    ( Recinfo.ACTUAL_TIMES_USED IS NULL )
244                 AND (  p_ACTUAL_TIMES_USED IS NULL )))
245        AND (    ( Recinfo.TASK_PERCENTAGE = p_TASK_PERCENTAGE)
246             OR (    ( Recinfo.TASK_PERCENTAGE IS NULL )
247                 AND (  p_TASK_PERCENTAGE IS NULL )))
248        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
249             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
250                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
251        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
252             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
253                 AND (  p_ATTRIBUTE1 IS NULL )))
254        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
255             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
256                 AND (  p_ATTRIBUTE2 IS NULL )))
257        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
258             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
259                 AND (  p_ATTRIBUTE3 IS NULL )))
260        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
261             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
262                 AND (  p_ATTRIBUTE4 IS NULL )))
263        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
264             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
265                 AND (  p_ATTRIBUTE5 IS NULL )))
266        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
267             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
268                 AND (  p_ATTRIBUTE6 IS NULL )))
269        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
270             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
271                 AND (  p_ATTRIBUTE7 IS NULL )))
272        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
273             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
274                 AND (  p_ATTRIBUTE8 IS NULL )))
275        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
276             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
277                 AND (  p_ATTRIBUTE9 IS NULL )))
278        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
279             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
280                 AND (  p_ATTRIBUTE10 IS NULL )))
281        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
282             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
283                 AND (  p_ATTRIBUTE11 IS NULL )))
284        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
285             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
286                 AND (  p_ATTRIBUTE12 IS NULL )))
287        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
288             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
289                 AND (  p_ATTRIBUTE13 IS NULL )))
290        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
291             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
292                 AND (  p_ATTRIBUTE14 IS NULL )))
293        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
294             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
295                 AND (  p_ATTRIBUTE15 IS NULL )))
299        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
296        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
297             OR (    ( Recinfo.CREATED_BY IS NULL )
298                 AND (  p_CREATED_BY IS NULL )))
300             OR (    ( Recinfo.CREATION_DATE IS NULL )
301                 AND (  p_CREATION_DATE IS NULL )))
302        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
303             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
304                 AND (  p_LAST_UPDATED_BY IS NULL )))
305        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
306             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
307                 AND (  p_LAST_UPDATE_DATE IS NULL )))
308        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
309             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
310                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
311        ) then
312        return;
313    else
314        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
315        APP_EXCEPTION.RAISE_EXCEPTION;
316    End If;
317 END Lock_Row;
318 
319 End CSP_PRODUCT_TASKS_PKG;