1. DECLARE
  2. l_error_flag VARCHAR2(1);
  3. l_menu_rowid VARCHAR2(100);
  4. l_menu_entity_rowid VARCHAR2(100);
  5. l_menu_id NUMBER;
  6. l_cnt NUMBER := 0;
  7. c_new_menu_code CONSTANT VARCHAR2(50) := 'CUX_MDM_MENU_SYS_GROUP'; ----新的菜单简称
  8. c_new_menu_name CONSTANT VARCHAR2(100) := 'CUX_MDM菜单_运维_集团'; --用户菜单名
  9. c_copied_menu_code CONSTANT VARCHAR2(50) := 'CUX_MDM_MENU_SYS'; --被复制的菜单名
  10.  
  11. CURSOR csr_menu_entity IS
  12. SELECT DISTINCT fme.entry_sequence,
  13. fme.sub_menu_id,
  14. fme.function_id,
  15. fme.grant_flag,
  16. fmet.prompt,
  17. fmet.description
  18. FROM fnd_menu_entries fme,
  19. fnd_menu_entries_tl fmet,
  20. fnd_menus fm
  21. WHERE fme.menu_id = fm.menu_id
  22. AND fmet.menu_id = fm.menu_id
  23. AND fmet.entry_sequence = fme.entry_sequence
  24. AND fm.menu_name = c_copied_menu_code;
  25.  
  26. BEGIN
  27. SELECT fnd_menus_s.nextval
  28. INTO l_menu_id
  29. FROM dual;
  30. l_error_flag := 'N';
  31.  
  32. fnd_menus_pkg.insert_row(x_rowid => l_menu_rowid,
  33. x_menu_id => l_menu_id,
  34. x_menu_name => c_new_menu_code,
  35. x_user_menu_name => c_new_menu_name,
  36. x_menu_type => NULL,
  37. x_description => NULL,
  38. x_creation_date => SYSDATE,
  39. x_created_by => fnd_global.user_id,
  40. x_last_update_date => SYSDATE,
  41. x_last_updated_by => fnd_global.user_id,
  42. x_last_update_login => fnd_global.login_id);
  43. IF l_menu_rowid IS NULL THEN
  44. dbms_output.put_line('error:' || SQLERRM);
  45. l_error_flag := 'Y';
  46. ELSE
  47. FOR l_menu_entity_rec IN csr_menu_entity LOOP
  48.  
  49. fnd_menu_entries_pkg.insert_row(x_rowid => l_menu_entity_rowid,
  50. x_menu_id => l_menu_id,
  51. x_entry_sequence => l_menu_entity_rec.entry_sequence,
  52. x_sub_menu_id => l_menu_entity_rec.sub_menu_id,
  53. x_function_id => l_menu_entity_rec.function_id,
  54. x_grant_flag => l_menu_entity_rec.grant_flag,
  55. x_prompt => l_menu_entity_rec.prompt,
  56. x_description => l_menu_entity_rec.description,
  57. x_creation_date => SYSDATE,
  58. x_created_by => fnd_global.user_id,
  59. x_last_update_date => SYSDATE,
  60. x_last_updated_by => fnd_global.user_id,
  61. x_last_update_login => fnd_global.login_id);
  62.  
  63. IF l_menu_rowid IS NULL THEN
  64. dbms_output.put_line('error:' || SQLERRM);
  65. l_error_flag := 'Y';
  66. ELSE
  67. l_cnt := l_cnt + 1;
  68. END IF;
  69. END LOOP;
  70. END IF;
  71.  
  72. IF l_error_flag = 'N' AND l_cnt > 0 THEN
  73. dbms_output.put_line('提交编译请求:' || fnd_menu_entries_pkg.submit_compile);
  74. END IF;
  75. EXCEPTION
  76. WHEN OTHERS THEN
  77. dbms_output.put_line(SQLCODE || ',' || SQLERRM);
  78. 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. bzoj1176: [Balkan2007]Mokia cdq

    链接 bzoj 思路 cdq入门题,拆成4个矩阵,然后cdq. 代码 /************************************************************** P ...

  2. 使用Visual Studio Code编辑Processing

    最近想弄Sublime Text 3写Processing,但由于各种不知名原因导致无法编译,就想着换自去年以来超火的VScode试一下,还真给我试成功了. 1.下载https://code.visu ...

  3. xms西软预定列表-房类市场

    select b.descript,sum(a.quan) as quan,case WHEN c.descript is null THEN '团队预留' ELSE c.descript end a ...

  4. Mongoose 多表(N个表)关联查询aggregate

    Mongoose 多表(N个表)关联查询概述 需求:文章(article),文章分类(articlecate),用户(user)这三个表之间的关系,一篇文章对应文章分类表中的某个类型,对应着用户表中的 ...

  5. 咏南跨平台中间件REST API

    主旨 1)为了中间件支持跨操作系统部署,客户端支持跨操作系统.跨设备.跨开发语言,特制订本REST API规约. 2)所有接口均支持HTTP GET\POST调用. 3)调用示例为DELPHI代码,其 ...

  6. python gaussian,gaussian2

    import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.axisartist as axisartist from ...

  7. Dubbo Filter机制概述

    https://blog.csdn.net/prestigeding/article/details/82085705  从上文可知,在服务的调用或消费端发送请求命令中,Dubbo引入过滤器链机制来实 ...

  8. gradle/gradle plugin/Android studio关系

    gradle - 构建工具,存储于Users/stono/.gradle/wrapper/dists Adroid Studio- IDE Gradle plugin - 在AS中使用Gradle的插 ...

  9. jdk8 stream实现sql单表select a,b,sum(),avg(),max() from group by a,b order by a,b limit M offset N及其性能

    之所以要测该场景,是因为merge多数据源结果的时候,有时候只是单个子查询结果了,而此时采用sql数据库处理并不一定能够合理(网络延迟太大). 测试数据10万行,结果1000行 limit 20 of ...

  10. easyui datagrid生成序号列formatter

    var opts1; $('#datagrid_1').datagrid({ columns: [ [{ field: 'myNo', title: '序号', align: 'center', wi ...