Showing posts with label Scripts. Show all posts
Showing posts with label Scripts. Show all posts

Wednesday, May 22, 2013

Script to pick release the orders which are in B, R status


/***************************************************************************************
 * TYPE            : Script                                                            *
 * NAME            : PICK_RELESE.sql                                   *
 * PURPOSE         : The script will pick release the orders which are in B, R status  *
 *                                                                                     *
 * Author    Date          Ver    Description                                          *
 * --------  -----------  ----   -------------------------- ---------------------------*
 * XXXXXXX   20-Feb-2020    1.00   Created                                             *
 ***************************************************************************************/

SET SERVEROUTPUT ON;
SET SERVEROUTPUT ON SIZE 100000;
ALTER SESSION SET current_schema=apps;


DECLARE
    CURSOR CUR_GET_DATA IS
        SELECT WDD.SOURCE_LINE_ID     P_LINE_ID,
                     WDD.INVENTORY_ITEM_ID  P_ITEM_ID,
                     WDD.DELIVERY_DETAIL_ID P_DELIVERY_DETAIL_ID,
                     WDD.BATCH_ID           P_BATCH_ID,
                     WDD.SOURCE_HEADER_ID   P_HEADER_ID,
                     WDD.MOVE_ORDER_LINE_ID P_MOVE_ORDER_LINE_ID
            FROM APPS.WSH_DELIVERY_DETAILS WDD,
                 OE_ORDER_HEADERS_ALL OOH
         WHERE WDD.SOURCE_HEADER_ID = OOH.HEADER_ID
         AND   ooh.org_id = 82
