DECLARE
l_error_flag VARCHAR2(1);
l_menu_rowid VARCHAR2(100);
l_menu_entity_rowid VARCHAR2(100);
l_menu_id NUMBER;
l_cnt NUMBER := 0;
c_new_menu_code CONSTANT VARCHAR2(50) := 'CUX_MDM_MENU_SYS_GROUP'; ----新的菜单简称
c_new_menu_name CONSTANT VARCHAR2(100) := 'CUX_MDM菜单_运维_集团'; --用户菜单名
c_copied_menu_code CONSTANT VARCHAR2(50) := 'CUX_MDM_MENU_SYS'; --被复制的菜单名 CURSOR csr_menu_entity IS
SELECT DISTINCT fme.entry_sequence,
fme.sub_menu_id,
fme.function_id,
fme.grant_flag,
fmet.prompt,
fmet.description
FROM fnd_menu_entries fme,
fnd_menu_entries_tl fmet,
fnd_menus fm
WHERE fme.menu_id = fm.menu_id
AND fmet.menu_id = fm.menu_id
AND fmet.entry_sequence = fme.entry_sequence
AND fm.menu_name = c_copied_menu_code; BEGIN
SELECT fnd_menus_s.nextval
INTO l_menu_id
FROM dual;
l_error_flag := 'N'; fnd_menus_pkg.insert_row(x_rowid => l_menu_rowid,
x_menu_id => l_menu_id,
x_menu_name => c_new_menu_code,
x_user_menu_name => c_new_menu_name,
x_menu_type => NULL,
x_description => NULL,
x_creation_date => SYSDATE,
x_created_by => fnd_global.user_id,
x_last_update_date => SYSDATE,
x_last_updated_by => fnd_global.user_id,
x_last_update_login => fnd_global.login_id);
IF l_menu_rowid IS NULL THEN
dbms_output.put_line('error:' || SQLERRM);
l_error_flag := 'Y';
ELSE
FOR l_menu_entity_rec IN csr_menu_entity LOOP fnd_menu_entries_pkg.insert_row(x_rowid => l_menu_entity_rowid,
x_menu_id => l_menu_id,
x_entry_sequence => l_menu_entity_rec.entry_sequence,
x_sub_menu_id => l_menu_entity_rec.sub_menu_id,
x_function_id => l_menu_entity_rec.function_id,
x_grant_flag => l_menu_entity_rec.grant_flag,
x_prompt => l_menu_entity_rec.prompt,
x_description => l_menu_entity_rec.description,
x_creation_date => SYSDATE,
x_created_by => fnd_global.user_id,
x_last_update_date => SYSDATE,
x_last_updated_by => fnd_global.user_id,
x_last_update_login => fnd_global.login_id); IF l_menu_rowid IS NULL THEN
dbms_output.put_line('error:' || SQLERRM);
l_error_flag := 'Y';
ELSE
l_cnt := l_cnt + 1;
END IF;
END LOOP;
END IF; IF l_error_flag = 'N' AND l_cnt > 0 THEN
dbms_output.put_line('提交编译请求:' || fnd_menu_entries_pkg.submit_compile);
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLCODE || ',' || SQLERRM);
END;
 
 

【EBS】菜单的复制脚本的更多相关文章

  1. Shell实现多级菜单系统安装维护脚本实例分享

    Shell实现多级菜单系统安装维护脚本实例分享 这篇文章主要介绍了Shell实现多级菜单系统安装维护脚本实例分享,本文脚本用多级菜单实现管理WEB服务器.Mysql服务器.Nginx服器等,需要的朋友 ...

  2. js屏蔽浏览器右键菜单,粘贴,复制,剪切,选中(转)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. JS屏蔽右键菜单,复制,粘帖xxxxx........

    //屏蔽右键菜单 document.oncontextmenu = function (event) { if (window.event) { event = window.event; } try ...

  4. JavaScript 中禁止用户右键菜单,复制,选取,Ctrl,Alt,Shift. 获取宽高,清除浮动

    //禁用右键菜单 document.oncontextmenu = function(){ event.returnValue = false; } //禁用选取内容 document.onselec ...

  5. Ubuntu下使用dialog制作菜单执行简单脚本

    新建test5 #!/bin/bash #using select in the menu temp=$(mktemp -t test.XXXXXX) temp2=$(mktemp -t test2. ...

  6. 支付宝吱口令自动复制脚本,自动复制 JavaScript 代码介绍

    本文转自:http://www.sojson.com/blog/262.html 最近支付宝#吱口令#的信息随处可见,可谓是铺天盖地,群里发这样的信息给被踢了不少.我开始还在鄙视这些人,有几个小钱?然 ...

  7. MSSQL 数据库复制脚本

    --新表存在复制数据 insert into 新表 (字段) select 字段 from 旧表 -- 新表不存在复制数据 select * into 新表 from 旧表

  8. JQuery实现复制数据到剪贴板之各种麻花与右键点击弹出选择菜单

    1.如果小伙伴们只是想实现点击某个按钮(通过click事件)实现复制功能. 那小哥哥我在这里推荐大家使用2个非常好用的插件 (1)clipboard.js:纯js插件,无需flash,相对来说更轻量级 ...

  9. Beyond Compare 3添加右键菜单

    目前是在Beyond Compare 3.1.9版本上试验可行,其他版本上尚未测试. 添加右键菜单步骤: 1.新建为.bat后缀的文本,将下面“添加右键菜单批处理”复制到此文本中. 2.将批处理移动到 ...

随机推荐

  1. Problem 2 旅行计划 (travelling .cpp)———2019.10.6

    lth tql,lzpclxf tql Orz Problem 2 旅行计划 (travelling.cpp)[题目描述]小 Z 打算趁着暑假,开启他的旅行计划.但与其他同学不同的是,小 Z 旅行时并 ...

  2. uniapp 组件传参

    父组件 <v-sub @returnDate=returnDate :backGround=backGround></v-sub> import vSub from " ...

  3. 第09组 Alpha冲刺(3/6)

    队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 服务器网络请求,vu ...

  4. pandas把'<m8[ns]'类型转换为int类型进行运算

    工作中经常碰到两列数据为date类型,当这两列数据相减或者相加时,得到天数,当运用这个值进行运算会报错:ufunc true_divide cannot use operands with types ...

  5. docker-nginx 与 tomcat--dockerfile

    nginx: FROM nginx:latest COPY nginx/sources.list /etc/apt/sources.list #RUN apt-get update && ...

  6. @RequestBody的使用

    一.说明 首先@RequestBody需要接的参数是一个string化的json,这里直接使用JSON.stringify(json)这个方法来转化 其次@RequestBody,从名称上来看也就是说 ...

  7. Java NIO Buffer中各种状态属性的含义

    关于NIO Buffer中的3个重要状态属性的含义: postion, limit与capacity. public class NioTest { public static void main(S ...

  8. C# winform选择文件、选择文件夹、打开文件

    文章来自博客园友,这里只是做一下笔记. 来源:https://www.cnblogs.com/liuqifeng/p/9149125.html 一.选择文件用OpenDialog OpenFileDi ...

  9. 【Node.js】Node.js的安装

    Node.js的简介 简单的说,Node.js 是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件 ...

  10. odoo开发笔记 -- docker容器打包到另一台服务器部署异常

    场景描述: odoo.conf文件指定了数据库配置,如果docker打包的时候,没注意,新环境启动该镜像,会导致并没有连接本地的数据库,如果你配置文件中的数据库地址,当前这台服务器也可以访问到,那么问 ...