Oracle EBS OPM 查询现有量
--查询现有量
--created by jenrry
DECLARE
p_inventory_item_id NUMBER := 231652; --NOT NULL
p_organization_id NUMBER := 104; --NOT NULL
p_subinventory VARCHAR2(30) := 'JSK01';
p_locator_id NUMBER := NULL;
p_lot_number VARCHAR2(30) := NULL;
p_qty_type VARCHAR2(30) := 'QOH';
p_onhand_source NUMBER := 3; l_quantity NUMBER;
-- reutnr msg parameter
l_return_status VARCHAR2(1);
l_msg_count NUMBER;
l_msg_data VARCHAR2(2000); -- return quantity parameter
l_qty_on_hand NUMBER;
l_qty_res_on_hand NUMBER;
l_qty_res NUMBER;
l_qty_sug NUMBER;
l_qty_att NUMBER;
l_qty_available_to_reserve NUMBER;
l_sqty_on_hand NUMBER;
l_sqty_res_on_hand NUMBER;
l_sqty_res NUMBER;
l_sqty_sug NUMBER;
l_sqty_att NUMBER;
l_sqty_available_to_reserve NUMBER; l_revision_control mtl_system_items_b.revision_qty_control_code%TYPE;
l_lot_control_type mtl_system_items_b.lot_control_code%TYPE;
l_item_serial_control_code mtl_system_items_b.serial_number_control_code%TYPE; --contorl parameter
l_is_revision_control BOOLEAN;
l_is_lot_control BOOLEAN;
l_is_serial_control BOOLEAN;
BEGIN
--
-- get attribute of the item
--
SELECT msi.revision_qty_control_code, msi.lot_control_code, msi.serial_number_control_code
INTO l_revision_control, l_lot_control_type, l_item_serial_control_code
FROM mtl_system_items_b msi
WHERE msi.inventory_item_id = p_inventory_item_id
AND msi.organization_id = p_organization_id; IF l_revision_control = 2 THEN
l_is_revision_control := TRUE;
ELSE
l_is_revision_control := FALSE;
END IF; IF l_lot_control_type <> 1 AND p_lot_number IS NOT NULL THEN
l_is_lot_control := TRUE;
ELSE
l_is_lot_control := FALSE;
END IF; IF l_item_serial_control_code = 2 THEN
l_is_serial_control := TRUE;
ELSE
l_is_serial_control := FALSE;
END IF;
inv_quantity_tree_pub.query_quantities(p_api_version_number => 1.0,
p_init_msg_lst => fnd_api.g_false,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_organization_id => p_organization_id,
p_inventory_item_id => p_inventory_item_id,
p_tree_mode => 3,
p_is_revision_control => l_is_revision_control,
p_is_lot_control => l_is_lot_control,
p_is_serial_control => l_is_serial_control,
p_grade_code => NULL,
p_demand_source_type_id => -1,
p_demand_source_header_id => -1,
p_demand_source_line_id => -1,
p_demand_source_name => NULL,
p_revision => NULL,
p_lot_number => p_lot_number,
p_subinventory_code => p_subinventory,
p_locator_id => p_locator_id,
p_onhand_source => p_onhand_source,
x_qoh => l_qty_on_hand,
x_rqoh => l_qty_res_on_hand,
x_qr => l_qty_res,
x_qs => l_qty_sug,
x_att => l_qty_att,
x_atr => l_qty_available_to_reserve,
x_sqoh => l_sqty_on_hand,
x_srqoh => l_sqty_res_on_hand,
x_sqr => l_sqty_res,
x_sqs => l_sqty_sug,
x_satt => l_sqty_att,
x_satr => l_sqty_available_to_reserve);
IF l_return_status = fnd_api.g_ret_sts_success THEN IF p_qty_type = 'QOH' THEN
l_quantity := l_qty_on_hand;
ELSIF p_qty_type = 'ATT' THEN
l_quantity := l_qty_att;
ELSIF p_qty_type = 'QR' THEN
l_quantity := l_qty_res;
ELSIF p_qty_type = 'ATR' THEN
l_quantity := l_qty_available_to_reserve;
ELSE
l_quantity := l_qty_att;
END IF; --IF p_qty_type = 'QOH' THEN
ELSE
l_quantity := NULL;
END IF; dbms_output.put_line('现有量l_qty_on_hand=' || l_qty_on_hand);
dbms_output.put_line('保留现有量l_qty_res_on_hand=' || l_qty_res_on_hand);
dbms_output.put_line('保留量l_qty_res=' || l_qty_res);
dbms_output.put_line('分配量l_qty_sug=' || l_qty_sug);
dbms_output.put_line('可处理l_qty_att=' || l_qty_att);
dbms_output.put_line('可保留l_qty_available_to_reserve=' || l_qty_available_to_reserve); EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('出错' || SQLERRM);
-- RETURN NULL;
END;
Oracle EBS OPM 查询现有量的更多相关文章
- Oracle EBS OPM update material txn
--update_material_txn --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_m ...
- Oracle EBS OPM 生产批创建事务处理
--生产批创建事物处理 --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_mmli_tbl gm ...
- Oracle EBS中查询Profile的各种SQL【转载】
1.List E-Business Suite Profile Option Values For All Levels SELECT p.profile_option_name SHORT_NAME ...
- 【转】Oracle EBS中查询Profile的各种SQL
参考 http://blog.csdn.net/pan_tian/article/details/7652968#t0 Using API FND_PROFILE.save to update pro ...
- Oracle EBS INV 查询物料无值 ECO
查找物料的时候报错 没有输入值 解决方法: 针对FORM做trace 多查看几个生成的trace 搜索 MTL_SYSTEM_ITEMS_b 的信息 查看到最后面的语句(一般可直接查看) 看SQL 哪 ...
- Oracle EBS OPM close batch
--close_batch --created by jenrry DECLARE x_message_count NUMBER; x_message_list VARCHAR2 (4000); x_ ...
- Oracle EBS OPM convert dtl reservation
--convert_dtl_reservation --created by jenrry DECLARE l_reservation_rec mtl_reservations%ROWTYPE; l_ ...
- Oracle EBS OPM complete step
--complete_step --created by jenrry DECLARE x_return_status VARCHAR2 (1); l_exception_material_tbl g ...
- Oracle EBS OPM reshedule batch
--reschedule_batch --created by jenrry DECLARE x_message_count NUMBER; x_message_list VARCHAR2 (2000 ...
随机推荐
- 详解C#委托和事件(二)
一.当我们使用关键字delegate声明一个自定义委托类型时,实际上是声明了一个该名称的类类型,继承自抽象类System.MulticastDelegate,还包含实例方法Invoke.BeginIn ...
- Maven 进阶
一.Maven 版本管理 Maven 的推荐版本号约定为:主版本号.次版本号.增量版本号-<里程碑版本> 开发中的版本要以 -SNAPSHOT 结尾,因为这种快照版本是支持 jar 包被覆 ...
- BIO与NIO、AIO的区别(这个容易理解)
转自:http://blog.csdn.net/skiof007/article/details/52873421 BIO与NIO.AIO的区别(这个容易理解) IO的方式通常分为几种,同步阻塞的BI ...
- SHA-1退休:数千万用户通向加密网站之路被阻
Facebook和Cloudflare警告道:上千万用户将无法访问只使用SHA-2签名证书的HTTPS网站.2016年-2017年是SHA-1算法的缓冲期.2017年开始CA机构将不能颁发含有sh ...
- Spring读取配置文件 @Value
最近在学习Spring如何读取配置文件,记录下方便自己也方便别人: 大致分为两类吧,一种的思路是利用Spring的beanFactoryPostProcessor读取配置文件内容到内存中,也就是应用程 ...
- WIN32控件使用系统样式
定义如下即可: #ifdef _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Mi ...
- FFmpeg开发环境构建
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10035365.html 1. 相关资源介绍 本文主要讲述 linux 平台 x86(及x ...
- C# Owin 创建与测试自己的中间件Middleware(二)
本文纯属介绍怎么简单地创建自己的Owin.还没有理解owin概念的请看上一篇文章:http://www.cnblogs.com/alunchen/p/7049307.html 目录 1.创建项目 2. ...
- 检测SQLServer复制订阅进度
--检测复制订阅进度 --SQLSERVER2012 --创建链接服务器ReadServer,WriteServer,它们分别链接发布服务器.订阅服务器 --修改数据库名称 --在分发服务器执行 US ...
- java.lang.ClassCastException: java.lang.Short cannot be cast to java.lang.String(Short类型无法强转成String类型)
有一行Java代码如下: String code1 = (String)qTable1.getValueAt(i, 0); 这是一个Java的图形界面获取表格中值的代码,其中qTable1.getVa ...