With SAP BW going in the direction of in-memory data-processing new applications become possible. One of the new possible applications is to make financial trading analysis and use that information to guide your decisions about future trades.
Note: This post is meant to demonstrate the possibilities of SAP BW. By no means is this meant to encourage you to trade or to advise you in your trade decisions.
Here I want to describe how to implement the Williams Percent Range (alias Williams %R) in a very basic way. I have chosen to use a simple DSO to DSO transformation. This will actually also work on a system that is not powered by HANA, although with a lower update frequency.
I always disliked the way that SAP BW uses to display a dataflow. The main reason is that when a datamodel gets complex the dataflow viewer seems to be overwhelmed and connections between objects are all over the place.
I created an ABAP-OO solution that will create clear dataflows in a graphical way that remain looking good, even when the datamodels are extremely complex. I will soon post some example pictures on this site. I still have to think of a catching name for this new product.
If you are interested and can’t wait to see what this solution might do for you, then please drop me an e-mail and I will send you some examples.
In this article I want to create a very simple ABAP OO class that will support calculations on week-numbers.Some of these functions can be found on the web but when you like to keep them together in a neat class then here is how to proceed.
When creating an ABAP in a SAP BW transformation it is not uncommon that you end up with calculations on weeknumbers. For example if you want to filter out data that is older than a certain number of weeks.
Another common calculation is when you quickly want to know how many weeks there are in a certain year, 52 or 53.
||ABAP Object is the book that you need if you want to be a professional ABAP Objects programmer
The class will be called ZCL_CALWEEK. In the attachement you can find all the details on how to create this class in your own SAP BW system.
SOURCECODE & DOCS
SAP ABAP Community
SAP Technical – ABAP Tutorials
As a Senior SAP BW/BO Consultant it is not uncommon to be in the lead for smaller projects. These projects include version-upgrades. Introduction of a new BI-platform, large or fundamental changes to the existing datawarehouse, etc, etc.
Lately the project management approach PRINCE2 is becoming more and more popular for IT projects.
To get yourself up to speed in the ways of PRINCE2 I recommend the book that is more or less known as the official book for this topic “Managing Successful Projects with PRINCE2 2009 Edition Manual“. I fully agree to the authors description of this excellent book: “This publication provides a universally applicable project management method – the principles, processes and techniques that enable individuals and organisations to successfully deliver their projects within time, cost and quality constraints.”
What I like most about the PRINCE2 approach? From the first chapter onward the authors stress that the PRINCE2 approach is a generic approach that needs to be adjusted to fit the particular project. This is different from most other project methods that I have come across. In many cases a methodology claims to be working as is. No changes needed.In practice, however, it turns out that differences in company culture require slightly different approaches to project management.
I recommend this book with 5 stars:
Sometimes It would be handy if a class can hold a field of data without specifying the type of data at the time you write the class. One example of this is when you work with a range. In a range the fields LOW and HIGH are usually represented by a faily long text-field. If you want to work with ranges of, say, dates, then you might find yourself writing conversion after conversion.
I often work with ranges when I need to reload huge amounts of data, for example between two DSO’s. In many cases I choose to do such a reload in chunks and I often use an ABAP to automatically calculate the next range once the previous one has been loaded succesfully. Of course this technique is generic, but in practice you work with ranges of dates, fiscal-periods, documentnumbers, sales organisations, etc.
If you are new to Business Intelligence it can be difficult to cope with all the terminology and concepts. As it turns out there is a way to quickly introduce yourself with the most common prinicples. I collected a set of YouTube video’s that I recommend.
Maybe you recognise this. A certain dataload to a DSO has been running in deltamode for a while. And then the datamodel needs to be changed. It turns out that the same DSO will not be filled from that dataload anymore but from another source.
Modeling the changed datamodel is done as usual, but when you want to remove the no longer used DTP and transformation you run into problems. The DTP can not be deleted because succesful loads are still in the target DSO. And because the DTP can not be deleted neither can the transformation be deleted. The standard options given by SAP-help are to keep using the DTP or to delete all requests that have been loaded using this DTP. In many cases both options may not be what you want. In many cases the old data is good and still used for reporting. It’s just the datamodel that has been changed.
Luckily, there is a hard method for deleting a DTP, even when there are already succesful delta-loads. Continue reading
With a simple program it is possible to quickly find if and how a processchain is incorporated in higher level processchains.
The daily loads of data in a SAP BW system are usually under control of one or more process-chains. Process-chains can be hierarchically combined into meta-chains and again into meta-meta-chains. In very large or complex systems the number of process-chains and the way that they are hierarchically connected can be next to impossible to maintain. Continue reading
I created a new area on this website where I will publish detailed sourcecode snippets. In my usual blogs I will refrain myself to pseudocode where applicable. As said, the detailed code can then be found in the new blog.
For the new blog follow this link: src_code
I started a new blog that I intend to use to describe some noticable cases from my day to day work. Expect highly technical descriptions of problems and their solutions. You can find the blog here: http://www.bi-magnet.nl/solut/