190 likes | 771 Views
Enterprise Scheduling in BO XI r2 and 3.1: Backup and Recovery Solutions from the SDK . Cecelia Collins – Sisters of Mercy Health Systems Cecelia.collins@mercy.net 314-364-2975. Successful Enterprise Scheduling Requirements . Know your environment : analyze user behavior
E N D
Enterprise Scheduling in BO XI r2 and 3.1: Backup and Recovery Solutions from the SDK Cecelia Collins – Sisters of Mercy Health Systems Cecelia.collins@mercy.net 314-364-2975
Successful Enterprise Scheduling Requirements • Know your environment: analyze user behavior • Develop an enterprise scheduling strategy: predict future use and aim to enhance user experience • Anticipate problems: prepare for maintenance issues to keep experience positive • Accept custom solutions: SDK development is cost effective and easy to implement
Sisters of Mercy Health Systems (SOMHS) Environment • Continuous growth of Enterprise BI since 2006 • Current system serves 6,400 users from various backgrounds: ERP, EPIC (clinical), Health Plans, Other • Enterprise reports written in Webi, Crystal, Xcelsius, Deski • Majority of users have View on Demand rights to content and right to create new Webi reports • Average of 3000 instances created per week with all destination types used
SOMHS Scheduling Challenges • Train users to schedule but don’t require it • More reaction to issues than analysis of trends and solutions proposed • Scheduling not used to improve system performance but to get around system limits • No easy way to do bulk updates to schedules • Schedules broken by report ID changes • Schedules broken by database changes • No easy way to do a partial system restore of schedules
Solution Goal • Improve user experience • Provide ability to: • Recreate recurring schedules broken or deleted by accident • Update schedules failing because of an external change • Add new schedules • Enable implementation of an enterprise scheduling plan by providing necessary backup and recovery functionality
Solution Toolbox • Eclipse 3.1 (to write Java code) • Developer Library: https://www.sdn.sap.com/irj/boc/sdklibrary • Java SDK • Oracle 10g • Microsoft Access or other user interface
SDK Template • Open session • Open database connection • Create InfoStore • InfoStore = log on to database • InfoObject = table in the database • Choose methods • InfoStore.get*** or InfoStore.set*** • InfoStore.commit = update to table • InfoStore.schedule = insert a row • Close database connection • Close session
Schedule Snapshot • Capture all detail for all recurring instances only and store in Oracle tables • Store up to 10 runs • Can upload .jar file to CMC and schedule to run regularly for backup or run manually as needed for anticipated issues • Biggest code challenge: importing all the necessary pieces to handle different reports types and formats
Schedule Apply • Use InfoStore and InfoObject to create session and change instance attributes or create new instance • Action based on Oracle record type: • Snapshot: recreate instance that was deleted • Replace: modify existing instance • Add: create new instance • Can upload .jar file to CMC and schedule to run regularly for backup or run manually as needed for anticipated issues • May need user interface to update Oracle records • Biggest code challenge: importing all the necessary pieces to handle different reports types and formats
Adapting from XIr2 to XI 3.1 • Used Java SDK because of COM SDK deprecation • XI r2 code works for 3.1 – no scheduling functionality removed in 3.1 • Add code for: • new Crystal format options in 3.1 • new print options in 3.1
Things we learned the hard way • Use a “start” class to simulate running the .jar file through the CMC. Allows you to pass admin username, password and other arguments while testing. • Set up code to run in batches to work around Java timeouts • Place copy of Oracle files ojdbc14.jar file from C:\oracle\product\10.2.0\client_1\jdbc\lib to C:\Program Files\Business Objects\common\3.5\java\lib (locally while testing and on BO server when running through CMC) • No method for capturing network passwords so use service account as default on job server and give it network rights • Handle errors the “right” way
Bonus Questions • Who is creating recurring schedules? • Which reports are scheduled most frequently? • What content is distributed outside of the system? • How many reports are handled by each server group?
Key Learning Points • An enterprise scheduling strategy is never complete • An effective scheduling strategy improves the user experience and the system performance • SDK solutions are very accessible and durable • Implement one SDK solution and more will follow
Thank you for participating Cecelia.Collins@mercy.net314-364-2975 Please remember to complete and return your evaluation form following this session. SESSION CODE: 0300