Hello Piyush,
I had a doubt that there would be duplicate records in header table. Since you told that till then you had followed only till DATA sub form step, I didn't ask you to check. Well, its good that you found out your own mistake.
Regarding the BP group problem, if you want to avoid empty rows at BP level, you can add two fields Product_Type and BP in Header_Table. Then you can add Product_Type, BP and other fields in Item table.
In where condition put the below condition.
product_type = Header_Table-product_type AND BP = Header_Table-BP.