Looks like part of a PROC FORMAT step for defining a character format named $EXFMT. You are missing the PROC FORMAT statement before the VALUE statement. You are using "stupid" quotes instead of normal quotes around the strings, that needs to be fixed. And you are missing the semi-colon to end the VALUE statement. Also you should end the PROC FORMAT step with a RUN statement.
proc format;
value $exfmt
'ZHKGILD' = '8#1'
'ZHKGILPM1' = '6G8'
;
run;
When you use this format to print a character variable strings that match the values on the left of the equal signs will be displayed using the values on the right. Just when you print a number that has value ten in it using the 2. format is print the digit string 10. Or when you have date value of the first day of january 2022 and print it using the DATE9. format you get the string 01JAN2022 instead of the actual number of days since 1960 that are stored in the variable.
Read up about what formats are.
https://www.sas.com/content/dam/SAS/support/en/sas-global-forum-proceedings/2018/2032-2018.pdf
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Early bird rate extended! Save $200 when you sign up by March 31.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.