zoukankan      html  css  js  c++  java
  • 批量更改Item的属性

    用户需求:需要更改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(1284350749401);--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;

             

                成长

           /      |     \

        学习   总结   分享

    QQ交流群:122230156

  • 相关阅读:
    Eclipse使用之将Git项目转为Maven项目, ( 注意: 最后没有pom.xml文件的, 要转化下 )
    静态类型语言,动态类型语言的区别
    UT, FT ,E2E 测试的意思
    git tag 用法 功能作用
    java 常用异常及作用
    git checkout -b 分支name 分支的新建, 切换, 删除, 查看
    项目上有红色感叹号, 一般就是依赖包有问题, remove依赖,重新加载,maven的也行可认删除,自己也会得新加载
    密码学初级教程(五)消息认证码MAC-Message Authentication Code
    密码学初级教程(六)数字签名 Digital Signature
    密码学初级教程(四)单向散列函数-指纹-
  • 原文地址:https://www.cnblogs.com/benio/p/2203788.html
Copyright © 2011-2022 走看看