* ======================================================= * Stefanos Moschidis - SAP Certified Technical Consultant * ======================================================= * ---------------------------------------------------- * Report for showing infotype contents * and retrieving texts connected * to the infotype entries. * Infotype used is 2001 (Absense Leaves) * Version 4.6.c * ----------------------------------------------------- REPORT Z_LEAVES_AND_COMMENTS line-size 255 line-count 65 no standard page heading . * ===================================================== * DATA DECLARATIONS * ===================================================== infotypes : 0002 , 2001 . TABLES : t554t . DATA : BEGIN OF ITAB_LEAVES OCCURS 100 , PERNR LIKE P2001-PERNR , NACHN LIKE P0002-NACHN , VORNA LIKE P0002-VORNA , SUBTY LIKE P2001-SUBTY , ATEXT LIKE T554T-ATEXT , YEAR(4) TYPE C , SEQNR LIKE P2001-SEQNR , BEGDA LIKE P2001-BEGDA , ENDDA LIKE P2001-ENDDA , KALTG LIKE P2001-KALTG . DATA : END OF ITAB_LEAVES . DATA : S_DATE_LOW LIKE SY-DATUM . * ===================================================== * SELECTION SCREEN - DEFAULT * ===================================================== SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME . parameters : P_PERNR LIKE Pa0002-PERNR MATCHCODE OBJECT PREM OBLIGATORY. PARAMETERS : S_DATE LIKE SY-DATUM DEFAULT SY-DATUM . SELECTION-SCREEN END OF BLOCK B1 . * ===================================================== * TOP-OF-PAGE * ===================================================== TOP-OF-PAGE . WRITE : 'Report of Leaves - Infotype 2001' COLOR COL_HEADING . ULINE . WRITE : / 'CODE' COLOR COL_HEADING , 'DESCRIPTION OF LEAVE ' COLOR COL_HEADING , 'YEAR' COLOR COL_HEADING , 'STARTING ' COLOR COL_HEADING , 'ENDING ' COLOR COL_HEADING , 'DURATION ' COLOR COL_HEADING . ULINE . * ====================================================== * START OF SELECTION * ====================================================== START-OF-SELECTION . S_DATE_LOW = S_DATE - 365 . CLEAR : P2001 , P2001[] . RP-READ-INFOTYPE P_PERNR 2001 P2001 S_DATE_LOW S_DATE . IF SY-SUBRC = 0 . LOOP AT P2001 . CLEAR : ITAB_LEAVES . ITAB_LEAVES-PERNR = P2001-PERNR . ITAB_LEAVES-SUBTY = P2001-SUBTY . ITAB_LEAVES-SEQNR = P2001-SEQNR . clear t554t . select single * from t554t where MOABW = '99' and awart = P2001-SUBTY and sprsl = SY-LANGU . if sy-subrc eq 0 . ITAB_LEAVES-ATEXT = T554T-ATEXT . endif . ITAB_LEAVES-BEGDA = P2001-BEGDA . ITAB_LEAVES-ENDDA = P2001-ENDDA . ITAB_LEAVES-YEAR = P2001-BEGDA(4) . ITAB_LEAVES-KALTG = P2001-KALTG . CLEAR P0002 . REFRESH P0002 . RP-READ-INFOTYPE P_PERNR 0002 P0002 '18000101' '99991231'. IF SY-SUBRC = 0 . ITAB_LEAVES-NACHN = P0002-NACHN . ITAB_LEAVES-VORNA = P0002-VORNA . ENDIF . APPEND ITAB_LEAVES . ENDLOOP . ENDIF . * ====================================================== * END OF SELECTION * ====================================================== END-OF-SELECTION . LOOP AT ITAB_LEAVES . WRITE : / ITAB_LEAVES-SUBTY , ITAB_LEAVES-ATEXT , ITAB_LEAVES-YEAR , ITAB_LEAVES-BEGDA , ITAB_LEAVES-ENDDA , ITAB_LEAVES-KALTG . PERFORM GET_NOTES_OF_AN_INFOTYPE USING '2001' ITAB_LEAVES-SUBTY ITAB_LEAVES-PERNR ITAB_LEAVES-BEGDA ITAB_LEAVES-ENDDA ITAB_LEAVES-SEQNR . ENDLOOP . uline . write : ' *** End of Report *** ' COLOR COL_HEADING . uline . *====================================================== * ----------------------------------------------------- * =========> FORM GET_NOTES_OF_AN_INFOTYPE <=========== * ----------------------------------------------------- *====================================================== FORM GET_NOTES_OF_AN_INFOTYPE USING MINFTY MSUBTY MPERNR MBEGDA MENDDA MSEQNR . DATA: TX-KEY LIKE PSKEY. DATA: BEGIN OF TEXT-VERSION, NUMMER TYPE X VALUE '02', END OF TEXT-VERSION. DATA: BEGIN OF PTEXT OCCURS 200. DATA: LINE(78). DATA: END OF PTEXT. data : is_first type i . DATA : LINES_OF_NOTES TYPE I . * -------------------------------------- * Preparing Key for Reading Texts of * Infotype * -------------------------------------- CLEAR TX-KEY . CLEAR: PTEXT . REFRESH: PTEXT . TX-KEY-PERNR = MPERNR . TX-KEY-INFTY = MINFTY . TX-KEY-SUBTY = Msubty . TX-KEY-ENDDA = MENDDA . TX-KEY-BEGDA = MBEGDA . TX-KEY-SEQNR = MSEQNR . * -------------------------------------- * READING CLUSTER TX - (Texts) * -------------------------------------- IMPORT TEXT-VERSION PTEXT FROM DATABASE PCL1(TX) ID TX-KEY USING PCL1_EXP_IMP(SAPFP50P) . IF SY-SUBRC NE 0 . CLEAR: TEXT-VERSION . CLEAR: PTEXT . REFRESH: PTEXT . SY-SUBRC = 4 . ENDIF . * -------------------------------------- * Writing texts retrieved * -------------------------------------- DESCRIBE TABLE PTEXT LINES LINES_OF_NOTES . IF LINES_OF_NOTES GT 0 . is_first = 1 . LOOP AT PTEXT . if is_first = 1 . WRITE : / 'Comments' , ptext-line . is_first = 0 . else . WRITE : / ' ' , ptext-line . endif . ENDLOOP . ENDIF . ENDFORM.