Hi Ganapathi,
While looping at wa_collect1 , and reading data from table IT2 you are using wrong key, in wa2-ebeln there will be last value so it's appending only last record.
Please replace below strike through the code with BOLD code line.
LOOP at wa_collect1.
MOVE-CORRESPONDING WA_COLLECT1 TO WA4.
READ TABLE IT2 INTO wa2 WITH KEY ebeln = wa2-ebeln.
READ TABLE IT2 INTO wa2 WITH KEY ebeln = wa_collect1-ebeln.
IF SY-SUBRC = 0.
wa4-rlwrt = wa2-rlwrt.
wa4-aedat = wa2-aedat.
wa4-werks = wa2-werks.
wa4-menge = wa2-menge.
wa4-dmbtr = wa2-dmbtr.
wa4-name1 = wa2-name1.
wa4-belnr = wa2-belnr.
wa4-budat = wa2-budat.
ENDIF.
APPEND wa4 to it4.
CLEAR : wa4,wa2,WA_COLLECT1.
ENDLOOP.
Thanks.
Regards,
Ashish Desai