news 2026/4/16 12:59:27

Oracle EBS INV 库存类别组合数据的导入更新删除API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Oracle EBS INV 库存类别组合数据的导入更新删除API

1.库存类别组合导入

DECLARE l_structure_id NUMBER; l_api_version NUMBER := 1.0; l_init_msg_list VARCHAR2(100) := fnd_api.g_false; l_commit VARCHAR2(100) := fnd_api.g_false; x_return_status VARCHAR2(20); x_errorcode NUMBER; x_msg_count NUMBER; x_msg_data VARCHAR2(4000); x_category_id NUMBER; l_category_rec inv_item_category_pub.category_rec_type; CURSOR c_data IS SELECT t.* ,t.rowid row_id FROM cux.cux_item_category_imp_temp t WHERE 1 = 1 --AND t.segment1 = '047' -- --AND t.segment2 = '18' AND t.batch_no = 20220601001 AND NOT EXISTS (SELECT 1 FROM mtl_categories_kfv m WHERE m.structure_id = 50428 AND m.concatenated_segments = t.concat_segment) AND nvl(t.status ,'xx') <> 'S'; BEGIN fnd_global.apps_initialize(user_id => 7054 ,resp_id => 50947 ,resp_appl_id => 20003); -- Initialize variables -- to get structure_id, use the following query -- select application_id, id_flex_code, id_flex_num, id_flex_structure_code from FND_ID_FLEX_STRUCTURES_VL -- where application_id=401 and id_flex_code='MCAT' and id_flex_structure_code = '&structure_code' ; -- 'PJ_UPPERCASE'; SELECT id_flex_num INTO l_structure_id FROM fnd_id_flex_structures_vl WHERE application_id = 401 AND id_flex_code = 'MCAT' AND id_flex_structure_code = 'HCP_PART_CATEGORY'; FOR r_data IN c_data LOOP l_category_rec.structure_id := l_structure_id; l_category_rec.segment1 := r_data.segment1; l_category_rec.segment2 := r_data.segment2; l_category_rec.segment3 := r_data.segment3; l_category_rec.description := r_data.concat_segment_desc; -- call API to create category --.put_line('============================================='); --dbms_output.put_line('Calling INV_ITEM_CATEGORY_PUB.Create_Category'); inv_item_category_pub.create_category(p_api_version => l_api_version ,p_init_msg_list => l_init_msg_list ,p_commit => l_commit ,x_return_status => x_return_status ,x_errorcode => x_errorcode ,x_msg_count => x_msg_count ,x_msg_data => x_msg_data ,p_category_rec => l_category_rec ,x_category_id => x_category_id); --dbms_output.put_line('==========================================='); --dbms_output.put_line('Return Status: ' || x_return_status); IF x_return_status <> 'S' THEN ROLLBACK; UPDATE cux.cux_item_category_imp_temp c SET c.status = 'E' ,c.err_msg = x_msg_data WHERE c.rowid = r_data.row_id; ELSE UPDATE cux.cux_item_category_imp_temp c SET c.status = 'S' ,c.err_msg = NULL ,c.category_id = x_category_id WHERE c.rowid = r_data.row_id; END IF; COMMIT; END LOOP; EXCEPTION WHEN OTHERS THEN dbms_output.put_line('Error:' || SQLCODE || '---' || SQLERRM); ROLLBACK; END;

2.库存类别组合描述更新

