Wednesday, January 4

BW 7.3 on SAP HANA


Jeffery Word, vice president of SAP : Hi I am the chief of SAP HANA globally and I am joined today by a couple of our project managers for our product BW . We have with us Storm Archer and Scott  Shepard today . We will talk a little bit about the big news at TECHED , one of the biggest things that we have been talking about on this show, which is SAP HANA . You might have just heard about HANA . You might be just getting exposed to it . One of the biggest things that we are going to show this week is that SAP BW 7.3 is going on the ramp on November 7th  with HANA as the primary database underneath BW . And we have got about sixteen thousand BW customers all over the world. You guys work with all the biggest ones that we have got . So why don’t we let these guys talk about what exactly a BW HANA means for our customers , why everybody here is so excited about that and some other things that our customers might actually need to know to get their heads around it and start playing with all the HANA underneath BW . So , Storm  you have been leading the workshops for BW for HANA here . Can you give us a little idea , can you give the customers a little bit of idea as to what BW HANA mean . What is different . What is it that they need to know about ?
Storm Archer, SAP NetWeaver product manager : well yes , Thanks Jeff . And yes we are totally packed with people here and we would be glad to be giving information about BW in HANA . Well the biggest message we will be giving about BW  under SAP HANA will be that it would be totally undisrupted service with the development of BW today . Everything works via the box when you do the conversions in whatever database you will be running over through , all your current investments are well in place . That is a really important message that all the customers have to lay a match to any other configurations they would redevelop . There are certain optimizations that we can do when delivered to make it work even much better. But really its is the non – disruption by the BW , how we can optimize them further and reduce them fro development .
Scott Shepard, Director, Data Warehousing , HANA Solution Management, SAP : Yes it is true, it is really bringing the horse power of HANA to bear the entire environment .  We are removing the underlying database you have and putting HANA in the underneath . This really brings you to a new dimension to BW , and the way you can do things , the power there and so on .  So some of these enhancements we have done are done specifically to take advantage of the in memory computing agent HANA . So we have looked at some of the problematic areas with BW that the customers have said . These are the things which we would like to enhance and change . If we look at those , some of those are DSO loading and other loading  . So we look the DSO load , figure about 80 percent of the time done by activation . Well we have taken that activation process and pushed it down into the in memory computing engine and bring the power of HANA into play . It would speed that up for our customers . So it reduces the complexity as well . On having to manage performances tightly , HANA just does it better . So we have that and we have situations where there are dimension tables being eliminated . We do all that for you . It has a strongest point , absolutely seamless without disrupting your environment . By eliminating or deleting the dimension tables , faster result generations , you have better performance , faster loading, and simplified architecture in general . With that I would say those are the big ones.
Jeffery Word :  So basically , there is nothing different . They keep their BW pack on 7.3 , they are a quick service pack . They get rid of the old , slow , expensive database on the disk and replace it with a faster , cheaper and better database of HANA on it . All the goodness over a weekend ?
Storm Archer :  Yes , the conversion process takes about a weekend .
Scott Shepherd : In fact we data did conversion here on the show by my colleague at our demo booth , and he finished it on the show floor .  That is how was he was able to do it . That was roughly over a terabyte a believe . 
Storm Archer  : And there was another guy who started in the afternoon and finished over night .
Jefferey  Word : That is actually a very nice thing . You have been actually manning the HANA booth . For those of who you are not at the show , we have actually got five different HANA boxes , from all of the five certified SAP HANA vendors . We have dell , cisco , HP ,Fugitsu ,and we have got IBM . And we have actually got a BW running on the HANA with a one terabyte , 8 way, 64 cords , dual 90 from HP . Running live over here at the booth .  Scott , you have got to manning that booth .  First of all I haven’t seen you since we got here because there literally have been people standing over your shoulder trying to get a look at this , with bonking lights and all those things . So what has been the reaction ?
Scott Shepherd : the reaction is unlike anything that I have ever seen with SAP. It is actually totally mind blowing . In fact if we start to show them this , and they can get their hands on it and can actually see BW running on HANA , and what it can do to their environment , they start talking amongst themselves and talking about new ideas and how they could do things differently . Maybe change their architecture now potentially depending on their business situation . Simplify things in their architecture because now they don’t have to do things tuned as they used to do . They are totally through .  They keep coming back , the same people asking like – let me see that again . there have been several people struck there for hours and hours . That’s why there is not much of voice left now.
Jefferey Word : One guy I could see smoke coming out of his ears when you just told him you could lead all the applications . That is great . That has been absolutely a hit at the show . This starts on November 7 . So Storm give us an idea what the customers need to think about if they wanted to participate an what type of pre requisites are there , who do they need to talk to get to bribe to meet you .
Storm Archer : no no no .But for the Ramp up on the November 7 , the BW 730 is a requirement . We also have support packs for BW required  for the process . When we start to look at our environment , MIRD migrated or operated to MW 730 as your first question . That itself has a few things to be dealt with . Authorizations have to be a part of that when you run those . Unicode is also required .  if you have any Unicode conversion required for your system you should be looking into doing that as a part of the upgrade . So we are combining the upgrading process over the weekend as well . Again depending on size  , database may take an extra day , and various other factors are there . On top of that we look at the various requirements of HANA hardware that you have . That might actually work . HANA is actually going to work on replacing the BWA for the customers . Now that we are including it inside of HANA , will be easy with HANA now running as a database
Jefferey Word : So BW on HANA is basically getting all of the speed and performance from BW A but inside the database itself .
Storm Archer : Yes .  So what we are going to do is if we are going to reuse BW , then you are going to have to talk to your hardware vendor , making that hardware to get certified for HANA to run on top of that . We do have a number of requirements we need for the newer intel core processors we have like the E7s ,we have worked closely with Intel for the last several years . We have been doing this since 2005 , so we are getting closer  to build in these skills which we really need . We are also working on the sizing tool , because we do have a lot of in memory compression . So you may have to take one third of the data by HANA . It wouldn’t be enough for one third to be taken by the RAM . Be have to put it in smaller footprints .So we are working on a calculation that will help us size those boxes for the customers .
Jefferey Word : And the one question that everybody wants to ask  is how much faster is BW on HANA going to be compared to BW on the existing database ? Do you have any solution to it at this point ?
Scott Shepherd : Yes , I think , it varies on the existing architecture , but the performance we have seen is absolutely dramatic . Do we have any exact numbers for the unloading ?
Storm Archer :  Yes , we do have some numbers from the AIM session done here , from the BW HANA session running here at TECHED , for people you can go online and check the slides in the content for AIM 300 . In that section we talk about the reduction of time .  It is about a two thirds reduction in activation time ,  so we are seeing really great performance kick ups from that perspective.
Scott Shepherd : It helps in dramatically simplifying the data targets for BW too . The new structure is like that . And by the way , we do all of that behind the scenes . The customer doesn’t have to do anything . With that reduction , everything is speeding up . So its not just the activation . I think we should point out that it’s the general trend to our customers is that as we enhance the product further and further , every single thing that we can do to push the work load down to would be done by HANA . So that is the trend . We can do that and that is what we will do .
Jefferey Word : When we recall we have a database that is created from scratch and then to SAPs requirements , now just for SAP . So we got an optimized database just for the user to use BW . And then that allows to go further after BW . The other options coming would get advantage from this special database optimized by us.
Scott Shepherd : Yes true its not just SAP data . It is important to point that out . I would want you to talk about the data market scenarios .
Storm Archer : What Jeff said was absolutely correct .  It would be useful other applications too apart from just  SAP applications .  We looked into the market and we want to make it open as well . We don’t want to  be closed . If a customer is emphasizing on BW platform on HANA , we do have the enterprising warehouse where we do have non SAP data in the data marts .  But in BW why we do not have to restrict ourselves . We can take data from the other data marts and assume that with the BW from the HANA box in memory . 
Jefferey Word : So we could do basically any type of data from any system , and you get the speed in power .
Scott Shepherd : That is something they wanted us to fix . It is hard for us to get non SAP data an do it . Its not really that bad , but with BW on HANA it is absolutely easy . There are no issues whatsoever with it .
Jefferey Word : I think everybody online can now see what the show is doing and want to shop by our booth . It is absolutely packed and the buzz around it is great . So just in kind of a final wrap up , What advice would you  like to give to the SAP customers out there who are running BW ? where do they need to go for more information , how can they get about the HANA band wagon , how could they go about the whole process , and get all these goodness as soon as possible ?
Storm Archer : First with the wrap up process . We are going to ramp up in November , so accordingly planning now would be a great thing for the customer to do . The first thing you would be having to do will be talking to your BW executive . They will help you to run you through the submission process for the ramp up .
Jefferey Word : To get you account adjusted , you will have to go on to SAP and request to do it .
Scott Shepherd : And do it quickly because there is not a shortage of requests for that list . I mean its amazing .
Storm Archer : The list is longer than my arm for the ramp up itself . We already have a lot of customers lined for it .
Jefferey Word : So what do they do to get more information about this in order to start their process ?
Storm Archer : We already have discussed a lot about it live here . We also have thought about blogging coming along , we will do some follow ups , we will do some shows , and ask your account teams , we would also do sessions one on one if that what it takes and that’s what you need .
Jefferey Word : Its great that the information is out there and all set and the last question I want to ask you guys is who is the first customer to go live on BW , who is the first company ? where is the first implementation of BW on HANA ? Atleast internally ?
Storm Archer : SAP IT
Jefferey Word : SAP runs SAP . So we actually are the first BW live customers . We go live with SAP with BW on HANA in about three weeks . Well thank you so much guys . Get back to that booth because there is so many of the customers waiting for you guys to see you do some demos and show the HANA goodness .

