Modelling your data step after what PROC IMPORT generates might be useful if you don't know anything about how SAS works, but if you do you can write a much clearer and shorter program yourself.
Use LENGTH or ATTRIB to define your variables instead of forcing SAS to guess what type of variables they are based on first seeing your variables referenced in an INFORMAT, FORMAT or INPUT statement.
Also you don't need to define INFORMATs for normal text strings or numbers. Just add them for things like dates, times, or datetime values that need special treatement. The same applies to FORMATs. There is no value an much danger in permanently attaching $xxx. formats to text strings.
You don't need to add the $ modifier in your INPUT statement if you have already defined the variable as character.
It looks like the source file you are reading has the literal string 'null' entered when the numeric variable is supposed to mssing. If you are sure that these are the only strange values then perhaps you just need to add ? or ?? modifier to your INPUT statement for that variable.
data want ;
infile cards dlm='|' dsd truncover ;
length
ACTIVITY_LOG_ID 8
ACTIVITY_TYPE_ID 8
PROBLEM_REASON_ID 8
SOURCE_DT_TM 8
AUTHENTICATION_METHOD $500
ACTIVITY_KEY $50
ACTIVITY_DETAIL $30000
;
informat SOURCE_DT_TM ANYDTDTM. ;
format SOURCE_DT_TM datetime20. ;
input
ACTIVITY_LOG_ID
ACTIVITY_TYPE_ID
PROBLEM_REASON_ID ?
SOURCE_DT_TM
AUTHENTICATION_METHOD
ACTIVITY_KEY
ACTIVITY_DETAIL
;
cards;
"1257178407"|"683"|"null"|"2016-11-11 12:11:00.0"|method|key|detail
;
Result for this one example line.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----
512 "1257178407"|"683"|"null"|"2016-11-11 12:11:00.0"|method|key|detail
ACTIVITY_LOG_ID=1257178407 ACTIVITY_TYPE_ID=683 PROBLEM_REASON_ID=. SOURCE_DT_TM=11NOV2016:12:11:00
AUTHENTICATION_METHOD=method ACTIVITY_KEY=key ACTIVITY_DETAIL=detail _ERROR_=1 _N_=1
NOTE: The data set WORK.WANT has 1 observations and 7 variables.
NOTE: DATA statement used (Total process time):
real time 0.59 seconds
cpu time 0.00 seconds
513 ;
514
515 data _null_; set want;
516 put (_all_) (=/);
517 run;
ACTIVITY_LOG_ID=1257178407
ACTIVITY_TYPE_ID=683
PROBLEM_REASON_ID=.
SOURCE_DT_TM=11NOV2016:12:11:00
AUTHENTICATION_METHOD=method
ACTIVITY_KEY=key
ACTIVITY_DETAIL=detail
NOTE: There were 1 observations read from the data set WORK.WANT.
... View more