EBS INV 计算现有量(标准API)、保留量、可用量 ---根据批次、库存组织、子库

8 篇文章 0 订阅

现有量= 可用量+保留量;

1.现有量<br> --批次

    CURSOR c_lot_number(l_organization_id NUMBER) IS

      SELECT mln.lot_number,

             mln.expiration_date

        FROM mtl_lot_numbers mln

       WHERE mln.inventory_item_id = p_inventory_item_id

        -- AND mln.status_id = 1 --有效合格批次

         AND mln.organization_id = l_organization_id; --需要添加合格字段

 FOR rec_loc IN c_lot_number(p_organization_id)

    LOOP

      --遍历批次。取合格批次。

      inv_quantity_tree_pub.query_quantities(p_api_version_number  => 1.0,

                                             p_init_msg_lst        => NULL,

                                             x_return_status       => l_return_status,

                                             x_msg_count           => l_msg_count,

                                             x_msg_data            => l_msg_data,

                                             p_organization_id     => p_organization_id, --仓库ID

                                             p_inventory_item_id   => p_inventory_item_id, --物料ID

                                             p_tree_mode           => 3,

                                             p_is_revision_control => FALSE,

                                             p_is_lot_control      => TRUE,

                                             p_is_serial_control   => FALSE,

                                             p_revision            => NULL,

                                             p_lot_number          => rec_loc.lot_number,

                                             p_lot_expiration_date => rec_loc.expiration_date,

                                             p_subinventory_code   => p_subinventory_code, --子库code

                                             p_locator_id          => NULL, --rec_loc.locator_id,

                                             p_cost_group_id       => NULL,

                                             p_onhand_source       => inv_quantity_tree_pvt.g_all_subs,

                                             x_qoh                 => l_qoh, --现有量

                                             x_rqoh                => l_atp_qty,

                                             x_qr                  => l_qr,

                                             x_qs                  => l_qs,

                                             x_att                 => l_att,

                                             x_atr                 => l_atr);

     

      IF l_return_status = fnd_api.g_ret_sts_success THEN

        l_onhand := l_onhand + l_qoh;

      ELSE

        log('Error:获取先有量出错');

      END IF;

     

    END LOOP;

   

2. 保留量 SELECT nvl(SUM(qty), 0)

      INTO l_reserv

      FROM (SELECT mr.reservation_quantity qty,

                   msi.segment1

              FROM mtl_reservations   mr,

                   mtl_system_items_b msi

             WHERE 1 = 1

               AND mr.demand_source_type_id <> 2 --排除SO

               AND mr.inventory_item_id = msi.inventory_item_id

               AND mr.organization_id = msi.organization_id

               AND mr.subinventory_code = p_subinventory_code

               AND msi.inventory_item_id = p_inventory_item_id

               AND msi.organization_id = p_organization_id

            UNION

            SELECT mmt.transaction_quantity qty,

                   msi.segment1

              FROM mtl_material_transactions_temp mmt,

                   mtl_system_items_b             msi

             WHERE 1 = 1

               AND mmt.transaction_source_type_id <> 2 --排除SO

               AND mmt.subinventory_code = p_subinventory_code

               AND mmt.inventory_item_id = msi.inventory_item_id

               AND mmt.organization_id = msi.organization_id

               AND msi.inventory_item_id = p_inventory_item_id

               AND msi.organization_id = p_organization_id);

<br>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值