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
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.