It really isn't clear what you want.
To manipulate date values, like add a month, you would use the INTNX function.
If your starting value is a datetime then
Newvalue = intnx('dtmonth', datetimevariable, 1); would advance a datetime value by one month.
If you only want a date
Newvalue = intnx('month', datepart(datetimevariable),1);
you can add an alignment to the intnx function to be the Beginning, End, or Same (interval int the result)
Newvalue = intnx('month', datepart(datetimevariable),1,'B'); would force the result to be the first day of the next month.
Then assign a format if creating a new variable.
There NEVER a need to use input(put(DATEPART(DATE),<format>),<informat>);
If you want a date just use: Newvar = datepart(date); And assign a format to the result.
... View more