Hi Priyansh,
you can do this by using this code ,
so what I have done, I have added the X flag for each material which is dulicated,
and the other are not,
so you can know which are duplicated and which not,
If you face any problem or you would you like to extend the program, just let us to know.,
REPORT zibo_pg_test2.
TYPES: BEGIN OF mat,
mat LIKE mara-matnr,
dateto LIKE sy-datum,
datefrom LIKEsy-datum,
flag TYPE c LENGTH 2,
END OF mat.
DATA: ls_mara TYPE mat,
lt_mara TYPE TABLE OF mat.
DATA lv_cnt TYPE n.
DATA lv_index TYPE i.
DATA lt_index TYPE TABLE OF i.FIELD-SYMBOLS <ls_mara> TYPE mat.
ls_mara-mat= 'mat01'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130312'.
APPEND ls_mara TO lt_mara.
ls_mara-mat= 'mat01'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130312'.
APPEND ls_mara TO lt_mara.
ls_mara-mat= 'mat01'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130312'.
APPEND ls_mara TO lt_mara.
ls_mara-mat= 'mat02'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130212'.
APPEND ls_mara TO lt_mara.
ls_mara-mat= 'mat02'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130212'.
APPEND ls_mara TO lt_mara.
ls_mara-mat= 'mat03'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130212'.
APPEND ls_mara TO lt_mara.
ls_mara-mat= 'mat04'.
ls_mara-dateto= '99993112'.
ls_mara-datefrom= '20130212'.
APPEND ls_mara TO lt_mara.
SORT lt_mara BY mat.
LOOP AT lt_mara ASSIGNING <ls_mara>.
lv_index = sy-tabix.
AT NEW mat.
CLEAR lv_cnt.
lv_cnt = lv_cnt + 1.
CONTINUE.
ENDAT.
lv_cnt = lv_cnt + 1.
CONCATENATE lv_cnt 'X' INTO <ls_mara>-flag .
IF lv_cnt = 2.
lv_index = lv_index - 1.
APPEND lv_index TO lt_index.
ENDIF.
ENDLOOP.
LOOP AT lt_index INTO lv_index.
READ TABLE lt_mara ASSIGNING <ls_mara> INDEX lv_index.
<ls_mara>-flag = '1X'.
ENDLOOP.
BREAK-POINT.
Regards
Ebrahim