|
|
发表于 2009/8/27 22:20:19
|
显示全部楼层
发一个根据组件名找导航路径的SQL:
SELECT REPLACE(NAVIGATION, '', ' > ') "PIA Navigation",
URL,
MENU_NAME,
COMPONENT_NAME,
PORTAL_OBJNAME,
PORTAL_PRNTOBJNAME,
PORTAL_URI_SEG3,
PORTAL_LABEL
FROM (
SELECT SYS_CONNECT_BY_PATH(A.PORTAL_LABEL, '>>') NAVIGATION,
'/EMPLOYEE/ERP/c/' || A.PORTAL_URI_SEG1 || '.' || A.PORTAL_URI_SEG2 || '.' || A.PORTAL_URI_SEG3 URL,
A.PORTAL_URI_SEG1 MENU_NAME,
A.PORTAL_URI_SEG2 COMPONENT_NAME,
A.PORTAL_OBJNAME PORTAL_OBJNAME,
A.PORTAL_PRNTOBJNAME PORTAL_PRNTOBJNAME,
A.PORTAL_URI_SEG3 PORTAL_URI_SEG3,
A.PORTAL_REFTYPE PORTAL_REFTYPE,
A.PORTAL_LABEL PORTAL_LABEL
FROM (SELECT DISTINCT A.PORTAL_NAME,
A.PORTAL_LABEL,
A.PORTAL_OBJNAME,
A.PORTAL_PRNTOBJNAME,
A.PORTAL_URI_SEG1,
A.PORTAL_URI_SEG2,
A.PORTAL_URI_SEG3,
A.PORTAL_REFTYPE
FROM PSPRSMDEFN A
WHERE PORTAL_NAME = 'EMPLOYEE'
AND PORTAL_OBJNAME <> PORTAL_PRNTOBJNAME
AND NOT EXISTS (
SELECT 'X'
FROM PSPRSMSYSATTRVL
WHERE PORTAL_NAME = A.PORTAL_NAME
AND PORTAL_REFTYPE = A.PORTAL_REFTYPE
AND PORTAL_OBJNAME = A.PORTAL_OBJNAME
AND PORTAL_ATTR_NAM = 'PORTAL_HIDE_FROM_NAV'
AND A.PORTAL_OBJNAME NOT IN (
'CO_NAVIGATION_COLLECTIONS', 'PORTAL_BASE_DATA'
)
)
) A
WHERE PORTAL_URI_SEG2 = 'COMP_NAME' -- 修改这里!
START WITH A.PORTAL_PRNTOBJNAME = 'PORTAL_ROOT_OBJECT'
CONNECT BY PRIOR A.PORTAL_OBJNAME = A.PORTAL_PRNTOBJNAME) |
|