Thanks, @Tom, for the reminder.
Yes, I would say using
%let MESE_TEXT = %sysfunc(putn("&DATA_PERIO"d, itadfmn));
is even better than my suggested nldatemn, as it doesn't rely on the LOCALE setting.
It just seems that SAS discourages us from using those language-specific format names. First, they are a bit hard to find in the documentation: They are not contained in the "Dictionary of Formats" and not mentioned in the "Dictionary of Formats for NLS" either. A few occurrences (including itadfmn) can be found in the "Example" sections of the documentation of the EUR... formats such as EURDFMNw. in the appendix "Additional NLS Language Elements". But the introductory section of that appendix says:
The following EUR language elements have been replaced with NL language elements. The EUR elements are supported in SAS 9.3 [sic!], but SAS recommends that you use the NL elements.
... View more