DBA Data[Home] [Help]

PACKAGE BODY: APPS.PV_ENTY_SELECT_CRITERIA_PKG

Source


1 PACKAGE BODY PV_ENTY_SELECT_CRITERIA_PKG as
2 /* $Header: pvrtescb.pls 120.0 2005/05/27 16:05:17 appldev noship $ */
3 -- Start of Comments
4 -- Package name     : PV_ENTY_SELECT_CRITERIA_PKG
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'PV_ENTY_SELECT_CRITERIA_PKG';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'pvrtescb.pls';
13 
14 AS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
15 AS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
16 AS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
17 
18 PROCEDURE Insert_Row(
19           px_SELECTION_CRITERIA_ID   IN OUT NOCOPY NUMBER
20          ,p_LAST_UPDATE_DATE    DATE
21          ,p_LAST_UPDATED_BY    NUMBER
22          ,p_CREATION_DATE    DATE
23          ,p_CREATED_BY    NUMBER
24          ,p_LAST_UPDATE_LOGIN    NUMBER
25          ,p_OBJECT_VERSION_NUMBER    NUMBER
26          ,p_REQUEST_ID    NUMBER
27          ,p_PROGRAM_APPLICATION_ID    NUMBER
28          ,p_PROGRAM_ID    NUMBER
29          ,p_PROGRAM_UPDATE_DATE    DATE
30          ,p_PROCESS_RULE_ID    NUMBER
31          ,p_ATTRIBUTE_ID    NUMBER
32          ,p_SELECTION_TYPE_CODE    VARCHAR2
33          ,p_OPERATOR    VARCHAR2
34          ,p_RANK    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 )
52  IS
53    CURSOR C2 IS SELECT PV_ENTY_SELECT_CRITERIA_S.nextval FROM sys.dual;
54 BEGIN
55    If (px_SELECTION_CRITERIA_ID IS NULL) OR (px_SELECTION_CRITERIA_ID = FND_API.G_MISS_NUM) then
56        OPEN C2;
57        FETCH C2 INTO px_SELECTION_CRITERIA_ID;
58        CLOSE C2;
59    End If;
60    INSERT INTO PV_ENTY_SELECT_CRITERIA(
61            SELECTION_CRITERIA_ID
62           ,LAST_UPDATE_DATE
63           ,LAST_UPDATED_BY
64           ,CREATION_DATE
65           ,CREATED_BY
66           ,LAST_UPDATE_LOGIN
67           ,OBJECT_VERSION_NUMBER
68           ,REQUEST_ID
69           ,PROGRAM_APPLICATION_ID
70           ,PROGRAM_ID
71           ,PROGRAM_UPDATE_DATE
72           ,PROCESS_RULE_ID
73           ,ATTRIBUTE_ID
74           ,SELECTION_TYPE_CODE
75           ,OPERATOR
76           ,RANK
77           ,ATTRIBUTE_CATEGORY
78           ,ATTRIBUTE1
79           ,ATTRIBUTE2
80           ,ATTRIBUTE3
81           ,ATTRIBUTE4
82           ,ATTRIBUTE5
83           ,ATTRIBUTE6
84           ,ATTRIBUTE7
85           ,ATTRIBUTE8
86           ,ATTRIBUTE9
87           ,ATTRIBUTE10
88           ,ATTRIBUTE11
89           ,ATTRIBUTE12
90           ,ATTRIBUTE13
91           ,ATTRIBUTE14
92           ,ATTRIBUTE15
93           ) VALUES (
94            px_SELECTION_CRITERIA_ID
95           ,decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_LAST_UPDATE_DATE)
96           ,decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY)
97           ,decode( p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_CREATION_DATE)
98           ,decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY)
99           ,decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN)
100           ,1
101           ,decode( p_REQUEST_ID, FND_API.G_MISS_NUM, NULL, p_REQUEST_ID)
102           ,decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_APPLICATION_ID)
103           ,decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_ID)
104           ,decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_PROGRAM_UPDATE_DATE)
105           ,decode( p_PROCESS_RULE_ID, FND_API.G_MISS_NUM, NULL, p_PROCESS_RULE_ID)
106           ,decode( p_ATTRIBUTE_ID, FND_API.G_MISS_NUM, NULL, p_ATTRIBUTE_ID)
107           ,decode( p_SELECTION_TYPE_CODE, FND_API.G_MISS_CHAR, NULL, p_SELECTION_TYPE_CODE)
108           ,decode( p_OPERATOR, FND_API.G_MISS_CHAR, NULL, p_OPERATOR)
109           ,decode( p_RANK, FND_API.G_MISS_NUM, NULL, p_RANK)
110           ,decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY)
111           ,decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1)
112           ,decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2)
113           ,decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3)
114           ,decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4)
115           ,decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5)
116           ,decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6)
117           ,decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7)
118           ,decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8)
119           ,decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9)
120           ,decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10)
121           ,decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11)
122           ,decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12)
123           ,decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13)
124           ,decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14)
125           ,decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15)
126 );
127 End Insert_Row;
128 
129 PROCEDURE Update_Row(
130           p_SELECTION_CRITERIA_ID    NUMBER
131          ,p_LAST_UPDATE_DATE    DATE
132          ,p_LAST_UPDATED_BY    NUMBER
133          ,p_CREATION_DATE    DATE
134          ,p_CREATED_BY    NUMBER
135          ,p_LAST_UPDATE_LOGIN    NUMBER
136          ,p_OBJECT_VERSION_NUMBER    NUMBER
137          ,p_REQUEST_ID    NUMBER
138          ,p_PROGRAM_APPLICATION_ID    NUMBER
139          ,p_PROGRAM_ID    NUMBER
140          ,p_PROGRAM_UPDATE_DATE    DATE
141          ,p_PROCESS_RULE_ID    NUMBER
142          ,p_ATTRIBUTE_ID    NUMBER
143          ,p_SELECTION_TYPE_CODE    VARCHAR2
144          ,p_OPERATOR    VARCHAR2
145          ,p_RANK    NUMBER
146          ,p_ATTRIBUTE_CATEGORY    VARCHAR2
147          ,p_ATTRIBUTE1    VARCHAR2
148          ,p_ATTRIBUTE2    VARCHAR2
149          ,p_ATTRIBUTE3    VARCHAR2
150          ,p_ATTRIBUTE4    VARCHAR2
151          ,p_ATTRIBUTE5    VARCHAR2
152          ,p_ATTRIBUTE6    VARCHAR2
153          ,p_ATTRIBUTE7    VARCHAR2
154          ,p_ATTRIBUTE8    VARCHAR2
155          ,p_ATTRIBUTE9    VARCHAR2
156          ,p_ATTRIBUTE10    VARCHAR2
157          ,p_ATTRIBUTE11    VARCHAR2
158          ,p_ATTRIBUTE12    VARCHAR2
159          ,p_ATTRIBUTE13    VARCHAR2
160          ,p_ATTRIBUTE14    VARCHAR2
161          ,p_ATTRIBUTE15    VARCHAR2
162 )
163  IS
164  BEGIN
165     Update PV_ENTY_SELECT_CRITERIA
166     SET
167               LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE)
168              ,LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY)
169              ,CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE)
170              ,CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY)
171              ,LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN)
172              ,OBJECT_VERSION_NUMBER = decode( p_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, OBJECT_VERSION_NUMBER, p_OBJECT_VERSION_NUMBER+1)
173              ,REQUEST_ID = decode( p_REQUEST_ID, FND_API.G_MISS_NUM, REQUEST_ID, p_REQUEST_ID)
174              ,PROGRAM_APPLICATION_ID = decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, PROGRAM_APPLICATION_ID, p_PROGRAM_APPLICATION_ID)
175              ,PROGRAM_ID = decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, PROGRAM_ID, p_PROGRAM_ID)
176              ,PROGRAM_UPDATE_DATE = decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, PROGRAM_UPDATE_DATE, p_PROGRAM_UPDATE_DATE)
177              ,PROCESS_RULE_ID = decode( p_PROCESS_RULE_ID, FND_API.G_MISS_NUM, PROCESS_RULE_ID, p_PROCESS_RULE_ID)
178              ,ATTRIBUTE_ID = decode( p_ATTRIBUTE_ID, FND_API.G_MISS_NUM, ATTRIBUTE_ID, p_ATTRIBUTE_ID)
179              ,SELECTION_TYPE_CODE = decode( p_SELECTION_TYPE_CODE, FND_API.G_MISS_CHAR, SELECTION_TYPE_CODE, p_SELECTION_TYPE_CODE)
180              ,OPERATOR = decode( p_OPERATOR, FND_API.G_MISS_CHAR, OPERATOR, p_OPERATOR)
181              ,RANK = decode( p_RANK, FND_API.G_MISS_NUM, RANK, p_RANK)
182              ,ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY)
183              ,ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1)
184              ,ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2)
185              ,ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3)
186              ,ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4)
187              ,ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5)
188              ,ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6)
189              ,ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7)
190              ,ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8)
191              ,ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9)
192              ,ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10)
193              ,ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11)
194              ,ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12)
195              ,ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13)
196              ,ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14)
197              ,ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15)
198     where SELECTION_CRITERIA_ID = p_SELECTION_CRITERIA_ID;
199 
200     If (SQL%NOTFOUND) then
201         RAISE NO_DATA_FOUND;
202     End If;
203 END Update_Row;
204 
205 PROCEDURE Delete_Row(
206     p_SELECTION_CRITERIA_ID  NUMBER)
207  IS
208  BEGIN
209    DELETE FROM PV_ENTY_SELECT_CRITERIA
210     WHERE SELECTION_CRITERIA_ID = p_SELECTION_CRITERIA_ID;
211    If (SQL%NOTFOUND) then
212        RAISE NO_DATA_FOUND;
213    End If;
214  END Delete_Row;
215 
216 PROCEDURE Lock_Row(
217           p_SELECTION_CRITERIA_ID    NUMBER
218          ,p_LAST_UPDATE_DATE    DATE
219          ,p_LAST_UPDATED_BY    NUMBER
220          ,p_CREATION_DATE    DATE
221          ,p_CREATED_BY    NUMBER
222          ,p_LAST_UPDATE_LOGIN    NUMBER
223          ,p_OBJECT_VERSION_NUMBER    NUMBER
224          ,p_REQUEST_ID    NUMBER
225          ,p_PROGRAM_APPLICATION_ID    NUMBER
226          ,p_PROGRAM_ID    NUMBER
227          ,p_PROGRAM_UPDATE_DATE    DATE
228          ,p_PROCESS_RULE_ID    NUMBER
229          ,p_ATTRIBUTE_ID    NUMBER
230          ,p_SELECTION_TYPE_CODE    VARCHAR2
231          ,p_OPERATOR    VARCHAR2
232          ,p_RANK    NUMBER
233          ,p_ATTRIBUTE_CATEGORY    VARCHAR2
234          ,p_ATTRIBUTE1    VARCHAR2
235          ,p_ATTRIBUTE2    VARCHAR2
236          ,p_ATTRIBUTE3    VARCHAR2
237          ,p_ATTRIBUTE4    VARCHAR2
238          ,p_ATTRIBUTE5    VARCHAR2
239          ,p_ATTRIBUTE6    VARCHAR2
240          ,p_ATTRIBUTE7    VARCHAR2
241          ,p_ATTRIBUTE8    VARCHAR2
242          ,p_ATTRIBUTE9    VARCHAR2
243          ,p_ATTRIBUTE10    VARCHAR2
244          ,p_ATTRIBUTE11    VARCHAR2
245          ,p_ATTRIBUTE12    VARCHAR2
246          ,p_ATTRIBUTE13    VARCHAR2
247          ,p_ATTRIBUTE14    VARCHAR2
248          ,p_ATTRIBUTE15    VARCHAR2
249 )
250  IS
251    CURSOR C IS
252         SELECT *
253          FROM PV_ENTY_SELECT_CRITERIA
254         WHERE SELECTION_CRITERIA_ID =  p_SELECTION_CRITERIA_ID
255         FOR UPDATE of SELECTION_CRITERIA_ID NOWAIT;
256    Recinfo C%ROWTYPE;
257  BEGIN
258     OPEN C;
259     FETCH C INTO Recinfo;
260     If (C%NOTFOUND) then
261         CLOSE C;
262         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
263         APP_EXCEPTION.RAISE_EXCEPTION;
264     End If;
265     CLOSE C;
266     if (
267            (      Recinfo.SELECTION_CRITERIA_ID = p_SELECTION_CRITERIA_ID)
268        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
269             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
270                 AND (  p_LAST_UPDATE_DATE IS NULL )))
271        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
272             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
273                 AND (  p_LAST_UPDATED_BY IS NULL )))
274        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
275             OR (    ( Recinfo.CREATION_DATE IS NULL )
276                 AND (  p_CREATION_DATE IS NULL )))
277        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
278             OR (    ( Recinfo.CREATED_BY IS NULL )
279                 AND (  p_CREATED_BY IS NULL )))
280        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
281             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
282                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
283        AND (    ( Recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER)
284             OR (    ( Recinfo.OBJECT_VERSION_NUMBER IS NULL )
285                 AND (  p_OBJECT_VERSION_NUMBER IS NULL )))
286        AND (    ( Recinfo.REQUEST_ID = p_REQUEST_ID)
287             OR (    ( Recinfo.REQUEST_ID IS NULL )
288                 AND (  p_REQUEST_ID IS NULL )))
289        AND (    ( Recinfo.PROGRAM_APPLICATION_ID = p_PROGRAM_APPLICATION_ID)
290             OR (    ( Recinfo.PROGRAM_APPLICATION_ID IS NULL )
291                 AND (  p_PROGRAM_APPLICATION_ID IS NULL )))
292        AND (    ( Recinfo.PROGRAM_ID = p_PROGRAM_ID)
293             OR (    ( Recinfo.PROGRAM_ID IS NULL )
294                 AND (  p_PROGRAM_ID IS NULL )))
295        AND (    ( Recinfo.PROGRAM_UPDATE_DATE = p_PROGRAM_UPDATE_DATE)
296             OR (    ( Recinfo.PROGRAM_UPDATE_DATE IS NULL )
297                 AND (  p_PROGRAM_UPDATE_DATE IS NULL )))
298        AND (    ( Recinfo.PROCESS_RULE_ID = p_PROCESS_RULE_ID)
299             OR (    ( Recinfo.PROCESS_RULE_ID IS NULL )
300                 AND (  p_PROCESS_RULE_ID IS NULL )))
301        AND (    ( Recinfo.ATTRIBUTE_ID = p_ATTRIBUTE_ID)
302             OR (    ( Recinfo.ATTRIBUTE_ID IS NULL )
303                 AND (  p_ATTRIBUTE_ID IS NULL )))
304        AND (    ( Recinfo.SELECTION_TYPE_CODE = p_SELECTION_TYPE_CODE)
305             OR (    ( Recinfo.SELECTION_TYPE_CODE IS NULL )
306                 AND (  p_SELECTION_TYPE_CODE IS NULL )))
307        AND (    ( Recinfo.OPERATOR = p_OPERATOR)
308             OR (    ( Recinfo.OPERATOR IS NULL )
309                 AND (  p_OPERATOR IS NULL )))
310        AND (    ( Recinfo.RANK = p_RANK)
311             OR (    ( Recinfo.RANK IS NULL )
312                 AND (  p_RANK IS NULL )))
313        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
314             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
315                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
316        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
317             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
318                 AND (  p_ATTRIBUTE1 IS NULL )))
319        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
320             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
321                 AND (  p_ATTRIBUTE2 IS NULL )))
322        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
323             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
324                 AND (  p_ATTRIBUTE3 IS NULL )))
325        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
326             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
327                 AND (  p_ATTRIBUTE4 IS NULL )))
328        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
329             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
330                 AND (  p_ATTRIBUTE5 IS NULL )))
331        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
332             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
333                 AND (  p_ATTRIBUTE6 IS NULL )))
334        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
335             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
336                 AND (  p_ATTRIBUTE7 IS NULL )))
337        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
338             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
339                 AND (  p_ATTRIBUTE8 IS NULL )))
340        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
341             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
342                 AND (  p_ATTRIBUTE9 IS NULL )))
343        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
344             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
345                 AND (  p_ATTRIBUTE10 IS NULL )))
346        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
347             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
348                 AND (  p_ATTRIBUTE11 IS NULL )))
349        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
350             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
351                 AND (  p_ATTRIBUTE12 IS NULL )))
352        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
353             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
354                 AND (  p_ATTRIBUTE13 IS NULL )))
355        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
356             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
357                 AND (  p_ATTRIBUTE14 IS NULL )))
358        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
359             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
360                 AND (  p_ATTRIBUTE15 IS NULL )))
361        ) then
362        return;
363    else
364        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
365        APP_EXCEPTION.RAISE_EXCEPTION;
366    End If;
367 END Lock_Row;
368 
369 End PV_ENTY_SELECT_CRITERIA_PKG;