Open all | Close all

Getting the LATEST information!

To ensure you are getting the latest information please vist this page on the new domain for SAP Development


Retrieve Organisation Structure

The below code shows how RH_PM_GET_STRUCTURE is used. You pass it an Organisation
Unit(OBJID) and it will retrieve all the units below it in the org. tree (including idividual personnel). Also
'RH_DIR_ORG_STRUC_GET' is an alternative but seems to be much slower.

The OBJECT_TAB table stores all the objects within the org structure zorg_unit (including all sub levels).
The key for these objects is stored within the 'OTYPE' field. Therefor if you loop through the table you can
retrive the objects you require.
	i.e. The following code will loop around all the personnel numbers:

* Loops around personnel numbers within Org. Unit.
   LOOP AT objec_tab where otype = 'P'.
*       Processing....
   ENDLOOP.

data: objec_tab like objec occurs 0 with header line.
data: zorg_unit   type p0001-orgeh.
data: t_org_tab like rhldapp occurs 0 with header line.



  call function 'RH_PM_GET_STRUCTURE'
       exporting
            plvar           = '01'   "p0000-plvar
            otype           = 'O'  "0001-otype
            objid           = zorg_unit
            begda           = pn-begda
            endda           = pn-endda
            status          = '1'
            wegid           = 'SBESX'
            77aw_int        = ' '
       tables
            objec_tab       = objec_tab
       exceptions
            not_found       = 1
            ppway_not_found = 2
            others          = 3.


***************************
Alternative, but very slow*
***************************
*    call function 'RH_DIR_ORG_STRUC_GET'
*        exporting
*              act_orgunit     = zorg_unit
*              act_plvar       = '01'
*              act_date        = pn-begda
*         tables
*              org_units       = t_org_tab
*         exceptions
*              no_active_plvar = 1
*              others          = 2.