news 2026/9/3 0:43:41

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/9/2 20:58:43

Oracle EBS INV 物料属性更新API

物料大部分的属性批量更新可用以下API操作&#xff0c;以下代码只是更新了状态&#xff0c;其他属性可自行测试-- back table CUX.MTL_SYSTEM_ITEMS_BK210528 DECLAREl_item_rec inv_item_grp.item_rec_type;x_item_rec inv_item_grp.item_rec_type;x_error_tbl inv_item_grp…

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

ESP32音频开发终极实战指南:从零构建高性能音频播放系统

ESP32音频开发终极实战指南&#xff1a;从零构建高性能音频播放系统 【免费下载链接】ESP32-audioI2S Play mp3 files from SD via I2S 项目地址: https://gitcode.com/gh_mirrors/es/ESP32-audioI2S 想要在ESP32上实现专业级的音频播放功能&#xff1f;本指南将带你从零…

作者头像 李华
网站建设 2026/9/2 1:32:49

PivotTable.js终极指南:零基础掌握前端数据透视表

PivotTable.js终极指南&#xff1a;零基础掌握前端数据透视表 【免费下载链接】pivottable Open-source Javascript Pivot Table (aka Pivot Grid, Pivot Chart, Cross-Tab) implementation with dragndrop. 项目地址: https://gitcode.com/gh_mirrors/pi/pivottable 想…

作者头像 李华
网站建设 2026/9/1 22:29:42

Wan2.2-Animate-14B终极指南:从零开始掌握开源角色动画生成

Wan2.2-Animate-14B终极指南&#xff1a;从零开始掌握开源角色动画生成 【免费下载链接】Wan2.2-Animate-14B 项目地址: https://ai.gitcode.com/hf_mirrors/Wan-AI/Wan2.2-Animate-14B 还在为角色动画制作的高昂成本和复杂流程发愁吗&#xff1f;Wan2.2-Animate-14B开…

作者头像 李华
网站建设 2026/9/2 15:05:12

地理数据可视化桌面化:从Python到跨平台应用的完整转型指南

地理数据可视化桌面化&#xff1a;从Python到跨平台应用的完整转型指南 【免费下载链接】folium Python Data. Leaflet.js Maps. 项目地址: https://gitcode.com/gh_mirrors/fo/folium 还在为浏览器依赖和网络限制而烦恼地理数据展示吗&#xff1f;今天我将带你用完全不…

作者头像 李华
网站建设 2026/9/2 19:50:56

Java中的分支

在 Java 编程中&#xff0c;分支结构&#xff08;Branching&#xff09;是控制程序执行流程的重要方式&#xff0c;它决定了程序在不同条件下执行不同的代码路径。Java 提供了三种主要的分支语句&#xff1a;if 语句、switch 语句&#xff0c;以及用于异常流程控制的 break、co…

作者头像 李华