I still don't understand what you are asking. In this code:
char3=input(char1, $4.);
num4=input(char2, dollar10.2);
char5=put(age, 4.);
You are using 2 informats and 1 format.
The results of input(char1, $4.) is the same as you would get with left(substrn(char1,1,4)).
This function call, input(char2, dollar10.2) , says to read the first 10 bytes of CHAR2 and interpret it as a number after removing any dollar signs, commas, or percent signs from the 10 bytes. And if the string does not have a period to mark the decimal place then assume the last two digits in the string are after the decimal place.
This function call, put(age, 4.) , will create a string of four characters. The digits will be right aligned in the four characters (padded in front with spaces). So if AGE=40 the result will be two spaces followed by the digit 4 and the digit 0.
... View more