11: -- The string ">" if p_version1 > p_version2
12: -- The string "<" if p_version1 < p_version2
13:
14: x_rowid VARCHAR2(64);
15: type t_fnd_grants IS TABLE OF fnd_grants % rowtype;
16: type t_fnd_menus IS TABLE OF fnd_menus % rowtype;
17: type t_fnd_menu_entries IS TABLE OF fnd_menu_entries % rowtype;
18: type t_fnd_form_functions IS TABLE OF fnd_form_functions % rowtype;
19:
25: type t_fnd_form_functions_tl IS TABLE OF fnd_form_functions_tl % rowtype;
26:
27:
28: -- to store existing menus and grants
29: v_fnd_grants t_fnd_grants;
30: v_fnd_menus t_fnd_menus;
31: v_fnd_menu_entries t_fnd_menu_entries;
32: v_fnd_form_functions t_fnd_form_functions;
33: v_fnd_menus_tl t_fnd_menus_tl;
31: v_fnd_menu_entries t_fnd_menu_entries;
32: v_fnd_form_functions t_fnd_form_functions;
33: v_fnd_menus_tl t_fnd_menus_tl;
34: v_fnd_menu_entries_tl t_fnd_menu_entries_tl;
35: v_fnd_grants_new t_fnd_grants;
36: v_fnd_menus_new t_fnd_menus;
37: v_fnd_menu_entries_new t_fnd_menu_entries;
38: v_fnd_form_functions_new t_fnd_form_functions;
39: v_fnd_menus_tl_new t_fnd_menus_tl;
231: end if;
232: if v_fnd_menus_tl is not null then
233: v_fnd_menus_tl.DELETE;
234: end if;
235: if v_fnd_grants is not null then
236: v_fnd_grants.DELETE;
237: end if;
238:
239: end delete_Collection;
232: if v_fnd_menus_tl is not null then
233: v_fnd_menus_tl.DELETE;
234: end if;
235: if v_fnd_grants is not null then
236: v_fnd_grants.DELETE;
237: end if;
238:
239: end delete_Collection;
240:
1479: v_fnd_menu_entries:= t_fnd_menu_entries();
1480: v_fnd_menu_entries_tl := t_fnd_menu_entries_tl();
1481: v_fnd_menus := t_fnd_menus();
1482: v_fnd_menus_tl := t_fnd_menus_tl();
1483: v_fnd_grants := t_fnd_grants();
1484:
1485: SELECT *bulk collect
1486: INTO v_fnd_form_functions
1487: FROM fnd_form_functions
1579: menu_tl_count :=menu_tl_count+1;
1580: end loop;
1581: end if ;
1582: SELECT *bulk collect
1583: INTO v_fnd_grants_new
1584: FROM fnd_grants
1585: WHERE menu_id = v_fnd_menus_new(l).menu_id;
1586:
1587: v_fnd_grants.extend(1);
1580: end loop;
1581: end if ;
1582: SELECT *bulk collect
1583: INTO v_fnd_grants_new
1584: FROM fnd_grants
1585: WHERE menu_id = v_fnd_menus_new(l).menu_id;
1586:
1587: v_fnd_grants.extend(1);
1588: grants_count := v_fnd_grants.last;
1583: INTO v_fnd_grants_new
1584: FROM fnd_grants
1585: WHERE menu_id = v_fnd_menus_new(l).menu_id;
1586:
1587: v_fnd_grants.extend(1);
1588: grants_count := v_fnd_grants.last;
1589:
1590: if v_fnd_grants_new is not null and v_fnd_grants_new.count > 0 then
1591: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1584: FROM fnd_grants
1585: WHERE menu_id = v_fnd_menus_new(l).menu_id;
1586:
1587: v_fnd_grants.extend(1);
1588: grants_count := v_fnd_grants.last;
1589:
1590: if v_fnd_grants_new is not null and v_fnd_grants_new.count > 0 then
1591: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1592: LOOP
1586:
1587: v_fnd_grants.extend(1);
1588: grants_count := v_fnd_grants.last;
1589:
1590: if v_fnd_grants_new is not null and v_fnd_grants_new.count > 0 then
1591: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1592: LOOP
1593: v_fnd_grants(grants_count) := v_fnd_grants_new(k);
1594: v_fnd_grants.extend(1);
1587: v_fnd_grants.extend(1);
1588: grants_count := v_fnd_grants.last;
1589:
1590: if v_fnd_grants_new is not null and v_fnd_grants_new.count > 0 then
1591: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1592: LOOP
1593: v_fnd_grants(grants_count) := v_fnd_grants_new(k);
1594: v_fnd_grants.extend(1);
1595: grants_count :=grants_count+1;
1589:
1590: if v_fnd_grants_new is not null and v_fnd_grants_new.count > 0 then
1591: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1592: LOOP
1593: v_fnd_grants(grants_count) := v_fnd_grants_new(k);
1594: v_fnd_grants.extend(1);
1595: grants_count :=grants_count+1;
1596: end loop;
1597: end if;
1590: if v_fnd_grants_new is not null and v_fnd_grants_new.count > 0 then
1591: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1592: LOOP
1593: v_fnd_grants(grants_count) := v_fnd_grants_new(k);
1594: v_fnd_grants.extend(1);
1595: grants_count :=grants_count+1;
1596: end loop;
1597: end if;
1598:
1595: grants_count :=grants_count+1;
1596: end loop;
1597: end if;
1598:
1599: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1600: LOOP
1601: -- remove grants
1602: fnd_grants_pkg.delete_row(v_fnd_grants_new(k).grant_guid);
1603: END LOOP;
1598:
1599: FOR k IN v_fnd_grants_new.FIRST .. v_fnd_grants_new.LAST
1600: LOOP
1601: -- remove grants
1602: fnd_grants_pkg.delete_row(v_fnd_grants_new(k).grant_guid);
1603: END LOOP;
1604:
1605: END IF;
1606:
1714: END LOOP;
1715:
1716: menu_com_request_status := FND_MENU_ENTRIES_PKG.SUBMIT_COMPILE;
1717:
1718: IF v_fnd_grants is not null and v_fnd_grants.COUNT > 0 THEN
1719:
1720: FOR l IN v_fnd_grants.FIRST .. v_fnd_grants.LAST
1721: LOOP
1722:
1716: menu_com_request_status := FND_MENU_ENTRIES_PKG.SUBMIT_COMPILE;
1717:
1718: IF v_fnd_grants is not null and v_fnd_grants.COUNT > 0 THEN
1719:
1720: FOR l IN v_fnd_grants.FIRST .. v_fnd_grants.LAST
1721: LOOP
1722:
1723: IF v_fnd_grants(l).menu_id = v_fnd_menus(m).menu_id THEN
1724:
1719:
1720: FOR l IN v_fnd_grants.FIRST .. v_fnd_grants.LAST
1721: LOOP
1722:
1723: IF v_fnd_grants(l).menu_id = v_fnd_menus(m).menu_id THEN
1724:
1725: SELECT sys_guid()
1726: INTO l_grant_guid
1727: FROM dual;
1725: SELECT sys_guid()
1726: INTO l_grant_guid
1727: FROM dual;
1728:
1729: fnd_grants_pkg.insert_row(x_rowid,
1730: l_grant_guid,
1731: v_fnd_grants(l).grantee_type,
1732: v_fnd_grants(l).grantee_key,
1733: t_menu_id,
1727: FROM dual;
1728:
1729: fnd_grants_pkg.insert_row(x_rowid,
1730: l_grant_guid,
1731: v_fnd_grants(l).grantee_type,
1732: v_fnd_grants(l).grantee_key,
1733: t_menu_id,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1728:
1729: fnd_grants_pkg.insert_row(x_rowid,
1730: l_grant_guid,
1731: v_fnd_grants(l).grantee_type,
1732: v_fnd_grants(l).grantee_key,
1733: t_menu_id,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1730: l_grant_guid,
1731: v_fnd_grants(l).grantee_type,
1732: v_fnd_grants(l).grantee_key,
1733: t_menu_id,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1731: v_fnd_grants(l).grantee_type,
1732: v_fnd_grants(l).grantee_key,
1733: t_menu_id,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1732: v_fnd_grants(l).grantee_key,
1733: t_menu_id,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1733: t_menu_id,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1734: v_fnd_grants(l).start_date,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1735: v_fnd_grants(l).end_date,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1736: v_fnd_grants(l).object_id,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1737: v_fnd_grants(l).instance_type,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1738: v_fnd_grants(l).instance_set_id,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1739: v_fnd_grants(l).instance_pk1_value,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1740: v_fnd_grants(l).instance_pk2_value,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1741: v_fnd_grants(l).instance_pk3_value,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1742: v_fnd_grants(l).instance_pk4_value,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1743: v_fnd_grants(l).instance_pk5_value,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1744: v_fnd_grants(l).program_name,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1745: v_fnd_grants(l).program_tag,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1746: v_fnd_grants(l).creation_date,
1747: v_fnd_grants(l).created_by,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1748: v_fnd_grants(l).last_update_date,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1749: v_fnd_grants(l).last_updated_by,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1750: v_fnd_grants(l).last_update_login,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1751: f_id,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1752: v_fnd_grants(l).parameter2,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1753: v_fnd_grants(l).parameter3,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1754: v_fnd_grants(l).parameter4,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1755: v_fnd_grants(l).parameter5,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1756: v_fnd_grants(l).parameter6,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1757: v_fnd_grants(l).parameter7,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1765: v_fnd_grants(l).name,
1758: v_fnd_grants(l).parameter8,
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1765: v_fnd_grants(l).name,
1766: v_fnd_grants(l).description);
1759: v_fnd_grants(l).parameter9,
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1765: v_fnd_grants(l).name,
1766: v_fnd_grants(l).description);
1767:
1760: v_fnd_grants(l).parameter10,
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1765: v_fnd_grants(l).name,
1766: v_fnd_grants(l).description);
1767:
1768: END IF;
1761: v_fnd_grants(l).ctx_secgrp_id,
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1765: v_fnd_grants(l).name,
1766: v_fnd_grants(l).description);
1767:
1768: END IF;
1769:
1762: v_fnd_grants(l).ctx_resp_id,
1763: v_fnd_grants(l).ctx_resp_appl_id,
1764: v_fnd_grants(l).ctx_org_id,
1765: v_fnd_grants(l).name,
1766: v_fnd_grants(l).description);
1767:
1768: END IF;
1769:
1770: END LOOP;