SELECT STR.BUSINESS_GROUP_ID BUSINESS_GROUP_ID , STR.PARENT_POSITION_ID PARENT_POSITION_ID , STR.SUBORDINATE_POSITION_ID POSITION_ID , STR.POS_STRUCTURE_VERSION_ID POS_STRUCTURE_VERSION_ID , LEVEL POS_LEVEL FROM PER_POS_STRUCTURE_ELEMENTS STR WHERE STR.BUSINESS_GROUP_ID = NVL(HR_BIS.GET_SEC_PROFILE_BG_ID , STR.BUSINESS_GROUP_ID) START WITH STR.PARENT_POSITION_ID IN ( SELECT DISTINCT PE.PARENT_POSITION_ID FROM PER_POS_STRUCTURE_ELEMENTS PE WHERE PE.PARENT_POSITION_ID NOT IN ( SELECT PO.SUBORDINATE_POSITION_ID FROM PER_POS_STRUCTURE_ELEMENTS PO WHERE PO.POS_STRUCTURE_VERSION_ID = STR.POS_STRUCTURE_VERSION_ID ) ) CONNECT BY PRIOR STR.SUBORDINATE_POSITION_ID = STR.PARENT_POSITION_ID AND PRIOR STR.POS_STRUCTURE_VERSION_ID = STR.POS_STRUCTURE_VERSION_ID AND PRIOR STR.BUSINESS_GROUP_ID = STR.BUSINESS_GROUP_ID WITH READ ONLY