Coder Social home page Coder Social logo

sap-boa-automation's Introduction

SAP BO Analysis for Office (BOAO) Automation

This tool allows you to automate refresh of workbooks with BO Analysis data sources. Tool helps to automate change of Variables (Prompts) and dimension Filters (Background Filters), and then refresh process itself. On top of this, you can configure additional actions like "Save As", "Save As & Email", "Refresh All", Run another specific macro etc.

Solution consists of only one worksheet (VBA code is inside it)

Worksheet can be easily moved to your workbook using standard "Move worksheet" Excel action. Then just collect variables, set values and run Refresh.

BOA Control Panel

Your future operational center. Control Panel is a worksheet, which includes

  • tables defining scenarios of refresh and variables with their values
  • VBA code

How to use this tool

Assume you already have a workbook with BOA data sources and want to simplify refresh process. Let's call it 'Target Workbook'.

  1. Open 'Target Workbook' and 'BOA Control Panel' side by side in one Excel application.

  2. Move worksheet 'Control Panel' to 'Target Workbook'

  3. Press 'Collect Variables'. Macro will make inventory of data sources and their prompts / variables / filters.

  4. Specify necessary settings, such as "Scope", "Refresh?", "Order", values for Variables and Filters. Use formulas to make values of your variables dynamic, then you no longer need to change them manually.

You are ready to refresh!

Optional steps

  • If you don't want to enter your password each time - follow the instruction in comment for 'Path to file with passwords' cell.

  • You can specify macros that should be executed before BOA refresh and after (e.g. for your saving/mailing scenario).

What is 'Scope'?

Scope defines set of settings for data sources and sets of variables.

Assume you want to refresh same workbook for two different Sales Organizations.

Easy. Just define two Scopes with corresponding values for variables.

Using Scopes you may define very advanced scenarios of refresh.

E.g. imagine report when you need to execute 10 queries for current and previous year. Without Scopes it would be 20 queries, 10 for each year. But with Scope you may leave only 10 queries. Define two Scopes - Prior Year, Current Year. Enable 'Refresh All Scopes' option. Using formulas for variables, force them to calculate corresponding to active Scope values. Add simple macro that will copy data after 'Prior Year" scope refresh is done to another worksheet. Use it in 'Macros After' for the last data source of PY scope. Then after refresh of all scopes you will have static data of PY on one worksheet and data sources with CY on another.

If you run refresh from outside of workbook, e.g. like it is shown in Sample Refresher VB script - you can even run refresh in parallel.

sap-boa-automation's People

Contributors

ivanbond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sap-boa-automation's Issues

Add check if no new data in a cube

Add check 'if no new data in a cube' after refresh of data source.
Typical checks: data for yesterday, data for today.
Can be dummy data source, that query one date without details.
E.g. after refresh of DS - run macro, that will make a check (macro as can be any logic). Result of macro - true / false. If false - postpone refresh.
Keep process alive or tell external 'refresh' about required postpone?

If handle locally -concern about sustainability of BOA, enable/disable, logon/logoff - test.
add parameters to ControlTable - "Delay", "Delay try (min)". After run of 'after DS macro' main sub Refresh will check indicator of delay (true/false), if yes - saplogoff, disable BOA, Sleep for specified minutes, start Refresh from the beginning.
If external Reports Controller (independent) - ?

Save only Print Area - add parameter

One of popular scenario - make PDFs from Excel. Sometimes it is handy to have XL version of PDF. So, idea it to add parameter to 'Save As' action, that will allow to save only print area. Transfer values and formats to a new workbook.

No process logging

Would be good to have refresh log in a separate file.
To be able to support files on SharePoint, better to store logs locally, e.g. in system Temp folder, or specified by user in parameter.

New Action - update Power Point tables with

Update Power Point Tables - "XL_" logic.
Using Title of tables in Power Point, assign them unique name XL_TABLE_NAME.
Use same name for NamesRange in Excel.
Macro goes through XL_ named ranges and update cell by cell values in Power Point.

Range to HTML

Range to HTML
CreateHTML from - path to HTML template
Chance to replace ###table### by NamedRange
Chance to replace ###Chart### by Chart Name - chart ID, sheet + chart name.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.