inv_item_category_pub.Create_Category
inv_item_category_pub.Update_Category
inv_item_category_pub.Update_Category_Description
inv_item_category_pub.Delete_Category
inv_item_category_pub.Create_Category_Assignment
inv_item_category_pub.Update_Category_Assignment
inv_item_category_pub.Delete_Category_Assignment
例1:Create_Category
--新增物料类别,必须在弹性域值集里面先预设或者批量导入值集数据
DECLARE
x_return_status VARCHAR2(1);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
x_errorcode VARCHAR2(30);
l_cur_mfg_org_id NUMBER := 108; --Current Inv Organization
l_user_id NUMBER := 0;
l_category_id NUMBER;
l_CATEGORY_REC_TYPE INV_ITEM_CATEGORY_PUB.CATEGORY_REC_TYPE;
BEGIN
fnd_global.apps_initialize(user_id => 0, --SYSADMIN
resp_id => 50432,
resp_appl_id => 401); --Inventory
l_CATEGORY_REC_TYPE.STRUCTURE_ID := 50329;
l_CATEGORY_REC_TYPE.SEGMENT1 := '包装材料';
l_CATEGORY_REC_TYPE.SEGMENT2 := '包装箱';
l_CATEGORY_REC_TYPE.DESCRIPTION := '包装材料.包装箱';
l_CATEGORY_REC_TYPE.ENABLED_FLAG := 'Y';
l_CATEGORY_REC_TYPE.SUPPLIER_ENABLED_FLAG := NULL;
inv_item_category_pub.Create_Category(
p_api_version => '1.0',
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_false,
x_return_status => x_return_status, --out parameter
x_errorcode => x_errorcode, --out parameter
x_msg_count => x_msg_count, --out parameter
x_msg_data => x_msg_data, --out parameter
p_category_rec => l_CATEGORY_REC_TYPE,
x_category_id => l_category_id); --out parameter
IF x_return_status <> fnd_api.g_ret_sts_success THEN
ROLLBACK;
dbms_output.put_line('error code : ' || x_errorcode);
fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
dbms_output.put_line('error count : ' || to_char(x_msg_count));
dbms_output.put_line(REPLACE(x_msg_data, chr(0), ' '));
FOR i IN 2 .. x_msg_count LOOP
x_msg_data := fnd_msg_pub.get;
dbms_output.put_line(REPLACE(x_msg_data, chr(0), ' '));
END LOOP;
IF (x_return_status = fnd_api.g_ret_sts_unexp_error) THEN
RAISE fnd_api.g_exc_unexpected_error;
ELSIF (x_return_status = fnd_api.g_ret_sts_error) THEN
RAISE fnd_api.g_exc_error;
END IF;
ELSE
COMMIT;
dbms_output.put_line('Successfully.' || 'l_category_id ' || l_category_id);
END IF;
END;
例2:Create_Category_Assignment
--分类代码已定义,但没有指定到分类集, 分类集定义处需要去除勾选“强制使用有效分类清单”
--如果有勾选“强制使用有效分类清单”, 则需手工添加分类代码至分类集或后台插入数据。
declare
x_return_status varchar2(240);
x_errorcode number;
x_msg_count number;
x_msg_data varchar2(240);
begin
INV_ITEM_CATEGORY_PUB.Create_Category_Assignment(
p_api_version => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
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 => 568,
p_category_set_id => 1100000042,
p_inventory_item_id => 786080,
p_organization_id => 108);
IF x_return_status = 'S' THEN
commit;
dbms_output.put_line(' x_return_status ' || x_return_status);
ELSE
rollback;
dbms_output.put_line(' x_msg_data ' || x_msg_data);
END IF;
end;