26: last_update_date = NVL(x_last_update_date, SYSDATE)
27: WHERE operation_sequence_id = x_event_op_seq_id;
28: END IF;
29: IF (SQL%NOTFOUND) THEN
30: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
31: x_return_code := 'F';
32: x_error_msg := FND_MESSAGE.GET;
33: ELSE
34: x_return_code := 'S';
28: END IF;
29: IF (SQL%NOTFOUND) THEN
30: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
31: x_return_code := 'F';
32: x_error_msg := FND_MESSAGE.GET;
33: ELSE
34: x_return_code := 'S';
35: x_error_msg := '';
36: END IF;
176: and to_op_seq_id = x_to_op_seq_id;
177: END IF;
178:
179: IF (SQL%NOTFOUND) THEN
180: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
181: x_return_code := 'F';
182: x_error_msg := FND_MESSAGE.GET;
183: ELSE
184: x_return_code := l_return_code;
178:
179: IF (SQL%NOTFOUND) THEN
180: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
181: x_return_code := 'F';
182: x_error_msg := FND_MESSAGE.GET;
183: ELSE
184: x_return_code := l_return_code;
185: x_error_msg := l_error_msg;
186: END IF;
288: INTO op_type, from_op_seq_num
289: FROM bom_operation_sequences
290: WHERE operation_sequence_id = x_from_op_seq_id;
291:
292: FND_MESSAGE.SET_NAME('BOM','BOM_CHECK_UNIQUE_PRIMARY');
293: IF (op_type = 2) THEN
294: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
295: ELSE
296: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
290: WHERE operation_sequence_id = x_from_op_seq_id;
291:
292: FND_MESSAGE.SET_NAME('BOM','BOM_CHECK_UNIQUE_PRIMARY');
293: IF (op_type = 2) THEN
294: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
295: ELSE
296: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
297: END IF;
298: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
292: FND_MESSAGE.SET_NAME('BOM','BOM_CHECK_UNIQUE_PRIMARY');
293: IF (op_type = 2) THEN
294: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
295: ELSE
296: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
297: END IF;
298: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
299:
300: x_return_code := 'F';
294: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
295: ELSE
296: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
297: END IF;
298: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
299:
300: x_return_code := 'F';
301: x_error_msg := FND_MESSAGE.GET;
302:
297: END IF;
298: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
299:
300: x_return_code := 'F';
301: x_error_msg := FND_MESSAGE.GET;
302:
303: ELSIF (link_exists = 1) THEN
304:
305: SELECT operation_seq_num
311: INTO to_op_seq_num
312: FROM bom_operation_sequences
313: WHERE operation_sequence_id = x_to_op_seq_id;
314:
315: FND_MESSAGE.SET_NAME('BOM','BOM_LINK_ALREADY_EXISTS');
316: FND_MESSAGE.SET_TOKEN('FROM_OP_SEQ_ID',to_char(from_op_seq_num), FALSE);
317: FND_MESSAGE.SET_TOKEN('TO_OP_SEQ_ID',to_char(to_op_seq_num), FALSE);
318: x_return_code := 'F';
319: x_error_msg := FND_MESSAGE.GET;
312: FROM bom_operation_sequences
313: WHERE operation_sequence_id = x_to_op_seq_id;
314:
315: FND_MESSAGE.SET_NAME('BOM','BOM_LINK_ALREADY_EXISTS');
316: FND_MESSAGE.SET_TOKEN('FROM_OP_SEQ_ID',to_char(from_op_seq_num), FALSE);
317: FND_MESSAGE.SET_TOKEN('TO_OP_SEQ_ID',to_char(to_op_seq_num), FALSE);
318: x_return_code := 'F';
319: x_error_msg := FND_MESSAGE.GET;
320:
313: WHERE operation_sequence_id = x_to_op_seq_id;
314:
315: FND_MESSAGE.SET_NAME('BOM','BOM_LINK_ALREADY_EXISTS');
316: FND_MESSAGE.SET_TOKEN('FROM_OP_SEQ_ID',to_char(from_op_seq_num), FALSE);
317: FND_MESSAGE.SET_TOKEN('TO_OP_SEQ_ID',to_char(to_op_seq_num), FALSE);
318: x_return_code := 'F';
319: x_error_msg := FND_MESSAGE.GET;
320:
321: ELSIF (x_transition_type <> 3
315: FND_MESSAGE.SET_NAME('BOM','BOM_LINK_ALREADY_EXISTS');
316: FND_MESSAGE.SET_TOKEN('FROM_OP_SEQ_ID',to_char(from_op_seq_num), FALSE);
317: FND_MESSAGE.SET_TOKEN('TO_OP_SEQ_ID',to_char(to_op_seq_num), FALSE);
318: x_return_code := 'F';
319: x_error_msg := FND_MESSAGE.GET;
320:
321: ELSIF (x_transition_type <> 3
322: and (nvl(sum_planning_pct,0) + x_planning_pct) > 100)
323: OR (x_transition_type = 3 and (nvl(sum_planning_pct,0) > 100)) THEN
326: INTO op_type, from_op_seq_num
327: FROM bom_operation_sequences
328: WHERE operation_sequence_id = x_from_op_seq_id;
329:
330: FND_MESSAGE.SET_NAME('BOM','BOM_CHECK_PLANNING_PERCENT');
331: IF (op_type = 2) THEN
332: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
333: ELSE
334: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
328: WHERE operation_sequence_id = x_from_op_seq_id;
329:
330: FND_MESSAGE.SET_NAME('BOM','BOM_CHECK_PLANNING_PERCENT');
331: IF (op_type = 2) THEN
332: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
333: ELSE
334: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
335: END IF;
336: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
330: FND_MESSAGE.SET_NAME('BOM','BOM_CHECK_PLANNING_PERCENT');
331: IF (op_type = 2) THEN
332: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
333: ELSE
334: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
335: END IF;
336: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
337:
338: x_return_code := 'F';
332: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_PROCESS', TRUE);
333: ELSE
334: FND_MESSAGE.SET_TOKEN('OPERATION', 'BOM_LINE_OPERATION', TRUE);
335: END IF;
336: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
337:
338: x_return_code := 'F';
339: x_error_msg := FND_MESSAGE.GET;
340:
335: END IF;
336: FND_MESSAGE.SET_TOKEN('SEQUENCE_NUMBER',to_char(from_op_seq_num), FALSE);
337:
338: x_return_code := 'F';
339: x_error_msg := FND_MESSAGE.GET;
340:
341: ELSE
342: x_return_code := 'S';
343: x_error_msg := '';
344: END IF;
345:
346: EXCEPTION
347: WHEN NO_DATA_FOUND THEN
348: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
349: x_return_code := 'F';
350: x_error_msg := FND_MESSAGE.GET;
351:
352: END Validate_Link;
346: EXCEPTION
347: WHEN NO_DATA_FOUND THEN
348: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
349: x_return_code := 'F';
350: x_error_msg := FND_MESSAGE.GET;
351:
352: END Validate_Link;
353:
354: PROCEDURE Move_Node(
368: last_updated_by = x_last_updated_by,
369: last_update_date = NVL(x_last_update_date, SYSDATE)
370: WHERE operation_sequence_id = x_operation_sequence_id;
371: IF (SQL%NOTFOUND) THEN
372: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
373: x_return_code := 'F';
374: x_error_msg := FND_MESSAGE.GET;
375: ELSE
376: x_return_code := 'S';
370: WHERE operation_sequence_id = x_operation_sequence_id;
371: IF (SQL%NOTFOUND) THEN
372: FND_MESSAGE.SET_NAME('BOM','BOM_EVNT_DOES_NOT_EXIST');
373: x_return_code := 'F';
374: x_error_msg := FND_MESSAGE.GET;
375: ELSE
376: x_return_code := 'S';
377: x_error_msg := '';
378: END IF;