Friday, December 30

Web Dynpro ABAP Applications


When some one cannot carry a computer and he wants something that is a bit handy , takes his PDA with him and wants to make a place order . He just has to log in on his PDA and open the website GOI which has been created altogether from ABAP . So everything becomes so easy for the client . It is like any other web page where you can just point and click you web browser and open the web page and open your application. Once we create a Web dynpro application , a URL has been created . For example, in ABAP , once we create a module pooled program , we have to create a transaction code for it . 
We open the module pooled program using the transaction code which we write on the top left , like SE 80 is a transaction code for the ABAP code . Then SE 38 is the transaction code for the program . So we can create a transaction code like be SAP order . Similarly , web dynpro will also have a transaction code but we don’t call it a transaction but we call it an application . The application would be a URL . So the transaction code for the web dynpro will be a URL . So we have to launch web dynpro based URL which would be global . So if we are connected to your SAP system , it only ask us the team log in ID page in which we have to enter our SAP log in ID and password . The same ID and same password which you use . After log in you can input feeds . If there is a button to create , then you can create a place order  or a purchase order or some purchase requisition or anything that is needed . 

So web dynpro applications can only be run on a browser .  Meaning that the browser could be either on an ipad or a computer or a mobile and its not like that we can run these web dynpro applications only on the stand alone SAP systems . And along with that there is one more thing to be added that not all the mobile phones can run web dynpro applications because it needs a proper browser .  Most of the cheaper phones would contain browser which needs light based web page . It means that very lighter web page , it converts into the phone format and then displays the things . This is a drawback that it does not support each and every mobile handset , like the phone should be a windows , or a blackberry or iphone. So you can see that its basically those phones in which JAVA applications can run as of now . But there can be modifications in the future . The main benefits with the web dynpro application is as we said , we have minimized coding efforts and maximize the designs . All these have been done with the help of web dynpro meta data. In the meta data , external files for UI and external codes for UI and the HTML codes and all will be taken care of with the meta data . Meta data is like the tool designed by us to create a web dynpro application as a screen in which you can see that in that panel there will be some of the UI buttons . 
We have to click on the UI buttons and drag it on the screen .  For example , if we want to see an input feed , click on the input field UI and drag on the screen . This way an input feed would be created . On looking at the buttons itself you can learn which is the input button or which is the output button . We don’t have to code for the UI .  We don’t have to really write the codes to create an input or output feed . So all the codes that the UI as seen is generated by the meta data . The meta data can be used for the tools to create certain ABAP applications . So web dynpro tool is used in meta data to create feed and just we have to engage our code in few places where web dynpro meta data would be able to place the right business logic  . For example if there is a table displayed and if we want to get something from the table from the database , the we have to definitely access the web database . We have to write the codes to read the data from the database or if we want to make some dynamical changes , then all the  things that we have to take care , the meta data would be taking care of the UI for the navigations on the screen and each time the screen is changed , which may or may not control the good changed screen .

