Here are complimentary PROC FCMP functions I wrote to convert back and forth between numeric and dotted IP addresses. You can remove the INPUT and PUT functions if you don't mind getting the conversion log messages.

PROC FCMP;
FUNCTION IPAddressStrConvert( ipaddr $);
RETURN( BLSHIFT( INPUT( SCAN( ipaddr, 1, '.'), BEST4.), 24) +
BLSHIFT( INPUT( SCAN( ipaddr, 2, '.'), BEST4.), 16) +
BLSHIFT( INPUT( SCAN( ipaddr, 3, '.'), BEST4.), 8) +
INPUT( SCAN( ipaddr, 4, '.'), BEST4.) );
ENDSUB;

FUNCTION IPAddressNbrConvert( ipaddr) $ 15;
RETURN( CATX( '.', PUT( BRSHIFT( ipaddr, 24), 3.0),
PUT( BAND( BRSHIFT( ipaddr, 16), 255), 3.0),
PUT( BAND( BRSHIFT( ipaddr, 8), 255), 3.0),
PUT( BAND( ipaddr, 255), 3.0) ) );
ENDSUB;
RUN;