DBA Data[Home] [Help]

PACKAGE BODY: APPS.BOM_DEPARTMENT_RESOURCES_PKG

Source


1 PACKAGE BODY BOM_DEPARTMENT_RESOURCES_PKG as
2 /* $Header: bompbdrb.pls 120.0.12000000.2 2007/08/06 12:04:24 jiabraha ship $ */
3 
4 PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
5                      X_Department_Id                  NUMBER,
6                      X_Resource_Id                    NUMBER,
7                      X_Last_Update_Date               DATE,
8                      X_Last_Updated_By                NUMBER,
9                      X_Creation_Date                  DATE,
10                      X_Created_By                     NUMBER,
11                      X_Last_Update_Login              NUMBER DEFAULT NULL,
12                      X_Share_Capacity_Flag            NUMBER,
13                      X_Share_From_Dept_Id             NUMBER DEFAULT NULL,
14                      X_Capacity_Units                 NUMBER DEFAULT NULL,
15                      X_Resource_Group_Name            VARCHAR2 DEFAULT NULL,
16                      X_Available_24_Hours_Flag        NUMBER,
17 		     X_Ctp_Flag			      NUMBER,
18                      X_Attribute_Category             VARCHAR2 DEFAULT NULL,
19                      X_Attribute1                     VARCHAR2 DEFAULT NULL,
20                      X_Attribute2                     VARCHAR2 DEFAULT NULL,
21                      X_Attribute3                     VARCHAR2 DEFAULT NULL,
22                      X_Attribute4                     VARCHAR2 DEFAULT NULL,
23                      X_Attribute5                     VARCHAR2 DEFAULT NULL,
24                      X_Attribute6                     VARCHAR2 DEFAULT NULL,
25                      X_Attribute7                     VARCHAR2 DEFAULT NULL,
26                      X_Attribute8                     VARCHAR2 DEFAULT NULL,
27                      X_Attribute9                     VARCHAR2 DEFAULT NULL,
28                      X_Attribute10                    VARCHAR2 DEFAULT NULL,
29                      X_Attribute11                    VARCHAR2 DEFAULT NULL,
30                      X_Attribute12                    VARCHAR2 DEFAULT NULL,
31                      X_Attribute13                    VARCHAR2 DEFAULT NULL,
32                      X_Attribute14                    VARCHAR2 DEFAULT NULL,
33                      X_Attribute15                    VARCHAR2 DEFAULT NULL,
34                      X_Exception_Set_Name	      VARCHAR2 DEFAULT NULL,
35                      X_ATP_Rule_Id                    NUMBER DEFAULT NULL,
36                      X_Utilization                    NUMBER DEFAULT NULL,
37                      X_Efficiency                     NUMBER DEFAULT NULL,
38                      X_Schedule_To_Instance           NUMBER,
39                      X_Sequencing_Window	      NUMBER DEFAULT NULL,       --APS Enhancement for Routings
40 	             X_Idle_Time_Tolerance	      NUMBER DEFAULT NULL        --APS Enhancement for Routings
41  ) IS
42    CURSOR C IS SELECT rowid FROM BOM_DEPARTMENT_RESOURCES
43                WHERE department_id = X_Department_Id
44                AND   resource_id = X_Resource_Id;
45   BEGIN
46     INSERT INTO BOM_DEPARTMENT_RESOURCES(
47                department_id,
48                resource_id,
49                last_update_date,
50                last_updated_by,
51                creation_date,
52                created_by,
53                last_update_login,
54                share_capacity_flag,
55                share_from_dept_id,
56                capacity_units,
57                resource_group_name,
58                available_24_hours_flag,
59 			   ctp_flag,
60                attribute_category,
61                attribute1,
62                attribute2,
63                attribute3,
64                attribute4,
65                attribute5,
66                attribute6,
67                attribute7,
68                attribute8,
69                attribute9,
70                attribute10,
71                attribute11,
72                attribute12,
73                attribute13,
74                attribute14,
75                attribute15,
76                exception_set_name,
77 	       atp_rule_id,
78 	       utilization,
79 	       efficiency,
80 	       schedule_to_instance,
81 	       sequencing_window,               --APS Enhancement for Routings
82 	       idle_time_tolerance              --APS Enhancement for Routings
83              ) VALUES (
84                X_Department_Id,
85                X_Resource_Id,
86                X_Last_Update_Date,
87                X_Last_Updated_By,
88                X_Creation_Date,
89                X_Created_By,
90                X_Last_Update_Login,
91                X_Share_Capacity_Flag,
92                X_Share_From_Dept_Id,
93                X_Capacity_Units,
94                X_Resource_Group_Name,
95                X_Available_24_Hours_Flag,
96 			   X_Ctp_Flag,
97                X_Attribute_Category,
98                X_Attribute1,
99                X_Attribute2,
100                X_Attribute3,
101                X_Attribute4,
102                X_Attribute5,
103                X_Attribute6,
104                X_Attribute7,
105                X_Attribute8,
106                X_Attribute9,
107                X_Attribute10,
108                X_Attribute11,
109                X_Attribute12,
110                X_Attribute13,
111                X_Attribute14,
112                X_Attribute15,
113                X_Exception_Set_Name,
114 	       x_Atp_Rule_Id,
115 	       X_Utilization,
116 	       X_Efficiency,
117  	       X_Schedule_To_Instance,
118 	       X_Sequencing_Window,            --APS Enhancement for Routings
119 	       X_Idle_Time_Tolerance           --APS Enhancement for Routings
120              );
121   OPEN C;
122   FETCH C INTO X_Rowid;
123   if (C%NOTFOUND) then
124     CLOSE C;
125     Raise NO_DATA_FOUND;
126   end if;
127   CLOSE C;
128 END Insert_Row;
129 
130 
131 PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
132                    X_Department_Id                    NUMBER,
133                    X_Resource_Id                      NUMBER,
134                    X_Share_Capacity_Flag              NUMBER,
135                    X_Share_From_Dept_Id               NUMBER DEFAULT NULL,
136                    X_Capacity_Units                   NUMBER DEFAULT NULL,
137                    X_Resource_Group_Name              VARCHAR2 DEFAULT NULL,
138                    X_Available_24_Hours_Flag          NUMBER,
139 		   X_Ctp_Flag			      NUMBER,
140                    X_Attribute_Category               VARCHAR2 DEFAULT NULL,
141                    X_Attribute1                       VARCHAR2 DEFAULT NULL,
142                    X_Attribute2                       VARCHAR2 DEFAULT NULL,
143                    X_Attribute3                       VARCHAR2 DEFAULT NULL,
144                    X_Attribute4                       VARCHAR2 DEFAULT NULL,
145                    X_Attribute5                       VARCHAR2 DEFAULT NULL,
146                    X_Attribute6                       VARCHAR2 DEFAULT NULL,
147                    X_Attribute7                       VARCHAR2 DEFAULT NULL,
148                    X_Attribute8                       VARCHAR2 DEFAULT NULL,
149                    X_Attribute9                       VARCHAR2 DEFAULT NULL,
150                    X_Attribute10                      VARCHAR2 DEFAULT NULL,
151                    X_Attribute11                      VARCHAR2 DEFAULT NULL,
152                    X_Attribute12                      VARCHAR2 DEFAULT NULL,
153                    X_Attribute13                      VARCHAR2 DEFAULT NULL,
154                    X_Attribute14                      VARCHAR2 DEFAULT NULL,
155                    X_Attribute15                      VARCHAR2 DEFAULT NULL,
156                    X_Exception_Set_Name		      VARCHAR2 DEFAULT NULL,
157                    X_ATP_Rule_Id                      NUMBER DEFAULT NULL,
158                    X_Utilization                      NUMBER DEFAULT NULL,
159                    X_Efficiency                       NUMBER DEFAULT NULL,
160                    X_Schedule_To_Instance             NUMBER,
161 		   X_Sequencing_Window	              NUMBER DEFAULT NULL,          --APS Enhancement for Routings
162 	           X_Idle_Time_Tolerance	      NUMBER DEFAULT NULL           --APS Enhancement for Routings
163 
164 ) IS
165   CURSOR C IS
166     SELECT *
167       FROM BOM_DEPARTMENT_RESOURCES
168       WHERE rowid = X_Rowid
169       FOR UPDATE of Department_Id NOWAIT;
170   Recinfo C%ROWTYPE;
171 BEGIN
172   OPEN C;
173   FETCH C INTO Recinfo;
174   if (C%NOTFOUND) then
175     CLOSE C;
176     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
177     APP_EXCEPTION.Raise_Exception;
178   end if;
179   CLOSE C;
180   if (
181                (Recinfo.department_id = X_Department_Id)
182            AND (Recinfo.resource_id = X_Resource_Id)
183            AND (Recinfo.share_capacity_flag = X_Share_Capacity_Flag)
184            AND (   (Recinfo.share_from_dept_id = X_Share_From_Dept_Id)
185                 OR (    (Recinfo.share_from_dept_id IS NULL)
186                     AND (X_Share_From_Dept_Id IS NULL)))
187            AND (   (Recinfo.capacity_units = X_Capacity_Units)
188                 OR (    (Recinfo.capacity_units IS NULL)
189                     AND (X_Capacity_Units IS NULL)))
190            AND (   (Recinfo.resource_group_name = X_Resource_Group_Name)
191                 OR (    (Recinfo.resource_group_name IS NULL)
192                     AND (X_Resource_Group_Name IS NULL)))
193            AND (Recinfo.available_24_hours_flag = X_Available_24_Hours_Flag)
194            AND (   (Recinfo.ctp_flag = X_Ctp_Flag)
195                 OR (    (Recinfo.ctp_flag IS NULL)
196                     AND (X_Ctp_Flag IS NULL)))
197            AND (   (Recinfo.attribute_category = X_Attribute_Category)
198                 OR (    (Recinfo.attribute_category IS NULL)
199                     AND (X_Attribute_Category IS NULL)))
200            AND (   (Recinfo.attribute1 = X_Attribute1)
201                 OR (    (Recinfo.attribute1 IS NULL)
202                     AND (X_Attribute1 IS NULL)))
203            AND (   (Recinfo.attribute2 = X_Attribute2)
204                 OR (    (Recinfo.attribute2 IS NULL)
205                     AND (X_Attribute2 IS NULL)))
206            AND (   (Recinfo.attribute3 = X_Attribute3)
207                 OR (    (Recinfo.attribute3 IS NULL)
208                     AND (X_Attribute3 IS NULL)))
209            AND (   (Recinfo.attribute4 = X_Attribute4)
210                 OR (    (Recinfo.attribute4 IS NULL)
211                     AND (X_Attribute4 IS NULL)))
212            AND (   (Recinfo.attribute5 = X_Attribute5)
213                 OR (    (Recinfo.attribute5 IS NULL)
214                     AND (X_Attribute5 IS NULL)))
215            AND (   (Recinfo.attribute6 = X_Attribute6)
216                 OR (    (Recinfo.attribute6 IS NULL)
217                     AND (X_Attribute6 IS NULL)))
218            AND (   (Recinfo.attribute7 = X_Attribute7)
219                 OR (    (Recinfo.attribute7 IS NULL)
220                     AND (X_Attribute7 IS NULL)))
221            AND (   (Recinfo.attribute8 = X_Attribute8)
222                 OR (    (Recinfo.attribute8 IS NULL)
223                     AND (X_Attribute8 IS NULL)))
224            AND (   (Recinfo.attribute9 = X_Attribute9)
225                 OR (    (Recinfo.attribute9 IS NULL)
226                     AND (X_Attribute9 IS NULL)))
227            AND (   (Recinfo.attribute10 = X_Attribute10)
228                 OR (    (Recinfo.attribute10 IS NULL)
229                     AND (X_Attribute10 IS NULL)))
230            AND (   (Recinfo.attribute11 = X_Attribute11)
231                 OR (    (Recinfo.attribute11 IS NULL)
232                     AND (X_Attribute11 IS NULL)))
233            AND (   (Recinfo.attribute12 = X_Attribute12)
234                 OR (    (Recinfo.attribute12 IS NULL)
235                     AND (X_Attribute12 IS NULL)))
236            AND (   (Recinfo.attribute13 = X_Attribute13)
237                 OR (    (Recinfo.attribute13 IS NULL)
238                     AND (X_Attribute13 IS NULL)))
239            AND (   (Recinfo.attribute14 = X_Attribute14)
240                 OR (    (Recinfo.attribute14 IS NULL)
241                     AND (X_Attribute14 IS NULL)))
242            AND (   (Recinfo.attribute15 = X_Attribute15)
243                 OR (    (Recinfo.attribute15 IS NULL)
244                     AND (X_Attribute15 IS NULL)))
245 	   AND (   (Recinfo.exception_set_name = X_Exception_Set_Name)
246 		OR (    (Recinfo.exception_set_name IS NULL)
247 		    AND (X_Exception_Set_Name IS NULL)))
248            AND (   (Recinfo.atp_rule_id= x_atp_rule_id)
249                 OR (    (Recinfo.atp_rule_id IS NULL)
250                     AND (X_atp_rule_id IS NULL)))
251            AND (   (Recinfo.utilization= x_utilization)
252                 OR (    (Recinfo.utilization IS NULL)
253                     AND (x_utilization IS NULL)))
254 	   AND (   (Recinfo.efficiency= x_efficiency)
255                 OR (    (Recinfo.efficiency IS NULL)
256                     AND (x_efficiency IS NULL)))
257            AND (   (Recinfo.schedule_to_instance = X_Schedule_To_Instance)
258                 OR (    (Recinfo.schedule_to_instance IS NULL)
259                     AND (X_Schedule_To_Instance IS NULL)))
260            AND(   (Recinfo.sequencing_window = X_Sequencing_Window)              --APS Enhancement for Routings
261 	        OR(    (Recinfo.sequencing_window IS NULL)
262 		    AND (X_Sequencing_Window IS NULL)))
263            AND(   (Recinfo.idle_time_tolerance = X_Idle_Time_Tolerance)          --APS Enhancement for Routings
264 	        OR(   (Recinfo.idle_time_tolerance IS NULL)
265 		    AND (X_Idle_Time_Tolerance IS NULL)))
266             ) then
267     return;
268   else
269     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
270     APP_EXCEPTION.RAISE_EXCEPTION;
271   end if;
272 END Lock_Row;
273 
274 
275 
276 PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
277                      X_Department_Id                  NUMBER,
278                      X_Resource_Id                    NUMBER,
279                      X_Last_Update_Date               DATE,
280                      X_Last_Updated_By                NUMBER,
281                      X_Last_Update_Login              NUMBER DEFAULT NULL,
282                      X_Share_Capacity_Flag            NUMBER,
283                      X_Share_From_Dept_Id             NUMBER DEFAULT NULL,
284                      X_Capacity_Units                 NUMBER DEFAULT NULL,
285                      X_Resource_Group_Name            VARCHAR2 DEFAULT NULL,
286                      X_Available_24_Hours_Flag        NUMBER,
287 		     X_Ctp_Flag			      NUMBER,
288                      X_Attribute_Category             VARCHAR2 DEFAULT NULL,
289                      X_Attribute1                     VARCHAR2 DEFAULT NULL,
290                      X_Attribute2                     VARCHAR2 DEFAULT NULL,
291                      X_Attribute3                     VARCHAR2 DEFAULT NULL,
295                      X_Attribute7                     VARCHAR2 DEFAULT NULL,
292                      X_Attribute4                     VARCHAR2 DEFAULT NULL,
293                      X_Attribute5                     VARCHAR2 DEFAULT NULL,
294                      X_Attribute6                     VARCHAR2 DEFAULT NULL,
296                      X_Attribute8                     VARCHAR2 DEFAULT NULL,
297                      X_Attribute9                     VARCHAR2 DEFAULT NULL,
298                      X_Attribute10                    VARCHAR2 DEFAULT NULL,
299                      X_Attribute11                    VARCHAR2 DEFAULT NULL,
300                      X_Attribute12                    VARCHAR2 DEFAULT NULL,
301                      X_Attribute13                    VARCHAR2 DEFAULT NULL,
302                      X_Attribute14                    VARCHAR2 DEFAULT NULL,
303                      X_Attribute15                    VARCHAR2 DEFAULT NULL,
304 		     X_Exception_Set_Name	      VARCHAR2 DEFAULT NULL,
305                      X_ATP_Rule_Id	 	      NUMBER DEFAULT NULL,
306                      X_Utilization                    NUMBER DEFAULT NULL,
307                      X_Efficiency                     NUMBER DEFAULT NULL,
308                      X_Schedule_To_Instance           NUMBER,
309 		     X_Sequencing_Window	      NUMBER DEFAULT NULL,         --APS Enhancement for Routings
310 	             X_Idle_Time_Tolerance	      NUMBER DEFAULT NULL          --APS Enhancement for Routings
311  ) IS
312 
313     Cursor C is SELECT rowid FROM BOM_DEPARTMENT_RESOURCES
314 		WHERE share_from_dept_id = X_Department_Id
315 		  AND resource_id = X_Resource_Id ;
316 BEGIN
317   UPDATE BOM_DEPARTMENT_RESOURCES
318   SET
319      department_id                     =     X_Department_Id,
320      resource_id                       =     X_Resource_Id,
321      last_update_date                  =     X_Last_Update_Date,
322      last_updated_by                   =     X_Last_Updated_By,
323      last_update_login                 =     X_Last_Update_Login,
324      share_capacity_flag               =     X_Share_Capacity_Flag,
325      share_from_dept_id                =     X_Share_From_Dept_Id,
326      capacity_units                    =     X_Capacity_Units,
327      resource_group_name               =     X_Resource_Group_Name,
328      available_24_hours_flag           =     X_Available_24_Hours_Flag,
329      ctp_flag			       =     X_Ctp_Flag,
330      attribute_category                =     X_Attribute_Category,
331      attribute1                        =     X_Attribute1,
332      attribute2                        =     X_Attribute2,
333      attribute3                        =     X_Attribute3,
334      attribute4                        =     X_Attribute4,
335      attribute5                        =     X_Attribute5,
336      attribute6                        =     X_Attribute6,
337      attribute7                        =     X_Attribute7,
338      attribute8                        =     X_Attribute8,
339      attribute9                        =     X_Attribute9,
340      attribute10                       =     X_Attribute10,
341      attribute11                       =     X_Attribute11,
342      attribute12                       =     X_Attribute12,
343      attribute13                       =     X_Attribute13,
344      attribute14                       =     X_Attribute14,
345      attribute15                       =     X_Attribute15,
346      exception_set_name		       =     X_Exception_Set_Name,
347      atp_rule_id		       =     X_ATP_Rule_Id,
348      utilization	 	       =    X_Utilization,
349      efficiency			       =    X_Efficiency,
350      schedule_to_instance	       =    X_Schedule_To_Instance,
351      sequencing_window                 =    X_Sequencing_Window,                --APS Enhancement for Routings
352      idle_time_tolerance               =    X_Idle_Time_Tolerance               --APS Enhancement for Routings
353   WHERE rowid = X_rowid;
354 
355   FOR c_row_id in C LOOP
356    UPDATE BOM_DEPARTMENT_RESOURCES
357    SET
358      last_update_date                  =     X_Last_Update_Date,
359      last_updated_by                   =     X_Last_Updated_By,
360      last_update_login                 =     X_Last_Update_Login,
361      capacity_units                    =     X_Capacity_Units,
362      available_24_hours_flag           =     X_Available_24_Hours_Flag,
363      ctp_flag			       =     X_Ctp_Flag,
364      attribute_category                =     X_Attribute_Category,
365      attribute1                        =     X_Attribute1,
366      attribute2                        =     X_Attribute2,
367      attribute3                        =     X_Attribute3,
368      attribute4                        =     X_Attribute4,
369      attribute5                        =     X_Attribute5,
370      attribute6                        =     X_Attribute6,
371      attribute7                        =     X_Attribute7,
372      attribute8                        =     X_Attribute8,
373      attribute9                        =     X_Attribute9,
374      attribute10                       =     X_Attribute10,
375      attribute11                       =     X_Attribute11,
376      attribute12                       =     X_Attribute12,
377      attribute13                       =     X_Attribute13,
378      attribute14                       =     X_Attribute14,
379      attribute15                       =     X_Attribute15,
380      exception_set_name		       =     X_Exception_Set_Name,
381      /*atp_rule_id		       =     X_ATP_Rule_Id,		       -- BUG 3961376
382      utilization	 	       =    X_Utilization,
383      efficiency			       =    X_Efficiency,
387      atp_rule_id		       =     X_ATP_Rule_Id,		       /* Added this to enable update of atp_rule_id, utilization & efficiency for bug 6321534*/
384      schedule_to_instance	       =    X_Schedule_To_Instance,
385      sequencing_window                 =    X_Sequencing_Window,               --APS Enhancement for Routings
386      idle_time_tolerance               =    X_Idle_Time_Tolerance*/            --APS Enhancement for Routings
388      utilization	 	       =    X_Utilization,
389      efficiency			       =    X_Efficiency
390   WHERE rowid = c_row_id.rowid;
391   END LOOP ;
392 
393   if (SQL%NOTFOUND) then
394     Raise NO_DATA_FOUND;
395   end if;
396 
397 END Update_Row;
398 
399 
400 
401 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
402 BEGIN
403   DELETE FROM BOM_DEPARTMENT_RESOURCES
404   WHERE  rowid = X_Rowid;
405 
406   if (SQL%NOTFOUND) then
407     Raise NO_DATA_FOUND;
408   end if;
409 END Delete_Row;
410 
411 
412 
413 PROCEDURE Check_Unique(X_Rowid VARCHAR2,
414 		       X_Department_Id NUMBER,
415 		       X_Resource_Id NUMBER) IS
416   dummy 	NUMBER;
417   res_code	VARCHAR2(10);
418 BEGIN
419   SELECT RESOURCE_CODE INTO res_code FROM BOM_RESOURCES
420      WHERE RESOURCE_ID = X_Resource_Id;
421   SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
422     (SELECT 1 FROM BOM_DEPARTMENT_RESOURCES
423      WHERE DEPARTMENT_ID = X_Department_Id
424        AND RESOURCE_ID = X_Resource_Id
425        AND ((X_Rowid IS NULL) OR (ROWID <> X_Rowid))
426     );
427 
428 EXCEPTION
429   WHEN NO_DATA_FOUND THEN
430     FND_MESSAGE.SET_NAME('BOM', 'BOM_ALREADY_EXISTS');
431     FND_MESSAGE.SET_TOKEN('ENTITY1', 'RESOURCE_CAP', TRUE);
432     FND_MESSAGE.SET_TOKEN('ENTITY2', res_code);
433     APP_EXCEPTION.RAISE_EXCEPTION;
434 END Check_Unique;
435 
436 
437 PROCEDURE Check_References(X_Rowid VARCHAR2,
438 			   X_Resource_Id NUMBER,
439 			   X_Department_Id NUMBER) IS
440   dummy			NUMBER;
441   err_code		NUMBER;
442   message_name		VARCHAR2(80);
443   res_code		VARCHAR2(10);
444 BEGIN
445   SELECT RESOURCE_CODE INTO res_code FROM BOM_RESOURCES
446      WHERE RESOURCE_ID = X_Resource_Id;
447 
448   err_code := 1;
449   message_name := 'BOM_CANNOT_DELETE_RESOURCE';
450   SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
451     (SELECT 1 FROM BOM_RESOURCE_SHIFTS
452      WHERE DEPARTMENT_ID = X_Department_Id
453        AND RESOURCE_ID = X_Resource_Id);
454 
455   err_code := 2;
456   message_name := 'BOM_CANNOT_DELETE_SHARED_RES';
457   SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
458     (SELECT 1 FROM BOM_DEPARTMENT_RESOURCES
459      WHERE SHARE_FROM_DEPT_ID = X_Department_Id
460        AND RESOURCE_ID = X_Resource_Id);
461 
462   err_code := 3;
463   message_name := 'BOM_CANNOT_DELETE_RES_STD_OP';
464   SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
465     (SELECT 1 FROM BOM_STD_OP_RESOURCES bsor,
466 		              BOM_STANDARD_OPERATIONS bso
467      WHERE bso.STANDARD_OPERATION_ID = bsor.STANDARD_OPERATION_ID
468        AND bso.DEPARTMENT_ID = X_Department_Id
469        AND bsor.RESOURCE_ID = X_Resource_Id);
470 
471   message_name := 'BOM_CANNOT_DELETE_RES_ROUTING';
472   SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
473     (SELECT 1 FROM BOM_OPERATION_RESOURCES bor,
474 			      BOM_OPERATION_SEQUENCES bos
475      WHERE bor.OPERATION_SEQUENCE_ID = bos.OPERATION_SEQUENCE_ID
476        AND bor.RESOURCE_ID = X_Resource_Id
477        AND bos.DEPARTMENT_ID = X_Department_Id);
478 
479   message_name := 'BOM_CANNOT_DELETE_RES_WIP_OP';
480   SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
481     (SELECT 1 FROM WIP_OPERATIONS wo,
482 			      WIP_OPERATION_RESOURCES wor
483      WHERE wo.WIP_ENTITY_ID = wor.WIP_ENTITY_ID
484        AND wo.OPERATION_SEQ_NUM = wor.OPERATION_SEQ_NUM
485        AND wo.ORGANIZATION_ID = wor.ORGANIZATION_ID
486        AND nvl(wo.REPETITIVE_SCHEDULE_ID, -1) = nvl(wor.REPETITIVE_SCHEDULE_ID, -1)
487        AND wor.RESOURCE_ID = X_Resource_Id
488        AND wo.DEPARTMENT_ID = X_Department_Id);
489 
490 EXCEPTION
491   WHEN NO_DATA_FOUND THEN
492     IF err_code = 1 THEN
493       FND_MESSAGE.SET_NAME('BOM',message_name);
494       APP_EXCEPTION.RAISE_EXCEPTION;
495     ELSIF err_code = 2 THEN
496       FND_MESSAGE.SET_NAME('BOM',message_name);
497       FND_MESSAGE.SET_TOKEN('ENTITY', res_code);
498       APP_EXCEPTION.RAISE_EXCEPTION;
499     ELSIF err_code = 3 THEN
500       FND_MESSAGE.SET_NAME('BOM', message_name);
501       FND_MESSAGE.SET_TOKEN('ENTITY', res_code);
502       APP_EXCEPTION.RAISE_EXCEPTION;
503     END IF;
504 
505 END Check_References;
506 
507 
508 
509 END BOM_DEPARTMENT_RESOURCES_PKG;