Hi Arun,
I think that the following part of your coding is not taking the navigational attributes correctly into account:
IF sy-subrc EQ 0. """This will mean, given OrgUnit is not leaf node
l_s_node-niobjnm = 'orgunit'. ""This is required only if OrgUnit is not Leaf node
ENDIF.
I expect that import parameter I_IOBJNM is filled with the navigational attribute, e.g. 0EMPLOYEE__0ORGUNIT. Please check in this scenario if this is the case (in debugging mode via t/code RSRT, break-point in method IF_RSR_VARIABLE_F4_RESTRICT~GET_RESTRICTION_NODE).
If this is indeed the case, then please replace the coding as follows:
IF sy-subrc EQ 0. """This will mean, given OrgUnit is not leaf node
l_s_node-niobjnm = I_IOBJNM. ""This is required only if OrgUnit is not Leaf node
ENDIF.
Best regards,
Sander