DECLARE l_structure_id NUMBER; l_api_version NUMBER := 1.0; l_init_msg_list VARCHAR2(100) := fnd_api.g_false; l_commit VARCHAR2(100) := fnd_api.g_false; x_return_status VARCHAR2(20); x_errorcode NUMBER; x_msg_count NUMBER; x_msg_data VARCHAR2(4000); x_category_id NUMBER; l_category_rec inv_item_category_pub.category_rec_type; CURSOR c_data IS SELECT t.* ,t.rowid row_id FROM cux.cux_item_category_upd_temp t WHERE 1 = 1 --AND t.segment1 = '047' -- --AND t.segment2 = '18' --AND t.concat_segment = '133.06.10' AND t.category_id IS NOT NULL AND nvl(t.status ,'xx') <> 'S'; BEGIN fnd_global.apps_initialize(user_id => 7054 ,resp_id => 50947 ,resp_appl_id => 20003); -- Initialize variables -- to get structure_id, use the following query -- select application_id, id_flex_code, id_flex_num, id_flex_structure_code from FND_ID_FLEX_STRUCTURES_VL -- where application_id=401 and id_flex_code='MCAT' and id_flex_structure_code = '&structure_code' ; -- 'PJ_UPPERCASE'; /*SELECT id_flex_num INTO l_structure_id FROM fnd_id_flex_structures_vl WHERE application_id = 401 AND id_flex_code = 'MCAT' AND id_flex_structure_code = 'HCP_PART_CATEGORY';*/ FOR r_data IN c_data LOOP /*l_category_rec.structure_id := l_structure_id; l_category_rec.segment1 := r_data.segment1; l_category_rec.segment2 := r_data.segment2; l_category_rec.segment3 := r_data.segment3; l_category_rec.description := r_data.concat_segment_desc;*/ -- call API to create category --.put_line('============================================='); --dbms_output.put_line('Calling INV_ITEM_CATEGORY_PUB.Create_Category'); /*inv_item_category_pub.create_category(p_api_version => l_api_version ,p_init_msg_list => l_init_msg_list ,p_commit => l_commit ,x_return_status => x_return_status ,x_errorcode => x_errorcode ,x_msg_count => x_msg_count ,x_msg_data => x_msg_data ,p_category_rec => l_category_rec ,x_category_id => x_category_id);*/ inv_item_category_pub.update_category_description(p_api_version => l_api_version ,p_init_msg_list => l_init_msg_list ,p_commit => l_commit ,x_return_status => x_return_status ,x_errorcode => x_errorcode ,x_msg_count => x_msg_count ,x_msg_data => x_msg_data ,p_category_id => r_data.category_id ,p_description => r_data.concat_segment_desc); --dbms_output.put_line('==========================================='); --dbms_output.put_line('Return Status: ' || x_return_status); IF x_return_status <> 'S' THEN ROLLBACK; UPDATE cux.cux_item_category_upd_temp c SET c.status = 'E' ,c.err_msg = x_msg_data WHERE c.rowid = r_data.row_id; ELSE UPDATE cux.cux_item_category_upd_temp c SET c.status = 'S' ,c.err_msg = NULL --,c.category_id = x_category_id WHERE c.rowid = r_data.row_id; END IF; COMMIT; END LOOP; EXCEPTION WHEN OTHERS THEN dbms_output.put_line('Error:' || SQLCODE || '---' || SQLERRM); ROLLBACK; END;

3.库存类别组合删除

