FUNCTION zhr_fun_pa002.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(IV_PERNR) TYPE PERNR_D
*" VALUE(IV_DATUM) TYPE DATUM DEFAULT SY-DATUM
*" EXPORTING
*" VALUE(ET_DATA) TYPE ZHRPA_TT0002
*"----------------------------------------------------------------------
DATA: p0001 TYPE p0001,
p9101 TYPE p9101.
DATA: lt_objec TYPE TABLE OF objec WITH HEADER LINE,
lt_struc TYPE TABLE OF struc WITH HEADER LINE,
it_struc TYPE TABLE OF struc WITH HEADER LINE.
DATA: ls_data TYPE zhrpa_s0003.
CLEAR p0001.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF p0001
FROM pa0001
WHERE pernr EQ iv_pernr
AND begda LE iv_datum
AND endda GE iv_datum.
REFRESH lt_struc.
REFRESH lt_objec.
CALL FUNCTION 'RH_STRUC_GET'
EXPORTING
act_otype = 'S'
act_objid = p0001-plans
act_wegid = 'S_UP'
act_plvar = '01'
act_begda = iv_datum
act_endda = iv_datum
authority_check = ''
TABLES
result_objec = lt_objec
result_struc = lt_struc
EXCEPTIONS
no_plvar_found = 1
no_entry_found = 2
OTHERS = 3.
REFRESH it_struc.
it_struc[] = lt_struc[].
SORT it_struc BY seqnr.
SORT lt_struc BY otype objid.
CLEAR et_data.
LOOP AT lt_objec.
CLEAR ls_data.
MOVE-CORRESPONDING lt_objec TO ls_data.
****组织属性
CLEAR p9101.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF p9101
FROM hrp9101
WHERE plvar EQ '01'
AND otype EQ lt_objec-otype
AND objid EQ lt_objec-objid
AND istat EQ '1'
AND begda LE iv_datum
AND endda GE iv_datum.
ls_data-orglv = p9101-orglv.
****排序码
CLEAR lt_struc.
READ TABLE lt_struc WITH KEY otype = lt_objec-otype
objid = lt_objec-objid
BINARY SEARCH.
CLEAR it_struc.
READ TABLE it_struc WITH KEY seqnr = lt_struc-pdown BINARY SEARCH.
ls_data-priox = it_struc-vpriox.
APPEND ls_data TO et_data.
ENDLOOP.
ENDFUNCTION.