So in practice , the meta data would take care of all the changes in navigations , the UI changes , the changes in the screen . There is a separate layout or logic . The layout would be the second advantage of web dynpro . If there is a separate layout , we would create the layout of the screen separately and logic would be written separately . We don’t have to mix up things in between .  Everything would be there in place and if we would want to change something then we can go there and we can change . So nothing else is complex in this . Everything is on the place it has to be . It also supports web services and data banding . One more thing with web dynpro is a declarative programming approach with the minimal coding which we can get . As a part of this training lets also see examples of web services with data banding .  Without data banding nothing can be shown on the screen . With data banding its something like this , if we want to display a table , and we need to display a value which is coming from the database , behind the view is the context for each and every view in which we have to define the data which is being bound to each and every UI . Lets assume that we want to show the values of the table which we want to show on the UI . So there is a table on the UI to which we have to bind the values with .

We have to keep the data in this context . It is very well coded and it also supports the web services where we can create sales order or purchase order . For each and every transaction there is a back up . So if we want to create  a similar transaction which is there in SAP, we can use the web services . Hence we can take the advantage of such services . The main advantage which we have with web dynpro is the SAP web application , so all the applications which are on the web services  can be consumed by web dynpro . Lets see about the meta data declaration and the custom coding .This means that the meta data model which is where we don’t have to define a code and the custom code is where we have to write a code . The meta data will take care of the UI part of the generator or the navigation .  There would be a generated code for the UI , or in the navigation if there is anything changing on the screen on click of a button , all these things would be taken care of at the meta data and there would a place on the generator code itself where our codes would be embedded . Everything would be combined and would be given as an application . To run this application we would require an URL .

