Scheduling WEBI reports with formulas for parameters

Post Author: David Gordon
CA Forum: WebIntelligence Reporting
Hi,
I am new to this environment. I would like to try and schedule a report monthly with dates (that will change from month to month). ie first and last day of previous month. Is there an easy way of achieving this automatically?
D Gordon

Post Author: DebT
CA Forum: WebIntelligence Reporting
Needed to do the same thing, with lots of different date ranges - month to date, year to date, last month, last week, fiscal year, etc.  Came up with a solution that takes a bit to set-up but then is re-usable and flexible.  I'll do my best to try and explain. 1)  Within the universe, created a "CurrentDate" derived table that calculates various points in time (yesterday, first of the week, last of the week, first of last month, last of last month, etc.).  Because the product would not let me use an unlinked table in calculations, I used a common table as the "from" in the SQL and included a common identifier so I could link the derived table to an existing table in the universe - I selected a small one with only a few records.  Using Oracle here, not SQL, so you'd need to modify to use SQL date functions, and add/delete the calculations you need:select distinctcommonidentiferfield,trunc(sysdate) as CurrentDate,trunc(sysdate)-1 as Yesterday,trunc(sysdate)1 as Tomorrow,case  when to_char(sysdate,'D')=2 then trunc(sysdate)-3  when to_char(sysdate,'D')=1 then trunc(sysdate)-2  else trunc(sysdate)-1  end as PriorWorkDay,case  when to_char(sysdate,'D')=6 then trunc(sysdate)3  when to_char(sysdate,'D')=7 then trunc(sysdate)2  else trunc(sysdate)1  end as NextWorkDay,case  when to_char(sysdate,'D')=5 then trunc(sysdate)4  when to_char(sysdate,'D')=6 then trunc(sysdate)4  else trunc(sysdate)2  end as TwoWorkDaysFromToday,trunc(sysdate,'D') as StartThisWeek,trunc(sysdate,'D')6 as EndThisWeek,trunc(sysdate,'D')-7 as StartLastWeek,trunc(sysdate,'D')-1 as EndLastWeek,trunc(sysdate,'D')7 as StartNextWeek,trunc(sysdate,'D')13 as EndNextWeek,trunc(sysdate,'MM') as FirstOfThisMonth,trunc(last_day(sysdate)) as LastOfThisMonth,trunc(last_day(add_months(sysdate,-2))1) as FirstOfLastMonth,trunc(last_day(add_months(sysdate,-1))) as LastOfLastMonth,case  when extract(month from sysdate)>=07 then extract(year from sysdate)1  else extract(year from sysdate)  end as CurrentFiscalYear,to_date(concat('07/01/',case                          when extract(month from sysdate)>=07 then extract(year from sysdate)                          else extract(year from sysdate)-1                          end),'mm/dd/yyyy') as StartCurrentFiscalYear,to_date(concat('23:59:59 06/30/',case                                   when extract(month from sysdate)>=07 then extract(year from sysdate)+1                                   else extract(year from sysdate)                                   end), 'hh24:mi:ss mm/dd/yyyy') as EndCurrentFiscalYear,case  when extract(month from sysdate)>=07 then extract(year from sysdate)  else extract(year from sysdate)-1  end as LastFiscalYear,to_date(concat('07/01/',case                          when extract(month from sysdate)>=07 then extract(year from sysdate)-1                          else extract(year from sysdate)-2                          end),'mm/dd/yyyy') as StartLastFiscalYear,to_date(concat('23:59:59 06/30/',case                                   when extract(month from sysdate)>=07 then extract(year from sysdate)                                   else extract(year from sysdate)-1                                   end), 'hh24:mi:ss mm/dd/yyyy') as EndLastFiscalYearfromsmallexistingtable 1a)  Link the derived "CurrentDate" table to smallexistingtable using
your commonidentiferfield (at least I had to do this, though everything
parsed ok in designer, when used in a query unlinked, it screamed quite
unhappily which is why I ended up basing the query on
smallexistingtable and linking). 2)  Created a "Dates" class and objects for each date in the above table, ie. "Current Date", "Yesterday", "Tomorrow", "First of last month", "Last of last month"3)  Created an object called Prompt - Date Range - Start Date.  This prompts the user to select the date range type they want and also allows for "custom" date ranges for on-demand reports.  For scheduled reports, you just select your response as part of the scheduled instance.casewhen @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Today' then @Select(Dates\Current Date)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Yesterday' then @Select(Dates\Yesterday)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Tomorrow' then @Select(Dates\Tomorrow)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Prior Work Day' then @Select(Dates\Prior Work Day)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Next Work Day' then @Select(Dates\Next Work Day)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Today - Next Work Day' then @Select(Dates\Current Date)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Two Work Days from Today' then @Select(Dates\Two Work Days From Today)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='This Week' then @Select(Dates\Start This Week)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Last Week' then @Select(Dates\Start Last Week)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Next Week' then @Select(Dates\Start Next Week)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Month' then @Select(Dates\First of this month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Last Month' then @Select(Dates\First of last month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Fiscal Year - EOFY' then @Select(Dates\Start of Current Fiscal Year)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Fiscal Year - Today' then @Select(Dates\Start of Current Fiscal Year)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Fiscal Year - Last Month' then @Select(Dates\Start of Current Fiscal Year)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Prior Fiscal Year' then @Select(Dates\Start of Last Fiscal Year)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Custom Start - Current Month' then to_date(@Prompt('Begin Date (Enter any date if N/A)','D',,MONO,free,Persistent,{'01/01/1900'},User:0,))when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Custom Start - Last Month' then to_date(@Prompt('Begin Date (Enter any date if N/A)','D',,MONO,free,Persistent,{'01/01/1900'},User:0,))when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Custom Date Range' then to_date(@Prompt('Begin Date (Enter any date if N/A)','D',,MONO,free,Persistent,{'01/01/1900'},User:0,))end4)  To capture the end date, created a second object, Prompt - Date Range - End Date.  Just be really sure that the wording of all your @Prompts is consistent throughout all the statements so you'll only receive one of each prompt.casewhen @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Today' then @Select(Dates\Current Date)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Yesterday' then @Select(Dates\Yesterday)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Tomorrow' then @Select(Dates\Tomorrow)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Prior Work Day' then @Select(Dates\Prior Work Day)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Next Work Day' then @Select(Dates\Next Work Day)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Today - Next Work Day' then @Select(Dates\Next Work Day)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Two Work Days from Today' then @Select(Dates\Two Work Days From Today)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='This Week' then @Select(Dates\End This Week)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Last Week' then @Select(Dates\End Last Week)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Next Week' then @Select(Dates\End Next Week)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Month' then @Select(Dates\Last of this month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Last Month' then @Select(Dates\Last of last month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Fiscal Year - EOFY' then @Select(Dates\End of Current Fiscal Year)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Fiscal Year - Today' then @Select(Dates\Current Date)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Current Fiscal Year - Last Month' then @Select(Dates\Last of last month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Prior Fiscal Year' then @Select(Dates\End of Last Fiscal Year)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Custom Start - Current Month' then @Select(Dates\Last of this month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Custom Start - Last Month' then @Select(Dates\Last of last month)when @Prompt('Select records for','A',{'Today','Yesterday','Tomorrow','Prior Work Day','Next Work Day','Today - Next Work Day','Two Work Days from Today','This Week','Last Week','Next Week','Current Month','Last Month','Current Fiscal Year - EOFY','Current Fiscal Year - Today','Current Fiscal Year - Last Month','Prior Fiscal Year','Custom Start - Current Month','Custom Start - Last Month','Custom Date Range'},MONO,CONSTRAINED)='Custom Date Range' then to_date(@Prompt('End Date (Enter any date if N/A)','D',,MONO,free,Persistent,{'01/01/1900'},User:0,))end 5)  Created a filter, Prompt - Date Selection that is used to select the appropriate records based on your record date being within the date range selected:@Select(My Date Field) between @Select(Prompt Fields\Prompt - Date Range - Start Date) and @Select(Prompt Fields\Prompt - Date Range - End Date)6)  When you create your query, just use the filter created in step 5.  I also usually include the Prompt - Date Range - Start Date and Prompt - Date Range - End Date objects so that I can use them min(Prompt - Date Range - Start Date) and max(Prompt - Date Range - End Date) in the report header to display the actual date range selected (all the value in Prompt - Date Range - Start Date are exactly the same, I use the min to avoid multiple value errors - same for Prompt - Date Range - End Date, I use max just because logically my brain likes that better).  When you refresh the query, it will ask what date range type you want, a start date and end date - used for custom ranges - you can enter any date if not selecting a custom date as it is ignored. Hope that makes sense and is helpful.  It's worked really well for me.  I also have an even more complicated version (imagine that!) for situations where there may be multiple dates a user can choose from, ie a posting date vs the date of service.  It will ask the user which they want and in the Prompt - Date Range - Start Date, a case statement is added to handle the selection/use of different date fields.Deb

