1: PACKAGE BODY B_STD_OP_PKG as
2: /* $Header: BOMPISOB.pls 120.3.12010000.3 2008/11/13 10:05:41 sisankar ship $ */
3:
4: PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
5: X_Standard_Operation_Id IN OUT NOCOPY NUMBER,
6: X_Operation_Code VARCHAR2,
7: X_Operation_Type NUMBER,
8: X_Line_Id NUMBER DEFAULT NULL,
9: X_Sequence_Num NUMBER DEFAULT NULL,
40: X_Operation_Yield_Enabled NUMBER DEFAULT NULL,
41: X_Shutdown_Type VARCHAR2 DEFAULT NULL
42:
43: ) IS
44: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
45: WHERE standard_operation_id = X_Standard_Operation_Id;
46: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
47: BEGIN
48: if (X_Standard_Operation_Id is NULL) then
41: X_Shutdown_Type VARCHAR2 DEFAULT NULL
42:
43: ) IS
44: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
45: WHERE standard_operation_id = X_Standard_Operation_Id;
46: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
47: BEGIN
48: if (X_Standard_Operation_Id is NULL) then
49: OPEN C2;
42:
43: ) IS
44: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
45: WHERE standard_operation_id = X_Standard_Operation_Id;
46: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
47: BEGIN
48: if (X_Standard_Operation_Id is NULL) then
49: OPEN C2;
50: FETCH C2 INTO X_Standard_Operation_Id;
44: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
45: WHERE standard_operation_id = X_Standard_Operation_Id;
46: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
47: BEGIN
48: if (X_Standard_Operation_Id is NULL) then
49: OPEN C2;
50: FETCH C2 INTO X_Standard_Operation_Id;
51: CLOSE C2;
52: end if;
46: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
47: BEGIN
48: if (X_Standard_Operation_Id is NULL) then
49: OPEN C2;
50: FETCH C2 INTO X_Standard_Operation_Id;
51: CLOSE C2;
52: end if;
53: INSERT INTO BOM_STANDARD_OPERATIONS(
54: standard_operation_id,
49: OPEN C2;
50: FETCH C2 INTO X_Standard_Operation_Id;
51: CLOSE C2;
52: end if;
53: INSERT INTO BOM_STANDARD_OPERATIONS(
54: standard_operation_id,
55: operation_code,
56: operation_type,
57: line_id,
50: FETCH C2 INTO X_Standard_Operation_Id;
51: CLOSE C2;
52: end if;
53: INSERT INTO BOM_STANDARD_OPERATIONS(
54: standard_operation_id,
55: operation_code,
56: operation_type,
57: line_id,
58: sequence_num,
88: yield,
89: operation_yield_enabled,
90: shutdown_type
91: ) VALUES (
92: X_Standard_Operation_Id,
93: X_Operation_Code,
94: X_Operation_Type,
95: X_Line_Id,
96: X_Sequence_Num,
137: CLOSE C;
138: END Insert_Row;
139:
140: PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
141: X_Standard_Operation_Id IN OUT NOCOPY NUMBER,
142: X_Operation_Code VARCHAR2,
143: X_Operation_Type NUMBER,
144: X_Line_Id NUMBER DEFAULT NULL,
145: X_Sequence_Num NUMBER DEFAULT NULL,
185: X_Rowid => X_Rowid,
186: X_Operation_type => X_Operation_type,
187: X_Line_Id => X_Line_Id,
188: X_Sequence_Num => X_Sequence_Num,
189: X_Standard_Operation_Id => X_Standard_Operation_Id,
190: X_Operation_Code => X_Operation_Code,
191: X_Organization_Id => X_Organization_Id,
192: X_Department_Id => X_Department_Id,
193: X_Last_Update_Date => X_Last_Update_Date,
235: X_Track_Multiple_Res_Usage_Dts => NULL);
236: END Insert_Row;
237:
238: PROCEDURE Insert_Row(X_Rowid IN OUT NOCOPY VARCHAR2,
239: X_Standard_Operation_Id IN OUT NOCOPY NUMBER,
240: X_Operation_Code VARCHAR2,
241: X_Operation_Type NUMBER,
242: X_Line_Id NUMBER DEFAULT NULL,
243: X_Sequence_Num NUMBER DEFAULT NULL,
289: X_TRACK_MULTIPLE_RES_USAGE_DTS NUMBER,
290: -- Added for labor skills validation project
291: X_CHECK_SKILL NUMBER DEFAULT NULL
292: ) IS
293: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
294: WHERE standard_operation_id = X_Standard_Operation_Id;
295: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
296: BEGIN
297: if (X_Standard_Operation_Id is NULL) then
290: -- Added for labor skills validation project
291: X_CHECK_SKILL NUMBER DEFAULT NULL
292: ) IS
293: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
294: WHERE standard_operation_id = X_Standard_Operation_Id;
295: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
296: BEGIN
297: if (X_Standard_Operation_Id is NULL) then
298: OPEN C2;
291: X_CHECK_SKILL NUMBER DEFAULT NULL
292: ) IS
293: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
294: WHERE standard_operation_id = X_Standard_Operation_Id;
295: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
296: BEGIN
297: if (X_Standard_Operation_Id is NULL) then
298: OPEN C2;
299: FETCH C2 INTO X_Standard_Operation_Id;
293: CURSOR C IS SELECT rowid FROM BOM_STANDARD_OPERATIONS
294: WHERE standard_operation_id = X_Standard_Operation_Id;
295: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
296: BEGIN
297: if (X_Standard_Operation_Id is NULL) then
298: OPEN C2;
299: FETCH C2 INTO X_Standard_Operation_Id;
300: CLOSE C2;
301: end if;
295: CURSOR C2 IS SELECT bom_standard_operations_s.nextval FROM sys.dual;
296: BEGIN
297: if (X_Standard_Operation_Id is NULL) then
298: OPEN C2;
299: FETCH C2 INTO X_Standard_Operation_Id;
300: CLOSE C2;
301: end if;
302: INSERT INTO BOM_STANDARD_OPERATIONS(
303: standard_operation_id,
298: OPEN C2;
299: FETCH C2 INTO X_Standard_Operation_Id;
300: CLOSE C2;
301: end if;
302: INSERT INTO BOM_STANDARD_OPERATIONS(
303: standard_operation_id,
304: operation_code,
305: operation_type,
306: line_id,
299: FETCH C2 INTO X_Standard_Operation_Id;
300: CLOSE C2;
301: end if;
302: INSERT INTO BOM_STANDARD_OPERATIONS(
303: standard_operation_id,
304: operation_code,
305: operation_type,
306: line_id,
307: sequence_num,
353: TRACK_MULTIPLE_RES_USAGE_DATES,
354: -- Added for labor skills validation project
355: CHECK_SKILL
356: ) VALUES (
357: X_Standard_Operation_Id,
358: X_Operation_Code,
359: X_Operation_Type,
360: X_Line_Id,
361: X_Sequence_Num,
419: END Insert_Row;
420:
421:
422: PROCEDURE Lock_Row(X_Rowid VARCHAR2,
423: X_Standard_Operation_Id NUMBER,
424: X_Operation_Code VARCHAR2,
425: X_Operation_Type NUMBER,
426: X_Line_Id NUMBER DEFAULT NULL,
427: X_Sequence_Num NUMBER DEFAULT NULL,
455:
456: ) IS
457: CURSOR C IS
458: SELECT *
459: FROM BOM_STANDARD_OPERATIONS
460: WHERE rowid = X_Rowid
461: FOR UPDATE of Standard_Operation_Id NOWAIT;
462: Recinfo C%ROWTYPE;
463: BEGIN
457: CURSOR C IS
458: SELECT *
459: FROM BOM_STANDARD_OPERATIONS
460: WHERE rowid = X_Rowid
461: FOR UPDATE of Standard_Operation_Id NOWAIT;
462: Recinfo C%ROWTYPE;
463: BEGIN
464: OPEN C;
465: FETCH C INTO Recinfo;
469: APP_EXCEPTION.RAISE_EXCEPTION;
470: end if;
471: CLOSE C;
472: if (
473: ( (Recinfo.standard_operation_id = X_Standard_Operation_Id)
474: OR ( (Recinfo.standard_operation_id IS NULL)
475: AND (X_Standard_Operation_Id IS NULL)))
476: AND ( (Recinfo.operation_code = X_Operation_Code)
477: OR ( (Recinfo.operation_code IS NULL)
470: end if;
471: CLOSE C;
472: if (
473: ( (Recinfo.standard_operation_id = X_Standard_Operation_Id)
474: OR ( (Recinfo.standard_operation_id IS NULL)
475: AND (X_Standard_Operation_Id IS NULL)))
476: AND ( (Recinfo.operation_code = X_Operation_Code)
477: OR ( (Recinfo.operation_code IS NULL)
478: AND (X_Operation_Code IS NULL)))
471: CLOSE C;
472: if (
473: ( (Recinfo.standard_operation_id = X_Standard_Operation_Id)
474: OR ( (Recinfo.standard_operation_id IS NULL)
475: AND (X_Standard_Operation_Id IS NULL)))
476: AND ( (Recinfo.operation_code = X_Operation_Code)
477: OR ( (Recinfo.operation_code IS NULL)
478: AND (X_Operation_Code IS NULL)))
479: AND ( (Recinfo.operation_type = X_Operation_Type)
574: end if;
575: END Lock_Row;
576:
577: PROCEDURE Lock_Row(X_Rowid VARCHAR2,
578: X_Standard_Operation_Id NUMBER,
579: X_Operation_Code VARCHAR2,
580: X_Operation_Type NUMBER,
581: X_Line_Id NUMBER DEFAULT NULL,
582: X_Sequence_Num NUMBER DEFAULT NULL,
614: ) IS
615: BEGIN
616: Lock_Row(
617: X_Rowid => X_Rowid,
618: X_Standard_Operation_Id => X_Standard_Operation_Id,
619: X_Operation_Code => X_Operation_Code,
620: X_Operation_Type => X_Operation_Type,
621: X_Line_Id => X_Line_Id,
622: X_Sequence_Num => X_Sequence_Num,
662: X_Track_Multiple_Res_Usage_Dts => NULL);
663: END Lock_Row;
664:
665: PROCEDURE Lock_Row(X_Rowid VARCHAR2,
666: X_Standard_Operation_Id NUMBER,
667: X_Operation_Code VARCHAR2,
668: X_Operation_Type NUMBER,
669: X_Line_Id NUMBER DEFAULT NULL,
670: X_Sequence_Num NUMBER DEFAULT NULL,
713: X_CHECK_SKILL NUMBER DEFAULT NULL
714: ) IS
715: CURSOR C IS
716: SELECT *
717: FROM BOM_STANDARD_OPERATIONS
718: WHERE rowid = X_Rowid
719: FOR UPDATE of Standard_Operation_Id NOWAIT;
720: Recinfo C%ROWTYPE;
721: BEGIN
715: CURSOR C IS
716: SELECT *
717: FROM BOM_STANDARD_OPERATIONS
718: WHERE rowid = X_Rowid
719: FOR UPDATE of Standard_Operation_Id NOWAIT;
720: Recinfo C%ROWTYPE;
721: BEGIN
722: OPEN C;
723: FETCH C INTO Recinfo;
727: APP_EXCEPTION.RAISE_EXCEPTION;
728: end if;
729: CLOSE C;
730: if (
731: ( (Recinfo.standard_operation_id = X_Standard_Operation_Id)
732: OR ( (Recinfo.standard_operation_id IS NULL)
733: AND (X_Standard_Operation_Id IS NULL)))
734: AND ( (Recinfo.operation_code = X_Operation_Code)
735: OR ( (Recinfo.operation_code IS NULL)
728: end if;
729: CLOSE C;
730: if (
731: ( (Recinfo.standard_operation_id = X_Standard_Operation_Id)
732: OR ( (Recinfo.standard_operation_id IS NULL)
733: AND (X_Standard_Operation_Id IS NULL)))
734: AND ( (Recinfo.operation_code = X_Operation_Code)
735: OR ( (Recinfo.operation_code IS NULL)
736: AND (X_Operation_Code IS NULL)))
729: CLOSE C;
730: if (
731: ( (Recinfo.standard_operation_id = X_Standard_Operation_Id)
732: OR ( (Recinfo.standard_operation_id IS NULL)
733: AND (X_Standard_Operation_Id IS NULL)))
734: AND ( (Recinfo.operation_code = X_Operation_Code)
735: OR ( (Recinfo.operation_code IS NULL)
736: AND (X_Operation_Code IS NULL)))
737: AND ( (Recinfo.operation_type = X_Operation_Type)
877: end if;
878: END Lock_Row;
879:
880: PROCEDURE Update_Row(X_Rowid VARCHAR2,
881: X_Standard_Operation_Id NUMBER,
882: X_Operation_Code VARCHAR2,
883: X_Operation_Type NUMBER,
884: X_Line_Id NUMBER DEFAULT NULL,
885: X_Sequence_Num NUMBER DEFAULT NULL,
915: X_Shutdown_Type VARCHAR2 DEFAULT NULL
916:
917: ) IS
918: BEGIN
919: UPDATE BOM_STANDARD_OPERATIONS
920: SET
921: standard_operation_id = X_Standard_Operation_Id,
922: operation_code = X_Operation_Code,
923: operation_type = X_Operation_Type,
917: ) IS
918: BEGIN
919: UPDATE BOM_STANDARD_OPERATIONS
920: SET
921: standard_operation_id = X_Standard_Operation_Id,
922: operation_code = X_Operation_Code,
923: operation_type = X_Operation_Type,
924: line_id = X_Line_Id,
925: sequence_num = X_Sequence_Num,
961:
962: END Update_Row;
963:
964: PROCEDURE Update_Row(X_Rowid VARCHAR2,
965: X_Standard_Operation_Id NUMBER,
966: X_Operation_Code VARCHAR2,
967: X_Operation_Type NUMBER,
968: X_Line_Id NUMBER DEFAULT NULL,
969: X_Sequence_Num NUMBER DEFAULT NULL,
1004: ) IS
1005: BEGIN
1006: Update_Row(
1007: X_Rowid => X_Rowid,
1008: X_Standard_Operation_Id => X_Standard_Operation_Id,
1009: X_Operation_Code => X_Operation_Code,
1010: X_Operation_Type => X_Operation_Type,
1011: X_Line_Id => X_Line_Id,
1012: X_Sequence_Num => X_Sequence_Num,
1055: X_Track_Multiple_Res_Usage_Dts => NULL);
1056: END Update_Row;
1057:
1058: PROCEDURE Update_Row(X_Rowid VARCHAR2,
1059: X_Standard_Operation_Id NUMBER,
1060: X_Operation_Code VARCHAR2,
1061: X_Operation_Type NUMBER,
1062: X_Line_Id NUMBER DEFAULT NULL,
1063: X_Sequence_Num NUMBER DEFAULT NULL,
1107: X_TRACK_MULTIPLE_RES_USAGE_DTS NUMBER,
1108: X_CHECK_SKILL NUMBER DEFAULT NULL
1109: ) IS
1110: BEGIN
1111: UPDATE BOM_STANDARD_OPERATIONS
1112: SET
1113: standard_operation_id = X_Standard_Operation_Id,
1114: operation_code = X_Operation_Code,
1115: operation_type = X_Operation_Type,
1109: ) IS
1110: BEGIN
1111: UPDATE BOM_STANDARD_OPERATIONS
1112: SET
1113: standard_operation_id = X_Standard_Operation_Id,
1114: operation_code = X_Operation_Code,
1115: operation_type = X_Operation_Type,
1116: line_id = X_Line_Id,
1117: sequence_num = X_Sequence_Num,
1168: END Update_Row;
1169:
1170:
1171: PROCEDURE Delete_Row(X_Rowid VARCHAR2,
1172: X_Standard_Operation_Id NUMBER) IS
1173: BEGIN
1174: DELETE FROM BOM_STANDARD_OPERATIONS
1175: WHERE rowid = X_Rowid;
1176:
1170:
1171: PROCEDURE Delete_Row(X_Rowid VARCHAR2,
1172: X_Standard_Operation_Id NUMBER) IS
1173: BEGIN
1174: DELETE FROM BOM_STANDARD_OPERATIONS
1175: WHERE rowid = X_Rowid;
1176:
1177: if (SQL%NOTFOUND) then
1178: Raise NO_DATA_FOUND;
1176:
1177: if (SQL%NOTFOUND) then
1178: Raise NO_DATA_FOUND;
1179: elsif (SQL%FOUND) then
1180: Delete_Details(X_Standard_Operation_Id);
1181: end if;
1182: END Delete_Row;
1183:
1184:
1192: -- Added If condition and wrote seperate sql's to handle x_line_id NULL condition.
1193: -- Bug 4173389
1194: If (X_Line_Id is NULL) Then
1195: SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
1196: (SELECT 1 FROM BOM_STANDARD_OPERATIONS
1197: WHERE Organization_Id = X_Organization_Id
1198: AND Operation_Code = X_Operation_Code
1199: AND (Operation_Type = X_Operation_Type
1200: OR Operation_Type IS NULL)
1202: AND ((X_Rowid IS NULL) OR (ROWID <> X_Rowid))
1203: );
1204: Else
1205: SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
1206: (SELECT 1 FROM BOM_STANDARD_OPERATIONS
1207: WHERE Organization_Id = X_Organization_Id
1208: AND Operation_Code = X_Operation_Code
1209: AND (Operation_Type = X_Operation_Type
1210: OR Operation_Type IS NULL)
1217: EXCEPTION
1218: WHEN NO_DATA_FOUND THEN
1219: FND_MESSAGE.SET_NAME('BOM', 'BOM_ALREADY_EXISTS');
1220: if (( X_Operation_type =1) and (X_Line_Id is null )) then
1221: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD OPERATION_CAP', TRUE);
1222: elsif (X_Operation_type =3) then
1223: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD LINE_OP_CAP', TRUE);
1224: elsif (X_Operation_type =2) then
1225: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD PROCESS_CAP', TRUE);
1219: FND_MESSAGE.SET_NAME('BOM', 'BOM_ALREADY_EXISTS');
1220: if (( X_Operation_type =1) and (X_Line_Id is null )) then
1221: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD OPERATION_CAP', TRUE);
1222: elsif (X_Operation_type =3) then
1223: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD LINE_OP_CAP', TRUE);
1224: elsif (X_Operation_type =2) then
1225: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD PROCESS_CAP', TRUE);
1226: else
1227: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD EVENT_CAP', TRUE);
1221: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD OPERATION_CAP', TRUE);
1222: elsif (X_Operation_type =3) then
1223: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD LINE_OP_CAP', TRUE);
1224: elsif (X_Operation_type =2) then
1225: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD PROCESS_CAP', TRUE);
1226: else
1227: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD EVENT_CAP', TRUE);
1228: end if;
1229: FND_MESSAGE.SET_TOKEN('ENTITY2', X_Operation_Code);
1223: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD LINE_OP_CAP', TRUE);
1224: elsif (X_Operation_type =2) then
1225: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD PROCESS_CAP', TRUE);
1226: else
1227: FND_MESSAGE.SET_TOKEN('ENTITY1', 'STANDARD EVENT_CAP', TRUE);
1228: end if;
1229: FND_MESSAGE.SET_TOKEN('ENTITY2', X_Operation_Code);
1230: APP_EXCEPTION.RAISE_EXCEPTION;
1231: END Check_Unique;
1241: x_line_code VARCHAR2(10);
1242: BEGIN
1243:
1244: SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
1245: (SELECT 1 FROM BOM_STANDARD_OPERATIONS
1246: WHERE Organization_Id = X_Organization_Id
1247: AND (Operation_Type = X_Operation_Type
1248: OR Operation_Type IS NULL)
1249: AND (Line_Id = X_Line_Id
1261: APP_EXCEPTION.RAISE_EXCEPTION;
1262: END Check_Unique_Seq;
1263:
1264:
1265: PROCEDURE Check_References(X_Standard_Operation_Id NUMBER,
1266: X_Operation_Code VARCHAR2 ) IS
1267: dummy NUMBER;
1268: BEGIN
1269: SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
1267: dummy NUMBER;
1268: BEGIN
1269: SELECT 1 INTO dummy FROM DUAL WHERE NOT EXISTS
1270: (SELECT 1 FROM BOM_OPERATION_SEQUENCES
1271: WHERE STANDARD_OPERATION_ID = X_Standard_Operation_Id
1272: AND ((DISABLE_DATE > SYSDATE) OR (DISABLE_DATE IS NULL))
1273: );
1274:
1275: EXCEPTION
1278: FND_MESSAGE.SET_TOKEN('ENTITY', X_Operation_Code);
1279: APP_EXCEPTION.RAISE_EXCEPTION;
1280: END Check_References;
1281:
1282: PROCEDURE Delete_Details(X_Standard_Operation_Id NUMBER) IS
1283: BEGIN
1284: DELETE FROM BOM_STD_OP_RESOURCES
1285: WHERE STANDARD_OPERATION_ID = X_Standard_Operation_Id;
1286: DELETE FROM BOM_OPERATION_SKILLS
1281:
1282: PROCEDURE Delete_Details(X_Standard_Operation_Id NUMBER) IS
1283: BEGIN
1284: DELETE FROM BOM_STD_OP_RESOURCES
1285: WHERE STANDARD_OPERATION_ID = X_Standard_Operation_Id;
1286: DELETE FROM BOM_OPERATION_SKILLS
1287: WHERE STANDARD_OPERATION_ID = X_Standard_Operation_Id
1288: and LEVEL_ID=1;
1289: END Delete_Details;
1283: BEGIN
1284: DELETE FROM BOM_STD_OP_RESOURCES
1285: WHERE STANDARD_OPERATION_ID = X_Standard_Operation_Id;
1286: DELETE FROM BOM_OPERATION_SKILLS
1287: WHERE STANDARD_OPERATION_ID = X_Standard_Operation_Id
1288: and LEVEL_ID=1;
1289: END Delete_Details;
1290:
1291: -- Added the following Function for BUG 3986337
1317: WHEN OTHERS THEN
1318: RETURN FALSE;
1319: END Check_Wms_exists;
1320:
1321: PROCEDURE Check_Setup_Std_Op_Ref( P_Standard_Operation_Id NUMBER, -- BUG 4256393
1322: P_Operation_Code VARCHAR2 ) IS
1323: l_dummy NUMBER;
1324: BEGIN
1325: SELECT 1 INTO l_dummy FROM DUAL WHERE NOT EXISTS
1323: l_dummy NUMBER;
1324: BEGIN
1325: SELECT 1 INTO l_dummy FROM DUAL WHERE NOT EXISTS
1326: (SELECT 1 FROM BOM_SETUP_TRANSITIONS
1327: WHERE OPERATION_ID = P_Standard_Operation_Id
1328: );
1329:
1330: EXCEPTION
1331: WHEN NO_DATA_FOUND THEN