You can copy i_itab to a temporary copy lt_itab_tmp
Sort and delete adjacent duplicates by comparing charg field
Move select out of loop, use for all entries in lt_itab_tmp to get data into another internal table, say lt_gstrp.
Inside loop, do a read table lt_gstrp to get lfdat.