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 ...
随机推荐
- WPF中的TextBlock隐藏边框
TextBlock默认是有边框的,显示效果如下:有一个淡蓝色的边框围绕着 如果需要隐藏这个边框,则只需要在代码中加上以下代码即可: BorderBrush="{x:Null}" B ...
- [总结]其他杂项数学相关(定理&证明&板子)
目录 写在前面 一类反演问题 莫比乌斯反演 快速莫比乌斯变换(反演)与子集卷积 莫比乌斯变换(反演) 子集卷积 二项式反演 内容 证明 应用举例 另一形式 斯特林反演 第一类斯特林数 第二类斯特林数 ...
- [NOI 2015]寿司晚宴
Description 题库链接 给定 \(2\sim n\) 一共 \(n-1\) 个数字,第一个人选择一些数字,第二个人选择一些数字,要求第一个人选的任意一个数字和第二个人选择的任意一个数字都互质 ...
- UIKit 框架之UIControl
前面的UIWebView.UIImageView这些都是视图,显示为主,与用户交互较少,最多也就是通过UIResponder与用户交互.但这样会很麻烦,还要判断点击次数等等问题,那问题就来了:OC中怎 ...
- 检测锁及死锁详细信息,及sql语句
SELECT SessionID = s.Session_id, l.request_session_id spid, a.blocked, a.start_time, a.ecid, OBJECT_ ...
- SQL Server 数据库的鼠标操作
在数据库中一些操作用鼠标进行可视化操作更方便快捷 一 SQL Server 开启 任务栏——任务管理器——服务——MSSQLSERVER 开启 我的电脑——控制面板——管理工具——服务——MSSQLS ...
- Eclipse启动tomcat后404错误
题描述 在eclipse部署web项目后,发现tomcat可以启动,但是访问http://localhost:8080地址报404错误.而不使用eclipse启动tomcat,直接通过通过tomcat ...
- 批处理TOMCAT8.0自动重启任务
@echo title tomcat重启 set num=7001 //端口号,根据tomcat的设置项设置set JAVA_HOME=D:\software\Java\jdk1.8.0_131 / ...
- EF数据库优先模式(二)
接着上一节的内容,建立好EF数据模型(DataFirst)之后,创建一个借口类,将公用的借口放到接口类里面 public interface IObjectLoader<T,TM> { ...
- 把多个js函数绑定到onload时间处理函数上
js的window.onload=function();网页加载完毕时会触发一个onload事件,这个事件与window对象相关联,是让一个函数在网页加载完毕之后得到执行.但是如果有两个韩式first ...