Hello Prashant,
do do not need a loop based construct to remove not appropriate lines. You can do following:
it_viqmel = select * from :lt_viqmel where substring("TPLNR0",1,2) = :p_line;
Consider to the the correct name for the TPLNR* column cause you used different names in your post for that.
If possible for you, you can add the where clause already in the first select.
Regards,
Florian