The URL for the web dynpro component is called an application . So in order to run each and every thing  we would require an application . The thing we could do for the fellow world would be to open the internet explorer page see how this works , like where is the place for meta data , where is the place for the custom code and how we are able to launch these web dynpro in ABAP applications . We have some advantages of team meta model also . There is a screen layout and in the screen layout also you can create the screens in the navigation and error handling , like if we want to move from one view to another view , there is a log in screen and then there is a welcome screen . We have created a log in screen and then we have created a welcome screen and now we have to link a navigation .

Each of these things would be taken care of by the meta model . If there is an error by the log in like if we click on login and if the user is not authentically created , then that error handling would also be taken care by the meta model and we do not have to code . And along with that if we click on log in and if we want to take on data from the first screen . For example on log in we give our user name , we give our password , and we give the session like we want a particular session , it then moves to the second welcome page and here the session would be the thing that would be helping to move to the second screen . So the data flows from the first screen to the second one by the meta model . We don’t have to code anything . These are the advantages of meta model and the custom coding will be done as we move into ABAP .

SAP Web Dynpro ABAP Basic Concepts

Understanding the SAP HANA Next Generation Database

What is HANA  ?  I probably must have asked this question a thousand times in the last three months . HANA is actually a lot easier to understand than people think you know . Also explaining it with the kind of common metaphors that we are used to .  HANA is a database . Now it’s a special kind of database that is really unique in the market .
If you think about the database market in the last thirty years , it is a very simple and straight forward architecture . You have a computer with a spinning disc inside of it or the newer ones which have a solid state disc ,  but they have a disc ans you store information on that disc . The relational database , you know a part of it resides on a disc and part of it will work with the computer CPU in – memory to produce information . That’s how it works . And we looked at , what we looked at was how could we dramatically simplify that , that’s number one . Number two , is how could we radically speed up the performance of the architecture that has been around for twenty to thirty years . So when we thought about that , the first thing we thought about was what kind of storage medium , is it disc , is it solid state disc , or potentially RAM or a computers memory . Should we use this next generation database concept . Well we knew that RAM was very very expensive , but we knew that it was incredibly fast . Actually anywhere from ten thousand times to a million times faster than the various disc options that you might have in the server . This interesting .
If the prices of RAM were to drop , or computers memory significantly and the ability to have large amounts of RAM inside of a server of computer is increased. You could literally put the entire database plus all of its data in a computers physical memory . And just by doing that you radically change the value proportion of a database . You go from minutes to hours to lots of hours to days to retrieve a large matter of information to seconds to milliseconds  to retrieve very very large amounts of information and that is very intriguing . So that is kind of what set us on the path of this in – memory technology and of course HANA is the result of it. HANA is an appliance and on that appliance is the next generation in – memory database .
Literally the entire database and all the data it stores sits inside of a computers physical RAM . We skip the disc all together , we have left it behind.  We use it  for  a back up . But that creates such a powerful value proposition for our customers who are able to take HANA and apply it to an existing system that they have and immediately get performance approval , and consolidate the amount of hardware investment and software investment that they currently have . But HANA opens up a new generation of possibilities . For example ,  if you are a retailer , and you wanted to completely transform your point of sales experience . That’s a perfect application for HANA . What I mean to say is that when you walk into  a retailer today , you take your big pile of clothes , you set it on the couch and give him your credit  card and we all know what they say next – would you like to sign up for another credit card ? , which you probably don’t need , for ten percent off on the purchase today . As far as I am concerned , that is corporate bomb marketing .
That is I don’t know if you need that or not , but I am just going to ask . And with HANA you can actually do very precise marketing . What I can do is that , as the retailer rings up every single item in your pile and swipes your credit card , by the time that card drops ,you can send those items as well as your credit card details back to HANA , have it analyzed your previous purchases , compare to what you are buying now and make real time suggestions to the guy behind the counter or the girl behind the counter like –  “hey you know, the last time you were here , you purchased  three items along with another pair of jeans that you are buying today . Can I give you one of those shirts for fifty percent off today ? “ . That’s the power of in – memory computing in real time and it doesn’t take a massive farm of servers to do it . HANA can do it with a single blade .
Because what HANA can provide is a single blade which really has a terabyte or RAM which stores a very large amount of information . But because of the speed of analysis inside of that HANA machine you can literally do is transform the retail point sale experience and do it in a cost effective manner . That’s really the reason that we are driving in – memory computation  , is to transform what companies can do with the budgets that they have on hand .