Similar Messages

  • Problem scheduling webi reports with XI3.1 pending forever

    Hello,
    I've got a problem scheduling webi reports with XI3.1 scheduler.
    After confiming scheduling job (loggin in with "administrator" user), status remains "pending" forever(using Infoview or CMC).
    I tried different job recurrence a modalities (attachment formats, destination user etc).
    I also try to add (-javaArgs "Xmx900m,Xincgc,server") wich is the SAP solution found on its portal but it does not work.
    I use BO XI 3.1 in Windows 2003 server, after the install I reduced the maximum memory of Java in the tomcat 5.5.2 server from 1024 to 512 because the server never started with the initial size.
    Please I need Help.
    thanks in advance,
    Samy

    Hi,
    Below SAP solution found found in BOB Forum.
    I applied this solution and now everything works fine !!
    I just add  this -javaArgs "Xmx900m,Xincgc,server"  in the command line of the server
    Hope this helps:
    Symptom
    Scheduled WebIntelligence reports remain stuck in 'pending' status after installing Microsoft windows patches of April 2009. Restarting the Adaptive Job Server, Central Management Server or Server Intelligence Agent has no effect.
    The Event Viewer logs show the following entry: Unable to start the sub-process (Job Server Child). Cause : Couldn't get IJob interface or writing IAudit: Pipe exception. Reason: jobserverchild (WebIJavaSchedulingService ReplicationSchedulingService, 0, Timeout waiting for Child [4716] to register ([120]seconds).
    Reproducing the Issue
    Install Business Objects Enterprise XI 3.x on a French Windows 2003 SP2 32bits server
    Install the following Microsoft windows update patches of April 2009:
    KB923561, KB925336, KB952004, KB956572, KB959426, KB960225, KB960803, KB961373, KB967715
    Schedule a WebIntelligence report
    The report remains in Pending status
    Business Objects Enterprise XI 3.1
    Windows 2003 SP2 32bit (French)
    Microsoft windows patches of April 2009
    Cause
    With Microsoft windows patches of April 2009, the maximum Heap Size for java processes has been reduced to under 1000MB.
    Resolution
    Apply the following steps to fix the issue:
    Launch the Central Management Console
    Select Servers
    Right click on <server_name>.Adaptive Job Server and select Properties
    Add the switch -javaArgs "Xmx900m,Xincgc,server" in the command line of the server
    Click on Save and Close
    Restart the <server_name>.Adaptive Job Server
    Regards .
    Sam.
    Edited by: samouber on Aug 21, 2009 2:54 PM

  • Unable to schedule webi report with Test user

    Hi All,
    I get the below error when i try to schedule a WEBI report with user id.
    I can schedule with my developer id.
    Error Message: Sorry, you do not have the right to 'Edit objects' (ID: 6) for 'sudes_errors' (ID: 45941). Please contact your administrator if you require this right. 
    Any inputs greatly appreciated.
    Thanks

    Error clearly showing that, Test user need access rights defined @ CMC.
    Contact BO admin, to assign Schedule/Full control rights for that Test user.
    Thank You!!
    H2H

  • Scheduling WEBI reports with API

    Is it possible to schedule a WEBI report with an external API?
    Explanation: our customers can view their data on our internet site. We want to show a list of reports where they can subscribe. For example: report X with parameter Y each monday morning in Excel format to mailadress Z.
    This subscribtion is stored in our Oracle database. The database sends an API to the BO enterprise server. BO schedules and sends the report to the customer.
    Regards,
    Emiel

    Hi
            What is the API ? Is it a Text file ? if so then you can schedule the reports based on an event in BO .
    Regards
    Prashant

  • Scheduling WEBI Objects with date as parameters in InfoView

    Hi,
    We want to know if it is possible to schedule a WEBI Report in InfoVIew passing as parameters the actual day of execution. For example, if we scheduled a report that will run every day, we will want that every instance generated containing the data of the execution date, but when we tried to schedule this execution inside the InfoView the only options that we have is to select one date or a list of dates that will be equal for every execution of the report.
    Any ideas?
    Thanks a lot.
    Kind Regards

    Hi,
    For oracle you can use hard coded 'sysdate' or 'todays date' as a default text in the prompt and then at the back-end you have to decode it and and write the query that will return the todays system date.
    Here is the format not the exact code:
    Table.Date = decode(@prompt(.....),'sysdate',query that will fetch the todays date)
    OR
    Table.Date = @prompt(.....)
    Regards,
    Rohit

  • Schedule a report with passing range parameters

    I have wrote a program to run the crystal report in BO server and email to the user. The program can pass the parameter to the crystal report and generate different result/ report. It works well with string parameters, int parameter and date parameter. But when I pass the date range parameters, the CR in BO always displays error "Information is needed before this report can be processed. ", and in the CR history, the Parameters field is "No Parameter"
    For single parameters, I will use the setValue() of IReportParameterSingleValue to set the param value
    IReportParameterSingleValue v = prompt.getCurrentValues().addSingleValue();
    v.setValue(paramValueArray<i>);
    but I dunno how to set the date range value. Anyone ve ideas on this?
    Here is some of my sample code.
    rangeValue.setBeginValue(dateValue1);
    rangeValue.setEndValue(dateValue1);
    rangeValue.getEndValue());
    rangeValue.setLowerBoundType(RangeValueBoundType.inclusive);
    rangeValue.setUpperBoundType(RangeValueBoundType.inclusive);
    newParam.getCurrentValues().add(rangeValue);

    I am not sure if you are using RAS or Enterprise SDK, but here are some code snippets to set range report parameters:
    For scheduling:
    // oReport is IReport object holding the crystal report.
    oReportParameter = oReport.getReportParameters().get(i);
    currentRangeValue = oReportParameter.getCurrentValues().addRangeValue();
    currentRangeValue.getFromValue().setValue(dateParameter);
    currentRangeValue.getToValue().setValue(dateParameter);
    For viewing:
    ParameterFieldRangeValue pfrv = new ParameterFieldRangeValue();
    pfrv.setBeginValue(dateTimeValue);
    pfrv.setEndValue(dateTimeValue1);
    pfrv.setLowerBoundType(RangeValueBoundType.inclusive);
    pfrv.setUpperBoundType(RangeValueBoundType.inclusive);
    pf.getCurrentValues().add(pfrv);
    f.add(pf);
    f is Fields object and pass that to viewer.

  • Script to schedule webi report with prompts

    Dear experts,
    I need to schedule about 300 reports to run on a monthly basis. Those reports have to prompts to be filled: year and month.
    How can I schedule it and fill the prompts automatically? I thought of scheduling a script that would run those reports but I'm not able to find a script that fills the prompts.
    Can you help me?
    Thanks!
    Inê

    What version of BOE are you on? In any case, you'd need to use the ReportEngine SDK. You might be better off posting this to the appropriate  Business Intelligence SDK  forum.

  • Scheduling WebI reports for Dynamic Date Ranges

    Hello Everyone,
    Our Env is BOBJ XI 3.1 SP2 FP2.5 integrated with SAP NW  BW 7.02 EPH1
    We are trying to schedule few WebI reports which can be used on ad-hoc basis as well. Some reports need to get data from starting of the month to today (like MTD) and few are with dynamic date ranges.
    In case of relational universes i used to do Magic Date as mentioned here :  http://www.dagira.com/2008/07/21/using-a-magic-date-value-in-prompts
    But for OLAP Universes i have written a MDX filter prompt as :
    <FILTER KEY= "@Select(Debit Memo Date\Debit Memo Date LOV)">
    <CONDITION OPERATORCONDITION= "Between">
    <CONSTANT CAPTION= "IIF (@Prompt('Enter\Select DM Start Date: ','D','First day of Current Month\First day of Current Month',mono,free,not_persistent,{'First Day of Month'},,User:0)='First Day of Month','First day of Current Month\First day of Current Month',@Prompt('Enter\Select DM Start Date: ','D','First day of Current Month\First day of Current Month',mono,free,not_persistent,{'First Day of Month'},,User:0))"/>
    <CONSTANT CAPTION= "IIF (@Prompt('Enter\Select DM End Date: ','D','Date2\Today',mono,free,not_persistent,{'Today'},,User:0) > '1/1/2100 12:00:00 AM',''1/1/2010 12:00:00 AM'',(@Prompt('Enter\Select DM End Date: ','D','Date2\Today',mono,free,not_persistent,{'Today'},,User:0))"/>
    </CONDITION>
    </FILTER>
    We are getting MDX erros because IIF can only return numeric values. So are there any other approaches for dynamically scheduling the reports or can the above MDX prompt be modified to make it work ?
    - Vamsi Ch

    Ingo,
    When we schedule the WEBI report we use the BEX query with a variable based on a customer Exit .
    There are good examples in
    https://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
    In order to avoid providing a hard coded date restriction in the BEX query we want to have a flexible date range solution (e.g. data from 1.1.2011 until yesterday).
    Is the folloing scenario possible:
    Scheduled webi report with a hard coded date e.g. 1.1.1900 (for the BEX variable)
    The BEX query should return the data from 1.1.2011 until yesterday (dynamically)  if date = 1.1.1900
    else it should return the data (for the e.g. adhoc reporting)
    Is a customer exit like this possible ?
    Pseudo code:
    IF date = 1.1.900 then return sysdate-1 else return entered date
    For a relational universe I always used a magic date condition

  • Scheduling webi reports via Java SDK in BI 4.1

    Hi,
    Has anyone been able to schedule a Webi report containing date prompts via Java SDK in BI 4.1? I have tried doing so but it doesn't work when date prompts are involved, I get the exception raised: java.lang.NullPointerException error. Though the scheduled instance is created and the date prompt appears to be correctly populated the report fails with the above mentioned error message. The code is working for other text prompts but fails when I have a date prompt in the report. I am using the populateWebiPrompts() method to populate the prompts.
    CF

    Hi Christopher,
    Try adding the following line in your code before scheduling:
    iWebi.setUserInputLocaleName(documentInstance.getProperties().getProperty(PropertiesType.BASE_LOCALE));
    Also as an FYI, please refer below details.
    For scheduling webi reports with prompts, the only supported way is to use Restful webservices SDKs.
    The feature of scheduling a webi report with prompts were deprected from release BI 4.x and introduced in the new restfull webservices. Restful is the future which SAP is focussing and would be great to have your application on supported terms with SAP.
    You can get details about the restful webservices from the documents and blogs available at below forum
    http://scn.sap.com/community/restful-sdk
    Thanks,
    Prithvi

  • Error When Trying to Schedule Webi report using SAP authentication

    Hii,
    We are trying to Schedule Webi report in CMC for Group of Users using SAP authentication(SSO) ,While Trying this we are geting error Unable to Connect to SAP BW server Incomplete Logon Data ..(IES 10901) .
    Authorization done at BI side and Its working properly.Users are able to login into BI Launchpad and View Report as per authorization
    Some Webi reports are created using BICS connection and some  are created using Universe Design Tool (.UNV) which are migrated from BO 3.1 to BO 4.0
    Server Status:
    BO server and Client Tools-:BO 4.0 SP6
    BW System-7.01
    Please refer attach Screen Shot

    Hi Rupesh,
    Please check the below note:
    Seems issue with SNC/STS settings.
    1798197 - Schedules fails with error "Database error: Unable to connect to SAP BW server Incomplete logon data.. (IES 10901)" in BI 4.0
    https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361…

  • Ho can I schedule a WEBI report with dynamic parameters???

    Hello again!!
    Here i am with another detail about scheduling, the thing this time is that ia need to schedule a report with one parameter every week but with a different value for the parameter every week.
    This is i need this week to run the report SALES BY STORE filtered by week with this value 2011 - 45 (yyyy - num ofweek) but the next week the value for the same parameter must be 2011 - 46
    is it possible??? i mean is possible to schedule a report with different value for the parameter each time that it runs???
    I know that i can schedule a report with different values for a parameter to send it to severals users whith different data but the values for the parameter are the same every time that it runs and i dont need that.
    Any help or clue will be very appreciated

    Hi Elio,
    Do you have access to modify your universe?
    Then you should try Dave Rathbun's idea. Here is the link:
    http://www.dagira.com/2008/07/21/using-a-magic-date-value-in-prompts/
    Note that you'll have to adapt it to what you need, in this case to the week number.
    For example if you are using Sybase syntax you'd get 2011 - 46 with:
    convert(varchar, year(getdate()))+' - '+convert(varchar, datepart(wk,getdate()))
    So you'll new object in Universe would look like :
    your_table.week = case when @prompt('Enter week','C',,mono,free) = 'This week' then convert(varchar, year(getdate()))+' - '+convert(varchar, datepart(wk,getdate()))  else @prompt('Enter week','C',,mono,free)  end
    Adapt it to the syntax of the database you use. Then after creating this object in your universe you'll have to go back to your report and Edit the query and use this object in the filter area instead of  a normal prompt.
    When you have to schedule the report leave the prompt with the parameter 'This week'
    Hope this helps
    Regards
    Erika
    Edited by: PadawanGirl on Nov 8, 2011 3:35 PM

  • How to schedule a report with dynamic parameters

    We need to schedule a Webi report with dynamic parameters then email the different result to different email groups.  Is it possible to do this in scheduler? Please advise. Thanks.

    there are 2 schedulers
    1st  CMS
    the reports which does not have any input parameters, only then t can be scheduled in CMS
    2nd in Infoview
    if report has input parameters and if you want to schedule it, then you may need to schedule the report from Infoview
    To have a email notification
    configure the SMTP server in report JOB Server
    Thanks,
    Ganesh

  • Can Tivoli (TWS) be used for scheduling WebI reports in BO XI 3.1?

    I am trying to figure out if it is possible to schedule WebI reports to refresh using TWS?
    We are using BO XI 3.1 SP2 deployed on unix and would like to use TWS to refresh WebI reports that are built on SAP BW Bex queries.  Does anyone have any experience scheduling WebI reports using TWS with XI 3.1?  Any information you can provide would be appreciated!
    Thanks,
    Derek

    Hi
    I can think of two options:
    1) You define in BO CMC external events  and schedule your reports to wait for them. In the TWS you can schedule an OS script to create the file that triggers the BO external event. The reports will run only after the file is created.
    2) You write  a java program that uses the BOBJ SDK in order to schedule immediately your reports. In the TWS you create a scedule that starts the java program. (You can find examples how to use the SDK here http://www.sdn.sap.com/irj/boc/samples )
    Regards,
    Stratos

  • Scheduling a webi report with no access to univ. connection

    Hi,
    I have a user in BO enterprise, who has access to a report, but no access to the universe & universe connection.
    So ideally, the expected behavior is that, when the user schedules the report, the schedule should fail.
    When I do a schedule, by clicking on the prompts, and modify, it throws me an error that the Universe and universe connection are not accessible.
    But when I schedule the report, with all default settings (without modifying the prompt values), it schedules, and shows a Success status. (Though the report shows blank data)
    Has anyone observed this before? Any info on this would be helpful.
    Thanks.

    Hi,
    The use-case is:
    - An administrator creates a new user (by default belongs to Everyone group) and provides access to a particular report including the scheduling privileges
    - The Everyone group does not have access for the Universe or the Connection
    - When this user runs the report (View on Demand) and refreshes the data (via the Refresh Data button), the error is thrown stating that the universe is not found/not accessible.
    - When scheduling the same report, we see different behaviors (one of the prompt option happens to be a List of Values:
        - Changing the prompt values - Clicking the modify button on the parameters page and trying to select a value for the LoV prompt throws me the Universe not found/accessible error (which is correct as the concerned user does not have access to the universe or the connection)
        - With default prompt values (i.e. not changing any of the prompt values in the parameters page) - This shows that the schedule was successful and when i open the instance, it shows me blank report - The question here is, why would the schedule succeed when the user does not have the access to the universe/connection?
    Thanks -
    Chandra

  • BI: Virtual Provider for ECC Report with same selection parameters

    Dear all,
    I have attached screen shot of ECC report selection screen with contain Material, Plant and Dates. As report is bit complex and I need to use just ITAB (internal table) of it for further use in BEx Query and for Dashboard purposes.
    Problem: I need to call this report by creating Virtual Provider in BI so that I get data from ECC at runtime as it is shares report so I can't able to save any data in transparent table as report calculated opening balances at runtime.
    It is possible for me by using function module i can get itab by submit return and then create Data Source for it ?
    As i make copy of FM ZZRSAX_BIW_GET_SIMPLE i cannot use submit there due to OPEN CURSOR mechanism there.
    Kindly anyone suggest how it is possible to call report with same selection parameters for creation of virtual provider.
    Please mention if i miss any point in explaining problem.
    Feel free to ask for any query.
    Many thanks.
    Hoping for positive and quick responses.

    please create 2 reports as given below.-
    REPORT  ZSZP_00007.
    parameters a(5) .
    parameters b(5) .
    parameters c(5) .
    AT SELECTION-SCREEN OUTPUT.
    LOOP AT SCREEN.
    IF screen-name = 'A' or screen-name = 'B' .
      get parameter id 'aaaaaaaaaaa' field a.
      get parameter id 'bbbbbbbbbbb' field B.
    screen-input = 0.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    start-of-selection.
    your logic
    REPORT  zszp_00005.
    PARAMETERS a(5).
    PARAMETERS b(5).
    START-OF-SELECTION.
      SET PARAMETER ID 'aaaaaaaaaaa' FIELD a.
      SET PARAMETER ID 'bbbbbbbbbbb' FIELD b.
    your logic
    SUBMIT zszp_00007 VIA SELECTION-SCREEN.
    i hope this approach will solve your problem.
    thanks
    Swanand

Maybe you are looking for