I have appended 0HRPOSITION_ATTR Datasource with some fields from HRP1011, HRP1007, HRP1008.
This is my sample code.
SELECT SINGLE STATUS FROM HRP1007 INTO WA_HRP1007-STATUS
WHERE OBJID EQ <WA_HRMS_BW_IO_POSITION>-PLANS
AND ENDDA GE <WA_HRMS_BW_IO_POSITION>-BEGDA
AND ENDDA LE <WA_HRMS_BW_IO_POSITION>-ENDDA.
IF SY-SUBRC = 0.
MOVE WA_HRP1007-STATUS TO <WA_HRMS_BW_IO_POSITION>-ZZSTATUS.
PSA- extractor worked fine but the value in PSA overlapped. Checked DPT "Handle Duplicate records" still did not work.
Position Start Date End date Status Job
30000000 07/01/2005 06/30/2007 1000001
30000000 07/01/2007 02/26/2008 1000002
30000000 02/27/2008 06/30/2009 0 1000003
30000000 07/01/2009 06/30/2009 1000004---> This last record has Start date Greater than End date, causing further load to fail. Not sure why End date did not change to 12/31/9999
Seems like, time dependent nature of HR data, it is better idea to create seperate extractor for each Infotype and map them into InfoObject.
Please suggest if you have better thought.