Taming the Fox – Unified way
Last week SAP announced the general availability of SAP BPC10.1. Looking at the features and series of videos released by Pras, it makes lot of sense for SAP to take “best of both worlds” and come up with a product that caters to the requirements of both business and IT. The next obvious question that comes to our mind is “Will it make sense to migrate to 10.1 “? “What additional features that we get ? etc. In this blog, i try to answers the questions from developers point of view and will translate its benefit for business. This is my first in series of blogs, where i will compare some basic features offered in SAP BPC 10.1 Vs older Versions and why SAP BPC unified model is way forward for all future BPC NW implementations . To start with, i’m trying to compare features offered by script logic Vs FOX.
Script Logic for BPC classic models are used to manipulate transaction data in models and generate/change/delete records from Models. However, SAP BPC Script is not matured to handle complex calculations. There are many limitations in logic scripts. Although,SAP NW do have the option of outsourcing the whole logic to ABAP through BADI. However, this makes script as an interface between front end( Input forms, DM packages) and BADI. Truly, with customization using BADI the application becomes IT driven rather than business driven.
On the other hand with SAP BPC 10.1 unified model, FOX will come back. From its SEM-BPS days FOX has been very effective in manipulating transactions data. With advent of BI-IP, FOX was enhanced to add multiple features which not only handles complex scenarios but also reduces development time. There are scenarios where we need to call a Function Module to manipulate data, but those scenarios are rare. Most of the calculation can easily be handled with FOX without the need to call a function module.
The table below compares features of Script Vs Fox. As shown in table, it can be safely concluded that FOX scripting has many features which makes it superior as compared to BPC logic Scripts. For instance, complex mathematical operations, flexible loop and condition statements, messages etc. On the other hand, BPC logic scripts do provide features like standard functions allocation etc which are missing in FOX. There are some functionality that are missing in both FOX and script but would be nice to have like “Date” functions.
Based on above features, lets try to plot complexity Vs Flexibility graph. The graph compares the complexity Vs Flexibility matrix for each of the features listed in table. More features better the scripting language.If you look closely at the plot,you will realize that the number of features FOX offers is far more than that of script logic. In addition, the number of features in 2nd quadrant(high flexibility and low complexity) is more for fox as compared to script logic.
There are some features for FOX which needs to move from 4th quadrant( 14,15 ) into 2nd or 3rd quadrant.This will make FOX a great scripting language without dependence on Function Modules for complex scenarios.
Obviously it will make more sense from developers point of view to write logic in FOX rather than in scripts. But whats there for business ? They don’t care if the logic is written in script/ABAP/FOX until you hit performance. Performance wise, i’m not sure which once will be faster. I’m assuming same as both work on similar concept. However there are indirect cost that business has to understand. Addressing complex scenarios using BADI/ABAP increases time line as well complexity of the project. In addition,supporting the application with lots of customization in BADI/ABAP itself becomes a challenge thus increasing the resolution time.
At the end as far as scripting is concerned, going the unified way and using fox will be a win-win situation for both sides.