Creating a ddccmmyy macro

Reply
Contributor
Posts: 26

Creating a ddccmmyy macro

I am currently trying to assign a Year macro that will show the year : like below

%let yr = year(&date.);

%let dag = day(&date.);

%let yydd = compress(&yr.||&dag.);

For e.g. NAME = D20130719

Thanks

Contributor
Posts: 25

Re: Creating a ddccmmyy macro

Posted in reply to Allistair

Hi Allistair,

Please try the following:

%let year  = %sysfunc(year("&sysdate"d));

%let month = %sysfunc(putn(%sysfunc(month("&sysdate"d)),Z2.));

%let day   = %sysfunc(putn(%sysfunc(day("&sysdate"d)),Z2.));

%let combined = D&year.&month.&day;

%put  &combined;

Contributor
Posts: 26

Re: Creating a ddccmmyy macro

Hi Arnoux

will try that out now.

Thank you!

Super Contributor
Posts: 297

Re: Creating a ddccmmyy macro

Posted in reply to Allistair

You could also create a Picture Format.

PROC FORMAT ;

PICTURE  DYYMMDD LOW-HIGH = "D"'%Y%0m%0d'

(DATATYPE = DATE) ;

RUN ;

%LET WANT = %SYSFUNC(PUTN("&SYSDATE."D,DYYMMDD.));

%PUT ************** &WANT.;

LOG:

SYMBOLGEN:  Macro variable WANT resolves to D20130723

************** D20130723

Ask a Question
Discussion stats
  • 3 replies
  • 196 views
  • 4 likes
  • 3 in conversation