20220905 公司需要把6月份和7月份的排班信息导出
排班信息在PP61里面。
思路
RH_STRUC_GET 评估时间段内人员, HR_PERSON_READ_WORK_SCHEDULE 获取班次
OBJID 是组织的ID 从ppose里面挑选某一个部门的
FUNCTION ZIF_HR_GET_WORK_SHEDULE_4_ORG.
*"----------------------------------------------------------------------
*"*"局部接口:
*" IMPORTING
*" VALUE(ORGID) TYPE HROBJID
*" VALUE(BEGDA) TYPE SY-DATUM
*" VALUE(ENDDA) TYPE SY-DATUM
*" TABLES
*" OUTSHEDULE STRUCTURE PDPSP
*" OUTSHEDULESP STRUCTURE PDSPPSP
*"----------------------------------------------------------------------
DATA:LSTRUCT LIKE STRUC OCCURS 0 WITH HEADER LINE.
DATA:LOBJ LIKE OBJEC OCCURS 0 WITH HEADER LINE .
data:lPDPNR like PDPNR OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'RH_STRUC_GET'
EXPORTING
ACT_OTYPE = 'O'
ACT_OBJID = ORGID
ACT_WEGID = 'O-O-P'
* ACT_INT_FLAG =
* ACT_PLVAR = ''
ACT_BEGDA = BEGDA
ACT_ENDDA = ENDDA
ACT_TFLAG = 'X'
ACT_VFLAG = 'X'
AUTHORITY_CHECK = 'X'
TABLES
* RESULT_TAB = LT_RESULT
RESULT_OBJEC = LOBJ
RESULT_STRUC = LSTRUCT
EXCEPTIONS
NO_PLVAR_FOUND = 1
NO_ENTRY_FOUND = 2
OTHERS = 3.
LOOP AT LSTRUCT WHERE OTYPE = 'P'.
LPDPNR-PERNR = LSTRUCT-OBJID.
APPEND LPDPNR.
ENDLOOP.
CALL FUNCTION 'HR_PERSON_READ_WORK_SCHEDULE'
EXPORTING
BEGIN_DATE = BEGDA
END_DATE = endda
TABLES
PERNR_TAB = LPDPNR
PSP = OUTSHEDULE
DAY_PSP = OUTSHEDULESP.
ENDFUNCTION.