PROCEDURE xxxx_iso_shipping_bkrd (errbuf OUT VARCHAR2, retcode OUT VARCHAR2)
IS
x_return_status VARCHAR2 (3000);
x_msg_count NUMBER;
x_msg_data VARCHAR2 (3000);
l_msg_count NUMBER;
l_msg_data VARCHAR2 (2000);
l_msg_index NUMBER;
--Standard Parameters.
p_api_version_number NUMBER;
init_msg_list VARCHAR2 (30);
x_msg_details VARCHAR2 (3000);
x_msg_summary VARCHAR2 (3000);
p_validation_level NUMBER;
p_commit VARCHAR2 (30);
--Parameters for WSH_DELIVERIES_PUB.Delivery_Action.
p_action_code VARCHAR2 (15);
p_delivery_id NUMBER;
p_delivery_name VARCHAR2 (30);
p_asg_trip_id NUMBER;
p_asg_trip_name VARCHAR2 (30);
p_asg_pickup_stop_id NUMBER;
p_asg_pickup_loc_id NUMBER;
p_asg_pickup_loc_code VARCHAR2 (30);
p_asg_pickup_arr_date DATE;
p_asg_pickup_dep_date DATE;
p_asg_dropoff_stop_id NUMBER;
p_asg_dropoff_loc_id NUMBER;
p_asg_dropoff_loc_code VARCHAR2 (30);
p_asg_dropoff_arr_date DATE;
p_asg_dropoff_dep_date DATE;
p_sc_action_flag VARCHAR2 (10);
p_sc_close_trip_flag VARCHAR2 (10);
p_sc_create_bol_flag VARCHAR2 (10);
p_sc_stage_del_flag VARCHAR2 (10);
p_sc_trip_ship_method VARCHAR2 (30);
p_sc_actual_dep_date VARCHAR2 (30);
p_sc_report_set_id NUMBER;
p_sc_report_set_name VARCHAR2 (60);
p_wv_override_flag VARCHAR2 (10);
x_trip_id VARCHAR2 (30);
x_trip_name VARCHAR2 (30);
/*Handle exceptions*/
fail_api EXCEPTION;
CURSOR lc_get_iso_ship_data
IS
SELECT ooh.header_id, ooh.order_number, wnd.delivery_id,
wnd.NAME delivery_name,
SUBSTR (wdd.source_header_type_name, 1, 3) whse
FROM oe_order_headers_all ooh,
wsh_delivery_details wdd,
wsh_new_deliveries wnd,
wsh_delivery_assignments wda
WHERE 1 = 1
AND ooh.header_id = wdd.source_header_id
AND wdd.delivery_detail_id = wda.delivery_detail_id
AND wda.delivery_id = wnd.delivery_id
AND wdd.released_status = 'Y'
--AND ooh.order_source_id = 10
--And wda.delivery_id = '776213' --- if required pass delivery id as parameter in concurrent program
AND TRUNC (SYSDATE) - TO_DATE (ooh.booked_date) = 1;
ln_user_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
ln_reason_id NUMBER;
BEGIN
ln_user_id := apps.fnd_profile.VALUE ('USER_ID');
IF ln_user_id IS NULL
THEN
ln_user_id := -1;
END IF;
ln_resp_id := apps.fnd_profile.VALUE ('RESP_ID');
ln_resp_app_id := apps.fnd_profile.VALUE ('RESP_APPL_ID');
BEGIN
fnd_global.apps_initialize (ln_user_id, ln_resp_id, ln_resp_app_id);
END;
FOR lc_iso_ship_dt IN lc_get_iso_ship_data
LOOP
EXIT WHEN lc_get_iso_ship_data%NOTFOUND;
p_action_code := 'CONFIRM'; -- The action code for ship confirm
p_delivery_id := lc_iso_ship_dt.delivery_id;
--620600; -- The delivery that needs to be confirmed
p_delivery_name := lc_iso_ship_dt.delivery_name;
--'620600'; -- The delivery name,
p_sc_action_flag := 'C'; -- Ship entered quantity.
p_sc_stage_del_flag := 'N'; --
--p_sc_trip_ship_method := Null; -- The ship method code
/*Call to WSH_DELIVERIES_PUB.Delivery_Action. */
wsh_deliveries_pub.delivery_action
(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_id => p_delivery_id,
p_delivery_name => p_delivery_name,
p_asg_trip_id => p_asg_trip_id,
p_asg_trip_name => p_asg_trip_name,
p_asg_pickup_stop_id => p_asg_pickup_stop_id,
p_asg_pickup_loc_id => p_asg_pickup_loc_id,
p_asg_pickup_loc_code => p_asg_pickup_loc_code,
p_asg_pickup_arr_date => p_asg_pickup_arr_date,
p_asg_pickup_dep_date => p_asg_pickup_dep_date,
p_asg_dropoff_stop_id => p_asg_dropoff_stop_id,
p_asg_dropoff_loc_id => p_asg_dropoff_loc_id,
p_asg_dropoff_loc_code => p_asg_dropoff_loc_code,
p_asg_dropoff_arr_date => p_asg_dropoff_arr_date,
p_asg_dropoff_dep_date => p_asg_dropoff_dep_date,
p_sc_action_flag => p_sc_action_flag,
p_sc_close_trip_flag => p_sc_close_trip_flag,
p_sc_create_bol_flag => p_sc_create_bol_flag,
p_sc_stage_del_flag => p_sc_stage_del_flag,
p_sc_trip_ship_method => p_sc_trip_ship_method,
p_sc_actual_dep_date => p_sc_actual_dep_date,
p_sc_report_set_id => p_sc_report_set_id,
p_sc_report_set_name => p_sc_report_set_name,
p_wv_override_flag => p_wv_override_flag,
x_trip_id => x_trip_id,
x_trip_name => x_trip_name
);
IF (x_return_status <> wsh_util_core.g_ret_sts_success)
THEN
fnd_file.put_line (fnd_file.LOG,
'Successfully BackOrdered for Order Number - '
|| lc_iso_ship_dt.order_number
);
COMMIT;
ELSE
fnd_file.put_line
(fnd_file.LOG,
'Could not able to Back Order Line Due to Following Reasons -'
|| x_return_status
|| ' for header id - '
|| lc_iso_ship_dt.header_id
);
ROLLBACK;
/* FOR j IN 1 .. l_msg_count
LOOP
fnd_msg_pub.get (p_msg_index => j,
p_encoded => fnd_api.g_false,
p_data => l_msg_data,
p_msg_index_out => l_msg_index);
fnd_file.put_line(fnd_file.log,'Error Message is=> '|| l_msg_data);
END LOOP;*/
END IF;
END LOOP;
COMMIT;
END;