ABAP Package Conept

ABAP applications server’s one of the most important innovations is ABAP package concept , owing to the reason that it allows the development of software considered to be ‘soft’ helping in the evolution of any software system .
Reasons for lesser usage
ABAP package concept is not used by many customer development projects and most of the developers don’t have an idea about it . The possible reasons at the beginning of any development project would be either the naming convention issues or the issues related to software logistics . Usually the naming is done in order to define a group of objects that have some similar peculiar factors . An example would be to group them as FI development , HCM , etc .

Applications of ABAP package
ABAP package can be of use only in the smaller development projects, but it can cause serious problems in larger ones. One example would be when there is a task of implementing A2A and B2B processes ; and then we could use the package SAI from the web service infrastructure . The first one of it to be shipped was 6.20 , then the further releases were 6.40 ,7.0 and NW 7.0 SP15 , with incompatible changes . If we had used only the functions of the package interface SAI , there would have been very few changes to be made .

The same rule applies to the custom development also .Like when we create our own application , with the database persistence , application layer and the UI which has to be used by some other application , a proper API has to be defined in order to guarantee authorization .

Problems without package interface

• Many of the developers are ignorant of the fact that the ABAP classes or function modules are belonging to the public API . In this case , the naming convention comes to no use , as these names we assume cant be thought to be widely known .

• It so happens that the developers think certain classes of ABAP to be private and use accordingly , and start making changes like refactoring or optimization , which is actually incompatible and this too much dependency leads to side effects in case of making changes .

• So it always best for us to changing our programming style accordingly . While coding applications , it would be a better option to define a proper interface to help the developers use the tool in a proper way . And when we need to reuse the SAP standard parts , we should first take a look at the package interfaces , which helps in learning the usage of SAP standards faster and better , with lesser to do after release upgrade .

