PROCEDURE create_lpn(x_return_status OUT NOCOPY VARCHAR2,
p_box_item_id IN NUMBER,
p_box_number IN VARCHAR2) IS -- Parameters for WSH_CONTAINER_PUB.create_containers p_container_item_name VARCHAR2(2000);
p_container_item_seg fnd_flex_ext.segmentarray; -- p_organization_code VARCHAR2(2000) ;
p_name_prefix VARCHAR2(2000);
p_name_suffix VARCHAR2(2000);
p_base_number NUMBER;
p_num_digits NUMBER;
p_quantity NUMBER;
--P_CONTAINER_ITEM_ID number;
x_container_ids wsh_util_core.id_tab_type;
--out parameters x_msg_details VARCHAR2(3000);
x_msg_summary VARCHAR2(3000); l_msg_count NUMBER;
l_msg_data VARCHAR2(4000);
l_return_status VARCHAR2(240);
l_lpn_dd_id NUMBER; --Handle exceptions
--fail_api EXCEPTION;
BEGIN
-- Initialize return status p_quantity := 1; log('>>> Create LPN begin');
/* log('LPN name: ' || p_box_number);*/ wsh_container_pub.create_containers(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_false,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_container_item_id => p_box_item_id,
p_container_item_name => p_container_item_name,
p_container_item_seg => p_container_item_seg,
p_organization_id => g_organization_id,
p_organization_code => 'SH',
p_name_prefix => p_name_prefix,
p_name_suffix => p_name_suffix,
p_base_number => p_base_number,
p_num_digits => p_num_digits,
p_quantity => p_quantity,
p_container_name => p_box_number,
x_container_ids => x_container_ids); IF (l_return_status <> wsh_util_core.g_ret_sts_success) THEN
x_return_status := 'E'; wsh_util_core.get_messages('Y',
x_msg_summary,
x_msg_details,
l_msg_count);
IF l_msg_count > 1 THEN
l_msg_data := x_msg_summary || x_msg_details;
dbms_output.put_line('Message Data : ' || l_msg_data);
ELSE
l_msg_data := x_msg_summary;
dbms_output.put_line('Message Data : ' || l_msg_data);
END IF; log('Failed to create LPN:' || p_box_number);
--RETURN - 99;
ELSE
x_return_status := 'S'; l_lpn_dd_id := x_container_ids(1); log('Create lpn success. LPN number:[' || p_box_number || '].Delivery detail id: ' || l_lpn_dd_id);
log('>>> Create LPN end');
--RETURN l_lpn_dd_id; END IF; END create_lpn;

给LPN分配交货

--给item分配交货也可以,都是使用delivery_Detail_id
PROCEDURE assign_lpn(x_return_status OUT NOCOPY VARCHAR2,
p_delivery_detail_id IN NUMBER,
p_delivery_id IN NUMBER) IS l_msg_count NUMBER;
l_msg_data VARCHAR2(4000);
l_msg_summary VARCHAR2(4000);
l_return_status VARCHAR2(240); g_dlvb_recs_tab wsh_glbl_var_strct_grp.delivery_details_attr_tbl_type;
g_dlvb_action_prms wsh_glbl_var_strct_grp.dd_action_parameters_rec_type;
g_dlvb_defaults wsh_glbl_var_strct_grp.dd_default_parameters_rec_type;
g_dlvb_out_rec wsh_glbl_var_strct_grp.dd_action_out_rec_type; l_true CONSTANT VARCHAR2(1) := 'T';
l_false CONSTANT VARCHAR2(1) := 'F';
l_phase NUMBER := 2; l_container_name VARCHAR2(40);
l_delivery_name wsh_new_deliveries.name%TYPE; BEGIN
x_return_status := 'S'; BEGIN SELECT wdd.container_name
INTO l_container_name
FROM wsh_delivery_details wdd
WHERE wdd.delivery_detail_id = p_delivery_detail_id;
EXCEPTION
WHEN OTHERS THEN
l_container_name := NULL;
END;
BEGIN
SELECT wnd.name
INTO l_delivery_name
FROM wsh_new_deliveries wnd
WHERE wnd.delivery_id = p_delivery_id;
EXCEPTION
WHEN OTHERS THEN
l_delivery_name := NULL;
END; log('>>> Assign start');
log('LPN Number: ' || l_container_name || ' Delivery: ' || l_delivery_name || 'Delivery ID: ' || p_delivery_id); -- delivetry_detail_id of lpn
g_dlvb_recs_tab(1).delivery_detail_id := p_delivery_detail_id; g_dlvb_action_prms.action_code := 'ASSIGN';
g_dlvb_action_prms.caller := 'WSH_FSTRX';
g_dlvb_action_prms.phase := l_phase;
g_dlvb_action_prms.wv_override_flag := 'Y';
g_dlvb_action_prms.delivery_id := p_delivery_id; --call api
wsh_delivery_details_grp.delivery_detail_action(p_api_version_number => 1.0,
p_init_msg_list => l_true,
p_commit => l_false,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_rec_attr_tab => g_dlvb_recs_tab,
p_action_prms => g_dlvb_action_prms,
x_defaults => g_dlvb_defaults,
x_action_out_rec => g_dlvb_out_rec); IF l_return_status = 'S' THEN
x_return_status := 'S';
log('LPN assign to delivery successfully ');
log('>>> Assign end');
ELSE
x_return_status := 'E';
log('Failed to assign LPN to delivery'); IF l_msg_count = 1 THEN
l_msg_summary := l_msg_data;
log(l_msg_data);
ELSIF l_msg_count > 1 THEN
LOOP l_msg_data := fnd_msg_pub.get(fnd_msg_pub.g_next,
fnd_api.g_false);
IF l_msg_data IS NULL THEN
EXIT;
END IF; log('Message' || '---' || l_msg_data);
l_msg_summary := l_msg_summary || l_msg_data;
END LOOP;
END IF; END IF; EXCEPTION
WHEN OTHERS THEN
x_return_status := 'E'; END assign_lpn;

