43: if l_debug_level > 0 then
44: oe_debug_pub.add('ENTER Complete_Negotiation',1);
45: end if;
46:
47: x_return_status := FND_API.G_RET_STS_SUCCESS;
48:
49:
50: -- Query/Lock order header and lines
51:
53: (p_header_id => p_header_id
54: ,p_x_header_rec => l_old_header_rec
55: ,x_return_status => l_return_status
56: );
57: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
60: RAISE FND_API.G_EXC_ERROR;
61: END IF;
54: ,p_x_header_rec => l_old_header_rec
55: ,x_return_status => l_return_status
56: );
57: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
60: RAISE FND_API.G_EXC_ERROR;
61: END IF;
62:
55: ,x_return_status => l_return_status
56: );
57: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
60: RAISE FND_API.G_EXC_ERROR;
61: END IF;
62:
63: OE_Line_Util.Lock_Rows
56: );
57: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
58: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
60: RAISE FND_API.G_EXC_ERROR;
61: END IF;
62:
63: OE_Line_Util.Lock_Rows
64: (p_header_id => p_header_id
64: (p_header_id => p_header_id
65: ,x_line_tbl => l_old_line_tbl
66: ,x_return_status => l_return_status
67: );
68: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
69: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
71: RAISE FND_API.G_EXC_ERROR;
72: END IF;
65: ,x_line_tbl => l_old_line_tbl
66: ,x_return_status => l_return_status
67: );
68: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
69: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
71: RAISE FND_API.G_EXC_ERROR;
72: END IF;
73:
66: ,x_return_status => l_return_status
67: );
68: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
69: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
71: RAISE FND_API.G_EXC_ERROR;
72: END IF;
73:
74:
67: );
68: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
69: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
71: RAISE FND_API.G_EXC_ERROR;
72: END IF;
73:
74:
75: -- Set attributes on header and lines to change phase
81: l_header_rec.operation := oe_globals.g_opr_update;
82: l_header_rec.transaction_phase_code := 'F';
83:
84: IF l_header_rec.ordered_date IS NULL THEN
85: l_header_rec.ordered_date := FND_API.G_MISS_DATE;--bug8477340
86: END IF;
87:
88: oe_debug_pub.add('old quote date :'||to_char(l_old_header_rec.quote_date
89: ,'DD-MON-YYYY HH24:MI:SS'));
103: l_line_tbl(I).transaction_phase_code := 'F';
104: l_line_tbl(I).flow_status_code := 'ENTERED';
105:
106: -- Following schedule dates should default in fulfillment phase
107: l_line_tbl(I).schedule_ship_date := fnd_api.g_miss_date;
108: l_line_tbl(I).schedule_arrival_date := fnd_api.g_miss_date;
109:
110: -- Bug 3519935
111: -- Send reason as SYSTEM, this will be used if audit constraint to
104: l_line_tbl(I).flow_status_code := 'ENTERED';
105:
106: -- Following schedule dates should default in fulfillment phase
107: l_line_tbl(I).schedule_ship_date := fnd_api.g_miss_date;
108: l_line_tbl(I).schedule_arrival_date := fnd_api.g_miss_date;
109:
110: -- Bug 3519935
111: -- Send reason as SYSTEM, this will be used if audit constraint to
112: -- require reason or versioning constraint to require reason is
127:
128: OE_Order_PVT.Process_Order
129: (p_api_version_number => 1.0
130: -- no attribute validation needed
131: ,p_validation_level => fnd_api.g_valid_level_none
132: ,p_control_rec => l_control_rec
133: ,p_x_header_rec => l_header_rec
134: ,p_old_header_rec => l_old_header_rec
135: ,p_x_line_tbl => l_line_tbl
155:
156: -- Re-set global to N after process order call
157: G_COMPLETE_NEG := 'N';
158:
159: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
160: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
161: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
162: RAISE FND_API.G_EXC_ERROR;
163: END IF;
156: -- Re-set global to N after process order call
157: G_COMPLETE_NEG := 'N';
158:
159: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
160: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
161: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
162: RAISE FND_API.G_EXC_ERROR;
163: END IF;
164:
157: G_COMPLETE_NEG := 'N';
158:
159: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
160: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
161: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
162: RAISE FND_API.G_EXC_ERROR;
163: END IF;
164:
165: OE_MSG_PUB.Count_And_Get
158:
159: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
160: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
161: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
162: RAISE FND_API.G_EXC_ERROR;
163: END IF;
164:
165: OE_MSG_PUB.Count_And_Get
166: ( p_count => x_msg_count
172: end if;
173:
174: EXCEPTION
175:
176: WHEN FND_API.G_EXC_ERROR THEN
177: G_COMPLETE_NEG := 'N';
178: x_return_status := FND_API.G_RET_STS_ERROR;
179: OE_MSG_PUB.Count_And_Get
180: ( p_count => x_msg_count
174: EXCEPTION
175:
176: WHEN FND_API.G_EXC_ERROR THEN
177: G_COMPLETE_NEG := 'N';
178: x_return_status := FND_API.G_RET_STS_ERROR;
179: OE_MSG_PUB.Count_And_Get
180: ( p_count => x_msg_count
181: , p_data => x_msg_data
182: );
180: ( p_count => x_msg_count
181: , p_data => x_msg_data
182: );
183:
184: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
185: G_COMPLETE_NEG := 'N';
186: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
187: OE_MSG_PUB.Count_And_Get
188: ( p_count => x_msg_count
182: );
183:
184: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
185: G_COMPLETE_NEG := 'N';
186: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
187: OE_MSG_PUB.Count_And_Get
188: ( p_count => x_msg_count
189: , p_data => x_msg_data
190: );
196: (G_PKG_NAME
197: ,'Complete_Negotiation'
198: );
199: END IF;
200: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
201: OE_MSG_PUB.Count_And_Get
202: ( p_count => x_msg_count
203: , p_data => x_msg_data
204: );