This is handled by some classic data step programming. Could be done i thousands of ways, here's one. This example involves some help variables, retain, if-then-else and scans. If you are going to do more of this kind est you should consider taking a SAS programming class.
data report;
	infile '~/reportdat.dat';
	input;
	length station origin $10 
			 originCount 8 
			 originNext $1;
	retain station originCount originNext;
	firstVar = scan(_infile_,1,' ');
	if firstVar eq 'STATION:' then do;
		station = scan(_infile_,2,' ');
		originCount = 0;
		originNext = 'N';
	end;
	else if firstVar eq '(data' then originNext = 'Y';
	else if firstVar eq 'TTL' or 
				originNext = 'Y' and originCount lt 5 and firstVar not =: '-' then do;
		origin = firstVar;
		sales2008 = input(scan(_infile_,2,' '),best.);
		sales2007 = input(scan(_infile_,3,' '),best.);
		if firstVar eq 'TTL' then originNext = 'N';
		else originCount+1;
		output;
	end;
	drop firstVar originCount originNext;
run;
Regards,
Linus
					
				
			
			
				
	Data never sleeps