35: l_sub_component_rec Bom_Bo_Pub.Sub_Component_Rec_Type := p_sub_component_rec;
36: BEGIN
37:
38: /*
39: IF l_sub_component_rec.substitute_component_id = FND_API.G_MISS_NUM THEN
40: l_sub_component_rec.substitute_component_id := NULL;
41: END IF;
42:
43: IF l_sub_component_rec.last_update_date = FND_API.G_MISS_DATE THEN
39: IF l_sub_component_rec.substitute_component_id = FND_API.G_MISS_NUM THEN
40: l_sub_component_rec.substitute_component_id := NULL;
41: END IF;
42:
43: IF l_sub_component_rec.last_update_date = FND_API.G_MISS_DATE THEN
44: l_sub_component_rec.last_update_date := NULL;
45: END IF;
46:
47: IF l_sub_component_rec.last_updated_by = FND_API.G_MISS_NUM THEN
43: IF l_sub_component_rec.last_update_date = FND_API.G_MISS_DATE THEN
44: l_sub_component_rec.last_update_date := NULL;
45: END IF;
46:
47: IF l_sub_component_rec.last_updated_by = FND_API.G_MISS_NUM THEN
48: l_sub_component_rec.last_updated_by := NULL;
49: END IF;
50:
51: IF l_sub_component_rec.creation_date = FND_API.G_MISS_DATE THEN
47: IF l_sub_component_rec.last_updated_by = FND_API.G_MISS_NUM THEN
48: l_sub_component_rec.last_updated_by := NULL;
49: END IF;
50:
51: IF l_sub_component_rec.creation_date = FND_API.G_MISS_DATE THEN
52: l_sub_component_rec.creation_date := NULL;
53: END IF;
54:
55: IF l_sub_component_rec.created_by = FND_API.G_MISS_NUM THEN
51: IF l_sub_component_rec.creation_date = FND_API.G_MISS_DATE THEN
52: l_sub_component_rec.creation_date := NULL;
53: END IF;
54:
55: IF l_sub_component_rec.created_by = FND_API.G_MISS_NUM THEN
56: l_sub_component_rec.created_by := NULL;
57: END IF;
58:
59: IF l_sub_component_rec.last_update_login = FND_API.G_MISS_NUM THEN
55: IF l_sub_component_rec.created_by = FND_API.G_MISS_NUM THEN
56: l_sub_component_rec.created_by := NULL;
57: END IF;
58:
59: IF l_sub_component_rec.last_update_login = FND_API.G_MISS_NUM THEN
60: l_sub_component_rec.last_update_login := NULL;
61: END IF;
62:
63: IF l_sub_component_rec.substitute_item_quantity = FND_API.G_MISS_NUM THEN
59: IF l_sub_component_rec.last_update_login = FND_API.G_MISS_NUM THEN
60: l_sub_component_rec.last_update_login := NULL;
61: END IF;
62:
63: IF l_sub_component_rec.substitute_item_quantity = FND_API.G_MISS_NUM THEN
64: l_sub_component_rec.substitute_item_quantity := NULL;
65: END IF;
66:
67: IF l_sub_component_rec.component_sequence_id = FND_API.G_MISS_NUM THEN
63: IF l_sub_component_rec.substitute_item_quantity = FND_API.G_MISS_NUM THEN
64: l_sub_component_rec.substitute_item_quantity := NULL;
65: END IF;
66:
67: IF l_sub_component_rec.component_sequence_id = FND_API.G_MISS_NUM THEN
68: l_sub_component_rec.component_sequence_id := NULL;
69: END IF;
70:
71: IF l_sub_component_rec.acd_type = FND_API.G_MISS_NUM THEN
67: IF l_sub_component_rec.component_sequence_id = FND_API.G_MISS_NUM THEN
68: l_sub_component_rec.component_sequence_id := NULL;
69: END IF;
70:
71: IF l_sub_component_rec.acd_type = FND_API.G_MISS_NUM THEN
72: l_sub_component_rec.acd_type := NULL;
73: END IF;
74:
75: IF l_sub_component_rec.change_notice = FND_API.G_MISS_CHAR THEN
71: IF l_sub_component_rec.acd_type = FND_API.G_MISS_NUM THEN
72: l_sub_component_rec.acd_type := NULL;
73: END IF;
74:
75: IF l_sub_component_rec.change_notice = FND_API.G_MISS_CHAR THEN
76: l_sub_component_rec.change_notice := NULL;
77: END IF;
78:
79: IF l_sub_component_rec.request_id = FND_API.G_MISS_NUM THEN
75: IF l_sub_component_rec.change_notice = FND_API.G_MISS_CHAR THEN
76: l_sub_component_rec.change_notice := NULL;
77: END IF;
78:
79: IF l_sub_component_rec.request_id = FND_API.G_MISS_NUM THEN
80: l_sub_component_rec.request_id := NULL;
81: END IF;
82:
83: IF l_sub_component_rec.program_application_id = FND_API.G_MISS_NUM THEN
79: IF l_sub_component_rec.request_id = FND_API.G_MISS_NUM THEN
80: l_sub_component_rec.request_id := NULL;
81: END IF;
82:
83: IF l_sub_component_rec.program_application_id = FND_API.G_MISS_NUM THEN
84: l_sub_component_rec.program_application_id := NULL;
85: END IF;
86:
87: IF l_sub_component_rec.program_update_date = FND_API.G_MISS_DATE THEN
83: IF l_sub_component_rec.program_application_id = FND_API.G_MISS_NUM THEN
84: l_sub_component_rec.program_application_id := NULL;
85: END IF;
86:
87: IF l_sub_component_rec.program_update_date = FND_API.G_MISS_DATE THEN
88: l_sub_component_rec.program_update_date := NULL;
89: END IF;
90:
91: IF l_sub_component_rec.attribute_category = FND_API.G_MISS_CHAR THEN
87: IF l_sub_component_rec.program_update_date = FND_API.G_MISS_DATE THEN
88: l_sub_component_rec.program_update_date := NULL;
89: END IF;
90:
91: IF l_sub_component_rec.attribute_category = FND_API.G_MISS_CHAR THEN
92: l_sub_component_rec.attribute_category := NULL;
93: END IF;
94:
95: IF l_sub_component_rec.attribute1 = FND_API.G_MISS_CHAR THEN
91: IF l_sub_component_rec.attribute_category = FND_API.G_MISS_CHAR THEN
92: l_sub_component_rec.attribute_category := NULL;
93: END IF;
94:
95: IF l_sub_component_rec.attribute1 = FND_API.G_MISS_CHAR THEN
96: l_sub_component_rec.attribute1 := NULL;
97: END IF;
98:
99: IF l_sub_component_rec.attribute2 = FND_API.G_MISS_CHAR THEN
95: IF l_sub_component_rec.attribute1 = FND_API.G_MISS_CHAR THEN
96: l_sub_component_rec.attribute1 := NULL;
97: END IF;
98:
99: IF l_sub_component_rec.attribute2 = FND_API.G_MISS_CHAR THEN
100: l_sub_component_rec.attribute2 := NULL;
101: END IF;
102:
103: IF l_sub_component_rec.attribute4 = FND_API.G_MISS_CHAR THEN
99: IF l_sub_component_rec.attribute2 = FND_API.G_MISS_CHAR THEN
100: l_sub_component_rec.attribute2 := NULL;
101: END IF;
102:
103: IF l_sub_component_rec.attribute4 = FND_API.G_MISS_CHAR THEN
104: l_sub_component_rec.attribute4 := NULL;
105: END IF;
106:
107: IF l_sub_component_rec.attribute5 = FND_API.G_MISS_CHAR THEN
103: IF l_sub_component_rec.attribute4 = FND_API.G_MISS_CHAR THEN
104: l_sub_component_rec.attribute4 := NULL;
105: END IF;
106:
107: IF l_sub_component_rec.attribute5 = FND_API.G_MISS_CHAR THEN
108: l_sub_component_rec.attribute5 := NULL;
109: END IF;
110:
111: IF l_sub_component_rec.attribute6 = FND_API.G_MISS_CHAR THEN
107: IF l_sub_component_rec.attribute5 = FND_API.G_MISS_CHAR THEN
108: l_sub_component_rec.attribute5 := NULL;
109: END IF;
110:
111: IF l_sub_component_rec.attribute6 = FND_API.G_MISS_CHAR THEN
112: l_sub_component_rec.attribute6 := NULL;
113: END IF;
114:
115: IF l_sub_component_rec.attribute8 = FND_API.G_MISS_CHAR THEN
111: IF l_sub_component_rec.attribute6 = FND_API.G_MISS_CHAR THEN
112: l_sub_component_rec.attribute6 := NULL;
113: END IF;
114:
115: IF l_sub_component_rec.attribute8 = FND_API.G_MISS_CHAR THEN
116: l_sub_component_rec.attribute8 := NULL;
117: END IF;
118:
119: IF l_sub_component_rec.attribute9 = FND_API.G_MISS_CHAR THEN
115: IF l_sub_component_rec.attribute8 = FND_API.G_MISS_CHAR THEN
116: l_sub_component_rec.attribute8 := NULL;
117: END IF;
118:
119: IF l_sub_component_rec.attribute9 = FND_API.G_MISS_CHAR THEN
120: l_sub_component_rec.attribute9 := NULL;
121: END IF;
122:
123: IF l_sub_component_rec.attribute10 = FND_API.G_MISS_CHAR THEN
119: IF l_sub_component_rec.attribute9 = FND_API.G_MISS_CHAR THEN
120: l_sub_component_rec.attribute9 := NULL;
121: END IF;
122:
123: IF l_sub_component_rec.attribute10 = FND_API.G_MISS_CHAR THEN
124: l_sub_component_rec.attribute10 := NULL;
125: END IF;
126:
127: IF l_sub_component_rec.attribute12 = FND_API.G_MISS_CHAR THEN
123: IF l_sub_component_rec.attribute10 = FND_API.G_MISS_CHAR THEN
124: l_sub_component_rec.attribute10 := NULL;
125: END IF;
126:
127: IF l_sub_component_rec.attribute12 = FND_API.G_MISS_CHAR THEN
128: l_sub_component_rec.attribute12 := NULL;
129: END IF;
130:
131: IF l_sub_component_rec.attribute13 = FND_API.G_MISS_CHAR THEN
127: IF l_sub_component_rec.attribute12 = FND_API.G_MISS_CHAR THEN
128: l_sub_component_rec.attribute12 := NULL;
129: END IF;
130:
131: IF l_sub_component_rec.attribute13 = FND_API.G_MISS_CHAR THEN
132: l_sub_component_rec.attribute13 := NULL;
133: END IF;
134:
135: IF l_sub_component_rec.attribute14 = FND_API.G_MISS_CHAR THEN
131: IF l_sub_component_rec.attribute13 = FND_API.G_MISS_CHAR THEN
132: l_sub_component_rec.attribute13 := NULL;
133: END IF;
134:
135: IF l_sub_component_rec.attribute14 = FND_API.G_MISS_CHAR THEN
136: l_sub_component_rec.attribute14 := NULL;
137: END IF;
138:
139: IF l_sub_component_rec.attribute15 = FND_API.G_MISS_CHAR THEN
135: IF l_sub_component_rec.attribute14 = FND_API.G_MISS_CHAR THEN
136: l_sub_component_rec.attribute14 := NULL;
137: END IF;
138:
139: IF l_sub_component_rec.attribute15 = FND_API.G_MISS_CHAR THEN
140: l_sub_component_rec.attribute15 := NULL;
141: END IF;
142:
143: IF l_sub_component_rec.program_id = FND_API.G_MISS_NUM THEN
139: IF l_sub_component_rec.attribute15 = FND_API.G_MISS_CHAR THEN
140: l_sub_component_rec.attribute15 := NULL;
141: END IF;
142:
143: IF l_sub_component_rec.program_id = FND_API.G_MISS_NUM THEN
144: l_sub_component_rec.program_id := NULL;
145: END IF;
146:
147: IF l_sub_component_rec.attribute3 = FND_API.G_MISS_CHAR THEN
143: IF l_sub_component_rec.program_id = FND_API.G_MISS_NUM THEN
144: l_sub_component_rec.program_id := NULL;
145: END IF;
146:
147: IF l_sub_component_rec.attribute3 = FND_API.G_MISS_CHAR THEN
148: l_sub_component_rec.attribute3 := NULL;
149: END IF;
150:
151: IF l_sub_component_rec.attribute7 = FND_API.G_MISS_CHAR THEN
147: IF l_sub_component_rec.attribute3 = FND_API.G_MISS_CHAR THEN
148: l_sub_component_rec.attribute3 := NULL;
149: END IF;
150:
151: IF l_sub_component_rec.attribute7 = FND_API.G_MISS_CHAR THEN
152: l_sub_component_rec.attribute7 := NULL;
153: END IF;
154:
155: IF l_sub_component_rec.attribute11 = FND_API.G_MISS_CHAR THEN
151: IF l_sub_component_rec.attribute7 = FND_API.G_MISS_CHAR THEN
152: l_sub_component_rec.attribute7 := NULL;
153: END IF;
154:
155: IF l_sub_component_rec.attribute11 = FND_API.G_MISS_CHAR THEN
156: l_sub_component_rec.attribute11 := NULL;
157: END IF;
158:
159: */
206: --bug:3254815 Update request id, prog id, prog appl id and prog update date.
207: UPDATE BOM_SUBSTITUTE_COMPONENTS
208: SET SUBSTITUTE_COMPONENT_ID = DECODE(p_sub_comp_Unexp_rec.new_substitute_component_id,
209: NULL, p_sub_comp_Unexp_rec.substitute_component_id,
210: FND_API.G_MISS_NUM,
211: p_sub_comp_Unexp_rec.substitute_component_id,
212: p_sub_comp_Unexp_rec.new_substitute_component_id
213: )
214: , SUBSTITUTE_ITEM_QUANTITY =
255: p_sub_comp_Unexp_rec.substitute_component_id)
256: , p_acd_type => p_sub_component_rec.acd_type
257: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
258: , x_Return_Status => x_return_status);
259: --x_return_status := FND_API.G_RET_STS_SUCCESS;
260: EXCEPTION
261:
262: WHEN NO_DATA_FOUND THEN
263: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
268: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
269: );
270: END IF;
271:
272: x_return_status := FND_API.G_RET_STS_ERROR;
273: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
274:
275: WHEN OTHERS THEN
276:
288: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
289: );
290: END IF;
291: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
292: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
293:
294: END Update_Row;
295:
296: /********************************************************************
391: BOMPCMBM.Insert_Related_Sub_Comp(p_component_sequence_id => p_sub_comp_Unexp_rec.component_sequence_id
392: , p_sub_comp_item_id => p_sub_comp_unexp_rec.substitute_component_id
393: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
394: , x_Return_Status => x_return_status);
395: --x_return_status := FND_API.G_RET_STS_SUCCESS;
396:
397: EXCEPTION
398:
399: WHEN OTHERS THEN
409: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
410: );
411: END IF;
412: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
413: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
414:
415: END Insert_Row;
416:
417:
466: );
467: BOMPCMBM.Delete_Related_Sub_Comp( p_src_comp_seq => p_component_sequence_id
468: , p_sub_comp_item_id => p_substitute_component_id
469: , x_return_status => x_return_status);
470: --x_return_status := FND_API.G_RET_STS_SUCCESS;
471:
472: EXCEPTION
473:
474: WHEN OTHERS THEN
486: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
487: );
488: END IF;
489: x_Mesg_Token_Tbl := l_Mesg_Token_Tbl;
490: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
491:
492: END Delete_Row;
493:
494: /********************************************************************
566: , x_Sub_Comp_Unexp_Rec.enforce_int_requirements_code
567: FROM BOM_SUBSTITUTE_COMPONENTS
568: WHERE SUBSTITUTE_COMPONENT_ID = p_substitute_component_id
569: AND COMPONENT_SEQUENCE_ID = p_component_sequence_id
570: AND NVL(DECODE(ACD_TYPE, FND_API.G_MISS_NUM, null, acd_type), 1) =
571: NVL(DECODE(p_acd_type, FND_API.G_MISS_NUM, null, p_acd_type), 1)
572: /* Bug 5726557; The code is modified inorder to update an
573: Substitute component when implemneted through an ECO */
574: ;
567: FROM BOM_SUBSTITUTE_COMPONENTS
568: WHERE SUBSTITUTE_COMPONENT_ID = p_substitute_component_id
569: AND COMPONENT_SEQUENCE_ID = p_component_sequence_id
570: AND NVL(DECODE(ACD_TYPE, FND_API.G_MISS_NUM, null, acd_type), 1) =
571: NVL(DECODE(p_acd_type, FND_API.G_MISS_NUM, null, p_acd_type), 1)
572: /* Bug 5726557; The code is modified inorder to update an
573: Substitute component when implemneted through an ECO */
574: ;
575:
573: Substitute component when implemneted through an ECO */
574: ;
575:
576: IF x_sub_comp_unexp_rec.enforce_int_requirements_code IS NOT NULL AND
577: x_sub_comp_unexp_rec.enforce_int_requirements_code <> FND_API.G_MISS_NUM THEN
578: SELECT meaning INTO l_sub_component_rec.enforce_int_requirements FROM mfg_lookups
579: WHERE lookup_type = 'BOM_ENFORCE_INT_REQUIREMENTS' AND
580: lookup_code = x_sub_comp_unexp_rec.enforce_int_requirements_code;
581: END IF;
625: l_sub_comp_unexp_rec := p_sub_comp_unexp_rec;
626:
627: IF l_sub_component_rec.transaction_type IS NULL THEN
628: Error_Handler.Write_Debug ('In SCOMP Perform Writes ...is NULL');
629: ELSIF l_sub_component_rec.transaction_type = FND_API.G_MISS_CHAR THEN
630: Error_Handler.Write_Debug ('In SCOMP Perform Writes ...is MISSING');
631: ELSE
632: Error_Handler.Write_Debug('In SCOMP Perform Writes...'||l_sub_component_rec.transaction_type);
633: END IF;