Hi Kevin,
We have an exact requirement and here is the code that will get you what you want…
<TimeDimTable>.MonthName = CASE WHEN @Prompt('Select Report Month','A','TimeDim\Month Name',Mono,Constrained,Not_Persistent,{'Last Month'},User:1) = 'Last Month'
THEN
(CONVERT(VARCHAR(3), DATENAME(MM, CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GETDATE())),GETDATE()),100)), 10)+ '-'+ SUBSTRING(cast(DATEPART(yyyy, DATEADD (mm,-1,getdate())) as char(4)),3,4))
ELSE
@Prompt('Select Report Month','A','TimeDim\Month Name',Mono,Constrained,Not_Persistent,{'Mon-YY'},User:1) END
Our report is scheduled to run on the first of every month for the previous month’s data. I have just selected ‘Last Month’ as the value for my Month prompt while setting up the schedule.
“TimeDim\MonthName” object give you the LOV for Month selection. The format that we wanted was Mon-YY and the SQL below does it for me. (Ours is a SQL Server DB backend…but you can get an Oracle equivalent quite easily)
SELECT
DerivedTimeDim.MonthName
FROM
(
select distinct
ARDS.BO.v_Dim_Date.MonthName as MonthName,
ARDS.BO.v_Dim_Date.Date as Date
from ARDS.BO.v_Dim_Date
WHERE
CAST(ARDS.BO.v_Dim_Date.Date AS DATE) >= CAST(DATEADD(YEAR, DATEDIFF(YEAR, 0,DATEADD(YEAR, -1, GETDATE())), 0) AS DATE)
AND
CAST(ARDS.BO.v_Dim_Date.Date AS DATE) <= CAST(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)) AS DATE)
AND
ARDS.BO.v_Dim_Date.LastDayOfMonthIndicator = 1
) DerivedTimeDim
order by Date desc
Let me know. Good luck 
Regards
CV Bhat
Supernova
(BOB member since 2013-08-30)