you are getting the tablename-1 as you don't name the table in the script but this is usual behaviour and nothing to worry about as you are joining the table. If you didn't join it, it would be named that.
As for getting the same number of records - your join is a one to many so when you join the records from Finance_OrderItemHeader.qvd in the final load, you are loading the many rows from that table as they have the same %Key_ItemNumber. This is the same table you load at the top and then drop.
What are you trying to achieve here? If you want distinct rows, then ensure you use the Distinct keyword.
Thanks for your reply. Very helpful. I now understand why the table is called tablename-1.
Regarding the second part of my query I ran a test with dummy data and it turns out its normal behaviour but in my opinion very misleading. When qlikview performed the left join I was expecting to get the only the number of rows that matched not the number of rows of the entire table.
I ran a quick test with inline tables please see below. I left join a table and for that task in the dialog box I get the entire number of records not only the number of records that were joined. In this case it only joined 5 records but it still showed 10 records fetched.