DECLARE l_structure_id NUMBER; l_api_version NUMBER := 1.0; l_init_msg_list VARCHAR2(100) := fnd_api.g_false; l_commit VARCHAR2(100) := fnd_api.g_false; x_return_status VARCHAR2(20); x_errorcode NUMBER; x_msg_count NUMBER; x_msg_data VARCHAR2(4000); x_category_id NUMBER; l_category_rec inv_item_category_pub.category_rec_type; CURSOR c_data IS SELECT t.* ,t.rowid row_id FROM cux.cux_item_category_del_temp t WHERE 1 = 1 --AND t.segment1 = '047' -- --AND t.segment2 = '18' --AND t.category_id = 294678 AND t.batch_no = 20220601001 AND t.category_id IS NOT NULL AND nvl(t.status ,'xx') <> 'S'; BEGIN fnd_global.apps_initialize(user_id => 7054 ,resp_id => 50947 ,resp_appl_id => 20003); -- Initialize variables -- to get structure_id, use the following query -- select application_id, id_flex_code, id_flex_num, id_flex_structure_code from FND_ID_FLEX_STRUCTURES_VL -- where application_id=401 and id_flex_code='MCAT' and id_flex_structure_code = '&structure_code' ; -- 'PJ_UPPERCASE'; FOR r_data IN c_data LOOP -- call API to create category --.put_line('============================================='); --dbms_output.put_line('Calling INV_ITEM_CATEGORY_PUB.Create_Category'); inv_item_category_pub.delete_category(p_api_version => l_api_version ,p_init_msg_list => l_init_msg_list ,p_commit => l_commit ,x_return_status => x_return_status ,x_errorcode => x_errorcode ,x_msg_count => x_msg_count ,x_msg_data => x_msg_data ,p_category_id => r_data.category_id); --dbms_output.put_line('==========================================='); --dbms_output.put_line('Return Status: ' || x_return_status); IF x_return_status <> 'S' THEN ROLLBACK; UPDATE cux.cux_item_category_del_temp c SET c.status = 'E' ,c.err_msg = x_msg_data WHERE c.rowid = r_data.row_id; ELSE UPDATE cux.cux_item_category_del_temp c SET c.status = 'S' ,c.err_msg = NULL --,c.category_id = x_category_id WHERE c.rowid = r_data.row_id; END IF; COMMIT; END LOOP; EXCEPTION WHEN OTHERS THEN dbms_output.put_line('Error:' || SQLCODE || '---' || SQLERRM); ROLLBACK; END;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:42:03

YOLOSHOW:免费YOLO图形化界面工具完整使用指南

YOLOSHOW&#xff1a;免费YOLO图形化界面工具完整使用指南 【免费下载链接】YOLOSHOW YOLO SHOW - YOLOv10 / YOLOv9 / YOLOv8 / YOLOv7 / YOLOv5 / RTDETR GUI based on Pyside6 项目地址: https://gitcode.com/gh_mirrors/yo/YOLOSHOW 想要轻松使用YOLO模型进行目标检…

作者头像 李华
网站建设 2026/4/9 23:46:16

如何5分钟搭建SenseVoice语音识别系统:完整部署指南

如何5分钟搭建SenseVoice语音识别系统&#xff1a;完整部署指南 【免费下载链接】SenseVoice Multilingual Voice Understanding Model 项目地址: https://gitcode.com/gh_mirrors/se/SenseVoice 还在为语音识别系统的复杂部署而头疼吗&#xff1f;从环境配置到依赖安装…

作者头像 李华
网站建设 2026/4/8 17:28:30

EmotiVoice能否生成天气预报语音?信息密度与清晰度平衡

EmotiVoice能否生成天气预报语音&#xff1f;信息密度与清晰度平衡 在城市广播系统中&#xff0c;每天清晨准时响起的天气播报声&#xff0c;早已成为许多人开启一天生活的背景音。然而&#xff0c;这看似简单的“一句话提醒”&#xff0c;背后却隐藏着复杂的工程挑战&#xff…

作者头像 李华
网站建设 2026/4/16 1:28:16

EmotiVoice语音柔和度设置呵护婴幼儿听力

EmotiVoice语音柔和度设置呵护婴幼儿听力 在智能育儿设备日益普及的今天&#xff0c;越来越多的家庭开始依赖AI语音助手讲睡前故事、播放儿歌或进行早教互动。然而&#xff0c;一个被广泛忽视的问题正悄然浮现&#xff1a;这些电子语音是否真的“温柔”&#xff1f;对听觉系统…

作者头像 李华
网站建设 2026/4/16 3:53:56

Element Plus终极部署指南:GitHub Actions与Jenkins自动化实战

Element Plus终极部署指南&#xff1a;GitHub Actions与Jenkins自动化实战 【免费下载链接】element-plus element-plus/element-plus: Element Plus 是一个基于 Vue 3 的组件库&#xff0c;提供了丰富且易于使用的 UI 组件&#xff0c;用于快速搭建企业级桌面和移动端的前端应…

作者头像 李华