Uses of package concept

• It cab be used in the nesting process of the packages hierarchically , with the top n=most level being the application .

• You would be able to create stable APIs , helping you to distinguish between the public and private parts, which are changeable .

• We can define dependencies of packages to other packages of SAP and also with our own package . which can be :

1. We can use it to define dependencies to SAP standard . By doing this we can help ourself in the SAP software updates since we are using only stable APIs , ultimately helping in the impact analysis of SAP switches and business functions of EhPs .

2. In case of larger development projects it gives us a chance to structure our own application . As we can develop stable APIs , we can instruct the developers to protect certain parts we would want to change in the future ,which would be a very vital aspect if we want to decouple applications for the purpose of independent release cycle .

3. In case we are delivering software components with the help of the add on assembly kit ,it is necessary to guarantee the installability of the custom made SCs.

ABAP package concept would prove to be one of the most essential tools in the software side , being the usage of package checks as part of the extended syntax checks and the code inspector to help in checking of the violations of package interfaces . The package check modes can be of two types – restricted and r3enterprise . many of us have a question as to why this concept is difficult , its because SAP did not have another chance as the software of R3 was quiet complex and the unwanted dependencies were high . To start with , SAP had to face and solve many problems while coming up with ECC 6.0 ; where the introduction of EhPs allows to define packages which get activated after switching into the business function on the system of the customer . Hence it is very important to control the dependency. The package concept would prove to be a very useful one in development of the switchable units . Hence SAP had to define the check modes that allowed violations in the package interfaces

Packages and Software Components (SC)
Usually the SAP and ISVs deliver their software as software components , which are found in the CVERS , which are transparent tables . These SCs can be considered as special transports which have metadata , installed by the transaction SAINT .

There are few interesting differences that one should be aware of here . In terms of JEE of JAVA , SC is defined as the persistence unit , but the concept of it is totally different in ABAP which are internal modus and LUW . Where JAVA SCs have DCs , the top level DCs are those which define the visible objects of an SC .

Packages and SCs are entirely different concepts .They both should not be mixed up . The SCs are an artifact of the software logistics , and they can have complete packages but they do not have representation in the ABAP workbench , whereas the packages are used to be assigned to the software components .

In JAVA and SAP NetWeaver CE there are the concepts of accessibility , but there is nothing of that sort in ABAP . In JAVA there can be compilation errors due to the even circular dependencies .

Reuse of Development Objects
One of the most important factors to keep in mind while using the concept of packages is that we need to keep control on the reuse .If we need to use these ABAP packages , we should use only those development objects that are used that way . There are a number of developers who think of SAP standard as very high collection of data elements which can be reused in their programs . But to do this in the right manner is very important . It can be done by using the data elements of the data model of SAP standard application .But it should be remembered that misuse of these will always lead us into trouble. Most of the cases it is due to the incorrect documentation and short texts . It can also lead to the software being not merger ready with the SAP tools . The defining of own data elements will help us to define the texts properly and help in proper documentation .

Before we are ready to customize or change anything in the SAP data , its always wise to check if in the custom developed application , the merger is ready . SAP tools like SAP LT works with ABAP level domains , have the capacity to change values of domains irrespective of whether they are transparent or in - transparent tables . All of these applies to the DDIC domains as well.

Lets consider that we need to define a role of the SAP business partner application . Here we need to create a new data element to define short texts . In such a case we may need to reuse BU_PARTNER domain of SAP standard , to analyze this as a proper extension . In case we use domains like CHARxyz , it Is always better to check if they are In package interfaces an also to which application they belong to . This helps us to avoid unwanted dependencies to those applications of SAP which we don’t use .

ABAP message classes are not recommended in most cases . They are used for define error messages in BAPIRET –messages , in business application log (BAL ) and also rarely in case of controlled dumps . In case of such an error message occurring , you should make use of the ABAP code from the use access . But in case of reusing error messages from SAP standard, it would be a tough task then and its not that easy to find the proper code line . Another reason is also that long text is not helpful in the case of custom applications .