This one is on Workspace batch bursting process.
I think you all are aware of Hyperion Financial Reporting Report PDF bursting options.
Some information on batch bursting
The scheduler’s batch bursting feature can run a batch for more than one member of a single dimension on the batch POV for one data source, e-mail the PDFs generated to a recipient list, and save the output to the file system or to the repository. For example, a batch scheduled to run for New York and Houston can have the output for New York going to jones@cd.com and the output for Houston going to smith@cd.com.
I was once doing a project where in which the client asked for an option where in which they can review the PDF reports and then send it as mail or upload it to Workspace and open it to the users.
I was looking for an option to burst PDF reports into Workspace and found that this option is not available.
You can burst snapshots into an internal Workspace folder, but not PDF.
The challenge is to update the security for more than 2000 reports after each bursting. I had to find an automated way to do this rather than manually opening up each file and adding permission to each file.
There is a BatchDriver API which can upload files from a directory into Workspace. So I combined the option of bursting PDF files into an external directory and then used the BatchDriver API to upload the files into Hyperion Workspace with user permissions.
You can use this file to create the Control File for batch uploading.
Please follow the below given steps to upload file into Workspace
- Fill in External folder Path (as per FRConfig.cmd Exportfolder definition)
- Fill in Workspace Folder Name (this is the PDF upload location)
- Fill in Workspace Folder Name, where the bursting report/book is located
- Fill in financial_reporting_object_name separator used in bursting file
- Mention whether Hyperion version is pre 11.1.2.1
Tagging of pre 11.1.2.1 is used to convert spaces to ‘+’.
Note: There is an issue with the BatchDriver API, where in if there there multiple users/groups access is given for a single file and one of the user/group is a non-existing one, then API doesn’t add any permission.
E.g If Market files are under a folder called PDF reports.
Houston report access was defined in the control file for “John Smith” and “John Who”, where “John Who” is not existing in Hyperion, “John Smith” won’t get access to Houston Report. I think this should be treated as a bug.
Note: This file wont work for members which are repeated more than 10 times.
For case where a member is repeated more than 10 times.
Copy one “data name” statement and append the accessors from the control file to the end of “data name” statement as shown below.
data name=Report & Name – Hyderabad^path=/Sample Reports/PDF Reports/CeraSoft^file=C:PDFReportsSample+ReportsBursting+BooksReport+%26+NameReport+%26+Name+-+Hyderabad.pdf^perm=accessor13^perm=accessor14^perm=accessor1
^perm=accessor2^perm=accessor3^perm=accessor4^perm=accessor5
^perm=accessor6^perm=accessor7^perm=accessor8^perm=accessor9
^perm=accessor10^perm=accessor11
^perm=accessor2^perm=accessor3^perm=accessor4^perm=accessor5
^perm=accessor6^perm=accessor7^perm=accessor8^perm=accessor9
^perm=accessor10^perm=accessor11
Updated 26 – Feb – 2012
EXCEL is updated to handle different naming convention in the bursting file (other than <<MemberName>> and <<FinancialReportingObjectName()>> add that as the PDF Report Name (else add the FR Report name) and select whether it is prefix or suffix.
For e.g. If financial reporting object name is <<MemberName>> – Financial Results add Financial Results as report name and select suffix.
If only <<MemberName>> is used then keep PDF Report Name as blank
EXCEL is updated to handle different naming convention in the bursting file (other than <<MemberName>> and <<FinancialReportingObjectName()>> add that as the PDF Report Name (else add the FR Report name) and select whether it is prefix or suffix.
For e.g. If financial reporting object name is <<MemberName>> – Financial Results add Financial Results as report name and select suffix.
If only <<MemberName>> is used then keep PDF Report Name as blank
Great work. Thanks for sharing.
Did you ever run across the error "library not available, add it to your classpath: spf.jar".
Thank you,
Beau
Beau, I've seen that one, however "BatchDriver" still executes after that message. This file is used in set_sdk_env.bat and that is the reason why you see it
I had the wrong port! As soon as I saw your update it pointed me in the right direction. Do you know how to set the property of a file to "Financial Reporting Batch"?
Thank you for your help!
I don't think you've to forcefully set a file's property as Financial Reporting Batch. When you create a batch document then it is automatically tagged as "Financial Reporting Batch".
If you still want to change, then right click–>Properties–>Advanced–>Change MIME type
I needed to modify the .bch (Financial Reporting Batch) outside of Workspace. When I uploaded the documents(manually or BatchDriver) they defaulted to unknown file type. It took me a while to remember where the MIME Type was located. Update the Financial Reporting Batch to include the .bch type. Works perfectly. Thank you for the open communication.
Hi Celvin,
I have one quick question on how to overwrite the same file. every time I run the script it keeps adding with same file with different time in the specified workspace folder. do we have any parameter we can use in Control File so that it will overwrite the same file in place of creating new one.
Thanks
KP
@Khirod I don't think BatchDriver can do it. You'll have to delete those files before uploading. Check http://docs.oracle.com/cd/E12032_01/doc/epm.921/html_hs_developer/developer_help-08-19.html – that one is for folder delete, might work for a file
Hey Celvin,
Any idea how to get rid of library not available, add it to your classpath: spf.jar". error for these Workspace jobs ?
-Chinmay
hello
you are welcome
for the first option you can use long path tool.
………………
HI Celvin,
getting below error
Exception in thread "main" java.lang.NoClassDefFoundError: BatchDriver
any pointers…
Thanks,
Aravind
That means the class was not found, did you compile the API?