and wdd.organization_id = 331
         --AND ooh.header_id in (137508997)
                  and ooh.header_id in (135503888)        
             AND WDD.RELEASED_STATUS IN ('B','R');

    CURSOR CUR_OM_GET_ORDER_DATA(P_OE_HEADER_ID NUMBER) IS
        SELECT OEOHA.HEADER_ID,
                     OEOHA.ORDER_NUMBER,
                     OEOHA.ATTRIBUTE2 PB_ID,
                     OEOHA.SHIPPING_METHOD_CODE,
                     OEOHA.ORDER_TYPE_ID,
                     OEOHA.SOLD_TO_ORG_ID,
                     OEOHA.SHIP_FROM_ORG_ID,
                     OEOHA.SALES_CHANNEL_CODE,
                     OEOHA.ORDERED_DATE,
                     OEOHA.REQUEST_DATE,
                     OEOHA.ATTRIBUTE17 OPMAIN_WHSE_ID,
                     OTTA.ATTRIBUTE13 AUTOSHIP_CONFIRM
            FROM OE_ORDER_HEADERS_ALL OEOHA, OE_TRANSACTION_TYPES_ALL OTTA
         WHERE OEOHA.ORDER_TYPE_ID = OTTA.TRANSACTION_TYPE_ID
             AND OEOHA.ATTRIBUTE7 IS NOT NULL
             AND OEOHA.BOOKED_FLAG = 'Y'
             AND OEOHA.CANCELLED_FLAG != 'Y'
             AND OEOHA.HEADER_ID = P_OE_HEADER_ID;

    CURSOR CUR_GET_DELIVERIES(P_NUM_ORDER_HEADER_ID NUMBER, P_ORDER_LINE_ID NUMBER, P_INV_ITEM_ID NUMBER, P_DELIVERY_DET_ID NUMBER) IS
        SELECT WSHDV.SOURCE_LINE_NUMBER,
                     WSHDV.ITEM_DESCRIPTION,
                     WSHDV.DELIVERY_DETAIL_ID,
                     WSHDV.INVENTORY_ITEM_ID,
                     WSHDV.SOURCE_LINE_ID,
                     WSHDV.DELIVERY_ID,
                     WSHDV.REQUESTED_QUANTITY_UOM,
                     WSHDV.BATCH_ID,
                     WSHDV.ORIGINAL_SUBINVENTORY,
                     WSHDV.SRC_REQUESTED_QUANTITY ORDERED_QUANTITY,
                     WSHDV.REQUESTED_QUANTITY,
                     WSHDV.RELEASED_STATUS_NAME,
                     WSHDV.RELEASED_STATUS
            FROM WSH_DELIVERABLES_V WSHDV, OE_ORDER_LINES_ALL OEOLA
         WHERE OEOLA.LINE_ID = WSHDV.SOURCE_LINE_ID
             AND WSHDV.SOURCE_HEADER_ID = OEOLA.HEADER_ID
             AND OEOLA.HEADER_ID = P_NUM_ORDER_HEADER_ID
             AND OEOLA.LINE_ID = P_ORDER_LINE_ID
             AND WSHDV.RELEASED_STATUS IN ('B','R')
             AND WSHDV.INVENTORY_ITEM_ID = P_INV_ITEM_ID
             AND WSHDV.DELIVERY_DETAIL_ID = P_DELIVERY_DET_ID
         ORDER BY WSHDV.REQUESTED_QUANTITY;

    --   AND NVL(WSHDV.BATCH_ID, P_NUM_BATCH_ID) = P_NUM_BATCH_ID;
    CURSOR DELETE_RESERVATION_CUR(P_NUM_LINE_ID NUMBER) IS
        SELECT RESERVATION_ID
            FROM MTL_RESERVATIONS
         WHERE DEMAND_SOURCE_LINE_ID = P_NUM_LINE_ID;

       L_NUM_BATCH_ID          NUMBER;
       L_CHR_PL_RESULT         VARCHAR2(100);
       L_CHR_PL_PHASE          VARCHAR2(30);
       L_CHR_PL_SKIP           VARCHAR2(1) := 'N';
       L_CHR_DISTRIBUTOR_ID    VARCHAR2(1000);
       L_CHR_BATCH_NAME        WSH_PICKING_BATCHES.NAME%TYPE;
       L_NUM_HEADER_ID         NUMBER;
       L_NUM_SHIP_CONF_RULE_ID WSH_SHIP_CONFIRM_RULES.SHIP_CONFIRM_RULE_ID%TYPE;
       L_NUM_USER_ID           NUMBER;
       L_NUM_RESP_ID           NUMBER;
       L_NUM_RESP_APPL_ID      NUMBER;
       L_CHR_TRACKING          VARCHAR2(500);
       L_CHR_BOX               VARCHAR2(500);
       L_DT_SHIP               DATE;
       L_CHR_SHIPWT            VARCHAR2(150);
       L_ORIGINAL_RSV_REC      INV_RESERVATION_GLOBAL.MTL_RESERVATION_REC_TYPE;
       L_TBL_SERIAL_NUM1       INV_RESERVATION_GLOBAL.SERIAL_NUMBER_TBL_TYPE;
       L_NUM_REQUEST_ID        NUMBER;
       L_RETURN_STATUS         VARCHAR2(2000);
       L_MSG_DATA              VARCHAR2(2000);
       L_MSG_COUNT             NUMBER;
       LN_PICK_FROM_LOCATOR_ID NUMBER;
       P_PICK_LOC_ACT          VARCHAR2(500);
       LC_SUBINV_CODE          VARCHAR2(500);
