Skip to Content

Distribute BPC reports when offline?

May 24, 2017 at 03:49 PM


avatar image

I'd like to schedule reports to be distributed during period close activities automatically. I've run across a few problems while doing this. We are on BPC 10.1 NW

1. My scheduling requirement is beyond what is available so I need to create two separate schedules, but this is not possible because each time I create a new scheduled task to distribute the reports it overwrites the previous task. I read in some documentation that we are unable to change the windows task such can only have one scheduled task for BPC report distribution. Any work around?

2. I'd like to schedule the reports to run at times that I may not be at work and my computer may be offline. If my computer is offline and not connected to the network then the windows task will not execute. Any work around on this? Schedule on app server directly?

3. Ideally I could add this distribution schedule as the last step of my package link to load all data to BW->BPC. I've not seen that this is possible. Perhaps with a custom developed package? Is anyone else doing this?

10 |10000 characters needed characters left characters exceeded

EPM Add-In version 10.0 SP27 patch 2.

* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Vadim Kalinin May 24, 2017 at 05:31 PM

Better solution:

EPM distribution will create windows task schedule with the following command to execute:

C:\Program Files (x86)\SAP BusinessObjects\EPM Add-In\FPMXLClient.BooksPublication.exe

"C:\Users\KalininVE\Documents\PC_NW\KalininVE\Books\ENVIRON_NAME\MODEL_NAME\WebExcel\BatchFiles\D ENVIRON_NAME MODEL_NAME KalininVE"

where "D ENVIRON_NAME MODEL_NAME KalininVE" is xml file like:

<?xml version="1.0"?>
<BookStructureList xmlns:xsi="" xmlns:xsd="">
<VariableTime />
<FixMemberList />
<SuppressCriteria />
<Dimension>USER ID</Dimension>
<Address /><UserId /><Password />

Containing all information for distribution!

You can schedule the same yourself using Windows task scheduler multiple times using different task names and different times to execute!

Use Manage Computer -> Task Scheduler...

Show 6 Share
10 |10000 characters needed characters left characters exceeded

You can use VBA to create schedule tasks:


P.S. Just tested the code (slightly modified) from my previous reply to launch distribution task using VBA Excel code. Working fine!


VBA code that will create windows task schedule same way as BPC Distribution:

Sub SetTask()
Const TriggerTypeTime = 1
Const ActionTypeExec = 0

Dim service
Set service = CreateObject("Schedule.Service")
Call service.Connect

Dim rootFolder
Set rootFolder = service.GetFolder("\")

Dim taskDefinition
Set taskDefinition = service.NewTask(0)

Dim regInfo
Set regInfo = taskDefinition.RegistrationInfo
regInfo.Description = "BPC Distribution"
regInfo.Author = "PCNAMEorDOMAIN\KalininVE"

Dim principal
Set principal = taskDefinition.principal

Dim settings
Set settings = taskDefinition.settings
settings.Compatibility = 1
settings.DisallowStartIfOnBatteries = False
settings.StopIfGoingOnBatteries = False
settings.Enabled = True
settings.StartWhenAvailable = True
settings.Hidden = False
settings.Priority = 5
Dim idlesettings
Set idlesettings = settings.idlesettings
idlesettings.StopOnIdleEnd = False
idlesettings.RestartOnIdle = False

Dim triggers
Set triggers = taskDefinition.triggers

Dim trigger
Set trigger = triggers.Create(TriggerTypeTime)

Dim startTime, time As Variant

time = DateAdd("s", 60, Now)  'start time = 60 seconds from now
startTime = XmlTime(time)

trigger.StartBoundary = startTime
trigger.ID = "TimeTriggerId"
trigger.Enabled = True

Dim Action
Set Action = taskDefinition.Actions.Create(ActionTypeExec)
Action.Path = "C:\Program Files (x86)\SAP BusinessObjects\EPM Add-In\FPMXLClient.BooksPublication.exe"
Action.Arguments = """C:\Users\KalininVE\Documents\PC_NW\KalininVE\Books\ENVIRON_NAME\MODEL_NAME\WebExcel\BatchFiles\D ENVIRON_NAME MODEL_NAME KalininVE"""

Call rootFolder.RegisterTaskDefinition("AAAAAAAAAAAAAAAAAAAAAA", taskDefinition, 6, "PCNAMEorDOMAIN\KalininVE", "xxxxxxx", 6)

End Sub

Function XmlTime(t)
    Dim cSecond, cMinute, CHour, cDay, cMonth, cYear As Variant
    Dim tTime, tDate As Variant

    cSecond = "0" & Second(t)
    cMinute = "0" & Minute(t)
    CHour = "0" & Hour(t)
    cDay = "0" & Day(t)
    cMonth = "0" & Month(t)
    cYear = Year(t)

    tTime = Right(CHour, 2) & ":" & Right(cMinute, 2) & _
        ":" & Right(cSecond, 2)
    tDate = cYear & "-" & Right(cMonth, 2) & "-" & Right(cDay, 2)
    XmlTime = tDate & "T" & tTime
End Function

I'll give it a shot. Thanks!

I had a feeling I might be able to create my own windows task as a copy of what I needed with another name and time...just wasn't sure how to get it done. The VBA, while elegant, might be over the top :)


Yes, for sure you can create a copy of Windows task using export to xml then changing xml file and after changing name and time - import back.

Sample export xml:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.1" xmlns="">
    <Description>BPC Distribution</Description>
    <Principal id="Author">
  <Actions Context="Author">
      <Command>C:\Program Files (x86)\SAP BusinessObjects\EPM Add-In\FPMXLClient.BooksPublication.exe</Command>
      <Arguments>"C:\Users\KalininVE\Documents\PC_NW\KalininVE\Books\ENVIRON_NAME\MODEL_NAME\WebExcel\BatchFiles\D ENVIRON_NAME MODEL_NAME KalininVE"</Arguments>

P.S. As you can see my VBA is doing the same...


Just implemented this. Took all of ten minutes to get the file exported and make a few copies with the correct run times and then import them back in. Easy!

Vadim Kalinin May 24, 2017 at 03:58 PM

1. Please explain you requirements step by step! Not clear why do you want to schedule the same thing twice...

2. Use dedicated PC somewhere on your corporate network always switched on with Excel and EPM installed. Use RDP to connect to this PC and launch distribution from this PC. "Schedule on app server directly?" - not possible!

3. Not possible.

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Vadim,

Thanks for the quick response. Clarification for #1 - I need to run the distribution multiple times per day at odd time intervals. It doesn't appear that I can schedule in such a way with the existing scheduler. If I could create multiple tasks it would work out fine. As it is now I can do neither so I'm forced to run manually for all but one of the daily distributions.


Stupid solution: use multiple PC's with RDP connection :)

Talk to your Network/Windows admins...

You can also use multiple virtual PC's on a single physical PC.