EBS关于LPN的API【OM】的更多相关文章

  1. Oracle EBS FND User Info API (转) EBS用户账号密码职责相关

    . 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG; --和用户密码处理有关的API FND_WEB_SEC; --和用户职责处理有关的API FND_USER_ ...

  2. 转:Oracle EBS FND User Info API

    转自:http://www.cnblogs.com/quanweiru/p/3775635.html 1. 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG; -- ...

  3. Oracle EBS FND User Info API

    1. 与用户信息相关API PKG. --和用户处理有关的API FND_USER_PKG;     --和用户密码处理有关的API FND_WEB_SEC;     --和用户职责处理有关的API ...

  4. EBS API及接口清单

    https://www.cnblogs.com/lizicheng/p/9521742.html 模块 应用场景 类型 API/接口 AP 付款核销 API ap_pay_invoice_pkg.ap ...

  5. 所有标准API

    序号 系统版本 模块 应用场景 类型 API/接口 参数规格 样例代码 备注 登记者 登记时间 关键字 1 12.1.3 AP 付款核销 API ap_pay_invoice_pkg.ap_pay_i ...

  6. 第八篇 EBS实现企业日常业务运管模型的解决方案设计思路

    常业务运管模型企业有大有小,各行各业,千差万别,但,其日常业务运管也有相通之处,以典型的制造企业为例,其日常业务运管模型如下图所示:       (1)企业日常业务运管模型在市场经济条件下,一个生产型 ...

  7. 【微信支付】公众号 JSAPI支付 HTML5(使用MUI前端框架)+WebApi 实现流程

    必要参数:      1) AppID,AppSecret : 在微信公众号后台管理—>(菜单栏)开发 —> 基本设置     2)商户号 :在微信公众号后台管理—>(菜单栏)微信支 ...

  8. Oracle EBS OM 主要API示例

    1, Book order Oe_Order_Pub.Process_Order ( 1 , Fnd_Api.G_FALSE , Fnd_Api.G_FALSE , Fnd_Api.G_FALSE , ...

  9. OM模块功能&API详解

    (一)销售订单概述 1.1   与车间模块关系 当使用ATO类型订单时,订单管理模块会直接在车间模块中产生任务 1.2   与库存模块关系 在销售订单中使用的物料,单位等信息均来自库存模块,在订单执行 ...

  10. EBS中 EXCEL 格式报表输出的公用API

    http://blog.itpub.net/10359218/viewspace-752601/ 最近的项目上写了一个公用的API,很久以前就用EXCEL发布过报表,但从没想过写API来简化...   ...

随机推荐

  1. 如何在VC++ 6.0中实现拖动指令改变执行路径?

    前文提要: 在VC6.0之后出现的VS系列开发工具都具有的调试功能:移动指针更改执行流,VC6不支持这个UI操作. 调试程序暂停时,源代码或"反汇编"窗口边距处的黄色箭头标记要运行 ...

  2. yarn的基础语法:yarn安装完vue cli3后提示不是内部命令

    : 第一步:安装nodejs: 第二步:全局安装vue-cli 解决方案: 全局搜索vue.cmd 将vue.cmd所在的路径添加到环境变量Path后面.再执行vue -V即可.

  3. 聊一下kafka的消费组

    介绍 消费组使kafka中很重的概念,只有弄清楚消费组的概念,才能在项目中把它运用好,在kafka中,每个消费者都对应一个消费组,消费者可以是一个线程,一个进程,一个服务实例,如果kafka想要消费消 ...

  4. Linux命令使用时路径存在空格、特殊符号

    https://blog.csdn.net/Homewm/article/details/102935965 Linux命令使用时路径存在空格.特殊符号(如-.@等等)如何处理呢? 再如可以转义的字符 ...

  5. C++数据结构-结构体

    C++数据结构-结构体 学生信息 http://oj.61coding.cn/problem.php?cid=1028&pid=0 #include<bits/stdc++.h> ...

  6. Python3中Super函数的使用

    Super函数用法 主要用于调用父类函数 代码演示 class A: def __init__(self): self.n = 2 print('此时执行A的自定义函数,self的n值为',self. ...

  7. 码云或github的"免费服务器"

    目录 一. 码云及工具介绍 二. 操作步骤 (1) 创建vue-cli项目 (2) 码云创建仓库 (3) 修改并提交项目到码云仓库 (4) 运行项目 (5) 注意点 三. 尾声 对于学生党来说,买个服 ...

  8. 【面试题】 用vue想要拿20k,面试题要这样回答(源码版)

    总结给大家推荐一个实用面试题库  1.前端面试题库 (面试必备)            推荐:★★★★★ 地址:前端面试题库 2.前端技术导航大全      推荐:★★★★★ 地址:前端技术导航大全 ...

  9. CentOS7.6下安装MySql和Redis

    安装的MySQL为5.7版本1.下载安装官方的Yum Repository [root@localhost ~]# wget http://dev.mysql.com/get/mysql57-comm ...

  10. 常用Linxu指令

    1.查看端口占用情况 1.查看所有的服务端口: netstat -a 2.查看所有端口并显示进程号(PID): netstat -ap 若需停止某一进程,可通过kill PID来杀死进程或者用kill ...