[Home] [Help]
PACKAGE BODY: APPS.CSP_USAGE_HISTORIES_PKG
Source
1 PACKAGE BODY CSP_USAGE_HISTORIES_PKG as
2 /* $Header: csptpusb.pls 115.4 2002/11/26 06:36:14 hhaugeru ship $ */
3 -- Start of Comments
4 -- Package name : CSP_USAGE_HISTORIES_PKG
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_USAGE_HISTORIES_PKG';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csptpusb.pls';
13
14 PROCEDURE Insert_Row(
15 px_USAGE_ID IN OUT NOCOPY NUMBER,
16 p_CREATED_BY NUMBER,
17 p_CREATION_DATE DATE,
18 p_LAST_UPDATED_BY NUMBER,
19 p_LAST_UPDATE_DATE DATE,
20 p_LAST_UPDATE_LOGIN NUMBER,
21 p_INVENTORY_ITEM_ID NUMBER,
22 p_ORGANIZATION_ID NUMBER,
23 p_HIERARCHY_NODE_ID NUMBER,
24 p_PARTS_LOOP_ID NUMBER,
25 p_PERIOD_TYPE VARCHAR2,
26 p_PERIOD_START_DATE DATE,
27 p_QUANTITY NUMBER,
28 p_HISTORY_DATA_TYPE NUMBER ,
29 p_USAGE_HEADER_ID NUMBER ,
30 p_ATTRIBUTE_CATEGORY VARCHAR2,
31 p_ATTRIBUTE1 VARCHAR2,
32 p_ATTRIBUTE2 VARCHAR2,
33 p_ATTRIBUTE3 VARCHAR2,
34 p_ATTRIBUTE4 VARCHAR2,
35 p_ATTRIBUTE5 VARCHAR2,
36 p_ATTRIBUTE6 VARCHAR2,
37 p_ATTRIBUTE7 VARCHAR2,
38 p_ATTRIBUTE8 VARCHAR2,
39 p_ATTRIBUTE9 VARCHAR2,
40 p_ATTRIBUTE10 VARCHAR2,
41 p_ATTRIBUTE11 VARCHAR2,
42 p_ATTRIBUTE12 VARCHAR2,
43 p_ATTRIBUTE13 VARCHAR2,
44 p_ATTRIBUTE14 VARCHAR2,
45 p_ATTRIBUTE15 VARCHAR2,
46 p_REQUEST_ID NUMBER,
47 p_PROGRAM_APPLICATION_ID NUMBER,
48 p_PROGRAM_ID NUMBER,
49 p_PROGRAM_UPDATE_DATE DATE,
50 p_SUBINVENTORY_CODE VARCHAR2,
51 p_TRANSACTION_TYPE_ID NUMBER)
52
53 IS
54 CURSOR C2 IS SELECT CSP_USAGE_HISTORIES_S1.nextval FROM sys.dual;
55 BEGIN
56 If (px_USAGE_ID IS NULL) OR (px_USAGE_ID = FND_API.G_MISS_NUM) then
57 OPEN C2;
58 FETCH C2 INTO px_USAGE_ID;
59 CLOSE C2;
60 End If;
61 INSERT INTO CSP_USAGE_HISTORIES(
62 USAGE_ID,
63 CREATED_BY,
64 CREATION_DATE,
65 LAST_UPDATED_BY,
66 LAST_UPDATE_DATE,
67 LAST_UPDATE_LOGIN,
68 INVENTORY_ITEM_ID,
69 ORGANIZATION_ID,
70 HIERARCHY_NODE_ID,
71 PARTS_LOOP_ID,
72 PERIOD_TYPE,
73 PERIOD_START_DATE,
74 QUANTITY,
75 HISTORY_DATA_TYPE,
76 USAGE_HEADER_ID,
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 REQUEST_ID,
94 PROGRAM_APPLICATION_ID,
95 PROGRAM_ID,
96 PROGRAM_UPDATE_DATE,
97 SUBINVENTORY_CODE,
98 TRANSACTION_TYPE_ID
99 ) VALUES (
100 px_USAGE_ID,
101 decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
102 decode( p_CREATION_DATE, FND_API.G_MISS_DATE, to_date(null), p_CREATION_DATE),
103 decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
104 decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, to_date(null), p_LAST_UPDATE_DATE),
105 decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
106 decode( p_INVENTORY_ITEM_ID, FND_API.G_MISS_NUM, NULL, p_INVENTORY_ITEM_ID),
107 decode( p_ORGANIZATION_ID, FND_API.G_MISS_NUM, NULL, p_ORGANIZATION_ID),
108 decode( p_HIERARCHY_NODE_ID, FND_API.G_MISS_NUM, NULL, p_HIERARCHY_NODE_ID),
109 decode( p_PARTS_LOOP_ID, FND_API.G_MISS_NUM, NULL, p_PARTS_LOOP_ID),
110 decode( p_PERIOD_TYPE, FND_API.G_MISS_CHAR, NULL, p_PERIOD_TYPE),
111 decode( p_PERIOD_START_DATE, FND_API.G_MISS_DATE, to_date(null), p_PERIOD_START_DATE),
112 decode( p_QUANTITY, FND_API.G_MISS_NUM, NULL, p_QUANTITY),
113 decode( p_HISTORY_DATA_TYPE, FND_API.G_MISS_NUM, NULL,p_HISTORY_DATA_TYPE),
114 decode( p_USAGE_HEADER_ID, FND_API.G_MISS_NUM, NULL, p_USAGE_HEADER_ID),
115 decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
116 decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
117 decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
118 decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
119 decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
120 decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
121 decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
122 decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
123 decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
124 decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
125 decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
126 decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
127 decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
128 decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
129 decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
130 decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15),
131 decode( p_REQUEST_ID, FND_API.G_MISS_NUM, NULL, p_REQUEST_ID),
132 decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_APPLICATION_ID),
133 decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_ID),
134 decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, to_date(null), p_PROGRAM_UPDATE_DATE),
135 decode( p_SUBINVENTORY_CODE, FND_API.G_MISS_CHAR, NULL, p_SUBINVENTORY_CODE),
136 decode( p_TRANSACTION_TYPE_ID, FND_API.G_MISS_NUM, NULL, p_TRANSACTION_TYPE_ID));
137 End Insert_Row;
138
139 PROCEDURE Update_Row(
140 p_USAGE_ID NUMBER,
141 p_CREATED_BY NUMBER,
142 p_CREATION_DATE DATE,
143 p_LAST_UPDATED_BY NUMBER,
144 p_LAST_UPDATE_DATE DATE,
145 p_LAST_UPDATE_LOGIN NUMBER,
146 p_INVENTORY_ITEM_ID NUMBER,
147 p_ORGANIZATION_ID NUMBER,
148 p_HIERARCHY_NODE_ID NUMBER,
149 p_PARTS_LOOP_ID NUMBER,
150 p_PERIOD_TYPE VARCHAR2,
151 p_PERIOD_START_DATE DATE,
152 p_QUANTITY NUMBER,
153 p_HISTORY_DATA_TYPE NUMBER ,
154 p_USAGE_HEADER_ID NUMBER ,
155 p_ATTRIBUTE_CATEGORY VARCHAR2,
156 p_ATTRIBUTE1 VARCHAR2,
157 p_ATTRIBUTE2 VARCHAR2,
158 p_ATTRIBUTE3 VARCHAR2,
159 p_ATTRIBUTE4 VARCHAR2,
160 p_ATTRIBUTE5 VARCHAR2,
161 p_ATTRIBUTE6 VARCHAR2,
162 p_ATTRIBUTE7 VARCHAR2,
163 p_ATTRIBUTE8 VARCHAR2,
164 p_ATTRIBUTE9 VARCHAR2,
165 p_ATTRIBUTE10 VARCHAR2,
166 p_ATTRIBUTE11 VARCHAR2,
167 p_ATTRIBUTE12 VARCHAR2,
168 p_ATTRIBUTE13 VARCHAR2,
169 p_ATTRIBUTE14 VARCHAR2,
170 p_ATTRIBUTE15 VARCHAR2,
171 p_REQUEST_ID NUMBER,
172 p_PROGRAM_APPLICATION_ID NUMBER,
173 p_PROGRAM_ID NUMBER,
174 p_PROGRAM_UPDATE_DATE DATE,
175 p_SUBINVENTORY_CODE VARCHAR2,
176 p_TRANSACTION_TYPE_ID NUMBER)
177
178 IS
179 BEGIN
180 Update CSP_USAGE_HISTORIES
181 SET
182 CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
183 CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
184 LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
185 LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
186 LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
187 INVENTORY_ITEM_ID = decode( p_INVENTORY_ITEM_ID, FND_API.G_MISS_NUM, INVENTORY_ITEM_ID, p_INVENTORY_ITEM_ID),
188 ORGANIZATION_ID = decode( p_ORGANIZATION_ID, FND_API.G_MISS_NUM, ORGANIZATION_ID, p_ORGANIZATION_ID),
189 HIERARCHY_NODE_ID = decode( p_HIERARCHY_NODE_ID, FND_API.G_MISS_NUM, HIERARCHY_NODE_ID, p_HIERARCHY_NODE_ID),
190 PARTS_LOOP_ID = decode( p_PARTS_LOOP_ID, FND_API.G_MISS_NUM, PARTS_LOOP_ID, p_PARTS_LOOP_ID),
191 PERIOD_TYPE = decode( p_PERIOD_TYPE, FND_API.G_MISS_CHAR, PERIOD_TYPE, p_PERIOD_TYPE),
192 PERIOD_START_DATE = decode( p_PERIOD_START_DATE, FND_API.G_MISS_DATE, PERIOD_START_DATE, p_PERIOD_START_DATE),
193 QUANTITY = decode( p_QUANTITY, FND_API.G_MISS_NUM, QUANTITY, p_QUANTITY),
194 HISTORY_DATA_TYPE = decode( p_HISTORY_DATA_TYPE, FND_API.G_MISS_NUM, NULL,p_HISTORY_DATA_TYPE),
195 USAGE_HEADER_ID = decode( p_USAGE_HEADER_ID, FND_API.G_MISS_NUM, NULL, p_USAGE_HEADER_ID),
196 ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
197 ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
198 ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
199 ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
200 ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
201 ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
202 ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
203 ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
204 ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
205 ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
206 ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
207 ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
208 ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
209 ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
210 ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
211 ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15),
212 REQUEST_ID = decode( p_REQUEST_ID, FND_API.G_MISS_NUM, REQUEST_ID, p_REQUEST_ID),
213 PROGRAM_APPLICATION_ID = decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, PROGRAM_APPLICATION_ID, p_PROGRAM_APPLICATION_ID),
214 PROGRAM_ID = decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, PROGRAM_ID, p_PROGRAM_ID),
215 PROGRAM_UPDATE_DATE = decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, PROGRAM_UPDATE_DATE, p_PROGRAM_UPDATE_DATE),
216 SUBINVENTORY_CODE = decode( p_SUBINVENTORY_CODE, FND_API.G_MISS_CHAR, SUBINVENTORY_CODE, p_SUBINVENTORY_CODE),
217 TRANSACTION_TYPE_ID = decode( p_TRANSACTION_TYPE_ID, FND_API.G_MISS_NUM, TRANSACTION_TYPE_ID, p_TRANSACTION_TYPE_ID)
218 where USAGE_ID = p_USAGE_ID;
219
220 If (SQL%NOTFOUND) then
221 RAISE NO_DATA_FOUND;
222 End If;
223 END Update_Row;
224
225 PROCEDURE Delete_Row(
226 p_USAGE_ID NUMBER)
227 IS
228 BEGIN
229 DELETE FROM CSP_USAGE_HISTORIES
230 WHERE USAGE_ID = p_USAGE_ID;
231 If (SQL%NOTFOUND) then
232 RAISE NO_DATA_FOUND;
233 End If;
234 END Delete_Row;
235
236 PROCEDURE Lock_Row(
237 p_USAGE_ID NUMBER,
238 p_CREATED_BY NUMBER,
239 p_CREATION_DATE DATE,
240 p_LAST_UPDATED_BY NUMBER,
241 p_LAST_UPDATE_DATE DATE,
242 p_LAST_UPDATE_LOGIN NUMBER,
243 p_INVENTORY_ITEM_ID NUMBER,
244 p_ORGANIZATION_ID NUMBER,
245 p_HIERARCHY_NODE_ID NUMBER,
246 p_PARTS_LOOP_ID NUMBER,
247 p_PERIOD_TYPE VARCHAR2,
248 p_PERIOD_START_DATE DATE,
249 p_QUANTITY NUMBER,
250 p_HISTORY_DATA_TYPE NUMBER ,
251 p_USAGE_HEADER_ID NUMBER ,
252 p_ATTRIBUTE_CATEGORY VARCHAR2,
253 p_ATTRIBUTE1 VARCHAR2,
254 p_ATTRIBUTE2 VARCHAR2,
255 p_ATTRIBUTE3 VARCHAR2,
256 p_ATTRIBUTE4 VARCHAR2,
257 p_ATTRIBUTE5 VARCHAR2,
258 p_ATTRIBUTE6 VARCHAR2,
259 p_ATTRIBUTE7 VARCHAR2,
260 p_ATTRIBUTE8 VARCHAR2,
261 p_ATTRIBUTE9 VARCHAR2,
262 p_ATTRIBUTE10 VARCHAR2,
263 p_ATTRIBUTE11 VARCHAR2,
264 p_ATTRIBUTE12 VARCHAR2,
265 p_ATTRIBUTE13 VARCHAR2,
266 p_ATTRIBUTE14 VARCHAR2,
267 p_ATTRIBUTE15 VARCHAR2,
268 p_REQUEST_ID NUMBER,
269 p_PROGRAM_APPLICATION_ID NUMBER,
270 p_PROGRAM_ID NUMBER,
271 p_PROGRAM_UPDATE_DATE DATE,
272 p_SUBINVENTORY_CODE VARCHAR2,
273 p_TRANSACTION_TYPE_ID NUMBER)
274
275 IS
276 CURSOR C IS
277 SELECT *
281 Recinfo C%ROWTYPE;
278 FROM CSP_USAGE_HISTORIES
279 WHERE USAGE_ID = p_USAGE_ID
280 FOR UPDATE of USAGE_ID NOWAIT;
282 BEGIN
283 OPEN C;
284 FETCH C INTO Recinfo;
285 If (C%NOTFOUND) then
286 CLOSE C;
287 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
288 APP_EXCEPTION.RAISE_EXCEPTION;
289 End If;
290 CLOSE C;
291 if (
292 ( Recinfo.USAGE_ID = p_USAGE_ID)
293 AND ( ( Recinfo.CREATED_BY = p_CREATED_BY)
294 OR ( ( Recinfo.CREATED_BY IS NULL )
295 AND ( p_CREATED_BY IS NULL )))
296 AND ( ( Recinfo.CREATION_DATE = p_CREATION_DATE)
297 OR ( ( Recinfo.CREATION_DATE IS NULL )
298 AND ( p_CREATION_DATE IS NULL )))
299 AND ( ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
300 OR ( ( Recinfo.LAST_UPDATED_BY IS NULL )
301 AND ( p_LAST_UPDATED_BY IS NULL )))
302 AND ( ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
303 OR ( ( Recinfo.LAST_UPDATE_DATE IS NULL )
304 AND ( p_LAST_UPDATE_DATE IS NULL )))
305 AND ( ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
306 OR ( ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
307 AND ( p_LAST_UPDATE_LOGIN IS NULL )))
308 AND ( ( Recinfo.INVENTORY_ITEM_ID = p_INVENTORY_ITEM_ID)
309 OR ( ( Recinfo.INVENTORY_ITEM_ID IS NULL )
310 AND ( p_INVENTORY_ITEM_ID IS NULL )))
311 AND ( ( Recinfo.ORGANIZATION_ID = p_ORGANIZATION_ID)
312 OR ( ( Recinfo.ORGANIZATION_ID IS NULL )
313 AND ( p_ORGANIZATION_ID IS NULL )))
314 AND ( ( Recinfo.HIERARCHY_NODE_ID = p_HIERARCHY_NODE_ID)
315 OR ( ( Recinfo.HIERARCHY_NODE_ID IS NULL )
316 AND ( p_HIERARCHY_NODE_ID IS NULL )))
317 AND ( ( Recinfo.PARTS_LOOP_ID = p_PARTS_LOOP_ID)
318 OR ( ( Recinfo.PARTS_LOOP_ID IS NULL )
319 AND ( p_PARTS_LOOP_ID IS NULL )))
320 AND ( ( Recinfo.PERIOD_TYPE = p_PERIOD_TYPE)
321 OR ( ( Recinfo.PERIOD_TYPE IS NULL )
322 AND ( p_PERIOD_TYPE IS NULL )))
323 AND ( ( Recinfo.HISTORY_DATA_TYPE = p_HISTORY_DATA_TYPE)
324 OR ( ( Recinfo.HISTORY_DATA_TYPE IS NULL )
325 AND ( p_HISTORY_DATA_TYPE IS NULL )))
326 AND ( ( Recinfo.USAGE_HEADER_ID = p_USAGE_HEADER_ID)
327 OR ( ( Recinfo.USAGE_HEADER_ID IS NULL )
328 AND ( p_USAGE_HEADER_ID IS NULL )))
329 AND ( ( Recinfo.PERIOD_START_DATE = p_PERIOD_START_DATE)
330 OR ( ( Recinfo.PERIOD_START_DATE IS NULL )
331 AND ( p_PERIOD_START_DATE IS NULL )))
332 AND ( ( Recinfo.QUANTITY = p_QUANTITY)
333 OR ( ( Recinfo.QUANTITY IS NULL )
334 AND ( p_QUANTITY IS NULL )))
335 AND ( ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
336 OR ( ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
337 AND ( p_ATTRIBUTE_CATEGORY IS NULL )))
338 AND ( ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
339 OR ( ( Recinfo.ATTRIBUTE1 IS NULL )
340 AND ( p_ATTRIBUTE1 IS NULL )))
341 AND ( ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
342 OR ( ( Recinfo.ATTRIBUTE2 IS NULL )
343 AND ( p_ATTRIBUTE2 IS NULL )))
344 AND ( ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
345 OR ( ( Recinfo.ATTRIBUTE3 IS NULL )
346 AND ( p_ATTRIBUTE3 IS NULL )))
347 AND ( ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
348 OR ( ( Recinfo.ATTRIBUTE4 IS NULL )
349 AND ( p_ATTRIBUTE4 IS NULL )))
350 AND ( ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
351 OR ( ( Recinfo.ATTRIBUTE5 IS NULL )
352 AND ( p_ATTRIBUTE5 IS NULL )))
353 AND ( ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
354 OR ( ( Recinfo.ATTRIBUTE6 IS NULL )
355 AND ( p_ATTRIBUTE6 IS NULL )))
356 AND ( ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
357 OR ( ( Recinfo.ATTRIBUTE7 IS NULL )
358 AND ( p_ATTRIBUTE7 IS NULL )))
359 AND ( ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
360 OR ( ( Recinfo.ATTRIBUTE8 IS NULL )
361 AND ( p_ATTRIBUTE8 IS NULL )))
362 AND ( ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
363 OR ( ( Recinfo.ATTRIBUTE9 IS NULL )
364 AND ( p_ATTRIBUTE9 IS NULL )))
365 AND ( ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
366 OR ( ( Recinfo.ATTRIBUTE10 IS NULL )
367 AND ( p_ATTRIBUTE10 IS NULL )))
368 AND ( ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
369 OR ( ( Recinfo.ATTRIBUTE11 IS NULL )
370 AND ( p_ATTRIBUTE11 IS NULL )))
371 AND ( ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
372 OR ( ( Recinfo.ATTRIBUTE12 IS NULL )
373 AND ( p_ATTRIBUTE12 IS NULL )))
374 AND ( ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
375 OR ( ( Recinfo.ATTRIBUTE13 IS NULL )
376 AND ( p_ATTRIBUTE13 IS NULL )))
377 AND ( ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
378 OR ( ( Recinfo.ATTRIBUTE14 IS NULL )
379 AND ( p_ATTRIBUTE14 IS NULL )))
380 AND ( ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
381 OR ( ( Recinfo.ATTRIBUTE15 IS NULL )
382 AND ( p_ATTRIBUTE15 IS NULL )))
383 AND ( ( Recinfo.REQUEST_ID = p_REQUEST_ID)
384 OR ( ( Recinfo.REQUEST_ID IS NULL )
385 AND ( p_REQUEST_ID IS NULL )))
386 AND ( ( Recinfo.PROGRAM_APPLICATION_ID = p_PROGRAM_APPLICATION_ID)
387 OR ( ( Recinfo.PROGRAM_APPLICATION_ID IS NULL )
388 AND ( p_PROGRAM_APPLICATION_ID IS NULL )))
392 AND ( ( Recinfo.PROGRAM_UPDATE_DATE = p_PROGRAM_UPDATE_DATE)
389 AND ( ( Recinfo.PROGRAM_ID = p_PROGRAM_ID)
390 OR ( ( Recinfo.PROGRAM_ID IS NULL )
391 AND ( p_PROGRAM_ID IS NULL )))
393 OR ( ( Recinfo.PROGRAM_UPDATE_DATE IS NULL )
394 AND ( p_PROGRAM_UPDATE_DATE IS NULL )))
395 AND ( ( Recinfo.SUBINVENTORY_CODE = p_SUBINVENTORY_CODE)
396 OR ( ( Recinfo.SUBINVENTORY_CODE IS NULL )
397 AND ( p_SUBINVENTORY_CODE IS NULL )))
398 AND ( ( Recinfo.TRANSACTION_TYPE_ID = p_TRANSACTION_TYPE_ID)
399 OR ( ( Recinfo.TRANSACTION_TYPE_ID IS NULL )
400 AND ( p_TRANSACTION_TYPE_ID IS NULL )))
401 ) then
402 return;
403 else
404 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
405 APP_EXCEPTION.RAISE_EXCEPTION;
406 End If;
407 END Lock_Row;
408
409 End CSP_USAGE_HISTORIES_PKG;