Assuming your data is grouped by the product and has the file date in sequence:
data want;
set have;
by product notsorted;
if first.product;
run;
When you use BY in a data step SAS provides automatic variables First and Last to indicate if the observation is the first or last of the group. The Notsorted allows use of data that is grouped but not actually sorted by the BY variables.