66: BEGIN
67:
68: SAVEPOINT fulfill_collateral_request;
69:
70: l_control_rec.book_flag := FND_API.G_TRUE;
71: l_control_rec.calculate_price := FND_API.G_FALSE;
72:
73: FND_MSG_PUB.Initialize;
74:
67:
68: SAVEPOINT fulfill_collateral_request;
69:
70: l_control_rec.book_flag := FND_API.G_TRUE;
71: l_control_rec.calculate_price := FND_API.G_FALSE;
72:
73: FND_MSG_PUB.Initialize;
74:
75: -- Process Order Header
141: MO_GLOBAL.SET_POLICY_CONTEXT ('S',p_order_header_rec.organization_id);
142:
143: ASO_ORDER_INT.create_order(
144: p_api_version_number => 1.0
145: ,p_init_msg_list => FND_API.g_false
146: ,p_commit => FND_API.g_false
147: ,p_qte_rec => l_qte_header_rec
148: ,p_qte_line_tbl => l_qte_line_tbl
149: ,p_header_shipment_tbl => l_hd_shipment_tbl
142:
143: ASO_ORDER_INT.create_order(
144: p_api_version_number => 1.0
145: ,p_init_msg_list => FND_API.g_false
146: ,p_commit => FND_API.g_false
147: ,p_qte_rec => l_qte_header_rec
148: ,p_qte_line_tbl => l_qte_line_tbl
149: ,p_header_shipment_tbl => l_hd_shipment_tbl
150: ,p_line_shipment_tbl => l_ln_shipment_tbl
155: ,x_msg_count => x_msg_count
156: ,x_msg_data => x_msg_data
157: );
158:
159: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
160:
161: INSERT INTO AMS_REQUEST_HISTORY
162: ( REQUEST_HISTORY_ID
163: ,ORDER_ID
181: ,sysdate
182: ,fnd_global.conc_login_id
183: );
184:
185: IF p_commit = Fnd_Api.g_true THEN
186: COMMIT WORK;
187: END IF;
188: ELSIF x_return_status = Fnd_Api.g_ret_sts_error THEN
189: RAISE Fnd_Api.G_EXC_ERROR;
184:
185: IF p_commit = Fnd_Api.g_true THEN
186: COMMIT WORK;
187: END IF;
188: ELSIF x_return_status = Fnd_Api.g_ret_sts_error THEN
189: RAISE Fnd_Api.G_EXC_ERROR;
190: ELSE
191: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
192: END IF;
185: IF p_commit = Fnd_Api.g_true THEN
186: COMMIT WORK;
187: END IF;
188: ELSIF x_return_status = Fnd_Api.g_ret_sts_error THEN
189: RAISE Fnd_Api.G_EXC_ERROR;
190: ELSE
191: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
192: END IF;
193: EXCEPTION
187: END IF;
188: ELSIF x_return_status = Fnd_Api.g_ret_sts_error THEN
189: RAISE Fnd_Api.G_EXC_ERROR;
190: ELSE
191: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
192: END IF;
193: EXCEPTION
194: WHEN Fnd_Api.G_EXC_ERROR THEN
195: x_return_status := Fnd_Api.g_ret_sts_error ;
190: ELSE
191: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
192: END IF;
193: EXCEPTION
194: WHEN Fnd_Api.G_EXC_ERROR THEN
195: x_return_status := Fnd_Api.g_ret_sts_error ;
196: ROLLBACK TO fulfill_collateral_request;
197: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
198: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
191: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
192: END IF;
193: EXCEPTION
194: WHEN Fnd_Api.G_EXC_ERROR THEN
195: x_return_status := Fnd_Api.g_ret_sts_error ;
196: ROLLBACK TO fulfill_collateral_request;
197: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
198: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
199: ROLLBACK TO fulfill_collateral_request;
193: EXCEPTION
194: WHEN Fnd_Api.G_EXC_ERROR THEN
195: x_return_status := Fnd_Api.g_ret_sts_error ;
196: ROLLBACK TO fulfill_collateral_request;
197: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
198: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
199: ROLLBACK TO fulfill_collateral_request;
200: WHEN OTHERS THEN
201: x_return_status := Fnd_Api.g_ret_sts_unexp_erroR ;
194: WHEN Fnd_Api.G_EXC_ERROR THEN
195: x_return_status := Fnd_Api.g_ret_sts_error ;
196: ROLLBACK TO fulfill_collateral_request;
197: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
198: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
199: ROLLBACK TO fulfill_collateral_request;
200: WHEN OTHERS THEN
201: x_return_status := Fnd_Api.g_ret_sts_unexp_erroR ;
202: ROLLBACK TO fulfill_collateral_request;
197: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
198: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
199: ROLLBACK TO fulfill_collateral_request;
200: WHEN OTHERS THEN
201: x_return_status := Fnd_Api.g_ret_sts_unexp_erroR ;
202: ROLLBACK TO fulfill_collateral_request;
203: IF Fnd_Msg_Pub.Check_Msg_Level ( Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR )
204: THEN
205: Fnd_Msg_Pub.Add_Exc_Msg( 'AMS_PHYSICAL_FULFILLMENT_PUB','fulfill_collateral_request');
206: END IF;
207: Fnd_Msg_Pub.Count_AND_Get
208: ( p_count => x_msg_count,
209: p_data => x_msg_data,
210: p_encoded => Fnd_Api.G_FALSE
211: );
212: END fulfill_collateral_request;
213:
214: END AMS_physical_fulfillment_PUB;