DBA Data[Home] [Help]

PACKAGE BODY: APPS.WIP_INTERFACE_TH

Source


1 PACKAGE BODY WIP_INTERFACE_TH AS
2 /* $Header: wipjsthb.pls 120.1 2005/11/07 11:06:57 sjchen noship $ */
3 
4 PROCEDURE Update_Row(
5 X_Rowid VARCHAR2,
6 X_Group_Id NUMBER,
7 X_Process_Phase NUMBER,
8 X_Process_Status NUMBER,
9 X_Request_Id NUMBER,
10 X_Source_Code VARCHAR2,
11 X_Source_Line_Id NUMBER,
12 X_Load_Type NUMBER,
13 X_Organization_Code VARCHAR2,
14 X_Job_Name VARCHAR2,
15 X_Line_Code VARCHAR2,
16 X_Start_Quantity NUMBER,
17 X_Net_Quantity NUMBER,
18 X_Processing_Work_Days NUMBER,
19 X_Daily_Production_Rate NUMBER,
20 X_Class_Code VARCHAR2,
21 X_Lot_Number VARCHAR2,
22 X_Schedule_Group_Name VARCHAR2,
23 X_Build_Sequence NUMBER,
24 X_Project_Number VARCHAR2,
25 X_Task_Number VARCHAR2,
26 X_Status_Type NUMBER,
27 X_Firm_Planned_Flag NUMBER,
28 X_Demand_Class VARCHAR2,
29 X_Scheduling_Method NUMBER,
30 X_First_Unit_Start_Date DATE,
31 X_Last_Unit_Start_Date DATE,
32 X_First_Unit_Completion_Date DATE,
33 X_Last_Unit_Completion_Date DATE,
34 X_Alternate_Bom_Designator VARCHAR2,
35 X_Bom_Revision VARCHAR2,
36 X_Bom_Revision_Date DATE,
37 X_Wip_Supply_Type NUMBER,
38 X_Alternate_Routing_Designator VARCHAR2,
39 X_Routing_Revision VARCHAR2,
40 X_Routing_Revision_Date DATE,
41 X_Completion_Subinventory VARCHAR2,
42 X_Locator VARCHAR2,
43 X_Description VARCHAR2,
44 X_Created_By_Name VARCHAR2,
45 X_Locator_Id NUMBER,
46 X_Organization_Id NUMBER,
47 X_Primary_Item_Id NUMBER,
48 X_Line_Id NUMBER,
49 X_Bom_Reference_Id NUMBER,
50 X_Routing_Reference_Id NUMBER,
51 X_Schedule_Group_Id NUMBER,
52 X_Project_Id NUMBER,
53 X_Task_Id NUMBER,
54 /*X_Project_Costed NUMBER,*/
55 X_Last_Update_login NUMBER,
56 X_Last_Updated_By NUMBER,
57 X_Last_Update_Date DATE,
58 X_Created_By NUMBER,
59 X_Creation_Date DATE,
60 X_Attribute_Category VARCHAR2,
61 X_Attribute1 VARCHAR2,
62 X_Attribute2 VARCHAR2,
63 X_Attribute3 VARCHAR2,
64 X_Attribute4 VARCHAR2,
65 X_Attribute5 VARCHAR2,
66 X_Attribute6 VARCHAR2,
67 X_Attribute7 VARCHAR2,
68 X_Attribute8 VARCHAR2,
69 X_Attribute9 VARCHAR2,
70 X_Attribute10 VARCHAR2,
71 X_Attribute11 VARCHAR2,
72 X_Attribute12 VARCHAR2,
73 X_Attribute13 VARCHAR2,
74 X_Attribute14 VARCHAR2,
75 X_Attribute15 VARCHAR2
76 ) IS
77 BEGIN
78 	UPDATE WIP_JOB_SCHEDULE_INTERFACE SET
79 	GROUP_ID	=	X_Group_Id,
80 	PROCESS_PHASE	=	X_Process_Phase,
81 	PROCESS_STATUS	=	X_Process_Status,
82 	REQUEST_ID	=	X_Request_Id,
83 	SOURCE_CODE	=	X_Source_Code,
84 	SOURCE_LINE_ID	=	X_Source_Line_Id,
85 	LOAD_TYPE	=	X_Load_Type,
86 	ORGANIZATION_CODE	=	X_Organization_Code,
87 	JOB_NAME	=	X_Job_Name,
88 	LINE_CODE	=	X_Line_Code,
89 	START_QUANTITY	=	X_Start_Quantity,
90 	NET_QUANTITY	=	X_Net_Quantity,
91 	PROCESSING_WORK_DAYS=	X_Processing_Work_Days,
92 	DAILY_PRODUCTION_RATE=	X_Daily_Production_Rate,
93 	CLASS_CODE	=	X_Class_Code,
94 	LOT_NUMBER	=	X_Lot_Number,
95 	SCHEDULE_GROUP_NAME=	X_Schedule_Group_Name,
96 	BUILD_SEQUENCE	=	X_Build_Sequence,
97 	PROJECT_NUMBER	=	X_Project_Number,
98 	TASK_NUMBER	=	X_Task_Number,
99 	STATUS_TYPE	=	X_Status_Type,
100 	FIRM_PLANNED_FLAG=	X_Firm_Planned_Flag,
101 	DEMAND_CLASS	=	X_Demand_Class,
102 	SCHEDULING_METHOD=	X_Scheduling_Method,
103 	FIRST_UNIT_START_DATE=	X_First_Unit_Start_Date,
104 	LAST_UNIT_START_DATE=	X_Last_Unit_Start_Date,
105 	FIRST_UNIT_COMPLETION_DATE=	X_First_Unit_Completion_Date,
106 	LAST_UNIT_COMPLETION_DATE=	X_Last_Unit_Completion_Date,
107 	ALTERNATE_BOM_DESIGNATOR=	X_Alternate_Bom_Designator,
108 	BOM_REVISION	=	X_Bom_Revision,
109 	BOM_REVISION_DATE=	X_Bom_Revision_Date,
110 	WIP_SUPPLY_TYPE=	X_Wip_Supply_Type,
111 	ALTERNATE_ROUTING_DESIGNATOR=	X_Alternate_Routing_Designator,
112 	ROUTING_REVISION=	X_Routing_Revision,
113 	ROUTING_REVISION_DATE=	X_Routing_Revision_Date,
114 	COMPLETION_SUBINVENTORY=	X_Completion_Subinventory,
115 	COMPLETION_LOCATOR_SEGMENTS=	X_Locator,
116 	DESCRIPTION	 =	X_Description,
117 	CREATED_BY_NAME=	X_Created_By_Name,
118 	COMPLETION_LOCATOR_ID=	X_Locator_Id,
119 	ORGANIZATION_ID=	X_Organization_Id,
120 	PRIMARY_ITEM_ID=	X_Primary_Item_Id,
121 	LINE_ID	=	X_Line_Id,
122 	BOM_REFERENCE_ID	=	X_Bom_Reference_Id,
123 	ROUTING_REFERENCE_ID	=	X_Routing_Reference_Id,
124 	SCHEDULE_GROUP_ID	=	X_Schedule_Group_Id,
125 	PROJECT_ID	=	X_Project_Id,
126 	TASK_ID		=	X_Task_Id,
127 	/*PROJECT_COSTED = 	X_Project_Costed,*/
128 	LAST_UPDATE_LOGIN=	X_Last_Update_login,
129 	LAST_UPDATED_BY	=	X_Last_Updated_By,
130 	LAST_UPDATE_DATE=	X_Last_Update_Date,
131 	CREATED_BY	=	X_Created_By,
132 	CREATION_DATE	=	X_Creation_Date,
133 	ATTRIBUTE_CATEGORY =    X_Attribute_Category,
134 	ATTRIBUTE1	=	X_Attribute1,
135 	ATTRIBUTE2	=	X_Attribute2,
136 	ATTRIBUTE3	=	X_Attribute3,
137 	ATTRIBUTE4	=	X_Attribute4,
138 	ATTRIBUTE5	=	X_Attribute5,
139 	ATTRIBUTE6	=	X_Attribute6,
140 	ATTRIBUTE7	=	X_Attribute7,
141 	ATTRIBUTE8	=	X_Attribute8,
142 	ATTRIBUTE9	=	X_Attribute9,
143 	ATTRIBUTE10	=	X_Attribute10,
144 	ATTRIBUTE11	=	X_Attribute11,
145 	ATTRIBUTE12	=	X_Attribute12,
146 	ATTRIBUTE13	=	X_Attribute13,
147 	ATTRIBUTE14	=	X_Attribute14,
148 	ATTRIBUTE15	=	X_Attribute15
149 	WHERE rowid = X_rowid;
150 
151 	IF (SQL%NOTFOUND) THEN
152 		RAISE NO_DATA_FOUND;
153 	END IF;
154 
155 END Update_Row;
156 
157 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
158 BEGIN
159 
160 	Delete_Children(X_Rowid);
161 
162         /* Fix for Bug#4405954, FP of Bug#4318303 */
163         /* Delete records from WIP_JOB_DTLS_INTERFACE table */
164 
165         DELETE WIP_JOB_DTLS_INTERFACE WJDI
166         WHERE  WJDI.PARENT_HEADER_ID IN
167                     (SELECT WJSI.HEADER_ID
168                      FROM   WIP_JOB_SCHEDULE_INTERFACE WJSI
169                      WHERE  WJSI.rowid = X_Rowid
170                     ) ;
171 
172 	DELETE FROM WIP_JOB_SCHEDULE_INTERFACE
173 	WHERE rowid = X_Rowid;
174 
175 	IF (SQL%NOTFOUND) THEN
176 		RAISE NO_DATA_FOUND;
177 	END IF;
178 
179 END Delete_Row;
180 
181 PROCEDURE Delete_Resubmit(X_Rowid VARCHAR2) IS
182 BEGIN
183 
184         Delete_Children(X_Rowid);
185 
186 	-- Possibly delete ops, reqs, res, instr as well?
187 
188 END Delete_Resubmit;
189 
190 PROCEDURE Delete_Children(X_Rowid VARCHAR2) IS
191 BEGIN
192 	DELETE FROM WIP_INTERFACE_ERRORS
193 	WHERE  INTERFACE_ID IN
194 		(SELECT INTERFACE_ID
195 		 FROM	WIP_JOB_SCHEDULE_INTERFACE
196 		 WHERE  ROWID = X_Rowid);
197 
198 END Delete_Children;
199 
200 PROCEDURE Lock_Row(
201 X_Rowid VARCHAR2,
202 X_Group_Id NUMBER,
203 X_Process_Phase NUMBER,
204 X_Process_Status NUMBER,
205 X_Request_Id NUMBER,
206 X_Source_Code VARCHAR2,
207 X_Source_Line_Id NUMBER,
208 X_Load_Type NUMBER,
209 X_Organization_Code VARCHAR2,
210 X_Job_Name VARCHAR2,
211 X_Line_Code VARCHAR2,
212 X_Start_Quantity NUMBER,
213 X_Net_Quantity NUMBER,
214 X_Processing_Work_Days NUMBER,
215 X_Daily_Production_Rate NUMBER,
216 X_Class_Code VARCHAR2,
217 X_Lot_Number VARCHAR2,
218 X_Schedule_Group_Name VARCHAR2,
219 X_Build_Sequence NUMBER,
220 X_Project_Number VARCHAR2,
221 X_Task_Number VARCHAR2,
222 X_Status_Type NUMBER,
223 X_Firm_Planned_Flag NUMBER,
224 X_Demand_Class VARCHAR2,
225 X_Scheduling_Method NUMBER,
226 X_First_Unit_Start_Date DATE,
227 X_Last_Unit_Start_Date DATE,
228 X_First_Unit_Completion_Date DATE,
229 X_Last_Unit_Completion_Date DATE,
230 X_Alternate_Bom_Designator VARCHAR2,
231 X_Bom_Revision VARCHAR2,
232 X_Bom_Revision_Date DATE,
233 X_Wip_Supply_Type NUMBER,
234 X_Alternate_Routing_Designator VARCHAR2,
235 X_Routing_Revision VARCHAR2,
236 X_Routing_Revision_Date DATE,
237 X_Completion_Subinventory VARCHAR2,
238 X_Locator VARCHAR2,
239 X_Description VARCHAR2,
240 X_Created_By_Name VARCHAR2,
241 X_Locator_Id NUMBER,
242 X_Organization_Id NUMBER,
243 X_Primary_Item_Id NUMBER,
244 X_Line_Id NUMBER,
245 X_Bom_Reference_Id NUMBER,
246 X_Routing_Reference_Id NUMBER,
247 X_Schedule_Group_Id NUMBER,
248 X_Project_Id NUMBER,
249 X_Task_Id NUMBER,
250 /*X_Project_Costed NUMBER,*/
251 X_Last_Update_login NUMBER,
252 X_Last_Updated_By NUMBER,
253 X_Last_Update_Date DATE,
254 X_Created_By NUMBER,
255 X_Creation_Date DATE,
256 X_Attribute_Category VARCHAR2,
257 X_Attribute1 VARCHAR2,
258 X_Attribute2 VARCHAR2,
259 X_Attribute3 VARCHAR2,
260 X_Attribute4 VARCHAR2,
261 X_Attribute5 VARCHAR2,
262 X_Attribute6 VARCHAR2,
263 X_Attribute7 VARCHAR2,
264 X_Attribute8 VARCHAR2,
265 X_Attribute9 VARCHAR2,
266 X_Attribute10 VARCHAR2,
267 X_Attribute11 VARCHAR2,
268 X_Attribute12 VARCHAR2,
269 X_Attribute13 VARCHAR2,
270 X_Attribute14 VARCHAR2,
271 X_Attribute15 VARCHAR2
272 ) IS
273 CURSOR C IS
274 SELECT
275 	GROUP_ID
276 ,	PROCESS_PHASE
277 ,	PROCESS_STATUS
278 ,	REQUEST_ID
279 ,	SOURCE_CODE
280 ,	SOURCE_LINE_ID
281 ,	LOAD_TYPE
282 ,	ORGANIZATION_CODE
283 ,	JOB_NAME
284 ,	LINE_CODE
285 ,	START_QUANTITY
286 ,	NET_QUANTITY
287 ,	PROCESSING_WORK_DAYS
288 ,	DAILY_PRODUCTION_RATE
289 ,	CLASS_CODE
290 ,	LOT_NUMBER
291 ,	SCHEDULE_GROUP_NAME
292 ,	BUILD_SEQUENCE
293 ,	PROJECT_NUMBER
294 ,	TASK_NUMBER
295 ,	STATUS_TYPE
296 ,	FIRM_PLANNED_FLAG
297 ,	DEMAND_CLASS
298 ,	SCHEDULING_METHOD
299 ,	FIRST_UNIT_START_DATE
300 ,	LAST_UNIT_START_DATE
301 ,	FIRST_UNIT_COMPLETION_DATE
302 ,	LAST_UNIT_COMPLETION_DATE
303 ,	ALTERNATE_BOM_DESIGNATOR
304 ,	BOM_REVISION
305 ,	BOM_REVISION_DATE
306 ,	WIP_SUPPLY_TYPE
307 ,	ALTERNATE_ROUTING_DESIGNATOR
308 ,	ROUTING_REVISION
309 ,	ROUTING_REVISION_DATE
310 ,	COMPLETION_SUBINVENTORY
311 ,	COMPLETION_LOCATOR_SEGMENTS
312 ,	DESCRIPTION
313 ,	CREATED_BY_NAME
314 ,	COMPLETION_LOCATOR_ID
315 ,	ORGANIZATION_ID
316 ,	PRIMARY_ITEM_ID
317 ,	LINE_ID
318 ,	BOM_REFERENCE_ID
319 ,	ROUTING_REFERENCE_ID
320 ,	SCHEDULE_GROUP_ID
321 ,	PROJECT_ID
322 ,	TASK_ID
323 /*,	PROJECT_COSTED*/
324 ,	LAST_UPDATE_LOGIN
325 ,	LAST_UPDATED_BY
326 ,	LAST_UPDATE_DATE
327 ,	CREATED_BY
328 ,	CREATION_DATE
329 ,	ATTRIBUTE_CATEGORY
330 ,	ATTRIBUTE1
331 ,	ATTRIBUTE2
332 ,	ATTRIBUTE3
333 ,	ATTRIBUTE4
334 ,	ATTRIBUTE5
335 ,	ATTRIBUTE6
336 ,	ATTRIBUTE7
337 ,	ATTRIBUTE8
338 ,	ATTRIBUTE9
339 ,	ATTRIBUTE10
340 ,	ATTRIBUTE11
341 ,	ATTRIBUTE12
342 ,	ATTRIBUTE13
343 ,	ATTRIBUTE14
344 ,	ATTRIBUTE15
345 	FROM WIP_JOB_SCHEDULE_INTERFACE
346 	WHERE rowid = X_rowid
347 	FOR UPDATE of Interface_Id NOWAIT;
348 Recinfo C%ROWTYPE;
349 BEGIN
350 	OPEN C;
351 	FETCH C INTO RECINFO;
352 	IF C%NOTFOUND THEN
353 		CLOSE C;
354 		FND_MESSAGE.Set_Name('FND','FORM_RECORD_DELETED');
355 		APP_EXCEPTION.Raise_Exception;
356 	END IF;
357 	CLOSE C;
358 
359 	IF ((RECINFO.GROUP_ID = X_Group_Id) OR
360 	   (RECINFO.GROUP_ID IS NULL AND  X_Group_Id IS NULL)) AND
361 	   ((RECINFO.PROCESS_PHASE = X_Process_Phase) OR
362 	   (RECINFO.PROCESS_PHASE IS NULL AND X_Process_Phase IS NULL)) AND
363 	   ((RECINFO.PROCESS_STATUS = X_Process_Status) OR
364 	   (RECINFO.PROCESS_STATUS IS NULL AND X_Process_Status IS NULL)) AND
365 	   ((RECINFO.REQUEST_ID = X_Request_Id) OR
366 	   (RECINFO.REQUEST_ID IS NULL AND X_Request_Id IS NULL)) AND
367 	   ((RECINFO.SOURCE_CODE = X_Source_Code) OR
368 	   (RECINFO.SOURCE_CODE IS NULL AND X_Source_Code IS NULL)) AND
369 	   ((RECINFO.SOURCE_LINE_ID = X_Source_Line_Id) OR
370 	   (RECINFO.SOURCE_LINE_ID IS NULL AND X_Source_Line_Id IS NULL)) AND
371 	   ((RECINFO.LOAD_TYPE = X_Load_Type) OR
372 	   (RECINFO.LOAD_TYPE IS NULL AND X_Load_Type IS NULL)) AND
373 	   ((RECINFO.START_QUANTITY = X_Start_Quantity) OR
374 	   (RECINFO.START_QUANTITY IS NULL AND X_Start_Quantity IS NULL)) AND
375 	   ((RECINFO.NET_QUANTITY = X_Net_Quantity) OR
376 	   (RECINFO.NET_QUANTITY IS NULL AND X_Net_Quantity IS NULL)) AND
377 	   ((RECINFO.PROCESSING_WORK_DAYS = X_Processing_Work_Days) OR
378 	   (RECINFO.PROCESSING_WORK_DAYS IS NULL AND X_Processing_Work_Days IS NULL)) AND
379 	   ((RECINFO.DAILY_PRODUCTION_RATE = X_Daily_Production_Rate) OR
380 	   (RECINFO.DAILY_PRODUCTION_RATE IS NULL AND X_Daily_Production_Rate IS NULL)) AND
381 	   ((RECINFO.CLASS_CODE = X_Class_Code) OR
382 	   (RECINFO.CLASS_CODE IS NULL AND X_Class_Code IS NULL)) AND
383 	   ((RECINFO.LOT_NUMBER = X_Lot_Number) OR
384 	   (RECINFO.LOT_NUMBER IS NULL AND X_Lot_Number IS NULL)) AND
385 	   ((RECINFO.BUILD_SEQUENCE = X_Build_Sequence) OR
386 	   (RECINFO.BUILD_SEQUENCE IS NULL AND X_Build_Sequence IS NULL)) AND
387 	   ((RECINFO.STATUS_TYPE = X_Status_Type) OR
388 	   (RECINFO.STATUS_TYPE IS NULL AND X_Status_Type IS NULL)) AND
389 	   ((RECINFO.FIRM_PLANNED_FLAG = X_Firm_Planned_Flag) OR
390 	   (RECINFO.FIRM_PLANNED_FLAG IS NULL AND X_Firm_Planned_Flag IS NULL)) AND
391 	   ((RECINFO.DEMAND_CLASS = X_Demand_Class) OR
392 	   (RECINFO.DEMAND_CLASS IS NULL AND X_Demand_Class IS NULL)) AND
393 	   ((RECINFO.SCHEDULING_METHOD = X_Scheduling_Method) OR
394 	   (RECINFO.SCHEDULING_METHOD IS NULL AND X_Scheduling_Method IS NULL)) AND
395 	   ((RECINFO.FIRST_UNIT_START_DATE = X_First_Unit_Start_Date) OR
396 	   (RECINFO.FIRST_UNIT_START_DATE IS NULL AND X_First_Unit_Start_Date IS NULL)) AND
397 	   ((RECINFO.LAST_UNIT_START_DATE = X_Last_Unit_Start_Date) OR
398 	   (RECINFO.LAST_UNIT_START_DATE IS NULL AND X_Last_Unit_Start_Date IS NULL)) AND
399 	   ((RECINFO.FIRST_UNIT_COMPLETION_DATE = X_First_Unit_Completion_Date) OR
400 	   (RECINFO.FIRST_UNIT_COMPLETION_DATE IS NULL AND X_First_Unit_Completion_Date IS NULL)) AND
401 	   ((RECINFO.LAST_UNIT_COMPLETION_DATE = X_Last_Unit_Completion_Date) OR
402 	   (RECINFO.LAST_UNIT_COMPLETION_DATE IS NULL AND X_Last_Unit_Completion_Date IS NULL)) AND
403 	   ((RECINFO.ALTERNATE_BOM_DESIGNATOR = X_Alternate_Bom_Designator) OR
404 	   (RECINFO.ALTERNATE_BOM_DESIGNATOR IS NULL AND X_Alternate_Bom_Designator IS NULL)) AND
405 	   ((RECINFO.BOM_REVISION = X_Bom_Revision) OR
406 	   (RECINFO.BOM_REVISION IS NULL AND X_Bom_Revision IS NULL)) AND
407 	   ((RECINFO.BOM_REVISION_DATE = X_Bom_Revision_Date) OR
408 	   (RECINFO.BOM_REVISION_DATE IS NULL AND X_Bom_Revision_Date IS NULL)) AND
409 	   ((RECINFO.WIP_SUPPLY_TYPE = X_Wip_Supply_Type) OR
410 	   (RECINFO.WIP_SUPPLY_TYPE IS NULL AND X_Wip_Supply_Type IS NULL)) AND
411 	   ((RECINFO.ALTERNATE_ROUTING_DESIGNATOR = X_Alternate_Routing_Designator) OR
412 	   (RECINFO.ALTERNATE_ROUTING_DESIGNATOR IS NULL AND X_Alternate_Routing_Designator IS NULL)) AND
413 	   ((RECINFO.ROUTING_REVISION = X_Routing_Revision) OR
414 	   (RECINFO.ROUTING_REVISION IS NULL AND X_Routing_Revision IS NULL)) AND
415 	   ((RECINFO.ROUTING_REVISION_DATE = X_Routing_Revision_Date) OR
416 	   (RECINFO.ROUTING_REVISION_DATE IS NULL AND X_Routing_Revision_Date IS NULL)) AND
417 	   ((RECINFO.COMPLETION_SUBINVENTORY = X_Completion_Subinventory) OR
418 	   (RECINFO.COMPLETION_SUBINVENTORY IS NULL AND X_Completion_Subinventory IS NULL)) AND
419 	   ((RECINFO.DESCRIPTION = X_Description) OR
420 	   (RECINFO.DESCRIPTION IS NULL AND X_Description IS NULL)) AND
421 	   ((RECINFO.COMPLETION_LOCATOR_ID = X_Locator_Id) OR
422 	   (RECINFO.COMPLETION_LOCATOR_ID IS NULL AND X_Locator_Id IS NULL)) AND
423 	   ((RECINFO.ORGANIZATION_ID = X_Organization_Id) OR
424 	   (RECINFO.ORGANIZATION_ID IS NULL AND X_Organization_Id IS NULL))
425 THEN IF
426 	   ((RECINFO.PRIMARY_ITEM_ID = X_Primary_Item_Id) OR
427 	   (RECINFO.PRIMARY_ITEM_ID IS NULL AND X_Primary_Item_Id IS NULL)) AND
428 	   ((RECINFO.LINE_ID = X_Line_Id) OR
429 	   (RECINFO.LINE_ID IS NULL AND X_Line_Id IS NULL)) AND
430 	   ((RECINFO.BOM_REFERENCE_ID = X_Bom_Reference_Id) OR
431 	   (RECINFO.BOM_REFERENCE_ID IS NULL AND X_Bom_Reference_Id IS NULL)) AND
432 	   ((RECINFO.ROUTING_REFERENCE_ID = X_Routing_Reference_Id) OR
433 	   (RECINFO.ROUTING_REFERENCE_ID IS NULL AND X_Routing_Reference_Id IS NULL)) AND
434 	   ((RECINFO.SCHEDULE_GROUP_ID = X_Schedule_Group_Id) OR
435 	   (RECINFO.SCHEDULE_GROUP_ID IS NULL AND X_Schedule_Group_Id IS NULL)) AND
436 	   ((RECINFO.PROJECT_ID = X_Project_Id) OR
440 	   /*((RECINFO.PROJECT_COSTED = X_Project_Costed) OR
437 	   (RECINFO.PROJECT_ID IS NULL AND X_Project_Id IS NULL)) AND
438 	   ((RECINFO.TASK_ID = X_Task_Id) OR
439 	   (RECINFO.TASK_ID IS NULL AND X_Task_Id IS NULL)) AND
441 	   (RECINFO.PROJECT_COSTED IS NULL AND X_Project_Costed IS NULL)) AND*/
442 	   ((RECINFO.LAST_UPDATE_LOGIN = X_Last_Update_Login) OR
443 	   (RECINFO.LAST_UPDATE_LOGIN IS NULL AND X_Last_Update_Login IS NULL)) AND
444 	   ((RECINFO.LAST_UPDATED_BY = X_Last_Updated_By) OR
445 	   (RECINFO.LAST_UPDATED_BY IS NULL AND X_Last_Updated_By IS NULL)) AND
446 	   ((RECINFO.LAST_UPDATE_DATE = X_Last_Update_Date) OR
447 	   (RECINFO.LAST_UPDATE_DATE IS NULL AND X_Last_Update_Date IS NULL)) AND
448 	   ((RECINFO.ATTRIBUTE_CATEGORY = X_Attribute_Category) OR
449 	   (RECINFO.ATTRIBUTE_CATEGORY IS NULL AND X_Attribute_Category IS NULL))
450            AND (   (Recinfo.attribute1 = X_Attribute1)
451                 OR (    (Recinfo.attribute1 IS NULL)
452                     AND (X_Attribute1 IS NULL)))
453            AND (   (Recinfo.attribute2 = X_Attribute2)
454                 OR (    (Recinfo.attribute2 IS NULL)
455                     AND (X_Attribute2 IS NULL)))
456            AND (   (Recinfo.attribute3 = X_Attribute3)
457                 OR (    (Recinfo.attribute3 IS NULL)
458                     AND (X_Attribute3 IS NULL)))
459            AND (   (Recinfo.attribute4 = X_Attribute4)
460                 OR (    (Recinfo.attribute4 IS NULL)
461                     AND (X_Attribute4 IS NULL)))
462            AND (   (Recinfo.attribute5 = X_Attribute5)
463                 OR (    (Recinfo.attribute5 IS NULL)
464                     AND (X_Attribute5 IS NULL)))
465            AND (   (Recinfo.attribute6 = X_Attribute6)
466                 OR (    (Recinfo.attribute6 IS NULL)
467                     AND (X_Attribute6 IS NULL)))
468            AND (   (Recinfo.attribute7 = X_Attribute7)
469                 OR (    (Recinfo.attribute7 IS NULL)
470                     AND (X_Attribute7 IS NULL)))
471            AND (   (Recinfo.attribute8 = X_Attribute8)
472                 OR (    (Recinfo.attribute8 IS NULL)
473                     AND (X_Attribute8 IS NULL)))
474            AND (   (Recinfo.attribute9 = X_Attribute9)
475                 OR (    (Recinfo.attribute9 IS NULL)
476                     AND (X_Attribute9 IS NULL)))
477            AND (   (Recinfo.attribute10 = X_Attribute10)
478                 OR (    (Recinfo.attribute10 IS NULL)
479                     AND (X_Attribute10 IS NULL)))
480            AND (   (Recinfo.attribute11 = X_Attribute11)
481                 OR (    (Recinfo.attribute11 IS NULL)
482                     AND (X_Attribute11 IS NULL)))
483            AND (   (Recinfo.attribute12 = X_Attribute12)
484                 OR (    (Recinfo.attribute12 IS NULL)
485                     AND (X_Attribute12 IS NULL)))
486            AND (   (Recinfo.attribute13 = X_Attribute13)
487                 OR (    (Recinfo.attribute13 IS NULL)
488                     AND (X_Attribute13 IS NULL)))
489            AND (   (Recinfo.attribute14 = X_Attribute14)
490                 OR (    (Recinfo.attribute14 IS NULL)
491                     AND (X_Attribute14 IS NULL)))
492            AND (   (Recinfo.attribute15 = X_Attribute15)
493                 OR (    (Recinfo.attribute15 IS NULL)
494                     AND (X_Attribute15 IS NULL)))
495 	   AND ((RECINFO.CREATED_BY = X_Created_By) OR
496 	   (RECINFO.CREATED_BY IS NULL AND X_Created_By IS NULL)) AND
497 	   ((RECINFO.CREATION_DATE = X_Creation_Date) OR
498 	   (RECINFO.CREATION_DATE IS NULL AND X_Creation_Date IS NULL))
499 		THEN
500 		RETURN;
501 
502 	ELSE
503 		FND_MESSAGE.Set_Name('FND','FORM_RECORD_CHANGED');
504 		APP_EXCEPTION.Raise_Exception;
505 	END IF;
506 	ELSE
507 		FND_MESSAGE.Set_Name('FND','FORM_RECORD_CHANGED');
508 		APP_EXCEPTION.Raise_Exception;
509 	END IF;
510 
511 END Lock_Row;
512 
513 END WIP_INTERFACE_TH;