DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PROJECT_STATUSES_PKG

Source


1 PACKAGE BODY PA_PROJECT_STATUSES_PKG as
2 /* $Header: PASTAPTB.pls 120.1 2005/06/30 12:33:14 appldev noship $ */
3 -- Start of Comments
4 -- Package name     : PA_PROJECT_STATUSES_PKG
5 -- Purpose          : Table handler for PA_PROJECT_STATUSES
6 -- History          : 07-JUL-2000 Mohnish       Created
7 -- NOTE             :  The procedure in these packages need to be
8 --					:  called through the PA_PROJECT_STATUSES_PVT
9 --                  :  procedures only
10 -- End of Comments
11 
12 
13 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PA_PROJECT_STATUSES_PKG';
14 G_FILE_NAME CONSTANT VARCHAR2(12) := 'PASTATTB.pls';
15 
16 PROCEDURE Insert_Row(
17           p_PROJECT_STATUS_CODE           VARCHAR2,
18           p_PROJECT_STATUS_NAME           VARCHAR2,
19           p_PROJECT_SYSTEM_STATUS_CODE    VARCHAR2,
20           p_DESCRIPTION                   VARCHAR2,
21           p_START_DATE_ACTIVE             DATE,
22           p_END_DATE_ACTIVE               DATE,
23           p_PREDEFINED_FLAG               VARCHAR2,
24           p_STARTING_STATUS_FLAG          VARCHAR2,
25           p_ENABLE_WF_FLAG                VARCHAR2,
26           p_WORKFLOW_ITEM_TYPE            VARCHAR2,
27           p_WORKFLOW_PROCESS              VARCHAR2,
28           p_WF_SUCCESS_STATUS_CODE        VARCHAR2,
29           p_WF_FAILURE_STATUS_CODE        VARCHAR2,
30           p_LAST_UPDATE_DATE              DATE,
31           p_LAST_UPDATED_BY               NUMBER,
32           p_CREATION_DATE                 DATE,
33           p_CREATED_BY                    NUMBER,
34           p_LAST_UPDATE_LOGIN             NUMBER,
35           p_ATTRIBUTE_CATEGORY            VARCHAR2,
36           p_ATTRIBUTE1                    VARCHAR2,
37           p_ATTRIBUTE2                    VARCHAR2,
38           p_ATTRIBUTE3                    VARCHAR2,
39           p_ATTRIBUTE4                    VARCHAR2,
40           p_ATTRIBUTE5                    VARCHAR2,
41           p_ATTRIBUTE6                    VARCHAR2,
42           p_ATTRIBUTE7                    VARCHAR2,
43           p_ATTRIBUTE8                    VARCHAR2,
44           p_ATTRIBUTE9                    VARCHAR2,
45           p_ATTRIBUTE10                   VARCHAR2,
46           p_ATTRIBUTE11                   VARCHAR2,
47           p_ATTRIBUTE12                   VARCHAR2,
48           p_ATTRIBUTE13                   VARCHAR2,
49           p_ATTRIBUTE14                   VARCHAR2,
50           p_ATTRIBUTE15                   VARCHAR2,
51           p_STATUS_TYPE                   VARCHAR2,
52           p_NEXT_ALLOWABLE_STATUS_FLAG    VARCHAR2)
53  IS
54    CURSOR C2 IS SELECT PA_PROJECT_STATUSES_S.nextval FROM sys.dual;
55    v_project_status_code  VARCHAR2(30);
56 BEGIN
57    If (v_project_status_code IS NULL) OR (v_project_status_code = FND_API.G_MISS_CHAR) then
58        OPEN C2;
59        FETCH C2 INTO v_project_status_code;
60        CLOSE C2;
61    End If;
62    INSERT INTO PA_PROJECT_STATUSES(
63           PROJECT_STATUS_CODE,
64           PROJECT_STATUS_NAME,
65           PROJECT_SYSTEM_STATUS_CODE,
66           DESCRIPTION,
67           START_DATE_ACTIVE,
68           END_DATE_ACTIVE,
69           PREDEFINED_FLAG,
70           STARTING_STATUS_FLAG,
71           ENABLE_WF_FLAG,
72           WORKFLOW_ITEM_TYPE,
73           WORKFLOW_PROCESS,
74           WF_SUCCESS_STATUS_CODE,
75           WF_FAILURE_STATUS_CODE,
76           LAST_UPDATE_DATE,
77           LAST_UPDATED_BY,
78           CREATION_DATE,
79           CREATED_BY,
80           LAST_UPDATE_LOGIN,
81           ATTRIBUTE_CATEGORY,
82           ATTRIBUTE1,
83           ATTRIBUTE2,
84           ATTRIBUTE3,
85           ATTRIBUTE4,
86           ATTRIBUTE5,
87           ATTRIBUTE6,
88           ATTRIBUTE7,
89           ATTRIBUTE8,
90           ATTRIBUTE9,
91           ATTRIBUTE10,
92           ATTRIBUTE11,
93           ATTRIBUTE12,
94           ATTRIBUTE13,
95           ATTRIBUTE14,
96           ATTRIBUTE15,
97           STATUS_TYPE,
98           NEXT_ALLOWABLE_STATUS_FLAG
99           ) VALUES (
100            v_project_status_code,
101            decode( p_PROJECT_STATUS_NAME, FND_API.G_MISS_CHAR, NULL, p_PROJECT_STATUS_NAME),
102            decode( p_PROJECT_SYSTEM_STATUS_CODE, FND_API.G_MISS_CHAR, NULL, p_PROJECT_SYSTEM_STATUS_CODE),
103            decode( p_DESCRIPTION, FND_API.G_MISS_CHAR, NULL, p_DESCRIPTION),
104            decode( p_START_DATE_ACTIVE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_START_DATE_ACTIVE),
105            decode( p_END_DATE_ACTIVE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_END_DATE_ACTIVE),
106            decode( p_PREDEFINED_FLAG, FND_API.G_MISS_CHAR, NULL, p_PREDEFINED_FLAG),
107            decode( p_STARTING_STATUS_FLAG, FND_API.G_MISS_CHAR, NULL, p_STARTING_STATUS_FLAG),
108            decode( p_ENABLE_WF_FLAG, FND_API.G_MISS_CHAR, NULL, p_ENABLE_WF_FLAG),
109            decode( p_WORKFLOW_ITEM_TYPE, FND_API.G_MISS_CHAR, NULL, p_WORKFLOW_ITEM_TYPE),
110            decode( p_WORKFLOW_PROCESS, FND_API.G_MISS_CHAR, NULL, p_WORKFLOW_PROCESS),
111            decode( p_WF_SUCCESS_STATUS_CODE, FND_API.G_MISS_CHAR, NULL, p_WF_SUCCESS_STATUS_CODE),
112            decode( p_WF_FAILURE_STATUS_CODE, FND_API.G_MISS_CHAR, NULL, p_WF_FAILURE_STATUS_CODE),
113            decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_LAST_UPDATE_DATE),
114            decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
115            decode( p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_CREATION_DATE),
116            decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
117            decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
118            decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
119            decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
120            decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
121            decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
122            decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
123            decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
124            decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
125            decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
126            decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
127            decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
128            decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
129            decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
130            decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
131            decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
132            decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
133            decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15),
134            decode( p_STATUS_TYPE, FND_API.G_MISS_CHAR, NULL, p_STATUS_TYPE),
135            decode( p_NEXT_ALLOWABLE_STATUS_FLAG, FND_API.G_MISS_CHAR, NULL, p_NEXT_ALLOWABLE_STATUS_FLAG)
136 		   );
137 End Insert_Row;
138 
139 PROCEDURE Update_Row(
140           p_PROJECT_STATUS_CODE           VARCHAR2,
141           p_PROJECT_STATUS_NAME           VARCHAR2,
142           p_PROJECT_SYSTEM_STATUS_CODE    VARCHAR2,
143           p_DESCRIPTION                   VARCHAR2,
144           p_START_DATE_ACTIVE             DATE,
145           p_END_DATE_ACTIVE               DATE,
146           p_PREDEFINED_FLAG               VARCHAR2,
147           p_STARTING_STATUS_FLAG          VARCHAR2,
148           p_ENABLE_WF_FLAG                VARCHAR2,
149           p_WORKFLOW_ITEM_TYPE            VARCHAR2,
150           p_WORKFLOW_PROCESS              VARCHAR2,
151           p_WF_SUCCESS_STATUS_CODE        VARCHAR2,
152           p_WF_FAILURE_STATUS_CODE        VARCHAR2,
153           p_LAST_UPDATE_DATE              DATE,
154           p_LAST_UPDATED_BY               NUMBER,
155           p_CREATION_DATE                 DATE,
156           p_CREATED_BY                    NUMBER,
157           p_LAST_UPDATE_LOGIN             NUMBER,
158           p_ATTRIBUTE_CATEGORY            VARCHAR2,
159           p_ATTRIBUTE1                    VARCHAR2,
160           p_ATTRIBUTE2                    VARCHAR2,
161           p_ATTRIBUTE3                    VARCHAR2,
162           p_ATTRIBUTE4                    VARCHAR2,
163           p_ATTRIBUTE5                    VARCHAR2,
164           p_ATTRIBUTE6                    VARCHAR2,
165           p_ATTRIBUTE7                    VARCHAR2,
166           p_ATTRIBUTE8                    VARCHAR2,
167           p_ATTRIBUTE9                    VARCHAR2,
168           p_ATTRIBUTE10                   VARCHAR2,
169           p_ATTRIBUTE11                   VARCHAR2,
170           p_ATTRIBUTE12                   VARCHAR2,
171           p_ATTRIBUTE13                   VARCHAR2,
172           p_ATTRIBUTE14                   VARCHAR2,
173           p_ATTRIBUTE15                   VARCHAR2,
174           p_STATUS_TYPE                   VARCHAR2,
175           p_NEXT_ALLOWABLE_STATUS_FLAG    VARCHAR2)
176  IS
177  BEGIN
178     Update PA_PROJECT_STATUSES
179     SET
180            PROJECT_STATUS_NAME = decode( p_PROJECT_STATUS_NAME, FND_API.G_MISS_CHAR, PROJECT_STATUS_NAME, p_PROJECT_STATUS_NAME),
181            PROJECT_SYSTEM_STATUS_CODE = decode( p_PROJECT_SYSTEM_STATUS_CODE, FND_API.G_MISS_CHAR, PROJECT_SYSTEM_STATUS_CODE, p_PROJECT_SYSTEM_STATUS_CODE),
182            DESCRIPTION = decode( p_DESCRIPTION, FND_API.G_MISS_CHAR, DESCRIPTION, p_DESCRIPTION),
183            START_DATE_ACTIVE = decode( p_START_DATE_ACTIVE, FND_API.G_MISS_DATE, START_DATE_ACTIVE, p_START_DATE_ACTIVE),
184            END_DATE_ACTIVE = decode( p_END_DATE_ACTIVE, FND_API.G_MISS_DATE, END_DATE_ACTIVE, p_END_DATE_ACTIVE),
185            PREDEFINED_FLAG = decode( p_PREDEFINED_FLAG, FND_API.G_MISS_CHAR, PREDEFINED_FLAG, p_PREDEFINED_FLAG),
186            STARTING_STATUS_FLAG = decode( p_STARTING_STATUS_FLAG, FND_API.G_MISS_CHAR, STARTING_STATUS_FLAG, p_STARTING_STATUS_FLAG),
187            ENABLE_WF_FLAG = decode( p_ENABLE_WF_FLAG, FND_API.G_MISS_CHAR, ENABLE_WF_FLAG, p_ENABLE_WF_FLAG),
188            WORKFLOW_ITEM_TYPE = decode( p_WORKFLOW_ITEM_TYPE, FND_API.G_MISS_CHAR, WORKFLOW_ITEM_TYPE, p_WORKFLOW_ITEM_TYPE),
189            WORKFLOW_PROCESS = decode( p_WORKFLOW_PROCESS, FND_API.G_MISS_CHAR, WORKFLOW_PROCESS, p_WORKFLOW_PROCESS),
190            WF_SUCCESS_STATUS_CODE = decode( p_WF_SUCCESS_STATUS_CODE, FND_API.G_MISS_CHAR, WF_SUCCESS_STATUS_CODE, p_WF_SUCCESS_STATUS_CODE),
191            WF_FAILURE_STATUS_CODE = decode( p_WF_FAILURE_STATUS_CODE, FND_API.G_MISS_CHAR, WF_FAILURE_STATUS_CODE, p_WF_FAILURE_STATUS_CODE),
192               LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
193               LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_CHAR, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
194               CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
195               CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
196               LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
197               ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
198               ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
199               ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
200               ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
201               ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
202               ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
203               ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
204               ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
205               ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
206               ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
207               ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
208               ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
209               ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
210               ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
211               ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
212               ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15),
213               STATUS_TYPE = decode( p_STATUS_TYPE, FND_API.G_MISS_CHAR, STATUS_TYPE, p_STATUS_TYPE),
214               NEXT_ALLOWABLE_STATUS_FLAG = decode( p_NEXT_ALLOWABLE_STATUS_FLAG, FND_API.G_MISS_CHAR, NEXT_ALLOWABLE_STATUS_FLAG, p_NEXT_ALLOWABLE_STATUS_FLAG)
215     where PROJECT_STATUS_CODE = p_PROJECT_STATUS_CODE;
216 
217     If (SQL%NOTFOUND) then
218         RAISE NO_DATA_FOUND;
219     End If;
220 END Update_Row;
221 
222 PROCEDURE Lock_Row(
223           p_PROJECT_STATUS_CODE           VARCHAR2,
224           p_PROJECT_STATUS_NAME           VARCHAR2,
225           p_PROJECT_SYSTEM_STATUS_CODE    VARCHAR2,
226           p_DESCRIPTION                   VARCHAR2,
227           p_START_DATE_ACTIVE             DATE,
228           p_END_DATE_ACTIVE               DATE,
229           p_PREDEFINED_FLAG               VARCHAR2,
230           p_STARTING_STATUS_FLAG          VARCHAR2,
231           p_ENABLE_WF_FLAG                VARCHAR2,
232           p_WORKFLOW_ITEM_TYPE            VARCHAR2,
233           p_WORKFLOW_PROCESS              VARCHAR2,
234           p_WF_SUCCESS_STATUS_CODE        VARCHAR2,
235           p_WF_FAILURE_STATUS_CODE        VARCHAR2,
236           p_LAST_UPDATE_DATE              DATE,
237           p_LAST_UPDATED_BY               NUMBER,
238           p_CREATION_DATE                 DATE,
239           p_CREATED_BY                    NUMBER,
240           p_LAST_UPDATE_LOGIN             NUMBER,
241           p_ATTRIBUTE_CATEGORY            VARCHAR2,
242           p_ATTRIBUTE1                    VARCHAR2,
243           p_ATTRIBUTE2                    VARCHAR2,
244           p_ATTRIBUTE3                    VARCHAR2,
245           p_ATTRIBUTE4                    VARCHAR2,
246           p_ATTRIBUTE5                    VARCHAR2,
247           p_ATTRIBUTE6                    VARCHAR2,
248           p_ATTRIBUTE7                    VARCHAR2,
249           p_ATTRIBUTE8                    VARCHAR2,
250           p_ATTRIBUTE9                    VARCHAR2,
251           p_ATTRIBUTE10                   VARCHAR2,
252           p_ATTRIBUTE11                   VARCHAR2,
253           p_ATTRIBUTE12                   VARCHAR2,
254           p_ATTRIBUTE13                   VARCHAR2,
255           p_ATTRIBUTE14                   VARCHAR2,
256           p_ATTRIBUTE15                   VARCHAR2,
257           p_STATUS_TYPE                   VARCHAR2,
258           p_NEXT_ALLOWABLE_STATUS_FLAG    VARCHAR2)
259  IS
260    CURSOR C IS
261         SELECT *
262          FROM PA_PROJECT_STATUSES
263         WHERE PROJECT_STATUS_CODE =  p_PROJECT_STATUS_CODE
264         FOR UPDATE of PROJECT_STATUS_CODE NOWAIT;
265    Recinfo C%ROWTYPE;
266  BEGIN
267     OPEN C;
268     FETCH C INTO Recinfo;
269     If (C%NOTFOUND) then
270         CLOSE C;
271         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
272         APP_EXCEPTION.RAISE_EXCEPTION;
273     End If;
274     CLOSE C;
275     if (
276        (    ( Recinfo.PROJECT_STATUS_NAME = p_PROJECT_STATUS_NAME)
277             OR (    ( Recinfo.PROJECT_STATUS_NAME IS NULL )
278                 AND (  p_PROJECT_STATUS_NAME IS NULL )))
279        AND (    ( Recinfo.PROJECT_SYSTEM_STATUS_CODE = p_PROJECT_SYSTEM_STATUS_CODE)
280             OR (    ( Recinfo.PROJECT_SYSTEM_STATUS_CODE IS NULL )
281                 AND (  p_PROJECT_SYSTEM_STATUS_CODE IS NULL )))
282        AND (    ( Recinfo.DESCRIPTION = p_DESCRIPTION)
283             OR (    ( Recinfo.DESCRIPTION IS NULL )
284                 AND (  p_DESCRIPTION IS NULL )))
285        AND (    ( Recinfo.START_DATE_ACTIVE = p_START_DATE_ACTIVE)
286             OR (    ( Recinfo.START_DATE_ACTIVE IS NULL )
287                 AND (  p_START_DATE_ACTIVE IS NULL )))
288        AND (    ( Recinfo.END_DATE_ACTIVE = p_END_DATE_ACTIVE)
289             OR (    ( Recinfo.END_DATE_ACTIVE IS NULL )
290                 AND (  p_END_DATE_ACTIVE IS NULL )))
291        AND (    ( Recinfo.PREDEFINED_FLAG = p_PREDEFINED_FLAG)
292             OR (    ( Recinfo.PREDEFINED_FLAG IS NULL )
293                 AND (  p_PREDEFINED_FLAG IS NULL )))
294        AND (    ( Recinfo.STARTING_STATUS_FLAG = p_STARTING_STATUS_FLAG)
295             OR (    ( Recinfo.STARTING_STATUS_FLAG IS NULL )
296                 AND (  p_STARTING_STATUS_FLAG IS NULL )))
300        AND (    ( Recinfo.WORKFLOW_ITEM_TYPE = p_WORKFLOW_ITEM_TYPE)
297        AND (    ( Recinfo.ENABLE_WF_FLAG = p_ENABLE_WF_FLAG)
298             OR (    ( Recinfo.ENABLE_WF_FLAG IS NULL )
299                 AND (  p_ENABLE_WF_FLAG IS NULL )))
301             OR (    ( Recinfo.WORKFLOW_ITEM_TYPE IS NULL )
302                 AND (  p_WORKFLOW_ITEM_TYPE IS NULL )))
303        AND (    ( Recinfo.WORKFLOW_PROCESS = p_WORKFLOW_PROCESS)
304             OR (    ( Recinfo.WORKFLOW_PROCESS IS NULL )
305                 AND (  p_WORKFLOW_PROCESS IS NULL )))
306        AND (    ( Recinfo.WF_SUCCESS_STATUS_CODE = p_WF_SUCCESS_STATUS_CODE)
307             OR (    ( Recinfo.WF_SUCCESS_STATUS_CODE IS NULL )
308                 AND (  p_WF_SUCCESS_STATUS_CODE IS NULL )))
309        AND (    ( Recinfo.WF_FAILURE_STATUS_CODE = p_WF_FAILURE_STATUS_CODE)
310             OR (    ( Recinfo.WF_FAILURE_STATUS_CODE IS NULL )
311                 AND (  p_WF_FAILURE_STATUS_CODE IS NULL )))
312        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
313             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
314                 AND (  p_LAST_UPDATE_DATE IS NULL )))
315        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
316             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
317                 AND (  p_LAST_UPDATED_BY IS NULL )))
318        AND (      Recinfo.CREATION_DATE = p_CREATION_DATE)
319        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
320             OR (    ( Recinfo.CREATED_BY IS NULL )
321                 AND (  p_CREATED_BY IS NULL )))
322        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
323             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
324                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
325        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
326             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
327                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
328        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
329             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
330                 AND (  p_ATTRIBUTE1 IS NULL )))
331        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
332             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
333                 AND (  p_ATTRIBUTE2 IS NULL )))
334        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
335             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
336                 AND (  p_ATTRIBUTE3 IS NULL )))
337        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
338             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
339                 AND (  p_ATTRIBUTE4 IS NULL )))
340        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
341             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
342                 AND (  p_ATTRIBUTE5 IS NULL )))
343        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
344             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
345                 AND (  p_ATTRIBUTE6 IS NULL )))
346        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
347             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
348                 AND (  p_ATTRIBUTE7 IS NULL )))
349        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
350             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
351                 AND (  p_ATTRIBUTE8 IS NULL )))
352        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
353             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
354                 AND (  p_ATTRIBUTE9 IS NULL )))
355        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
356             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
357                 AND (  p_ATTRIBUTE10 IS NULL )))
358        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
359             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
360                 AND (  p_ATTRIBUTE11 IS NULL )))
361        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
362             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
363                 AND (  p_ATTRIBUTE12 IS NULL )))
364        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
365             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
366                 AND (  p_ATTRIBUTE13 IS NULL )))
367        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
368             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
369                 AND (  p_ATTRIBUTE14 IS NULL )))
370        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
371             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
372                 AND (  p_ATTRIBUTE15 IS NULL )))
373        AND (    ( Recinfo.STATUS_TYPE = p_STATUS_TYPE)
374             OR (    ( Recinfo.STATUS_TYPE IS NULL )
375                 AND (  p_STATUS_TYPE IS NULL )))
376        AND (    ( Recinfo.NEXT_ALLOWABLE_STATUS_FLAG = p_NEXT_ALLOWABLE_STATUS_FLAG)
377             OR (    ( Recinfo.NEXT_ALLOWABLE_STATUS_FLAG IS NULL )
378                 AND (  p_NEXT_ALLOWABLE_STATUS_FLAG IS NULL )))
379        ) then
380        return;
381    else
382        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
383        APP_EXCEPTION.RAISE_EXCEPTION;
384    End If;
385 END Lock_Row;
386 
387 PROCEDURE Delete_Row(
388     p_PROJECT_STATUS_CODE  VARCHAR2)
389  IS
390  BEGIN
391    DELETE FROM PA_PROJECT_STATUSES
392     WHERE PROJECT_STATUS_CODE = p_PROJECT_STATUS_CODE;
393    If (SQL%NOTFOUND) then
394        RAISE NO_DATA_FOUND;
395    End If;
396  END Delete_Row;
397 
398 End PA_PROJECT_STATUSES_PKG;