Need the following Help

Helo
I have a a requirement in a noemal report i want to sdispaly the material and its properite like
example:1. human Being
               (a). eyes                 2
               (b) Legs                 2
              2. Education
               a. Books
                b. pens
                c .scales
i have used the following code but i want that to be displayed in the following way
INE,
      I_DEGPAR LIKE ZDEG_PAR_SIZE OCCURS 0 WITH  HEADER LINE,
      I_DEG LIKE ZDEG_PAR_SIZE OCCURS 0 WITH  HEADER LINE,
      I_PAR LIKE ZDEG_PAR_SIZE OCCURS 0 WITH  HEADER LINE,
      I_TEXT LIKE ZLPPTXT OCCURS 0 WITH HEADER LINE ,
      I_SHFT LIKE ZSHIFT OCCURS 0 WITH  HEADER LINE,
      POS TYPE SY-LINNO,
      LIN TYPE SY-LINNO,
      BEGIN OF I_MAKT OCCURS 0,
        MATNR LIKE MARA-MATNR,
        MAKTX LIKE MAKT-MAKTX,
      END OF I_MAKT,
      BEGIN OF I_KNA1 OCCURS 0,
        KUNNR LIKE KNA1-KUNNR,
        NAME  LIKE KNA1-NAME1,
      END OF I_KNA1.
**SELECTION-SCREEN DETAILS
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS :S_GRADE FOR MARA-MATNR.
PARAMETERS:P_KUNNR LIKE KNA1-KUNNR MATCHCODE OBJECT ZCUST,
            P_DATE LIKE MARA-ERSDA,
            P_SHIFT LIKE ZSHIFT-TYPE MATCHCODE OBJECT ZSHIFT.
SELECTION-SCREEN :END OF BLOCK B1.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZEXTRACTION INTO TABLE I_EXTR
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE.
SELECT * FROM ZEXTRACTION INTO TABLE I_EXTR
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
SELECT MATNR MAKTX FROM MAKT INTO  TABLE I_MAKT
               FOR ALL ENTRIES IN I_EXTR WHERE MATNR = I_EXTR-GRADE.
IF P_KUNNR IS NOT INITIAL.
SELECT KUNNR NAME1 FROM  KNA1 INTO TABLE I_KNA1 FOR ALL ENTRIES IN
                          I_EXTR WHERE KUNNR = I_EXTR-CUSTOMER.
ENDIF.
SELECT * FROM ZSHIFT INTO TABLE I_SHFT FOR ALL  ENTRIES IN I_EXTR
                           WHERE TYPE = I_EXTR-SHIFT.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZFORIEGNDAT INTO TABLE I_FORG
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE .
SELECT * FROM ZFORIEGNDAT INTO TABLE I_FORG
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_MC
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'MCTEM'.
ELSE.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_MC
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'MCTEM'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_LAM
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'LAMN'.
ELSE.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_LAM
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'LAMN'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZZONEP INTO TABLE I_ZON
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE.
SELECT * FROM ZZONEP INTO TABLE I_ZON
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_DEG
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'DEGR'.
ELSE.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_DEG
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'DEGR'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_PAR
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'PART'.
ELSE.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_PAR
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'PART'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZLPPTXT INTO TABLE I_TEXT WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE.
SELECT * FROM ZLPPTXT INTO TABLE I_TEXT WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
APPEND LINES OF I_ZON TO I_ZONE.
APPEND LINES OF I_ZON TO I_ZONE1.
DELETE ADJACENT DUPLICATES FROM I_ZONE COMPARING GRADE.
DELETE ADJACENT DUPLICATES FROM I_ZONE1 COMPARING ZNAME.
DESCRIBE TABLE I_ZONE1 LINES LIN.
LOOP AT I_ZONE .
ON CHANGE OF I_ZONE-GRADE.
NEW-PAGE.
POSITION 73.
WRITE : 73 'Page No:' COLOR COL_GROUP, SY-PAGNO COLOR COL_GROUP.
READ TABLE I_MAKT WITH KEY MATNR = I_ZONE-GRADE.
READ TABLE I_KNA1 WITH KEY KUNNR = I_ZONE-CUSTOMER.
READ TABLE I_SHFT WITH KEY TYPE = I_ZONE-SHIFT.
WRITE:/5 'GRADE'COLOR COL_POSITIVE,15 I_ZONE-GRADE COLOR COL_POSITIVE,34 I_MAKT-MAKTX COLOR COL_POSITIVE,70 'DATE' COLOR COL_POSITIVE, 76 I_ZONE-DAT COLOR COL_POSITIVE.
WRITE:/5 'CUSTOMER' COLOR COL_POSITIVE ,15 I_ZONE-CUSTOMER COLOR COL_POSITIVE ,34 I_KNA1-NAME COLOR COL_POSITIVE,70 'SHIFT' COLOR COL_POSITIVE,76 I_ZONE-SHIFT COLOR COL_POSITIVE,
       82 I_SHFT-NAME COLOR COL_POSITIVE.
