设为首页 加入收藏

TOP

OracleEBS创建LPN
2015-07-24 11:18:24 来源: 作者: 【 】 浏览:3
Tags:OracleEBS 创建 LPN
?? 创建LPN
PROCEDURE create_lpn(errbuf OUT VARCHAR2, retcode OUT VARCHAR2 , p_organization_id IN NUMBER , p_lpn_prefix IN VARCHAR2 , p_lpn_suffix IN VARCHAR2 , p_lpn IN VARCHAR2 ) IS BEGIN --Initialize wms_container_pvt.generate_lpn_cp(errbuf => errbuf, retcode => retcode, p_api_version => 1, p_organization_id => p_organization_id, p_container_item_id => NULL, p_revision => NULL, p_lot_number => NULL, p_from_serial_number => NULL, p_to_serial_number => NULL, p_subinventory => NULL, p_locator_id => NULL, p_org_parameters => 2, p_parm_dummy_1 => 'N', p_total_length => NULL, p_lpn_prefix => p_lpn_prefix, p_starting_num => p_lpn, p_ucc_128_suffix_flag => 2, p_parm_dummy_2 => 'N', p_lpn_suffix => p_lpn_suffix, p_quantity => 1, p_source => NULL, p_cost_group_id => NULL); END;
-- -------------------------------------------- -- Get LPN Id -- -------------------------------------------- PROCEDURE get_lpn_id(x_lpn_id OUT NUMBER , p_lpn IN VARCHAR2) IS --l_lpn_exist NUMBER; BEGIN x_lpn_id := - 9999; SELECT lpn.lpn_id INTO x_lpn_id FROM wms_license_plate_numbers lpn WHERE 1 = 1 AND lpn.license_plate_number = p_lpn; EXCEPTION WHEN no_data_found THEN x_lpn_id := - 1; --LPN不存在 WHEN OTHERS THEN x_lpn_id := - 9999; END;
--创建LPN --检查LPN是否存在 get_lpn_id(l_outer_lpn_id, p_n_lpn_num); --拆分LPN号 SELECT substr (p_n_lpn_num, -1), substr(p_n_lpn_num, 1 , length(p_n_lpn_num) - 1) INTO l_lpn_number, l_lpn_prefix FROM dual; --创建LPN IF l_outer_lpn_id = -1 THEN create_lpn(errbuf => l_errbuf, retcode => l_retcode, p_organization_id => p_organization_id, p_lpn_prefix => l_lpn_prefix, p_lpn_suffix => NULL, p_lpn => l_lpn_number); IF l_errbuf <> '0' THEN x_msg_data := l_msg_data || '创建LPN失败:' || l_errbuf; RAISE header_error; ELSE --获取创建后的LPN_ID get_lpn_id(l_new_lpn_id, p_n_lpn_num); --箱号添加毛重 l_lpn_rec := NULL; l_lpn_rec.lpn_id := l_new_lpn_id; l_lpn_rec.gross_weight_uom_code := 'kg'; l_lpn_rec.gross_weight := p_n_gross_weight; wms_container_pvt.modify_lpn(p_api_version => 1, 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_caller => NULL, p_lpn => l_lpn_rec); IF l_return_status <> 'S' THEN x_msg_data := l_msg_data || '修改毛重失败' ; RAISE header_error; END IF ; END IF;
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracleexchangepartition测试 下一篇学习Oracle应该准备的技能

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)
·金融界大佬力荐,Pyt (2025-12-25 04:49:42)
·你必须要弄懂的多线 (2025-12-25 04:22:35)
·如何在 Java 中实现 (2025-12-25 04:22:32)