As
a next step to booking, a new delivery needs to be created. In order to create
a new delivery we need to call the shipping API
“WSH_DELIVERIES_PUB.Create_update_delivery” by passing the required and
optional parameter values.
Specific
parameters:
·
P_api_version_number => 1.0
·
p_action_code => CREATE
-- for creating new delivery
·
p_delivery_info => Attributes of the
delivery entity of type Delivery_Pub_Rec_Type
The
sample script attached here can be used to create a new delivery.
DECLARE
-- Standard
Parameters.
p_api_version NUMBER;
init_msg_list VARCHAR2(30);
p_commit VARCHAR2(30);
-- Sepcific Parameters for
WSH_DELIVERIES_PUB.create_update_delivery
p_action_code VARCHAR2(15);
delivery_id NUMBER;
delivery_info WSH_DELIVERIES_PUB.DELIVERY_PUB_REC_TYPE;
delivery_name VARCHAR2(30);
-- out parameters
x_return_status VARCHAR2(10);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
x_msg_details VARCHAR2(3000);
x_msg_summary VARCHAR2(3000);
-- Handle exceptions
fail_api EXCEPTION;
BEGIN
-- Initialize return
status
x_return_status :=
WSH_UTIL_CORE.G_RET_STS_SUCCESS;
-- Call this procedure to
initialize applications parameters.
FND_GLOBAL.APPS_INITIALIZE(1318,
21623, 660);
-- Create a new delivery
for the following
delivery_info.name :=
'XXAA_OEDL_001'; --
Pass delivery name
delivery_info.organization_id :=
207; --
Pass Organization ID
delivery_info.initial_pickup_location_id :=
207; --
Pass the Pick up location ID
delivery_info.ultimate_dropoff_location_id :=
1091; --
pass the Drop off location ID
delivery_info.ship_method_code :=
'DHL'; -- pass Ship Method
p_action_code :=
'CREATE'; --
Action Code
-- Call to
WSH_DELIVERIES_PUB.create_update_delivery
WSH_DELIVERIES_PUB.create_update_delivery(
p_api_version_number =>
1.0,
p_init_msg_list =>
init_msg_list,
x_return_status =>
x_return_status,
x_msg_count =>
x_msg_count,
x_msg_data =>
x_msg_data,
p_action_code =>
p_action_code,
p_delivery_info =>
delivery_info,
p_delivery_name =>
delivery_name,
x_delivery_id =>
delivery_id,
x_name =>
delivery_name );
-- If the return status is
not success(S) then raise exception
if
(x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS)
then
raise
fail_api;
else
dbms_output.put_line('New
Delivery ID : '||delivery_id);
dbms_output.put_line('New
Delivery Name: '||delivery_name);
end
if;
EXCEPTION
when
fail_api then
WSH_UTIL_CORE.get_messages('Y',
x_msg_summary, x_msg_details,x_msg_count);
if
x_msg_count > 1
then
x_msg_data :=
x_msg_summary || x_msg_details;
Dbms_output.put_line('Message
Data : '||x_msg_data);
else
x_msg_data :=
x_msg_summary;
Dbms_output.put_line('Message
Data : '||x_msg_data);
end
if;
END;
/
COMMIT;
No comments:
Post a Comment