DBA Data[Home] [Help]

PACKAGE BODY: APPS.LNS_APPROVAL_ACTIONS_PKG

Source


1 PACKAGE BODY LNS_APPROVAL_ACTIONS_PKG AS
2 /* $Header: LNS_APACT_TBLH_B.pls 120.0 2005/05/31 18:06:55 appldev noship $ */
3 
4 /* Insert_Row procedure */
5 PROCEDURE Insert_Row(
6 	X_ACTION_ID		IN OUT NOCOPY NUMBER
7 	,P_LAST_UPDATE_DATE		IN DATE	DEFAULT NULL
8 	,P_LAST_UPDATED_BY		IN NUMBER	DEFAULT NULL
9 	,P_LAST_UPDATE_LOGIN		IN NUMBER	DEFAULT NULL
10 	,P_CREATION_DATE		IN DATE	DEFAULT NULL
11 	,P_CREATED_BY		IN NUMBER	DEFAULT NULL
12 	,P_OBJECT_VERSION_NUMBER		IN NUMBER
13 	,P_LOAN_ID		IN NUMBER
14 	,P_ACTION_TYPE		IN VARCHAR2
15 	,P_AMOUNT		IN NUMBER	DEFAULT NULL
16 	,P_REASON_CODE		IN VARCHAR2	DEFAULT NULL
17 	,P_ATTRIBUTE_CATEGORY		IN VARCHAR2	DEFAULT NULL
18 	,P_ATTRIBUTE1		IN VARCHAR2	DEFAULT NULL
19 	,P_ATTRIBUTE2		IN VARCHAR2	DEFAULT NULL
20 	,P_ATTRIBUTE3		IN VARCHAR2	DEFAULT NULL
21 	,P_ATTRIBUTE4		IN VARCHAR2	DEFAULT NULL
22 	,P_ATTRIBUTE5		IN VARCHAR2	DEFAULT NULL
23 	,P_ATTRIBUTE6		IN VARCHAR2	DEFAULT NULL
24 	,P_ATTRIBUTE7		IN VARCHAR2	DEFAULT NULL
25 	,P_ATTRIBUTE8		IN VARCHAR2	DEFAULT NULL
26 	,P_ATTRIBUTE9		IN VARCHAR2	DEFAULT NULL
27 	,P_ATTRIBUTE10		IN VARCHAR2	DEFAULT NULL
28 	,P_ATTRIBUTE11		IN VARCHAR2	DEFAULT NULL
29 	,P_ATTRIBUTE12		IN VARCHAR2	DEFAULT NULL
30 	,P_ATTRIBUTE13		IN VARCHAR2	DEFAULT NULL
31 	,P_ATTRIBUTE14		IN VARCHAR2	DEFAULT NULL
32 	,P_ATTRIBUTE15		IN VARCHAR2	DEFAULT NULL
33 	,P_ATTRIBUTE16		IN VARCHAR2	DEFAULT NULL
34 	,P_ATTRIBUTE17		IN VARCHAR2	DEFAULT NULL
35 	,P_ATTRIBUTE18		IN VARCHAR2	DEFAULT NULL
36 	,P_ATTRIBUTE19		IN VARCHAR2	DEFAULT NULL
37 	,P_ATTRIBUTE20		IN VARCHAR2	DEFAULT NULL
38 ) IS
39 BEGIN
40 	INSERT INTO LNS_APPROVAL_ACTIONS
41 	(
42 		ACTION_ID
43 		,LAST_UPDATE_DATE
44 		,LAST_UPDATED_BY
45 		,LAST_UPDATE_LOGIN
46 		,CREATION_DATE
47 		,CREATED_BY
48 		,OBJECT_VERSION_NUMBER
49 		,LOAN_ID
50 		,ACTION_TYPE
51 		,AMOUNT
52 		,REASON_CODE
53 		,ATTRIBUTE_CATEGORY
54 		,ATTRIBUTE1
55 		,ATTRIBUTE2
56 		,ATTRIBUTE3
57 		,ATTRIBUTE4
58 		,ATTRIBUTE5
59 		,ATTRIBUTE6
60 		,ATTRIBUTE7
61 		,ATTRIBUTE8
62 		,ATTRIBUTE9
63 		,ATTRIBUTE10
64 		,ATTRIBUTE11
65 		,ATTRIBUTE12
66 		,ATTRIBUTE13
67 		,ATTRIBUTE14
68 		,ATTRIBUTE15
69 		,ATTRIBUTE16
70 		,ATTRIBUTE17
71 		,ATTRIBUTE18
72 		,ATTRIBUTE19
73 		,ATTRIBUTE20
74 	) VALUES (
75 		DECODE(X_ACTION_ID, FND_API.G_MISS_NUM, LNS_APPROVAL_ACTIONS_S.NEXTVAL, NULL, LNS_APPROVAL_ACTIONS_S.NEXTVAL, X_ACTION_ID)
76 		,LNS_UTILITY_PUB.LAST_UPDATE_DATE
77 		,LNS_UTILITY_PUB.LAST_UPDATED_BY
78 		,LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
79 		,LNS_UTILITY_PUB.CREATION_DATE
80 		,LNS_UTILITY_PUB.CREATED_BY
81 		,DECODE(P_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, P_OBJECT_VERSION_NUMBER)
82 		,DECODE(P_LOAN_ID, FND_API.G_MISS_NUM, NULL, P_LOAN_ID)
83 		,DECODE(P_ACTION_TYPE, FND_API.G_MISS_CHAR, NULL, P_ACTION_TYPE)
84 		,DECODE(P_AMOUNT, FND_API.G_MISS_NUM, NULL, P_AMOUNT)
85 		,DECODE(P_REASON_CODE, FND_API.G_MISS_CHAR, NULL, P_REASON_CODE)
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_ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE16)
103 		,DECODE(P_ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE17)
104 		,DECODE(P_ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE18)
105 		,DECODE(P_ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE19)
106 		,DECODE(P_ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE20)
107 	) RETURNING
108 		 ACTION_ID
109 	 INTO
110 		 X_ACTION_ID;
111 END Insert_Row;
112 
113 /* Update_Row procedure */
114 PROCEDURE Update_Row(
115 	X_ACTION_ID		IN OUT NOCOPY NUMBER
116 	,P_LAST_UPDATE_DATE		IN DATE	DEFAULT NULL
117 	,P_LAST_UPDATED_BY		IN NUMBER	DEFAULT NULL
118 	,P_LAST_UPDATE_LOGIN		IN NUMBER	DEFAULT NULL
119 	,P_OBJECT_VERSION_NUMBER		IN NUMBER	DEFAULT NULL
120 	,P_LOAN_ID		IN NUMBER	DEFAULT NULL
121 	,P_ACTION_TYPE		IN VARCHAR2	DEFAULT NULL
122 	,P_AMOUNT		IN NUMBER	DEFAULT NULL
123 	,P_REASON_CODE		IN VARCHAR2	DEFAULT NULL
124 	,P_ATTRIBUTE_CATEGORY		IN VARCHAR2	DEFAULT NULL
125 	,P_ATTRIBUTE1		IN VARCHAR2	DEFAULT NULL
126 	,P_ATTRIBUTE2		IN VARCHAR2	DEFAULT NULL
127 	,P_ATTRIBUTE3		IN VARCHAR2	DEFAULT NULL
128 	,P_ATTRIBUTE4		IN VARCHAR2	DEFAULT NULL
129 	,P_ATTRIBUTE5		IN VARCHAR2	DEFAULT NULL
130 	,P_ATTRIBUTE6		IN VARCHAR2	DEFAULT NULL
131 	,P_ATTRIBUTE7		IN VARCHAR2	DEFAULT NULL
132 	,P_ATTRIBUTE8		IN VARCHAR2	DEFAULT NULL
133 	,P_ATTRIBUTE9		IN VARCHAR2	DEFAULT NULL
134 	,P_ATTRIBUTE10		IN VARCHAR2	DEFAULT NULL
135 	,P_ATTRIBUTE11		IN VARCHAR2	DEFAULT NULL
136 	,P_ATTRIBUTE12		IN VARCHAR2	DEFAULT NULL
137 	,P_ATTRIBUTE13		IN VARCHAR2	DEFAULT NULL
138 	,P_ATTRIBUTE14		IN VARCHAR2	DEFAULT NULL
139 	,P_ATTRIBUTE15		IN VARCHAR2	DEFAULT NULL
140 	,P_ATTRIBUTE16		IN VARCHAR2	DEFAULT NULL
141 	,P_ATTRIBUTE17		IN VARCHAR2	DEFAULT NULL
142 	,P_ATTRIBUTE18		IN VARCHAR2	DEFAULT NULL
143 	,P_ATTRIBUTE19		IN VARCHAR2	DEFAULT NULL
144 	,P_ATTRIBUTE20		IN VARCHAR2	DEFAULT NULL
145 ) IS
146 BEGIN
147 	UPDATE LNS_APPROVAL_ACTIONS SET
148 		ACTION_ID = DECODE(X_ACTION_ID, NULL, ACTION_ID, FND_API.G_MISS_NUM, NULL, X_ACTION_ID)
149 		,LAST_UPDATE_DATE = LNS_UTILITY_PUB.LAST_UPDATE_DATE
150 		,LAST_UPDATED_BY = LNS_UTILITY_PUB.LAST_UPDATED_BY
151 		,LAST_UPDATE_LOGIN = LNS_UTILITY_PUB.LAST_UPDATE_LOGIN
152 		,OBJECT_VERSION_NUMBER = DECODE(P_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, P_OBJECT_VERSION_NUMBER)
153 		,LOAN_ID = DECODE(P_LOAN_ID, NULL, LOAN_ID, FND_API.G_MISS_NUM, NULL, P_LOAN_ID)
154 		,ACTION_TYPE = DECODE(P_ACTION_TYPE, NULL, ACTION_TYPE, FND_API.G_MISS_CHAR, NULL, P_ACTION_TYPE)
155 		,AMOUNT = DECODE(P_AMOUNT, NULL, AMOUNT, FND_API.G_MISS_NUM, NULL, P_AMOUNT)
156 		,REASON_CODE = DECODE(P_REASON_CODE, NULL, REASON_CODE, FND_API.G_MISS_CHAR, NULL, P_REASON_CODE)
157 		,ATTRIBUTE_CATEGORY = DECODE(P_ATTRIBUTE_CATEGORY, NULL, ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE_CATEGORY)
158 		,ATTRIBUTE1 = DECODE(P_ATTRIBUTE1, NULL, ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE1)
159 		,ATTRIBUTE2 = DECODE(P_ATTRIBUTE2, NULL, ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE2)
160 		,ATTRIBUTE3 = DECODE(P_ATTRIBUTE3, NULL, ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE3)
161 		,ATTRIBUTE4 = DECODE(P_ATTRIBUTE4, NULL, ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE4)
162 		,ATTRIBUTE5 = DECODE(P_ATTRIBUTE5, NULL, ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE5)
163 		,ATTRIBUTE6 = DECODE(P_ATTRIBUTE6, NULL, ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE6)
164 		,ATTRIBUTE7 = DECODE(P_ATTRIBUTE7, NULL, ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE7)
165 		,ATTRIBUTE8 = DECODE(P_ATTRIBUTE8, NULL, ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE8)
166 		,ATTRIBUTE9 = DECODE(P_ATTRIBUTE9, NULL, ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE9)
167 		,ATTRIBUTE10 = DECODE(P_ATTRIBUTE10, NULL, ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE10)
168 		,ATTRIBUTE11 = DECODE(P_ATTRIBUTE11, NULL, ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE11)
169 		,ATTRIBUTE12 = DECODE(P_ATTRIBUTE12, NULL, ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE12)
170 		,ATTRIBUTE13 = DECODE(P_ATTRIBUTE13, NULL, ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE13)
171 		,ATTRIBUTE14 = DECODE(P_ATTRIBUTE14, NULL, ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE14)
172 		,ATTRIBUTE15 = DECODE(P_ATTRIBUTE15, NULL, ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE15)
173 		,ATTRIBUTE16 = DECODE(P_ATTRIBUTE16, NULL, ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE16)
174 		,ATTRIBUTE17 = DECODE(P_ATTRIBUTE17, NULL, ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE17)
175 		,ATTRIBUTE18 = DECODE(P_ATTRIBUTE18, NULL, ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE18)
176 		,ATTRIBUTE19 = DECODE(P_ATTRIBUTE19, NULL, ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE19)
177 		,ATTRIBUTE20 = DECODE(P_ATTRIBUTE20, NULL, ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL, P_ATTRIBUTE20)
178 	 WHERE ACTION_ID = X_ACTION_ID;
179 
180 	if (sql%notfound) then
181 		raise no_data_found;
182 	end if;
183 END Update_Row;
184 
185 /* Delete_Row procedure */
186 PROCEDURE Delete_Row(P_ACTION_ID IN NUMBER) IS
187 BEGIN
188 	DELETE FROM LNS_APPROVAL_ACTIONS
189 		WHERE ACTION_ID = P_ACTION_ID;
190 
191 	if (sql%notfound) then
192 		raise no_data_found;
193 	end if;
194 END Delete_Row;
195 
196 /* Lock_Row procedure */
197 PROCEDURE Lock_Row(
198 	P_ACTION_ID		IN NUMBER
199 	,P_LAST_UPDATE_DATE		IN DATE	DEFAULT NULL
200 	,P_LAST_UPDATED_BY		IN NUMBER	DEFAULT NULL
201 	,P_LAST_UPDATE_LOGIN		IN NUMBER	DEFAULT NULL
202 	,P_CREATION_DATE		IN DATE	DEFAULT NULL
203 	,P_CREATED_BY		IN NUMBER	DEFAULT NULL
204 	,P_OBJECT_VERSION_NUMBER		IN NUMBER	DEFAULT NULL
205 	,P_LOAN_ID		IN NUMBER	DEFAULT NULL
206 	,P_ACTION_TYPE		IN VARCHAR2	DEFAULT NULL
207 	,P_AMOUNT		IN NUMBER	DEFAULT NULL
208 	,P_REASON_CODE		IN VARCHAR2	DEFAULT NULL
209 	,P_ATTRIBUTE_CATEGORY		IN VARCHAR2	DEFAULT NULL
210 	,P_ATTRIBUTE1		IN VARCHAR2	DEFAULT NULL
211 	,P_ATTRIBUTE2		IN VARCHAR2	DEFAULT NULL
212 	,P_ATTRIBUTE3		IN VARCHAR2	DEFAULT NULL
213 	,P_ATTRIBUTE4		IN VARCHAR2	DEFAULT NULL
214 	,P_ATTRIBUTE5		IN VARCHAR2	DEFAULT NULL
215 	,P_ATTRIBUTE6		IN VARCHAR2	DEFAULT NULL
216 	,P_ATTRIBUTE7		IN VARCHAR2	DEFAULT NULL
217 	,P_ATTRIBUTE8		IN VARCHAR2	DEFAULT NULL
218 	,P_ATTRIBUTE9		IN VARCHAR2	DEFAULT NULL
219 	,P_ATTRIBUTE10		IN VARCHAR2	DEFAULT NULL
220 	,P_ATTRIBUTE11		IN VARCHAR2	DEFAULT NULL
221 	,P_ATTRIBUTE12		IN VARCHAR2	DEFAULT NULL
222 	,P_ATTRIBUTE13		IN VARCHAR2	DEFAULT NULL
223 	,P_ATTRIBUTE14		IN VARCHAR2	DEFAULT NULL
224 	,P_ATTRIBUTE15		IN VARCHAR2	DEFAULT NULL
225 	,P_ATTRIBUTE16		IN VARCHAR2	DEFAULT NULL
226 	,P_ATTRIBUTE17		IN VARCHAR2	DEFAULT NULL
227 	,P_ATTRIBUTE18		IN VARCHAR2	DEFAULT NULL
228 	,P_ATTRIBUTE19		IN VARCHAR2	DEFAULT NULL
229 	,P_ATTRIBUTE20		IN VARCHAR2	DEFAULT NULL
230 ) IS
231 	CURSOR C IS SELECT * FROM LNS_APPROVAL_ACTIONS
232 		WHERE ACTION_ID = P_ACTION_ID
233 		FOR UPDATE of ACTION_ID NOWAIT;
234 	Recinfo C%ROWTYPE;
235 BEGIN
236 	OPEN C;
237 	FETCH C INTO Recinfo;
238 	IF (C%NOTFOUND) THEN
239 		CLOSE C;
240 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
241 		APP_EXCEPTION.Raise_Exception;
242 	END IF;
243 	CLOSE C;
244 
245 	IF (
246 		(Recinfo.ACTION_ID = P_ACTION_ID)
247 		AND ( (Recinfo.LAST_UPDATE_DATE = P_LAST_UPDATE_DATE)
248 			OR ( (Recinfo.LAST_UPDATE_DATE IS NULL)
249 				AND (P_LAST_UPDATE_DATE IS NULL)))
250 		AND ( (Recinfo.LAST_UPDATED_BY = P_LAST_UPDATED_BY)
251 			OR ( (Recinfo.LAST_UPDATED_BY IS NULL)
252 				AND (P_LAST_UPDATED_BY IS NULL)))
253 		AND ( (Recinfo.LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN)
254 			OR ( (Recinfo.LAST_UPDATE_LOGIN IS NULL)
255 				AND (P_LAST_UPDATE_LOGIN IS NULL)))
256 		AND ( (Recinfo.CREATION_DATE = P_CREATION_DATE)
257 			OR ( (Recinfo.CREATION_DATE IS NULL)
258 				AND (P_CREATION_DATE IS NULL)))
259 		AND ( (Recinfo.CREATED_BY = P_CREATED_BY)
260 			OR ( (Recinfo.CREATED_BY IS NULL)
261 				AND (P_CREATED_BY IS NULL)))
262 		AND ( (Recinfo.OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER)
263 			OR ( (Recinfo.OBJECT_VERSION_NUMBER IS NULL)
264 				AND (P_OBJECT_VERSION_NUMBER IS NULL)))
265 		AND ( (Recinfo.LOAN_ID = P_LOAN_ID)
266 			OR ( (Recinfo.LOAN_ID IS NULL)
267 				AND (P_LOAN_ID IS NULL)))
268 		AND ( (Recinfo.ACTION_TYPE = P_ACTION_TYPE)
269 			OR ( (Recinfo.ACTION_TYPE IS NULL)
270 				AND (P_ACTION_TYPE IS NULL)))
271 		AND ( (Recinfo.AMOUNT = P_AMOUNT)
272 			OR ( (Recinfo.AMOUNT IS NULL)
273 				AND (P_AMOUNT IS NULL)))
274 		AND ( (Recinfo.REASON_CODE = P_REASON_CODE)
275 			OR ( (Recinfo.REASON_CODE IS NULL)
276 				AND (P_REASON_CODE IS NULL)))
277 		AND ( (Recinfo.ATTRIBUTE_CATEGORY = P_ATTRIBUTE_CATEGORY)
278 			OR ( (Recinfo.ATTRIBUTE_CATEGORY IS NULL)
279 				AND (P_ATTRIBUTE_CATEGORY IS NULL)))
280 		AND ( (Recinfo.ATTRIBUTE1 = P_ATTRIBUTE1)
281 			OR ( (Recinfo.ATTRIBUTE1 IS NULL)
282 				AND (P_ATTRIBUTE1 IS NULL)))
283 		AND ( (Recinfo.ATTRIBUTE2 = P_ATTRIBUTE2)
284 			OR ( (Recinfo.ATTRIBUTE2 IS NULL)
285 				AND (P_ATTRIBUTE2 IS NULL)))
286 		AND ( (Recinfo.ATTRIBUTE3 = P_ATTRIBUTE3)
287 			OR ( (Recinfo.ATTRIBUTE3 IS NULL)
288 				AND (P_ATTRIBUTE3 IS NULL)))
289 		AND ( (Recinfo.ATTRIBUTE4 = P_ATTRIBUTE4)
290 			OR ( (Recinfo.ATTRIBUTE4 IS NULL)
291 				AND (P_ATTRIBUTE4 IS NULL)))
292 		AND ( (Recinfo.ATTRIBUTE5 = P_ATTRIBUTE5)
293 			OR ( (Recinfo.ATTRIBUTE5 IS NULL)
294 				AND (P_ATTRIBUTE5 IS NULL)))
295 		AND ( (Recinfo.ATTRIBUTE6 = P_ATTRIBUTE6)
296 			OR ( (Recinfo.ATTRIBUTE6 IS NULL)
297 				AND (P_ATTRIBUTE6 IS NULL)))
298 		AND ( (Recinfo.ATTRIBUTE7 = P_ATTRIBUTE7)
299 			OR ( (Recinfo.ATTRIBUTE7 IS NULL)
300 				AND (P_ATTRIBUTE7 IS NULL)))
301 		AND ( (Recinfo.ATTRIBUTE8 = P_ATTRIBUTE8)
302 			OR ( (Recinfo.ATTRIBUTE8 IS NULL)
303 				AND (P_ATTRIBUTE8 IS NULL)))
304 		AND ( (Recinfo.ATTRIBUTE9 = P_ATTRIBUTE9)
305 			OR ( (Recinfo.ATTRIBUTE9 IS NULL)
309 				AND (P_ATTRIBUTE10 IS NULL)))
306 				AND (P_ATTRIBUTE9 IS NULL)))
307 		AND ( (Recinfo.ATTRIBUTE10 = P_ATTRIBUTE10)
308 			OR ( (Recinfo.ATTRIBUTE10 IS NULL)
310 		AND ( (Recinfo.ATTRIBUTE11 = P_ATTRIBUTE11)
311 			OR ( (Recinfo.ATTRIBUTE11 IS NULL)
312 				AND (P_ATTRIBUTE11 IS NULL)))
313 		AND ( (Recinfo.ATTRIBUTE12 = P_ATTRIBUTE12)
314 			OR ( (Recinfo.ATTRIBUTE12 IS NULL)
315 				AND (P_ATTRIBUTE12 IS NULL)))
316 		AND ( (Recinfo.ATTRIBUTE13 = P_ATTRIBUTE13)
317 			OR ( (Recinfo.ATTRIBUTE13 IS NULL)
318 				AND (P_ATTRIBUTE13 IS NULL)))
319 		AND ( (Recinfo.ATTRIBUTE14 = P_ATTRIBUTE14)
320 			OR ( (Recinfo.ATTRIBUTE14 IS NULL)
321 				AND (P_ATTRIBUTE14 IS NULL)))
322 		AND ( (Recinfo.ATTRIBUTE15 = P_ATTRIBUTE15)
323 			OR ( (Recinfo.ATTRIBUTE15 IS NULL)
324 				AND (P_ATTRIBUTE15 IS NULL)))
325 		AND ( (Recinfo.ATTRIBUTE16 = P_ATTRIBUTE16)
326 			OR ( (Recinfo.ATTRIBUTE16 IS NULL)
327 				AND (P_ATTRIBUTE16 IS NULL)))
328 		AND ( (Recinfo.ATTRIBUTE17 = P_ATTRIBUTE17)
329 			OR ( (Recinfo.ATTRIBUTE17 IS NULL)
330 				AND (P_ATTRIBUTE17 IS NULL)))
331 		AND ( (Recinfo.ATTRIBUTE18 = P_ATTRIBUTE18)
332 			OR ( (Recinfo.ATTRIBUTE18 IS NULL)
333 				AND (P_ATTRIBUTE18 IS NULL)))
334 		AND ( (Recinfo.ATTRIBUTE19 = P_ATTRIBUTE19)
335 			OR ( (Recinfo.ATTRIBUTE19 IS NULL)
336 				AND (P_ATTRIBUTE19 IS NULL)))
337 		AND ( (Recinfo.ATTRIBUTE20 = P_ATTRIBUTE20)
338 			OR ( (Recinfo.ATTRIBUTE20 IS NULL)
339 				AND (P_ATTRIBUTE20 IS NULL)))
340 	   ) THEN
341 		return;
342 	ELSE
343 		FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
344 		APP_EXCEPTION.Raise_Exception;
345 	END IF;
346 END Lock_Row;
347 END;
348