ENDON.
*ENDLOOP.
LOOP AT I_MC WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_MC-GRADE.
skip 1.
WRITE:/5 'GRADE'COLOR COL_POSITIVE,15 I_ZONE-GRADE COLOR COL_POSITIVE,34 I_MAKT-MAKTX COLOR COL_POSITIVE.
FORMAT COLOR COL_HEADING.
ULINE:/1(93).
WRITE:/1 '|','1.Moisture & Temperature',50 '|','Target',63 '|','Mean', 73 '|','SD', 83 '|', 'C OF V',93'|'..
ULINE: /1(93).
WRITE:/1 '|',I_MC-NAME ,50 '|', I_MC-TARGET,63 '|', I_MC-MEANDAY, 73 '|', I_MC-SDDAY, 83 '|', I_MC-COFV,93'|'.
ULINE: /1(93).
FORMAT COLOR OFF.
FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING.
ULINE: /1(81).
WRITE:/1 '|','2.Dryer Temperature', 45 '|', 'Operator Settings', 66 '|','QC Readings', 81 '|'.
ULINE: /1(81).
*WRITE:/1 '|','Dryer Temperature',50 '|', .
LOOP AT I_ZON WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_ZON-GRADE.
FORMAT COLOR COL_HEADING.
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|',I_ZON-ZNAME, 45 '|',I_ZON-OPSET, 66 '|',I_ZON-QCREAD, 81 '|'.
ULINE: /1(81).
ENDLOOP.
FORMAT COLOR COL_HEADING.
uline: /(85).
WRITE:/1 '|', '3.Lamina & Stems',39 '|','Target',56 '|','Mean', 66 '|','SD', 75 '|', 'C OF V',85'|'.""'Temperature',107 '|'.
ULINE: /1(85).
LOOP AT I_LAM WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_LAM-GRADE.
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_lam-NAME ,39 '|', I_lam-TARGET,56 '|', I_lam-MEANDAY, 66 '|', I_lam-SDDAY, 75 '|', I_lam-COFV,85'|'.""I_LAM-TMP, 107 '|'.
ULINE: /1(85).
*ULINE: /1(85).
ENDLOOP.
LOOP AT I_DEG WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_DEG-GRADE.
FORMAT COLOR COL_HEADING.
ULINE: /1(73).
WRITE:/1 '|','4.DEGARADATION TESTS', 46 '|','Target',63 '|','GR Mean ', 73 '|'."""'DryTarget', 88 '|', 'DRMean',98'|'.
ULINE: /1(73).
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_DEG-NAME,46 '|',I_DEG-TARGET,63 '|',I_DEG-GRMEAN, 73 '|'.""I_DEG-DRTARGET, 88 '|', I_DEG-DRMEAN,98'|'.
ULINE: /1(73).
ENDLOOP.
LOOP AT I_PAR WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_PAR-GRADE .
FORMAT COLOR COL_HEADING.
ULINE: /1(86).
WRITE:/1 '|','5.PARTICLE SIZE DETERMINATION', 39 '|','Target',52 '|','GR Mean ', 62 '|','Dry Target', 75 '|', 'Dry Mean',86'|'.
*WRITE:/1 '|','Sno', 9 '|', 'Name',39 '|','Target',52 '|','GR Mean ', 62 '|','Dry Target', 75 '|', 'Dry Mean',86'|'.
ULINE: /1(86).
FORMAT COLOR OFF.
ENDON.
IF I_PAR-SNO = '0009' OR I_PAR-SNO = '0010'.
**FORMAT COLOR COL_NEGATIVE.
WRITE:/1 '|', I_PAR-NAME,39 '|',I_PAR-TARGET,52 '|',I_PAR-GRMEAN COLOR COL_NEGATIVE, 62 '|',I_PAR-DRTARGET, 75 '|', I_PAR-DRMEAN COLOR COL_NEGATIVE,86'|'.
***FORMAT COLOR  OFF.
ELSE.
WRITE:/1 '|', I_PAR-NAME,39 '|',I_PAR-TARGET,52 '|',I_PAR-GRMEAN, 62 '|',I_PAR-DRTARGET, 75 '|', I_PAR-DRMEAN,86'|'.
ENDIF.
ULINE: /1(86).
ENDLOOP.
LOOP AT I_EXTR WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_EXTR-GRADE.
FORMAT COLOR COL_HEADING.
ULINE: /1(107).
WRITE:/1 '|','6.Stage Extraction', 46 '|','Target',63 '|','Lamina ', 73 '|','Free Lamina Target', 93 '|','Free Lamina',107 '|'.
ULINE: /1(107).
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_EXTR-STAGE,46 '|',I_EXTR-TARGET,63 '|',I_EXTR-LAMINA, 73 '|',I_EXTR-FRTARGET, 93 '|', I_EXTR-FRLAMINA ,107 '|'.
*WRITE:/1 '|','Sno', 9 '|', 'Name',46 '|','Target',63 '|','Lamina ', 73 '|','Free Lamina Target', 93 '|','Free Lamina',107 '|'.
ULINE: /1(107).
*WRITE:/1 '|',I_EXTR-SNO, 9 '|', I_EXTR-STAGE,46 '|',I_EXTR-TARGET,63 '|',I_EXTR-LAMINA, 73 '|',I_EXTR-FRTARGET, 93 '|', I_EXTR-FRLAMINA ,107 '|'.
*ULINE: /1(107).
ENDLOOP.
LOOP AT I_FORG WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_FORG-GRADE.
FORMAT COLOR COL_HEADING.
ULINE: /1(118).
WRITE:/1 '|', '7.Foriegn Matter',41 '|','Blend ', 67 '|','Pick', 77 '|','Thrsh',87 '|','BY Product',98 '|','Moths',108 '|','BEETLES',118 '|'.
ULINE: /1(118).
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_FORG-STAGE,41 '|',I_FORG-BLEND, 67 '|',I_FORG-PICK, 77 '|',I_FORG-THRSH,87 '|',I_FORG-BYPROD,98 '|',I_FORG-MOTHS,108 '|',I_FORG-BEETLES,118 '|'.
*WRITE:/1 '|','Sno', 9 '|', 'Name',41 '|','Blend ', 67 '|','Pick', 77 '|','Thrsh',87 '|','BY Product',98 '|','Moths',108 '|','BEETLES',118 '|'.
ULINE: /1(118).
*WRITE:/1 '|',I_FORG-SNO, 9 '|', I_FORG-STAGE,41 '|',I_FORG-BLEND, 67 '|',I_FORG-PICK, 77 '|',I_FORG-THRSH,87 '|',I_FORG-BYPROD,98 '|',I_FORG-MOTHS,108 '|',I_FORG-BEETLES,118 '|'.
*ULINE: /1(118).
ENDLOOP.
READ TABLE I_TEXT WITH KEY GRADE = I_ZON-GRADE
                           CUSTOMER = I_ZON-CUSTOMER
                           SHIFT = I_ZON-SHIFT
                           DAT = I_ZON-DAT.
SKIP 4.
WRITE:/2 'QUALITY CONTROLLER',22'________________', 60 'P.MANAGER','______________' ,90 'LP&EM','____________'.
SKIP 2.
WRITE:/76 'MTK/LPP/QC/REP/016'.
SKIP 2.
WRITE:'The individual values with  highlight  represents Absolute zero if its 0.00'.
SKIP 2.
WRITE:/'This report was generated by SAP'.
ENDON.
ENDLOOP.
ENDLOOP.
TOP-OF-PAGE.
PERFORM TOP_OF_PAGE.
*&      Form  TOP_OF_PAGE
      text
-->  p1        text
<--  p2        text
FORM TOP_OF_PAGE .
POSITION 50.
WRITE:/50 'MASTERMIND TOBACCO (K) LTD' COLOR COL_HEADING,
      /52 'LPP QUALITY CONTROL NRB' COLOR COL_HEADING,
      /55 'DAILY REPORT' COLOR COL_HEADING.
ENDFORM.                    " TOP_OF_PAGE

Helo
I have a a requirement in a noemal report i want to sdispaly the material and its properite like
example:1. human Being
               (a). eyes                 2
               (b) Legs                 2
              2. Education
               a. Books
                b. pens
                c .scales
i have used the following code but i want that to be displayed in the following way
INE,
      I_DEGPAR LIKE ZDEG_PAR_SIZE OCCURS 0 WITH  HEADER LINE,
      I_DEG LIKE ZDEG_PAR_SIZE OCCURS 0 WITH  HEADER LINE,
      I_PAR LIKE ZDEG_PAR_SIZE OCCURS 0 WITH  HEADER LINE,
      I_TEXT LIKE ZLPPTXT OCCURS 0 WITH HEADER LINE ,
      I_SHFT LIKE ZSHIFT OCCURS 0 WITH  HEADER LINE,
      POS TYPE SY-LINNO,
      LIN TYPE SY-LINNO,
      BEGIN OF I_MAKT OCCURS 0,
        MATNR LIKE MARA-MATNR,
        MAKTX LIKE MAKT-MAKTX,
      END OF I_MAKT,
      BEGIN OF I_KNA1 OCCURS 0,
        KUNNR LIKE KNA1-KUNNR,
        NAME  LIKE KNA1-NAME1,
      END OF I_KNA1.
**SELECTION-SCREEN DETAILS
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS :S_GRADE FOR MARA-MATNR.
PARAMETERS:P_KUNNR LIKE KNA1-KUNNR MATCHCODE OBJECT ZCUST,
            P_DATE LIKE MARA-ERSDA,
            P_SHIFT LIKE ZSHIFT-TYPE MATCHCODE OBJECT ZSHIFT.
SELECTION-SCREEN :END OF BLOCK B1.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZEXTRACTION INTO TABLE I_EXTR
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE.
SELECT * FROM ZEXTRACTION INTO TABLE I_EXTR
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
SELECT MATNR MAKTX FROM MAKT INTO  TABLE I_MAKT
               FOR ALL ENTRIES IN I_EXTR WHERE MATNR = I_EXTR-GRADE.
IF P_KUNNR IS NOT INITIAL.
SELECT KUNNR NAME1 FROM  KNA1 INTO TABLE I_KNA1 FOR ALL ENTRIES IN
                          I_EXTR WHERE KUNNR = I_EXTR-CUSTOMER.
ENDIF.
SELECT * FROM ZSHIFT INTO TABLE I_SHFT FOR ALL  ENTRIES IN I_EXTR
                           WHERE TYPE = I_EXTR-SHIFT.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZFORIEGNDAT INTO TABLE I_FORG
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE .
SELECT * FROM ZFORIEGNDAT INTO TABLE I_FORG
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_MC
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'MCTEM'.
ELSE.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_MC
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'MCTEM'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_LAM
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'LAMN'.
ELSE.
SELECT * FROM ZMC_TEMP_PAR INTO TABLE I_LAM
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'LAMN'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZZONEP INTO TABLE I_ZON
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE.
SELECT * FROM ZZONEP INTO TABLE I_ZON
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_DEG
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'DEGR'.
ELSE.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_DEG
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'DEGR'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_PAR
                               WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'PART'.
ELSE.
SELECT * FROM ZDEG_PAR_SIZE INTO TABLE I_PAR
                               WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE
                               AND TABIND = 'PART'.
ENDIF.
IF P_KUNNR IS NOT INITIAL.
SELECT * FROM ZLPPTXT INTO TABLE I_TEXT WHERE GRADE IN S_GRADE
                               AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ELSE.
SELECT * FROM ZLPPTXT INTO TABLE I_TEXT WHERE GRADE IN S_GRADE
                              AND CUSTOMER = P_KUNNR
                               AND SHIFT = P_SHIFT
                               AND DAT = P_DATE.
ENDIF.
APPEND LINES OF I_ZON TO I_ZONE.
APPEND LINES OF I_ZON TO I_ZONE1.
DELETE ADJACENT DUPLICATES FROM I_ZONE COMPARING GRADE.
DELETE ADJACENT DUPLICATES FROM I_ZONE1 COMPARING ZNAME.
DESCRIBE TABLE I_ZONE1 LINES LIN.
LOOP AT I_ZONE .
ON CHANGE OF I_ZONE-GRADE.
NEW-PAGE.
POSITION 73.
WRITE : 73 'Page No:' COLOR COL_GROUP, SY-PAGNO COLOR COL_GROUP.
READ TABLE I_MAKT WITH KEY MATNR = I_ZONE-GRADE.
READ TABLE I_KNA1 WITH KEY KUNNR = I_ZONE-CUSTOMER.
READ TABLE I_SHFT WITH KEY TYPE = I_ZONE-SHIFT.
WRITE:/5 'GRADE'COLOR COL_POSITIVE,15 I_ZONE-GRADE COLOR COL_POSITIVE,34 I_MAKT-MAKTX COLOR COL_POSITIVE,70 'DATE' COLOR COL_POSITIVE, 76 I_ZONE-DAT COLOR COL_POSITIVE.
WRITE:/5 'CUSTOMER' COLOR COL_POSITIVE ,15 I_ZONE-CUSTOMER COLOR COL_POSITIVE ,34 I_KNA1-NAME COLOR COL_POSITIVE,70 'SHIFT' COLOR COL_POSITIVE,76 I_ZONE-SHIFT COLOR COL_POSITIVE,
       82 I_SHFT-NAME COLOR COL_POSITIVE.
ENDON.
*ENDLOOP.
LOOP AT I_MC WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_MC-GRADE.
skip 1.
WRITE:/5 'GRADE'COLOR COL_POSITIVE,15 I_ZONE-GRADE COLOR COL_POSITIVE,34 I_MAKT-MAKTX COLOR COL_POSITIVE.
FORMAT COLOR COL_HEADING.
ULINE:/1(93).
WRITE:/1 '|','1.Moisture & Temperature',50 '|','Target',63 '|','Mean', 73 '|','SD', 83 '|', 'C OF V',93'|'..
ULINE: /1(93).
WRITE:/1 '|',I_MC-NAME ,50 '|', I_MC-TARGET,63 '|', I_MC-MEANDAY, 73 '|', I_MC-SDDAY, 83 '|', I_MC-COFV,93'|'.
ULINE: /1(93).
FORMAT COLOR OFF.
FORMAT COLOR OFF.
FORMAT COLOR COL_HEADING.
ULINE: /1(81).
WRITE:/1 '|','2.Dryer Temperature', 45 '|', 'Operator Settings', 66 '|','QC Readings', 81 '|'.
ULINE: /1(81).
*WRITE:/1 '|','Dryer Temperature',50 '|', .
LOOP AT I_ZON WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_ZON-GRADE.
FORMAT COLOR COL_HEADING.
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|',I_ZON-ZNAME, 45 '|',I_ZON-OPSET, 66 '|',I_ZON-QCREAD, 81 '|'.
ULINE: /1(81).
ENDLOOP.
FORMAT COLOR COL_HEADING.
uline: /(85).
WRITE:/1 '|', '3.Lamina & Stems',39 '|','Target',56 '|','Mean', 66 '|','SD', 75 '|', 'C OF V',85'|'.""'Temperature',107 '|'.
ULINE: /1(85).
LOOP AT I_LAM WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_LAM-GRADE.
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_lam-NAME ,39 '|', I_lam-TARGET,56 '|', I_lam-MEANDAY, 66 '|', I_lam-SDDAY, 75 '|', I_lam-COFV,85'|'.""I_LAM-TMP, 107 '|'.
ULINE: /1(85).
*ULINE: /1(85).
ENDLOOP.
LOOP AT I_DEG WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_DEG-GRADE.
FORMAT COLOR COL_HEADING.
ULINE: /1(73).
WRITE:/1 '|','4.DEGARADATION TESTS', 46 '|','Target',63 '|','GR Mean ', 73 '|'."""'DryTarget', 88 '|', 'DRMean',98'|'.
ULINE: /1(73).
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_DEG-NAME,46 '|',I_DEG-TARGET,63 '|',I_DEG-GRMEAN, 73 '|'.""I_DEG-DRTARGET, 88 '|', I_DEG-DRMEAN,98'|'.
ULINE: /1(73).
ENDLOOP.
LOOP AT I_PAR WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_PAR-GRADE .
FORMAT COLOR COL_HEADING.
ULINE: /1(86).
WRITE:/1 '|','5.PARTICLE SIZE DETERMINATION', 39 '|','Target',52 '|','GR Mean ', 62 '|','Dry Target', 75 '|', 'Dry Mean',86'|'.
*WRITE:/1 '|','Sno', 9 '|', 'Name',39 '|','Target',52 '|','GR Mean ', 62 '|','Dry Target', 75 '|', 'Dry Mean',86'|'.
ULINE: /1(86).
FORMAT COLOR OFF.
ENDON.
IF I_PAR-SNO = '0009' OR I_PAR-SNO = '0010'.
**FORMAT COLOR COL_NEGATIVE.
WRITE:/1 '|', I_PAR-NAME,39 '|',I_PAR-TARGET,52 '|',I_PAR-GRMEAN COLOR COL_NEGATIVE, 62 '|',I_PAR-DRTARGET, 75 '|', I_PAR-DRMEAN COLOR COL_NEGATIVE,86'|'.
***FORMAT COLOR  OFF.
ELSE.
WRITE:/1 '|', I_PAR-NAME,39 '|',I_PAR-TARGET,52 '|',I_PAR-GRMEAN, 62 '|',I_PAR-DRTARGET, 75 '|', I_PAR-DRMEAN,86'|'.
ENDIF.
ULINE: /1(86).
ENDLOOP.
LOOP AT I_EXTR WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_EXTR-GRADE.
FORMAT COLOR COL_HEADING.
ULINE: /1(107).
WRITE:/1 '|','6.Stage Extraction', 46 '|','Target',63 '|','Lamina ', 73 '|','Free Lamina Target', 93 '|','Free Lamina',107 '|'.
ULINE: /1(107).
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_EXTR-STAGE,46 '|',I_EXTR-TARGET,63 '|',I_EXTR-LAMINA, 73 '|',I_EXTR-FRTARGET, 93 '|', I_EXTR-FRLAMINA ,107 '|'.
*WRITE:/1 '|','Sno', 9 '|', 'Name',46 '|','Target',63 '|','Lamina ', 73 '|','Free Lamina Target', 93 '|','Free Lamina',107 '|'.
ULINE: /1(107).
*WRITE:/1 '|',I_EXTR-SNO, 9 '|', I_EXTR-STAGE,46 '|',I_EXTR-TARGET,63 '|',I_EXTR-LAMINA, 73 '|',I_EXTR-FRTARGET, 93 '|', I_EXTR-FRLAMINA ,107 '|'.
*ULINE: /1(107).
ENDLOOP.
LOOP AT I_FORG WHERE GRADE = I_ZONE-GRADE.
ON CHANGE OF I_FORG-GRADE.
FORMAT COLOR COL_HEADING.
ULINE: /1(118).
WRITE:/1 '|', '7.Foriegn Matter',41 '|','Blend ', 67 '|','Pick', 77 '|','Thrsh',87 '|','BY Product',98 '|','Moths',108 '|','BEETLES',118 '|'.
ULINE: /1(118).
FORMAT COLOR OFF.
ENDON.
WRITE:/1 '|', I_FORG-STAGE,41 '|',I_FORG-BLEND, 67 '|',I_FORG-PICK, 77 '|',I_FORG-THRSH,87 '|',I_FORG-BYPROD,98 '|',I_FORG-MOTHS,108 '|',I_FORG-BEETLES,118 '|'.
*WRITE:/1 '|','Sno', 9 '|', 'Name',41 '|','Blend ', 67 '|','Pick', 77 '|','Thrsh',87 '|','BY Product',98 '|','Moths',108 '|','BEETLES',118 '|'.
ULINE: /1(118).
*WRITE:/1 '|',I_FORG-SNO, 9 '|', I_FORG-STAGE,41 '|',I_FORG-BLEND, 67 '|',I_FORG-PICK, 77 '|',I_FORG-THRSH,87 '|',I_FORG-BYPROD,98 '|',I_FORG-MOTHS,108 '|',I_FORG-BEETLES,118 '|'.
*ULINE: /1(118).
ENDLOOP.
READ TABLE I_TEXT WITH KEY GRADE = I_ZON-GRADE
                           CUSTOMER = I_ZON-CUSTOMER
                           SHIFT = I_ZON-SHIFT
                           DAT = I_ZON-DAT.