BEGIN
        L_NUM_USER_ID := 9009;
    L_NUM_RESP_ID      := 61563;
    L_NUM_RESP_APPL_ID := 20044;
   

    FND_GLOBAL.APPS_INITIALIZE(USER_ID      => L_NUM_USER_ID,
                   RESP_ID      => L_NUM_RESP_ID,
                   RESP_APPL_ID => L_NUM_RESP_APPL_ID);

    FOR A IN CUR_GET_DATA LOOP
        FOR REC_OM_GET_ORDER_DATA IN CUR_OM_GET_ORDER_DATA(A.P_HEADER_ID) LOOP
            L_NUM_HEADER_ID := REC_OM_GET_ORDER_DATA.HEADER_ID;
       
            ---CURSOR CUR_GET_DELIVERIES(P_NUM_ORDER_HEADER_ID NUMBER, P_ORDER_LINE_ID NUMBER,P_INV_ITEM_ID NUMBER,P_DELIVERY_DET_ID NUMBER) IS
            FOR J IN CUR_GET_DELIVERIES(REC_OM_GET_ORDER_DATA.HEADER_ID,
                            A.P_LINE_ID,
                            A.P_ITEM_ID,
                            A.P_DELIVERY_DETAIL_ID) LOOP
                SELECT MTL_TXN_REQUEST_HEADERS_S.NEXTVAL
                    INTO L_NUM_BATCH_ID
                    FROM DUAL;
           
                L_CHR_DISTRIBUTOR_ID    := REC_OM_GET_ORDER_DATA.PB_ID;
                L_CHR_BATCH_NAME        := 'XX_PICK_' || TO_CHAR(L_NUM_BATCH_ID);
                L_NUM_SHIP_CONF_RULE_ID := 0;
           
                BEGIN
                    INSERT INTO WSH_PICKING_BATCHES
                        (BATCH_ID,
                         NAME,
                         BACKORDERS_ONLY_FLAG,
                         EXISTING_RSVS_ONLY_FLAG,
                         CUSTOMER_ID,
                         ORDER_HEADER_ID,
                         ORDER_LINE_ID,
                         ORDER_TYPE_ID,
                         INCLUDE_PLANNED_LINES,
                         CREATION_DATE,
                         CREATED_BY,
                         LAST_UPDATE_DATE,
                         LAST_UPDATED_BY,
                         LAST_UPDATE_LOGIN,
                         PROGRAM_APPLICATION_ID,
                         PROGRAM_ID,
                         PROGRAM_UPDATE_DATE,
                         REQUEST_ID,
                         AUTO_PICK_CONFIRM_FLAG,
                         AUTOPACK_FLAG,
                         AUTOPACK_LEVEL,
                         AUTODETAIL_PR_FLAG,
                         AUTOCREATE_DELIVERY_FLAG,
                         SHIPMENT_PRIORITY_CODE,
                         SHIP_METHOD_CODE,
                         CARRIER_ID,
                         SHIP_TO_LOCATION_ID,
                         SHIP_SET_NUMBER,
                         SUBINVENTORY,
                         SHIP_FROM_LOCATION_ID,
                         DEFAULT_STAGE_SUBINVENTORY,
                         DEFAULT_STAGE_LOCATOR_ID,
                         PICK_FROM_SUBINVENTORY,
                         PICK_FROM_LOCATOR_ID,
                         PICK_GROUPING_RULE_ID,
                         PICK_SEQUENCE_RULE_ID,
                         PARTIAL_ALLOWED_FLAG,
                         SHIP_CONFIRM_RULE_ID)
                    VALUES
                        (L_NUM_BATCH_ID,
                         L_CHR_BATCH_NAME,
                         'O',
                         'N',
                         REC_OM_GET_ORDER_DATA.SOLD_TO_ORG_ID,
                         REC_OM_GET_ORDER_DATA.HEADER_ID,
                         J.SOURCE_LINE_ID,
                         REC_OM_GET_ORDER_DATA.ORDER_TYPE_ID,
                         'N',
                         SYSDATE,
                         -1,
                         SYSDATE,
                         -1,
                         -1,
                         -1,
                         -1,
                         SYSDATE,
                         -1,
                         'Y', -- AUTO PICK CONFIRM FLAG
                         'N',
                         0,
                         'Y',
                         'Y',
                         NULL,
                         NULL,
                         NULL,
                         NULL,
                         NULL,
                         NULL,
                         NULL,
                         'XXXX69', --default_stage_subinventory,
                         56564, --default_stage_locator_id,
                         'XXXX21', -- pick_from_subinventory,
                         NULL,
                         -- pick_from_locator_id,
                         1006, -- pick_grouping_rule_id,
                         1006, --pick_sequence_rule_id,
                         NULL, -- partial_allowed_flag,
                         L_NUM_SHIP_CONF_RULE_ID);
               
                    dbms_output.put_line('l_num_batch_id ' || l_num_batch_id);
                EXCEPTION
                    WHEN OTHERS THEN
                        dbms_output.put_line('INSERT FAILED' || SQLERRM);
                        --p_batch_id := 0;
                END;
           
                COMMIT;
                begin
                WSH_PICK_LIST.ONLINE_RELEASE(L_NUM_BATCH_ID,
                                                                         L_CHR_PL_RESULT,
                                                                         L_CHR_PL_PHASE,
                                                                         L_CHR_PL_SKIP);
                --p_batch_id := l_num_batch_id;
                exception when others then
                 null;
                end;
                COMMIT;
            END LOOP;
        END LOOP;
    END LOOP;
