I question your claim that the "hard code" works. When I run your code without the FCMP procedure involved:
1 data f1;
2 A='11/22/2018';
3 B='10:14:00't;
4 correct = cat( put( A , IS8601DA.), "T" , put( B , TOD8. ) ) ;
---------
484
NOTE 484-185: Format $IS8601DA was not found or could not be loaded.
5 run;
For A to be a date value that could use the IS8601DA format A would have to be: A="22Nov2018"D; The above generates an error because A is a character variable
If you want to combine a DATE value with a TIME value I would suggest using the DHMS function:
(assumes A is an actual date)
Correct = dhms(a,0,0,b);
And then assign an appropriate Format like E8601DT
Or if you really need a character value then: Correct = put(dhms(a,0,0,b),E8601dt19.);
... View more