hello,
you should pass from column/formatted input to list input / modified list input, which is far more flexible.
with list input SAS reads a data value until it encounters the delimiter (by default is blank).
anyway with list input default delimiter may cause some troubles if there are variables with embedded blanks (like download_channel in your case), so it may be useful to change the delimiter and then import your data.
my solution is available for your sample data, but it may not be enough to correctly import the entire file.
[pre]
data a;
infile datalines column=x truncover dsd dlm=' ';*no need for truncover dsd dlm=' ' for this sample data;
input date :yymmdd10. content_type :$8. content_category :$2. @;
_infile_=reverse(substr(trim(_infile_),x));
*list;
*put _infile_;
input @1 successful_download service $ operator :$9. Games_Sport $ download_channel & :$35.;
format operator $revers9. service $revers8. Games_Sport $revers8. download_channel $revers35.;
datalines;
2010/06/01 00:00:42 JG Hoover and Candy Web operator1 games 0
2010/06/01 00:04:07 JG sasapplication web operator2 games 0
2010/06/01 00:04:15 JG Games Sport WEB operator2 games 0
2010/06/01 00:35:31 TT BRB Web operator1 music 1
;
[/pre]
Marius