END;
/

Script to ship confirm the staged picked lines


/**************************************************************************************
 * TYPE            : Script                                                           *
 * NAME            : ship_confirm.sql                                    *
 * PURPOSE         : This is to ship confirm the staged picked lines                  *
 *                                                                                    *
 * Author   Date          Ver    Description                                          *
 * ------   -----------  ----   --------------------------- --------------------------*
 * XXXXX  20-Feb-2020    1.00   Created                                             *
 **************************************************************************************/

SET SERVEROUT ON;
alter session set current_schema = apps;

DECLARE
--Parameters for WSH_DELIVERIES_PUB.Delivery_Action.
out_chr_errbuf       VARCHAR2 (3000);
   l_out_chr_errbuf     VARCHAR2 (3000);
   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_intransit_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);
   x_msg_count NUMBER;
   x_msg_data VARCHAR2(2000);
   p_api_version_number NUMBER;
   init_msg_list VARCHAR2(30);
   x_msg_details VARCHAR2(3000);
   x_msg_summary VARCHAR2(3000);
   p_validation_level NUMBER;
   l_chr_status                         VARCHAR2 (3) := 'E';
   x_return_status                      VARCHAR2 (3);
   l_chr_msg_data                       VARCHAR2 (2000);
   l_num_msg_count                      NUMBER;
   l_delivery_detail_id                 wsh_util_core.id_tab_type;
   l_del_rows                           wsh_util_core.id_tab_type;
   l_num_index                          BINARY_INTEGER;
   l_del_id                             NUMBER;
  -- l_chr_check_delivery               VARCHAR2 (3);
   l_chr_return_status                  VARCHAR2(100);
   l_chr_msg                            VARCHAR2(3000);
   l_chr_result                         VARCHAR2(30);
   l_num_line_id                        oe_order_lines_all.line_id%TYPE;
   l_num_user_id                        NUMBER;
   l_num_resp_id                        fnd_responsibility_vl.responsibility_id%TYPE;
   l_num_resp_appl_id                   fnd_application.application_id%TYPE;
   EXP_EXIT                             EXCEPTION;
   f_log                                UTL_FILE.file_type;
   l_num_count                          NUMBER;
 
   CURSOR cur_get_del_details
   IS
   SELECT wdd.delivery_detail_id,ooha.order_number,
          wda.delivery_id,wdd.organization_id
     FROM wsh_delivery_details wdd,
          oe_order_headers_all ooha,
          wsh_delivery_assignments wda
    WHERE ooha.header_id=wdd.source_header_id
      AND wdd.released_status='Y'
      AND wda.delivery_detail_id=wdd.delivery_detail_id
 AND wdd.organization_id = 331
      --AND ooha.header_id in (137508997)
 and wdd.source_header_id in (135503888);
     
