批量更改Item的屬性

來源:互聯網
上載者:User

使用者需求:需要更改1200個Item的Lead_time_lot_size的值。

1. 用dataload是一種辦法,但是比較費時間。

2. 後面用暫存資料表+Update直接改mtl_system_items_b表。

 

DECLARE
   --共1143行
    CURSOR cur_upd_data IS
        SELECT segment1,
                 LEAD_TIME_LOT_SIZE
          FROM inv.ascp_inv_item_temp;
BEGIN
   
    FOR rec_upd_data IN cur_upd_data
    LOOP
        UPDATE apps.mtl_system_items_b t
            SET lead_time_lot_size = rec_upd_data.LEAD_TIME_LOT_SIZE
         WHERE t.organization_id = &org_id
            AND T.ITEM_TYPE = 'FG'
            AND t.inventory_item_status_code = 'Active'
            AND t.segment1 = rec_upd_data.segment1;
    END LOOP;
   
   COMMIT;
END;

 

3. 當然也可以用暫存資料表+標準的API修改ITEM相關屬性。

DECLARE
    l_item_rec      inv_item_grp.item_rec_type;
    l_error_tbl     inv_item_grp.error_tbl_type;
    x_item_rec      inv_item_grp.item_rec_type;
    l_return_status VARCHAR2(40);
BEGIN
    inv_globals.set_org_id(&org_id);
    fnd_global.apps_initialize(12843, 50749, 401);--userid,resposi_id,app_id
    l_item_rec.inventory_item_id   := 423007;
    l_item_rec.organization_id     := &org_id; --You master organization
    l_item_rec.lead_time_lot_size := 100000;
    inv_item_grp.update_item(p_commit           => fnd_api.g_false,
                                     p_lock_rows        => fnd_api.g_true,
                                     p_validation_level => fnd_api.g_valid_level_full,
                                     p_item_rec         => l_item_rec,
                                     x_item_rec         => x_item_rec,
                                     x_return_status    => l_return_status,
                                     x_error_tbl        => l_error_tbl);
    DBMS_OUTPUT.put_line(l_return_status);

    IF l_error_tbl.COUNT() > 0 THEN
        FOR i IN 1 .. l_error_tbl.COUNT
        LOOP
            DBMS_OUTPUT.put_line(l_error_tbl.MESSAGE_TEXT);
            DBMS_OUTPUT.put_line(l_error_tbl.message_name);
        END LOOP;
    END IF;
   COMMIT;
END;

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.