Monday, December 9, 2013

Ship Confirm API

The following script is used to create a procedure in Database and call the 
procedure by passing the delivery number as a parameter to ship confirm 
it.
You can set the options for 1. Backordering unspecified quantities 2. Closing the delivery automatically by submitting the Trip stop program after ship confirm is successfully



CREATE OR REPLACE PROCEDURE erps_ship_confirm_delivery (

   v_delivery_name      IN       VARCHAR2,          --  delivery number

   v_action             IN       VARCHAR2,          -- Pass 'B' to backorder the unspecified quantity

   p_ship_conf_status   OUT      VARCHAR2,

   x_msg_data           OUT      VARCHAR2

)

IS

   p_api_version_number     NUMBER;

   init_msg_list            VARCHAR2 (30);

   x_msg_count              NUMBER;

   x_msg_details            VARCHAR2 (32000);

   x_msg_summary            VARCHAR2 (32000);

   p_validation_level       NUMBER;

   p_commit                 VARCHAR2 (30);

   x_return_status          VARCHAR2 (15);

   source_code              VARCHAR2 (15);

   changed_attributes       wsh_delivery_details_pub.changedattributetabtype;

   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_defer_iface            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);

   p_msg_data               VARCHAR2 (32000);

   fail_api                 EXCEPTION;

BEGIN

   x_return_status := wsh_util_core.g_ret_sts_success;

   p_action_code := 'CONFIRM';

   p_delivery_name := v_delivery_name;

   p_sc_action_flag := v_action;

   p_sc_close_trip_flag := 'Y';-- Trip stop concurrent program will be submitted automatically

   p_defer_iface := 'N';

   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                     => p_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_sc_defer_interface_flag      => p_defer_iface,

                            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

      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;

      ELSE

         x_msg_data := x_msg_summary;

      END IF;

      p_ship_conf_status := 'E';

   ELSE

      p_ship_conf_status := 'S';

   END IF;

END erps_ship_confirm_delivery;

No comments:

Post a Comment