BEGIN
 
   fnd_global.apps_initialize (11009, 67142, 20044);

   l_delivery_detail_id.DELETE;
   l_del_rows.DELETE;
   l_num_count:=0;
   FOR rec_get_del_details IN cur_get_del_details
   LOOP
      l_num_index:=1;
      l_delivery_detail_id.DELETE;
      l_del_rows.DELETE;
      IF rec_get_del_details.delivery_id IS NULL THEN
         l_delivery_detail_id(l_num_index):=rec_get_del_details.delivery_detail_id;
         WSH_DELIVERY_DETAILS_PUB.AUTOCREATE_DELIVERIES (1.0
                                                    , fnd_api.g_true
                                                    , fnd_api.g_true
                                                    , l_chr_status
                                                    , l_num_msg_count
                                                    , l_chr_msg_data
                                                    , l_delivery_detail_id
                                                    , l_del_rows
                                                    );
          l_del_id:=l_del_rows(l_num_index);
        ELSE
           l_del_id:=rec_get_del_details.delivery_id;
        END IF;    
                
       --Ship confirm the delivery
        p_action_code := 'CONFIRM'; -- The action code for ship confirm
        p_delivery_id := l_del_id; -- The delivery that needs to be confirmed
        p_delivery_name := to_char(l_del_id); -- The delivery name,
        p_sc_action_flag := 'S'; -- Ship entered quantity.
        p_sc_intransit_flag := 'Y'; -- In transit flag is set to 'Y' closes the
       p_sc_close_trip_flag := 'Y'; -- Close the trip after ship confirm
  --    p_sc_trip_ship_method := 'GROUND'; -- The ship method code
 --    Call to WSH_DELIVERIES_PUB.Delivery_Action.

       begin
        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_intransit_flag => p_sc_intransit_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);
      exception when others then
       null;
      end;

      l_num_count:=l_num_count+1;
      begin
      WSH_UTIL_CORE.get_messages('Y', x_msg_summary, x_msg_details, x_msg_count);
      exception when others then
       null;
      end;
   END LOOP;
      COMMIT;
   BEGIN
         WSH_SHIP_CONFIRM_ACTIONS.INTERFACE_ALL (errbuf                 => out_chr_errbuf,
                                                 retcode                => l_out_chr_errbuf,
                                                 p_mode                 => 'ALL',
                                                 p_stop_id              => NULL,
                                                 p_delivery_id          => NULL,
                                                 p_log_level            => 0,
                                                 p_batch_id             => NULL,
                                                 p_trip_type            => NULL,
                                                 p_organization_id      => 331,
                                                 p_stops_per_batch      => NULL
                                                );
      COMMIT;
      EXCEPTION
         WHEN OTHERS
         THEN
            DBMS_OUTPUT.put_line ('Error while ITT');
   END;
EXCEPTION
   WHEN OTHERS THEN
null;
END;
/

Script to backorder the orders which are in Ready to Warehouse status


/***************************************************************************************
 * TYPE            : Script                                                            *
 * NAME            : BACKORDER.sql                                                     *
 * PURPOSE         : The script will backorder the orders which are RTW status         *
 *                                                                                     *
 * Author    Date          Ver    Description                                          *
 * --------  -----------  ----   -------------------------- ---------------------------*
 * XXXXXXX   02-Feb-2020    1.00   Created                                               *
 ***************************************************************************************/

alter session set current_schema = apps;

SET SERVEROUTPUT ON;
SET SERVEROUTPUT ON SIZE 100000;

DECLARE
   x_return_status   VARCHAR2 (5000);
   x_msg_count       NUMBER;
   x_msg_data        VARCHAR2 (5000);
   l_num_user_id             NUMBER;
   l_num_resp_id             NUMBER;
   l_num_resp_appl_id        NUMBER;

   CURSOR get_line_id
   IS
      SELECT DISTINCT wdd.move_order_line_id
                 FROM apps.wsh_delivery_details wdd, apps.oe_order_headers_all ooh
                WHERE wdd.source_header_id = ooh.header_id
                  AND wdd.released_status = 'S' --Ready To Warehouse
                  --AND ooh.header_id in (137508997)
 and wdd.organization_id = 331
 and wdd.source_header_id in (135503888);

BEGIN
 
   fnd_global.apps_initialize (11009, 67143, 20044);
 

   FOR rec_get_line_id IN get_line_id
   LOOP
      INV_MO_BACKORDER_PVT.BACKORDER (rec_get_line_id.move_order_line_id,
                                      x_return_status,
                                      x_msg_count,
                                      x_msg_data
                                     );
      COMMIT;
    END LOOP;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('ERROR  ' || SQLERRM);