SKIP 4.
WRITE:/2 'QUALITY CONTROLLER',22'________________', 60 'P.MANAGER','______________' ,90 'LP&EM','____________'.
SKIP 2.
WRITE:/76 'MTK/LPP/QC/REP/016'.
SKIP 2.
WRITE:'The individual values with  highlight  represents Absolute zero if its 0.00'.
SKIP 2.
WRITE:/'This report was generated by SAP'.
ENDON.
ENDLOOP.
ENDLOOP.
TOP-OF-PAGE.
PERFORM TOP_OF_PAGE.
*&      Form  TOP_OF_PAGE
      text
-->  p1        text
<--  p2        text
FORM TOP_OF_PAGE .
POSITION 50.
WRITE:/50 'MASTERMIND TOBACCO (K) LTD' COLOR COL_HEADING,
      /52 'LPP QUALITY CONTROL NRB' COLOR COL_HEADING,
      /55 'DAILY REPORT' COLOR COL_HEADING.
ENDFORM.                    " TOP_OF_PAGE

Similar Messages

  • How to show "An app on your PC needs the following Windows feature." dialog programmatically?

    When I try to run .NET 3.5 applications on Windows 8.1 which has not .NET 3.5 Framework, Windows will show the "An app on your PC needs the following Windows feature. .NET Framework 3.5 (includes .NET 2.0 and .NET 3.0)" dialog automatically.
    But I want to show this dialog programmatically. I think that the dialog is much more friendly than DISM command.
    Any help would be appreciated.

    Hello lzhangwdk,
    I'm thinking that the issue is more related to a Setup issue now.
    Anyway, may I ask one question, have you include the .NET 3.5 feature in your prerequisite list when creating a installer?
    To raise a dialog is possible but it still require you use a kind of depolyment technology then customize your installer. If you use the ClickOnce technology, you can consider use isFirstRun to customize something to run:
    https://social.msdn.microsoft.com/forums/windows/en-us/b3bca1fb-d2f3-417d-a7f9-e174e32ed3b0/clickonce-custom-actions
    In setup project you may consider use custom actions to raise a dialog.
    http://www.codeproject.com/Articles/335516/Custom-Action-in-Visual-Studio-setup-projects
    So in general I need more info from you to redirect you to the right direction. And actually in my mind, just use the prerequisite list is OK. It is better than try any dism command, it will ask your users to install or enable .NET 3.5 themself.
    Best regards,
    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • HELP Word crashed with the spinning wheel, i need the Doc , HELP!!!!!

    My wife was working on a word document and i got the spinning wheel when she tried to do a spell check. I can't quit word as my wife need the document for her college course and she didn't save it, before she did tyhe spell check. Would it had been stored as a temp file that i can recover in some form. Word is still open ad i will keep the mac power up, until i find and answer or my wife through my mac through the window.Please Please Help as my wife is frantic.!!!!!

    Get thee to the Microsoft Word for Mac forum found here <http://groups.google.com/group/microsoft.public.mac.office.word>. You'll find several experts there who may be able to assist you. Also have a look at this resource put together by some of those experts <http://word.mvps.org/mac/>.
    Word for Mac is a Microsoft product, not an Apple product. You'll find more answers there than you will find here in a forum dedicated to Mac and Windows compatibility. Be sure to search the forum first. You may find that someone else has asked a similar question and that it has already been answered. You'll hopefully get your answer faster this way.
    Good luck! bill
    1 GHz Powerbook G4   Mac OS X (10.4.8)  

  • Do I need the following software on my computer? Keeps downloading and it slows down the machine....

    Hello-
    I have some issues. I want to know if it ok, if I uninstall the following-
    1) Slows down the machine. I have already uninstalled some of it, I don't need it-
    Microsoft.net Framework 4 Client Profile.....
    AND
    Microsoft SQL Server 2005 Compact Edition [ENU],  Sync Framework Runtime Native v1.0 (x86), Visual C++2005 redistributable, Visual C++2005 redistributable (x64), Visual C++2008 redistributable x86 (9.0.30729.4148 and 9.0.30729.6161)
    2) Realtek Ethernet Driver 8136-8168-8169
    3) Silverlight.
    4) Windows Live Essentials, including assistant, live sync and tool.
    Thank you-

    I don't have Pro.;(
    One last question ( You are so knowledgeable GMAC)
    Region 2 Pal DVDs
    There are some foreign movies I have been wanting to watch, but they are not available in NTSC Region 1 format. I just read that computers are region agnostic and should be able to play a DVD from any region. Then I read conflicting reports- desktop vs laptop, newer versions of Windows Media, etc. It would be wonderful to be able to watch PAL 2 DVD's from Europe/ with English subtitles on my Lenovo. (I know my DVD player can't handle it.) The experts on this forum should know better than anyone what my Lenovo can do. Some of these DVD's are kind of expensive. I don't want to buy, until I know for sure that I can play them. Any thoughts? Can my Lenovo handle it?
    Thank You!

  • I need the following form code logics?

    1)how to disable a field?
    2)code for submit button?
    Plz reply with the code if anyone knows . . .

    So, when you say "submit", you mean "execute a query"? If so, you shoulkd do the following:
    Create a block based on your table containing the data you want to show. Use the datablock wirzard to do so.
    In your button, put code like
    GO_BLOCK('YOURBLOCK');
    EXECUTE_QUERY;
    If you have a searchfield in another block and you want to use that as search-criteria, edit the block-properties for your block and add something like this in the property WHERE-clause:
    TABLE_COLUMN=:SEARCHBLOCK.SEARCHITEM

  • I need the communities help in solving a network issue

    Hello all,
    I need your help. I am experiencing brief losses in connectivity somewhere in my Internet connection. They happen sporadically. Some days I get none, on average I get 1-2, rarely more then 3. And they  last from 10-30 seconds. Nothing has to be done on my end to start communication happening again.
    All, in all, it is relatively minor.  Except that I work from home. My VPN connection can drop during this time causing some frustration. But, the biggest problem is my VOIP phone (over this VPN). The phone always drops off and has to re-register (1-2 minute process). I am often times leading critical phone meetings, and dropping off-line is not an option.
    So, why am I asking you for help?  Well I have almost an exclusive Apple environment (as much as I can at least). I am wondering if there is any way I can figure out what is going on through some sort of logs on my Airport Extreme? Is there some sort of sniffer program that can be installed on the Mac that will help?
    I have called my cable internet provider (Cox) and of course they say everything is fine on their end.  I don't know where to start!
    Any help would be appreciated!
    Stuart

    Thanks for the update on the Cisco. I use a Cisco RVS4000 VPN router as my main Internet router and have a pair of 802.11n AirPort Extreme Base Stations (AEBSn) that connect back to this Cisco by Ethernet which provide wireless for both floors of my house. I use the same Cisco VPN client to access a work PC as well.
    However, notice that I have the VPN router well upstream in my network as it is directly connected to my Broadband modem. This would be the ideal location for a VPN appliance, but is not mandatory.
    Your AirPort, unfortunately, does not have any QoS or traffic-shaping features. That means all data coming/going though the AirPort is pretty much treated equally. Your work-provided Cisco router does have these features and could be configured to prioritize all VPN and/or VoIP data traffic.
    It may be possible the issues you are seeing is where this Cisco is situated downstream of both another router and a switch.

  • Need the following reports...urgent!!!

    Hi Gurus.....
    •A detailed report for listing goods receipts by material wise for a given period which
    contains detailed information like PO No, PO Date, Plant, GR ref, GR date,
    Material description. [Tables involved: EKKO, EKPO, MSEG, MARA, MKPF, MKET].
    •Report which gives PO(Purchase Order) Pricing details.
    •Displaying vendor NAME field for vendor in the transaction balances in local currency .
    Thanks...

    hi
    the question here is that we are using transaction S_ALR_87012082. BUT WHEN WE CHANGE THE LAYOUT AND ADD FIELD name1, the data is not populated in this field..... i checked the code and the subroutine used to fill the itab which is passed to the alv func module is not called anywhere in the program...... meaning
    form anschrift_ausgeben.
    form saldo_ausgeben_k.
    are not called anywhere using perform statements.
    Regards,
    Tarun

  • IPOD Touch /Phone needs lacks the following serious features :

    ipod touch needs serious software revamp and since the first ipod none of those
    features included and its a shame that such an amazing product and design lacks
    of serious software.
    IPOD TOUCH / PHONE needs the following features through a software/firmware
    upgrade.
    + create and name playlists through ipod
    + search function
    + display the full info of a song in the display /screen (ie. song artist,
    album,etc)
    + display all songs of an artist when the artist menu tab is clicked when a song
    splays and not only from the current album
    + rename and delete songs
    I don't understand why ipod the best mp3 player, lacks so serious features and I
    like to to include the above features in a future upgrade.
    If you agree with me and you like those features as well to b included in a
    feature upgrade please show your support.

    well you can create a playlist on the ipod

  • T43 Accessing the IBM Help button, or any of the help material

    I'm new, so please excuse my noviceness. I bought a refurbished T43, wanting to get into the ThinkPad. I went to a green refurbisher and all was well. However......
    It has XP. When I try to access the blue help button, or any of the instructional material, nothing happens.  (I understand there is no user manual, so it important for a newbie). I presume the refurbisher  just wiped the system clean, and only installed XP and a couple of other things.
    How can I get this instructional material back and working.
    Once again, thanks, and sorry for the lame knowledge on my part.
    Solved!
    Go to Solution.

    dstortz, welcome to the forum,
    you can visit this site to find all the necessary drivers / tools for your T43. You will need the Access Help users online guide and almost certainly the HotKey Utility, please ensure you download and install the versions for your system type.
    Another method would be to see if System Update can find them for you. MS .NET Framework 2.0 will be required for this, instructions are posted on the site.
    Hope this helps
    Andy  ______________________________________
    Please remember to come back and mark the post that you feel solved your question as the solution, it earns the member + points
    Did you find a post helpfull? You can thank the member by clicking on the star to the left awarding them Kudos Please add your type, model number and OS to your signature, it helps to help you. Forum Search Option T430 2347-G7U W8 x64, Yoga 10 HD+, Tablet 1838-2BG, T61p 6460-67G W7 x64, T43p 2668-G2G XP, T23 2647-9LG XP, plus a few more. FYI Unsolicited Personal Messages will be ignored.
      Deutsche Community     Comunidad en Español    English Community Русскоязычное Сообщество
    PepperonI blog 

  • Need help with adding the following to a program

    Modify the mortgage program to display the mortgage payment amount. Then, list the loan balance and interest paid for each payment over the term of the loan. The list would scroll off the screen, but use loops to display a partial list, hesitate, and then display more of the list. Do not use a graphical user interface. Insert comments in the program to document the program.
    Currently I am working on adding the following line in bold but getting error expected ";" on line 27
    import java.io.*;
    import java.util.Date;
    import java.text.DecimalFormat;
    public class Mortgage5
    public static void main(String[] args)
    Date currentDate = new Date(); //Date constructor
    DecimalFormat decimalPlaces = new DecimalFormat("$###,###.##");
    //declaring variables
    final double PRINCIPLE = 200000;
    final double INTEREST = .0575/12;
    final double TERM = 12*30;
    //declaring variables
    final double MONTHLY =PRINCIPLE*(INTEREST/(1-Math.pow(1+INTEREST, -TERM)));
    //displaying variables
    System.out.println("\t\t" + currentDate);
    System.out.println("\t\tPrinciple or Loan Amount: " + decimalPlaces.format(PRINCIPLE));
    System.out.println("\t\tInterest Rate: " + (INTEREST));
    System.out.println("\t\tThe Term of Loan (in months): " + (TERM));
    System.out.println("\t\tThe Monthly Payment is: " + decimalPlaces.format(MONTHLY));
    System.out.println("\t\tThe Balence - Your Payment is: " + decimalPlaces.format(PRINCIPLE*INTEREST*TERM)-MONTHLY));
    Any suggestions??? PLEASE

    Ok I figured out the issue now if someone can help me. I need to create a loop for the following:
    The list would scroll off the screen, but use loops to display a partial list, hesitate, and then display more of the list.
    Here is the Program so far.
    import java.io.*;
    import java.util.Date;
    import java.text.DecimalFormat;
    public class Mortgage5
    public static void main(String[] args)
    Date currentDate = new Date(); //Date constructor
    DecimalFormat decimalPlaces = new DecimalFormat("$###,###.##");
    //declaring variables
    final double PRINCIPLE = 200000;
    final double INTEREST = .0575/12;
    final double TERM = 12*30;
    //declaring variables
    final double MONTHLY =PRINCIPLE*(INTEREST/(1-Math.pow(1+INTEREST, -TERM)));
    final double NEWBAL = (PRINCIPLE*INTEREST*TERM) -MONTHLY;
    //displaying variables
    System.out.println("\t\t" + currentDate);
    System.out.println("\t\tPrinciple or Loan Amount: " + decimalPlaces.format(PRINCIPLE));
    System.out.println("\t\tInterest Rate: " + (INTEREST));
    System.out.println("\t\tThe Term of Loan (in months): " + (TERM));
    System.out.println("\t\tThe Monthly Payment is: " + decimalPlaces.format(MONTHLY));
    System.out.println("\t\tThe Balence - Your Payment is: " + decimalPlaces.format(NEWBAL));
    }

  • Need help in modifing the following code to display required output

    Hi this is the code which i am going to displayoutput here i used FM VRM_SET_VALUES for getting dropdown box when i used it my output race field is not getting any values and blank space is getting displayed
    what i want is just i need to display the output according to the selection screen
    and the other fields in the selection screen except 'p_gender' are also  giving problem when i am keeping where condition to link selection screen
    can any one please help me in getting the required output according to selection by modifing the following code
    TABLES: pernr,t5u13,cskt , t001p,t500p, t501t,t503t,t513s,t527x,t529t,t530t, t5uaa.
    TYPE-POOLS: slis, vrm.
    INFOTYPES: 0000,                               "Actions
               0001,                               "Org Assignment
               0002,                               "Personal Data
               0006,                               "Address
               0008,                               "Basic Pay
               0041,                               "Date Specifications
               0077.                               "Additional Personal Data
    CONSTANTS: gc_x               TYPE c VALUE 'X',
               g_w(1)             TYPE c VALUE 'W',
               g_h(1)             TYPE c VALUE 'H',
               g_af(2)            TYPE c VALUE 'AF',
               g_ai(2)            TYPE c VALUE 'AI',
               g_01(2)            TYPE c VALUE 'R1',
               g_02(2)            TYPE c VALUE 'R2',
               g_03(2)            TYPE c VALUE 'R3',
               g_05(2)            TYPE c VALUE 'R5'.
    TYPES : BEGIN OF t_roster,
            pernr                 TYPE p0001-pernr,
            ssn                   TYPE p0002-perid,
            first_name            TYPE p0002-vorna,
            last_name             TYPE p0002-nachn,
            city                  TYPE t500p-ort01,
            state                 TYPE t500p-regio,
            zipcode               TYPE t500p-pstlz,
            hire_date(10)         TYPE c,
            lhire_date(10)        TYPE c,
            serv_date(10)         TYPE c,
            eg                    TYPE p0001-persg,
            eg_desc               TYPE t501t-ptext,
            esg                   TYPE p0001-persk,
            esg_desc              TYPE t503t-ptext,
            race                  TYPE p0077-rac01,
            ***                   TYPE p0002-gesch,
            job_grade             TYPE p0008-trfgr,
            job_level             TYPE p0008-trfst,
            grade_entry_date(10)  TYPE c,
            job_title             TYPE p0001-plans,
            title(30)             TYPE c,
            job_code              TYPE p0001-stell,
            job_code_desc         TYPE t513s-stltx,
            job_entry_date(10)    TYPE c,
            annual_sal            TYPE p0008-ansal,
            hrly_rate             TYPE p0008-bet01,
            org_unit              TYPE p0001-orgeh,
            orgtx(40)             TYPE c,
            cost_cntr             TYPE p0001-kostl,
            ltext(40)             TYPE c,
            personal_area         TYPE p0001-werks,
            personal_area_desc    TYPE t500p-name1,
            supervisor(30)        TYPE c,
            flsa                  TYPE t5u13-exmpt,
            ee01                  TYPE t5u13-eeoct,
            job_grp               TYPE p0001-stell,
            aap_code              TYPE t5u13-aapct,
            aap_code_desc         TYPE t5uaa-ltext,
            dob                   TYPE p0002-gbdat,
            psa                   TYPE p0001-btrtl,
            psa_desc              TYPE t001p-btext,
            unionl                TYPE p0001-btrtl,
            unionc                TYPE p0001-btrtl,
      END OF t_roster.
    DATA : gi_roster TYPE  STANDARD TABLE OF  t_roster, gi_objec TYPE  STANDARD TABLE OF  objec,
           gi_hrp1000      TYPE  STANDARD TABLE OF  hrp1000,
           gi_cskt         TYPE  STANDARD TABLE OF  cskt,
           gi_t001p        TYPE  STANDARD TABLE OF  t001p,
           gi_t500p        TYPE  STANDARD TABLE OF  t500p,
           gi_t501t        TYPE  STANDARD TABLE OF  t501t,
           gi_t503t        TYPE  STANDARD TABLE OF  t503t,
           gi_t513s        TYPE  STANDARD TABLE OF  t513s,
           gi_t527x        TYPE  STANDARD TABLE OF  t527x,
           gi_t529t        TYPE  STANDARD TABLE OF  t529t,
           gi_t530t        TYPE  STANDARD TABLE OF  t530t,
           gi_t5u13        TYPE  STANDARD TABLE OF  t5u13,
           gi_t5uaa        TYPE  STANDARD TABLE OF  t5uaa.
    DATA : gs_roster       TYPE t_roster,
             gs_objec        TYPE objec,
           gs_hrp1000      TYPE hrp1000,
           gs_cskt         TYPE cskt,
           gs_t001p        TYPE t001p,
           gs_t500p        TYPE t500p,
           gs_t501t        TYPE t501t,
           gs_t503t        TYPE t503t,
           gs_t513s        TYPE t513s,
           gs_t527x        TYPE t527x,
           gs_t529t        TYPE t529t,
           gs_t530t        TYPE t530t,
           gs_t5u13        TYPE t5u13,
           gs_t5uaa        TYPE t5uaa.
    DATA :  gv_ltext(40)       TYPE c,
            gv_ltext1(40)      TYPE c,
            gv_age(3)          TYPE c,
            gv_butxt(40)       TYPE c,
            gv_eeoc(10)        TYPE c,
            gv_prevdate        TYPE datum.
    DATA: gi_fieldcat    TYPE slis_t_fieldcat_alv,
          gs_fieldcat    TYPE slis_fieldcat_alv,
          i_top_of_page  TYPE slis_t_listheader,
          g_repid        TYPE sy-repid,
          g_save,
          gs_layout      TYPE slis_layout_alv,
          gt_events      TYPE slis_t_event,
          gs_variant     LIKE disvariant,
          gi_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.
    DATA: name  TYPE vrm_id,
          list  TYPE vrm_values,
          value LIKE LINE OF list.
    SELECTION-SCREEN BEGIN OF BLOCK b1
                     WITH FRAME TITLE text-x02.
    PARAMETERS : p_race(10) AS LISTBOX VISIBLE LENGTH 30,
                 p_gender TYPE p0002-gesch,
                 p_eeoc   TYPE t5u13-eeoct,
                 p_aap    TYPE t5u13-aapct.
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN OUTPUT.
      REFRESH list.
      name = 'P_RACE'.
      value-key = 'R1'.
      value-text = 'American Indian or Alaskan Native'.
      APPEND value TO list.
    CLEAR value.
      value-key = 'R2'.
      value-text = 'Asian'.
      APPEND value TO list.
    CLEAR value.
      value-key = 'R3'.
      value-text = 'Black or African American'.
      APPEND value TO list.
    CLEAR value.
      value-key = 'R5'.
      value-text = 'White'.
      APPEND value TO list.
    CLEAR value.
      CALL FUNCTION 'VRM_SET_VALUES'
        EXPORTING
          id              = name
          values          = list
        EXCEPTIONS
          id_illegal_name = 1
          OTHERS          = 2.
    INITIALIZATION.
      g_repid = sy-repid.
      PERFORM layout_init    USING gs_layout.
      PERFORM eventtab_build USING gt_events[].
      gs_variant-report = g_repid.
      g_save = 'A'.
    START-OF-SELECTION.
    GET pernr.
        PERFORM roster_aap.
    END-OF-SELECTION.
    PERFORM fetch_roster_text.
        PERFORM output_roster_display.
    *&      Form  ROSTER_AAP
          text
    -->  p1        text
    <--  p2        text
    FORM roster_aap .
      PERFORM infty_rost_0001.
      PERFORM infty_rost_0002.
      PERFORM infty_rost_0008.
      PERFORM infty_rost_0041.
      PERFORM infty_rost_0077.
      PERFORM supervisor_rost.
      PERFORM append_rost_recs.
    ENDFORM.                    " ROSTER_AAP
    *&      Form  INFTY_ROST_0001
          text
    FORM infty_rost_0001 .
      rp_provide_from_last p0001 space
                              pn-begda pn-endda.
      IF pnp-sw-found = 1.
        gs_roster-pernr         = p0001-pernr.
        gs_roster-eg            = p0001-persg.
        READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = p0001-persg.
        IF sy-subrc <> 0.
          APPEND gs_t501t TO gi_t501t.
          CLEAR gs_t501t.
        ENDIF.
        gs_roster-esg           = p0001-persk.
        READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = p0001-persk.
        IF sy-subrc <> 0.
          APPEND gs_t503t TO gi_t503t.
          CLEAR gs_t503t.
        ENDIF.
        gs_roster-job_title     = p0001-plans.
        READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = p0001-plans.
        IF sy-subrc <> 0.
          APPEND gs_hrp1000 TO gi_hrp1000.
          CLEAR gs_hrp1000.
        ENDIF.
        gs_roster-job_code      = p0001-stell.
        READ TABLE gi_t513s INTO gs_t513s WITH KEY stell = p0001-stell.
        IF sy-subrc <> 0.
          APPEND gs_t513s TO gi_t513s.
          CLEAR gs_t513s.
        ENDIF.
        gs_roster-org_unit      = p0001-orgeh.
        READ TABLE gi_t527x INTO gs_t527x WITH KEY orgeh = p0001-orgeh.
        IF sy-subrc <> 0.
          APPEND gs_t527x TO gi_t527x.
          CLEAR gs_t527x.
        ENDIF.
        gs_roster-cost_cntr     = p0001-kostl.
        READ TABLE gi_cskt INTO gs_cskt WITH KEY kostl = p0001-kostl.
        IF sy-subrc <> 0.
          APPEND gs_cskt TO gi_cskt.
          CLEAR gs_cskt.
        ENDIF.
        gs_roster-personal_area = p0001-werks.
        READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = p0001-werks.
        IF sy-subrc <> 0.
          APPEND gs_t500p TO gi_t500p.
          CLEAR gs_t500p.
        ENDIF.
        gs_roster-job_grp       = p0001-stell.
        READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = p0001-stell.
        IF sy-subrc <> 0.
          APPEND gs_t5u13 TO gi_t5u13.
          CLEAR gs_t5u13.
        ENDIF.
        READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code.
        IF sy-subrc <> 0.
          APPEND gs_t5uaa TO gi_t5uaa.
          CLEAR gs_t5uaa.
        ENDIF.
        gs_roster-psa           = p0001-btrtl.
        READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = p0001-btrtl.
        IF sy-subrc <> 0.
          APPEND gs_t001p TO gi_t001p.
          CLEAR gs_t001p.
        ENDIF.
        gs_roster-unionl        = p0001-btrtl.
        gs_roster-unionc        = p0001-btrtl.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0001
    *&      Form  INFTY_ROST_0002
          text
    FORM infty_rost_0002 .
      rp_provide_from_last p0002 space
                              pn-begda pn-endda.
      IF pnp-sw-found = 1.
        IF p_gender IS NOT INITIAL AND p_gender NE p0002-gesch.
          REJECT.
        ENDIF.
        gs_roster-ssn        = p0002-perid.
        gs_roster-first_name = p0002-vorna.
        gs_roster-last_name  = p0002-nachn.
        gs_roster-***        = p0002-gesch.
        gs_roster-dob        = p0002-gbdat.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0002
    *&      Form  INFTY_ROST_0008
          text
    FORM infty_rost_0008 .
      DATA: lv_wage TYPE lgart,
            lv_amount TYPE pad_amt7s.
      rp_provide_from_last p0008 space
                              pn-begda pn-endda.
      IF pnp-sw-found = 1.
        gs_roster-annual_sal = p0008-ansal.
        DO 40 TIMES VARYING lv_wage FROM p0008-lga01
                                  NEXT p0008-lga02
                  VARYING lv_amount FROM p0008-bet01
                                    NEXT p0008-bet02.
          IF lv_wage = '0101'.
            gs_roster-hrly_rate = lv_amount.
            EXIT.
          ENDIF.
        ENDDO.
        gs_roster-job_grade    = p0008-trfgr.
        gs_roster-job_level    = p0008-trfst.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0008
    *&      Form  INFTY_ROST_0041
          text
    FORM infty_rost_0041 .
      DATA : l_date  TYPE datum,
             l_hdate TYPE datum,
             l_sdate TYPE datum.
      rp_provide_from_last p0041 space
                           pn-begda pn-endda.
      IF pnp-sw-found = 1.
        CLEAR : l_date,
                l_hdate,
                l_sdate.
    *--Last Hire Date--
        CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
          EXPORTING
            p0041                    = p0041
            p_datar                  = 'U1'
         P_DATKN                  =
         IMPORTING
           p_date                   = l_date
         EXCEPTIONS
           illegal_arguments        = 1
           more_than_one_date       = 2
           OTHERS                   = 3
        IF sy-subrc <> 0.
        ENDIF.
        IF NOT l_date IS INITIAL.
          CONCATENATE
                     l_date4(2) l_date6(2) l_date+0(4)
                     INTO gs_roster-hire_date
                     SEPARATED BY '/'.
        ENDIF.
      ENDIF.
    *--Last Hire Date--
      CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
        EXPORTING
          p0041                    = p0041
          p_datar                  = 'U2'
         P_DATKN                  =
       IMPORTING
         p_date                   = l_hdate
       EXCEPTIONS
         illegal_arguments        = 1
         more_than_one_date       = 2
         OTHERS                   = 3
      IF sy-subrc <> 0.
      ENDIF.
      IF NOT l_hdate IS INITIAL.
        CONCATENATE
                   l_hdate4(2) l_hdate6(2) l_hdate+0(4)
                   INTO gs_roster-lhire_date
                   SEPARATED BY '/'.
      ENDIF.
    *--Service Date--
      CALL FUNCTION 'HR_DATESPECIFICATION_DATE_GET'
        EXPORTING
          p0041                    = p0041
          p_datar                  = 'U4'
         P_DATKN                  =
       IMPORTING
         p_date                   = l_sdate
       EXCEPTIONS
         illegal_arguments        = 1
         more_than_one_date       = 2
         OTHERS                   = 3
      IF sy-subrc <> 0.
      ENDIF.
      IF NOT l_sdate IS INITIAL.
        CONCATENATE
                   l_sdate4(2) l_sdate6(2) l_sdate+0(4)
                   INTO gs_roster-serv_date
                   SEPARATED BY '/'.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0041
    *&      Form  INFTY_ROST_0077
          text
    FORM infty_rost_0077 .
      DATA: lv_race TYPE races.
    rp_provide_from_last p0077 space
                                   pn-begda pn-endda.
      IF pnp-sw-found = 1.
        IF NOT p_race IS INITIAL AND p_race NE lv_race.
          REJECT.
        ENDIF.
        DO 10 TIMES VARYING lv_race FROM p0077-rac01
                                NEXT p0077-rac02.
          IF lv_race NE space.
            IF lv_race EQ g_01.
              gs_roster-race = g_ai.
            ELSEIF lv_race EQ g_02.
              gs_roster-race = g_h.
            ELSEIF lv_race EQ g_03.
              gs_roster-race = g_af.
            ELSEIF lv_race EQ g_05.
              gs_roster-race = g_w.
            ENDIF.
          ENDIF.
        ENDDO.
      ENDIF.
    ENDFORM.                    " INFTY_ROST_0077
    *&      Form  SUPERVISOR_ROST
          text
    FORM supervisor_rost .
      REFRESH gi_objec.
      IF NOT  p0001-orgeh IS INITIAL.
        CALL FUNCTION 'HRCM_ORGUNIT_MANAGER_GET'
          EXPORTING
            plvar                    = '01'
            otype                    = 'O'
            objid                    = p0001-orgeh
            begda                    = pn-begda
            endda                    = pn-endda
        PATH_ID                  = ' '
        TABLES
           manager_info_table       = gi_objec
         EXCEPTIONS
           path_error               = 1
           root_error               = 2
           nothing_found            = 3
           OTHERS                   = 4
        IF sy-subrc <> 0.
        ENDIF.
        SORT gi_objec DESCENDING BY endda.
        READ TABLE gi_objec INTO gs_objec INDEX 1.
        IF sy-subrc = 0.
          gs_roster-supervisor = gs_objec-stext.
          CLEAR gs_objec.
        ENDIF.
      ENDIF.
    ENDFORM.                    " SUPERVISOR_ROST
    *&      Form  APPEND_ROST_RECS
          text
    FORM append_rost_recs .
      IF NOT gs_roster-pernr IS INITIAL.
        APPEND gs_roster TO gi_roster.
        CLEAR gs_roster.
      ENDIF.
    ENDFORM.                    " APPEND_ROST_RECS
    *&      Form  FETCH_ROSTER_TEXT
          text
    FORM fetch_roster_text .
      IF p_eeoc IS NOT INITIAL AND p_eeoc NE t5u13-eeoct.
        REJECT.
      ENDIF.
      IF NOT gi_roster IS INITIAL.
        SELECT orgeh orgtx FROM t527x
           INTO CORRESPONDING FIELDS OF TABLE gi_t527x
           WHERE  sprsl = sy-langu AND
                  endda = '99991231'.
        SELECT persa ort01 regio pstlz name1
            FROM t500p
            INTO CORRESPONDING FIELDS OF TABLE gi_t500p.
        SELECT persg ptext
            FROM t501t
            INTO CORRESPONDING FIELDS OF TABLE gi_t501t
            WHERE  sprsl = sy-langu.
        SELECT persk ptext
                 FROM t503t
                 INTO CORRESPONDING FIELDS OF TABLE gi_t503t
                  WHERE  sprsl = sy-langu.
        SELECT stell stltx FROM t513s
           INTO CORRESPONDING FIELDS OF TABLE gi_t513s
           WHERE sprsl = sy-langu AND
                 endda = '99991231'.
        SELECT otype plvar objid stext
                FROM hrp1000 INTO
                CORRESPONDING FIELDS OF TABLE gi_hrp1000
               for all entries in gi_roster
                                        WHERE plvar = '01'
                                        AND otype = 'S'.
                                       and objid = gi_roster-job_title.
        SELECT stell eeoct exmpt aapct
             FROM t5u13
             INTO CORRESPONDING FIELDS OF TABLE gi_t5u13.
            for all entries in gi_t5u13
         WHERE stell = gi_t5u13-stell
         AND eeoct = p_eeoc
         AND aapct = p_aap.
        SELECT aapct eeoct ltext
                FROM t5uaa
                INTO CORRESPONDING FIELDS OF TABLE gi_t5uaa.
             FOR ALL ENTRIES IN gi_roster
             WHERE aapct = gi_roster-aap_code
               and eeoct = gi_roster-ee01.
        SELECT  kostl ltext
          FROM cskt
           INTO CORRESPONDING FIELDS OF TABLE gi_cskt
          FOR ALL ENTRIES IN gi_roster
          WHERE  kostl =  gi_roster-cost_cntr
         WHERE   spras = sy-langu.
        SELECT btrtl btext
             FROM t001p
             INTO CORRESPONDING FIELDS OF TABLE gi_t001p.
            FOR ALL ENTRIES IN gi_roster
            WHERE btrtl = gi_roster-psa.
      ENDIF.
      LOOP AT gi_roster INTO gs_roster.
        CLEAR :gs_hrp1000,gs_t5u13,gs_t500p,gs_t501t,gs_t503t,gs_t5uaa,gs_cskt,gs_t001p,gs_t513s,          gs_t527x,gs_t529t,gs_t530t.
        READ TABLE gi_t501t INTO gs_t501t WITH KEY persg = gs_roster-eg.
        IF sy-subrc = 0.
          gs_roster-eg_desc = gs_t501t-ptext.
        ENDIF.
        READ TABLE gi_t503t INTO gs_t503t WITH KEY persk = gs_roster-esg.
        IF sy-subrc = 0.
          gs_roster-esg_desc = gs_t503t-ptext.
        ENDIF.
        READ TABLE gi_t513s INTO gs_t513s
                            WITH KEY stell = gs_roster-job_code.
        IF sy-subrc = 0.
          gs_roster-job_code_desc = gs_t513s-stltx.
        ENDIF.
        READ TABLE gi_t527x INTO gs_t527x
                          WITH KEY orgeh = gs_roster-org_unit.
        IF sy-subrc = 0.
          gs_roster-orgtx = gs_t527x-orgtx.
        ENDIF.
        READ TABLE gi_hrp1000 INTO gs_hrp1000 WITH KEY objid = gs_roster-job_title.
        IF sy-subrc = 0.
          gs_roster-title = gs_hrp1000-stext.
        ENDIF.
        READ TABLE gi_cskt INTO gs_cskt
                               WITH KEY kostl = gs_roster-cost_cntr.
        IF sy-subrc = 0.
          gs_roster-ltext = gs_cskt-ltext.
        ENDIF.
        READ TABLE gi_t5u13 INTO gs_t5u13 WITH KEY stell = gs_roster-job_code.
        IF sy-subrc = 0.
          gs_roster-ee01      = gs_t5u13-eeoct.
          gs_roster-flsa      = gs_t5u13-exmpt.
          gs_roster-aap_code  = gs_t5u13-aapct.
        ENDIF.
        READ TABLE gi_t500p INTO gs_t500p WITH KEY persa = gs_roster-personal_area.
        IF sy-subrc = 0.
          gs_roster-city               = gs_t500p-ort01.
          gs_roster-state              = gs_t500p-regio.
          gs_roster-zipcode            = gs_t500p-pstlz.
          gs_roster-personal_area_desc = gs_t500p-name1.
        ENDIF.
        READ TABLE gi_t001p INTO gs_t001p WITH KEY btrtl = gs_roster-psa.
        IF sy-subrc = 0.
          gs_roster-psa_desc = gs_t001p-btext.
        ENDIF.
        READ TABLE gi_t5uaa INTO gs_t5uaa WITH KEY aapct = gs_roster-aap_code eeoct = gs_roster-ee01.
        IF sy-subrc = 0.
          gs_roster-aap_code_desc     = gs_t5uaa-ltext.
        ENDIF.
        MODIFY gi_roster FROM gs_roster .
      ENDLOOP.
    ENDFORM.                    " FETCH_ROSTER_TEXT
    *&      Form  OUTPUT_ROSTER_DISPLAY
          text
    FORM output_roster_display .
      PERFORM build_roster_fieldcatalog.
      PERFORM comment_roster_build CHANGING i_top_of_page[].
      PERFORM display_roster_alv_report.
    ENDFORM.                    " OUTPUT_ROSTER_DISPLAY
    *&      Form  LAYOUT_INIT
          text
    FORM layout_init  USING rs_layout TYPE slis_layout_alv.
      rs_layout-detail_popup      = 'X'.
      rs_layout-zebra             = 'X'.
      rs_layout-colwidth_optimize = 'X'.
    ENDFORM.                    " LAYOUT_INIT
    *&      Form  EVENTTAB_BUILD
          text
    FORM eventtab_build  USING rt_events TYPE slis_t_event.
    *"Registration of events to happen during list display
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = rt_events.
      READ TABLE rt_events WITH KEY name = slis_ev_top_of_page
                                 INTO ls_event.
      IF sy-subrc = 0.
        MOVE gi_top_of_page TO ls_event-form.
        APPEND ls_event TO rt_events.
      ENDIF.
    ENDFORM.                    " EVENTTAB_BUILD
    *&      Form  top_of_page
          text
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = i_top_of_page.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  BUILD_ROSTER_FIELDCATALOG
          text
    FORM build_roster_fieldcatalog .
      gs_fieldcat-fieldname = 'PERNR'.
      gs_fieldcat-seltext_m = 'Employee Number'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'SSN'.
      gs_fieldcat-seltext_m = 'SSN Number'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'FIRST_NAME'.
      gs_fieldcat-seltext_m = 'First Name'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'LAST_NAME'.
      gs_fieldcat-seltext_m = 'Last Name'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'CITY'.
      gs_fieldcat-seltext_m = 'City'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'STATE'.
      gs_fieldcat-seltext_m = 'State'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ZIPCODE'.
      gs_fieldcat-seltext_m = 'Zip Code'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'HIRE_DATE'.
      gs_fieldcat-seltext_m = 'Hire Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'LHIRE_DATE'.
      gs_fieldcat-seltext_m = 'Last Hire Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'SERV_DATE'.
      gs_fieldcat-seltext_m = 'Service Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'EG'.
      gs_fieldcat-seltext_m = 'Eg'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'EG_DESC'.
      gs_fieldcat-seltext_m = 'Eg Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ESG'.
      gs_fieldcat-seltext_m = 'Esg'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ESG_DESC'.
      gs_fieldcat-seltext_m = 'Eg Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'RACE'.
      gs_fieldcat-seltext_m = 'Race'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = '***'.
      gs_fieldcat-seltext_m = '***'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_GRADE'.
      gs_fieldcat-seltext_m = 'Job Grade'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_LEVEL'.
      gs_fieldcat-seltext_m = 'Job Level'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'GRADE_ENTRY_DATE'.
      gs_fieldcat-seltext_l = 'Grade Entry Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_TITLE'.
      gs_fieldcat-seltext_l = 'Job Title'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat..
      gs_fieldcat-fieldname = 'TITLE'.
      gs_fieldcat-seltext_l = 'Job Title Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_CODE'.
      gs_fieldcat-seltext_l = 'Job Code'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_CODE_DESC'.
      gs_fieldcat-seltext_l = 'Job Code Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_ENTRY_DATE'.
      gs_fieldcat-seltext_l = 'Job Entry Date'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ANNUAL_SAL'.
      gs_fieldcat-seltext_l = 'Annual Salary'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'HRLY_RATE'.
      gs_fieldcat-seltext_l = 'Hourly Rate'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ORG_UNIT'.
      gs_fieldcat-seltext_l = 'Org Unit'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'ORGTX'.
      gs_fieldcat-seltext_l = 'Org Text'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'COST_CNTR'.
      gs_fieldcat-seltext_l = 'Cost Center'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'LTEXT'.
      gs_fieldcat-seltext_l = 'Cost Center Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PERSONAL_AREA'.
      gs_fieldcat-seltext_l = 'Personal Area'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PERSONAL_AREA_DESC'.
      gs_fieldcat-seltext_l = 'Personal Area Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'SUPERVISOR'.
      gs_fieldcat-seltext_l = 'Supervisor'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'FLSA'.
      gs_fieldcat-seltext_l = 'FLSA'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'EE01'.
      gs_fieldcat-seltext_l = 'EE01'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'JOB_GRP'.
      gs_fieldcat-seltext_l = 'Job Group'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'AAP_CODE'.
      gs_fieldcat-seltext_l = 'AAP Code'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'AAP_CODE_DESC'.
      gs_fieldcat-seltext_l = 'AAP Code Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'DOB'.
      gs_fieldcat-seltext_l = 'Date of Birth'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PSA'.
      gs_fieldcat-seltext_l = 'Personal Sub Area'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'PSA_DESC'.
      gs_fieldcat-seltext_l = 'Personal Sub Area Description'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'UNIONL'.
      gs_fieldcat-seltext_l = 'Union Local'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
      gs_fieldcat-fieldname = 'UNIONC'.
      gs_fieldcat-seltext_l = 'Union Classfication'.
      APPEND gs_fieldcat TO gi_fieldcat.
      CLEAR gs_fieldcat.
    ENDFORM.                    " BUILD_ROSTER_FIELDCATALOG
    *&      Form  COMMENT_ROSTER_BUILD
          text
    FORM comment_roster_build  CHANGING top_of_page TYPE
                        slis_t_listheader.
      DATA: ls_line           TYPE slis_listheader,
            l_startdate(10)   TYPE c,
            l_enddate(10)     TYPE c,
            l_final_start(22) TYPE c,
            l_final_end(22)   TYPE c.
      CONCATENATE pn-begda4(2)'/'pn-begda6(2)'/'pn-begda+0(4)
    INTO l_startdate.
      CONCATENATE pn-endda4(2)'/'pn-endda6(2)'/'pn-endda+0(4)
      INTO l_enddate.
      CONCATENATE 'Start Date:' l_startdate INTO l_final_start.
      CONCATENATE 'End Date :' l_enddate INTO l_final_end.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = 'AAP-EEOC Roster Report Data '. "Max len = 60
      APPEND ls_line TO i_top_of_page.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-info = l_final_start.
      APPEND ls_line TO i_top_of_page.
      CLEAR ls_line.
      ls_line-typ  = 'S'.
      ls_line-info = l_final_end.
      APPEND ls_line TO i_top_of_page.
      CLEAR ls_line.
    ENDFORM.                    " COMMENT_ROSTER_BUILD
    *&      Form  DISPLAY_ROSTER_ALV_REPORT
          text
    FORM display_roster_alv_report .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
                EXPORTING
                i_callback_program                = g_repid
                is_layout                         = gs_layout
                it_fieldcat                       = gi_fieldcat
                i_save                            = g_save
                is_variant                        = gs_variant
                it_events                         = gt_events[]
                 TABLES
                   t_outtab                          = gi_roster
              EXCEPTIONS
                program_error                     = 1
                OTHERS                            = 2
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    " DISPLAY_ROSTER_ALV_REPORT
    Regards
    sachin

    hi there,
    i want to fetch data from all the fields i ahve given here .It will be a join statement.
    the important thing is I need all the values of vbeln in leftside
    as output.

  • I have inadvertently infringe copyright on facebook and they have subsequently barred me from uploading any more videos. The question I need answered is ( and not able to find the answer on any of you help pages).....  Do the following have free copyright

    I have inadvertently infringe copyright on facebook and they have subsequently barred me from uploading any more videos.
    The question I need answered is ( and not able to find the answer on any of you help pages).....
    Do the following have free copyright to publish on facebook and U Tube?
    1.Garage band sounds?
    2.Slide show...Sample music and Theme music?
    3.iMovie...iMovie sounds and iLife sounds ie.Medal Ceremony and Memorial etc?
    I note one can publish to shared net places directly from iMovie so one assumes these are copyright free for non-profit making and non-comercial use.
    It is impossible to contact apple direct.No email address.We put our selves at risk without this knowledge and like applemac, facebook will not communicate direct.Will applemac please take responsibility for copyright/the above that they are all too willing to sell to us but not support us with that knowledge.
    I have Mac OS X Snow Leopard version 10.6.2 (2009 bought in 2010)

    Thank you Klaus1.The large font, I copied and pasted from my mail box.I'm visually impaired...not to a huge degree but it helps to use the large font.I believe you are right about the copyright on the imac stuff but if facebook decide otherwise, you have to reply electronically to their challenge.If you can't provide a reference directly from the copyright owner then they remove the video.I believe this is a programmed response and no human is involved which now makes it impossible for me to get my video uploading restored.They detect added soundtrack automatically and then challenge.There are many others in the same boat and facebook will not communicate.They have various discussion sites on which I have left messages including Mark Zuckerbergs own facebook but I don't think anyone from facebook ever reads them.I intend to start a second facebook which I can use purely to get my videos uploaded as a lot of my friends enjoy them BUT don't want fall foul of their programming again.If only iMac would put something on the net to this effect.I think it is so unfair that with modern technology it is impossible to contact these large conglomerates personally and receive an email response.I tried emailing [email protected] but I got a failure notice.If you have any ideas on how to get verification from apple direct, I would be very grateful.Thank You.

  • HT3775 I get the following message when trying to open an .avi downloaded from my video cam, need help, can not find the codec, thank you.The document "IMAG0026.AVI" could not be opened. A required codec isn't available.

    I get the following message when trying to open an .avi downloaded from my video cam, need help, can not find the codec, thank you. This is for Quicktime Player.
    "The document “IMAG0026.AVI” could not be opened. A required codec isn't available."

    Try Perian.
    http://perian.org/

  • Question: Need help with overcoming the following message:  "Nothing was imported.

    Need help with overcoming the following message:  “Nothing was imported.  The file(s) or folder(s) selection to import did not contain any supported file types, or the files are already in this catalogue”.
    The photos being scanned are old film shots.  They have NOT been previously scanned.  I am using Photoshop Elements 9 software.
    QUESTION:  how do I override this STOP and or circumvent the photo comparison option????
    Thanks for the help. Bob K ---  [email protected]

      Are you scanning as jpeg, tiff or some other format?
    Are you using continuous numbering for files names as by definition scanned files have no exif data.
     

  • I Need help with the following error:

    Hi, I am getting the following error:
    <b>BPE_ADAPTER">SYSTEM_FAILURE_INTERNAL</b>
    I have looked at some of the other threads that deal with this but since I am new to XI I am not sure where to look. I have tried to activate in SXI_CACHE and I get a code of 99 with the following error. I did not get this error in the QAS environment, only when it was moved to Prod. We have cleared and reset all of the caches and am still getting this error when I try to activate in SXI_CACHE:
    <b>E     'STATUSCODE' is not a component of data object 'PAYLOAD'</b>
    Can someone point me in the right direction to fix this? We just moved it to prod and need to get it fixed asap.
    Thanks in advance for all of the help.
    Mike Curtis

    Hi Michael,
    Before SP16:
    the problem should be solved with the help of note 890760. You might find note
    816430 interesting as well, but the first one should help you solve the problem.
    After:
    If those are already in your system, have a look at note 996631. This could be
    the solution.
    Regards and good luck with XI.
    Jaime

Maybe you are looking for

  • When i plug my iphone into itunes now its not showing up on the side what do i do?

    When i plug my iphone into intunes its not appearing on the side anymore so i cant do anything what do i do?

  • Issue with running pages through jDev, wls starts but no target url is provided.

    Hi all, I recently downloaded an older version of jDev for a new assignment - Studio Edition Version 11.1.1.6.0 - Build JDEVADF_11.1.1.6.0CLOUD_GENERIC_121118.1600.6229. I created a basic wls domain and I've tried running simple jspx pages, at which

  • Reverting to older nvidia drivers

    I recently discovered the simplistic beauty of Archlinux.  I finally found a distro that I'm happy with!  With that said, I'm having trouble finding archive repositories, or even archived packages for that matter, that contain versions of packages th

  • HT201321 Mail will not quit

    Since I have installed OSX Mountain Lion my system has slowed down and I cannot shutdown my computer without manually forcing Mail to quit.  How can I fix this?

  • Spry Colision with Flash Element

    I have a Web page with a spry drop down that drops over a flash element and works fine on Mac/Firefox, but displays incorrectly on PC/IE. What can I do besides move the flash element? Hover over the Solutions button to get get error. http://www.learn