BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
art297
Opal | Level 21

I have a situation where I have to know the maximum length for a formatted variable. I know that I can use proc format to get the value if I know which catalog the format is coming from, but how can I get the value if I'm only passed the format name, but have no idea where it is coming from?

I need to do it programmatically, as it is part of a macro being used to export data.

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

Search the dictionary.options or sashelp.voptions for the fmtsearch setting value OPTNAME=FMTSEARCH and SETTING so you can search through dictionary.format or sashelp.vformat in the correct order to find the first occurrence of the format with the desired name and associated MAXW.

If you don't have as many format catalogs as I do, then this might be relatively easy.

View solution in original post

5 REPLIES 5
Scott_Mitchell
Quartz | Level 8

Could you not query the SASHELP.VFORMAT?

DATA TEST;

SET SASHELP.VFORMAT;

RUN;

ballardw
Super User

Search the dictionary.options or sashelp.voptions for the fmtsearch setting value OPTNAME=FMTSEARCH and SETTING so you can search through dictionary.format or sashelp.vformat in the correct order to find the first occurrence of the format with the desired name and associated MAXW.

If you don't have as many format catalogs as I do, then this might be relatively easy.

art297
Opal | Level 21

You are both correct of course. It's been a loooooooooooong day!  Much appreciated!

Orsini
Fluorite | Level 6

Will VFORMATW do what you are looking for?

art297
Opal | Level 21

vformatwx might do what I need

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 5 replies
  • 1134 views
  • 7 likes
  • 4 in conversation