END;
/

Script to get Item On Hand Quantity


SET SERVEROUTPUT ON SIZE 900000;
ALTER SESSION SET current_schema = apps;

DECLARE
   v_api_return_status    VARCHAR2 (500);
   v_qty_oh               NUMBER;
   v_qty_res_oh           NUMBER;
   v_qty_res              NUMBER;
   v_qty_sug              NUMBER;
   v_qty_att              NUMBER;
   v_qty_atr              NUMBER;
   v_msg_count            NUMBER;
   v_msg_data             VARCHAR2 (1000);

   CURSOR c_item_info (
      l_subinventory_code   VARCHAR2,
      l_organization_id     NUMBER,
      l_inventory_item_id   NUMBER
   )
   IS
      SELECT   inventory_item_id, subinventory_code, organization_id
          FROM apps.mtl_onhand_quantities_detail
         WHERE inventory_item_id =
                                 NVL (l_inventory_item_id, inventory_item_id)
           AND organization_id = l_organization_id
           AND subinventory_code = l_subinventory_code
      GROUP BY inventory_item_id, organization_id, subinventory_code;

   ln_subinventory_code   VARCHAR2 (100);
   ln_organization_id     NUMBER;
   ln_inventory_item_id   NUMBER;
   l_item                 VARCHAR2 (15);
BEGIN
/*Mandatory */
   ln_subinventory_code := 'LAAC11';                  --:p_subinventory_code;
/*Mandatory*/
   ln_organization_id := 331;                           --:p_organization_id;
/*Optional*/
   ln_inventory_item_id := NULL;                      --:p_inventory_item_id;
   inv_quantity_tree_grp.clear_quantity_cache;
   DBMS_OUTPUT.put_line ('Sub Inventory|Organization Id|Item|Onhand Qty|Available To Transact|Available To Reserve');

   FOR i IN c_item_info (ln_subinventory_code,
                         ln_organization_id,
                         ln_inventory_item_id
                        )
   LOOP
      BEGIN
         SELECT segment1
           INTO l_item
           FROM mtl_system_items_b
          WHERE inventory_item_id = i.inventory_item_id
            AND organization_id = i.organization_id;
      EXCEPTION
         WHEN OTHERS
         THEN
            l_item := NULL;
      END;

      APPS.INV_QUANTITY_TREE_PUB.QUERY_QUANTITIES
                (p_api_version_number       => 1.0,
                 p_init_msg_lst             => apps.fnd_api.g_false,
                 x_return_status            => v_api_return_status,
                 x_msg_count                => v_msg_count,
                 x_msg_data                 => v_msg_data,
                 p_organization_id          => i.organization_id,
                 p_inventory_item_id        => i.inventory_item_id,
                 p_tree_mode                => apps.inv_quantity_tree_pub.g_transaction_mode,
                 p_onhand_source            => apps.inv_quantity_tree_pvt.g_all_subs,
                                                                          --3,
                 p_is_revision_control      => FALSE,
                 p_is_lot_control           => FALSE,
                 p_is_serial_control        => FALSE,
                 p_revision                 => NULL,
                 p_lot_number               => NULL,
                 p_subinventory_code        => i.subinventory_code,
                 p_locator_id               => NULL,
                 x_qoh                      => v_qty_oh,
                 x_rqoh                     => v_qty_res_oh,
                 x_qr                       => v_qty_res,
                 x_qs                       => v_qty_sug,
                 x_att                      => v_qty_att,
                 x_atr                      => v_qty_atr
                );
    DBMS_OUTPUT.put_line (i.subinventory_code||'|'||i.organization_id||'|'||l_item||'|'||v_qty_oh||'|'||v_qty_att||'|'||v_qty_atr);          
   END LOOP;
EXCEPTION
   WHEN OTHERS
   THEN
      raise_application_error (-20001,    'An error was encountered - ' || SQLCODE || ' -ERROR- '|| SQLERRM);
END;
/

Related Posts Plugin for WordPress, Blogger...