码迷,mamicode.com
首页 > 其他好文 > 详细

【EBS】菜单的复制脚本

时间:2019-11-28 13:35:26      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:new   weight   ati   desc   请求   erro   UNC   rowid   arch   

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】菜单的复制脚本

标签:new   weight   ati   desc   请求   erro   UNC   rowid   arch   

原文地址:https://www.cnblogs.com/sunlingC/p/11949218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!