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;

最新文章

  1. iOS NSDate等时间类的使用
  2. MFC 文件对话框
  3. 北京地铁月度消费总金额计算(Python版)
  4. 一种JavaScript 类的设计模式
  5. Xcode真机调试错误之&quot;Please valify your...clock not set&quot;
  6. C#.NET中的CTS、CLS和CLR
  7. HDU 2289 Cup(可以二分法,但是除了它的一半?)
  8. 【转】Spring源码编译
  9. Oracle中exp导出与imp导入的参数(full,owner/formuser/touser)测试
  10. java和js中int和String相互转换常用方法整理
  11. 使用Vue-Router 2实现路由功能
  12. git码云上传本地项目
  13. Android四大组件应用系列——使用ContentProvider实现跨进程通讯
  14. java中\r与\n的区别
  15. cesium 中地图发生了平移,放缩,旋转等动作所要执行的动作
  16. js备忘录5
  17. 面试题49:把字符串转换成整数(atoi)
  18. 使用FormData提交表单及上传文件
  19. PHP设置脚本最大执行时间的三种方法
  20. 自添加LUCI菜单及编译为ipk

热门文章

  1. C#判断一个字符串是否为整数
  2. mybatis:自定义映射关系resultMap
  3. Django models.py 表的参数选择
  4. MyCat2 读写分离
  5. 提升IIS权限
  6. windows搭建minikube环境学习Kubernates
  7. vue移动端禁止弹层穿透、点击元素滚动到视图中心杂文日志
  8. php的几种接值方式
  9. EF Core级联保存时DbUpdateConcurrencyException报错异常
  10. rocketmq-exporter部署(干货)