1 2 3 10 Previous Next

thomas.jung

144 Posts

Introduction

A long time ago when I first started blogging on SDN, I used to write frequently in the style of a developer journal. I was working for a customer and therefore able to just share my experiences as I worked on projects and learned new techniques. My goal with this series of blog postings is to return to that style but with a new focus on a journey to explore the new and exciting world of SAP HANA.

At the beginning of the year, I moved to the SAP HANA Product Management team and I am responsible for the developer persona for SAP HANA.  In particular I focus on tools and techniques developers will need for the upcoming wave of transactional style applications for SAP HANA.

I come from an ABAP developer background having worked primarily on ERP; therefore my first impressions are to draw correlations back to what I understand from the ABAP development environment and to begin to analyze how development with HANA changes so many of the assumptions and approaches that ABAP developers have.

Transition Closer to the Database

My first thought after a few days working with SAP HANA is that I needed to seriously brush up on my SQL skills. Of course I have plenty of experience with SQL, but as an ABAP developer we tend to shy away from deeper aspects of SQL in favor of processing the data on the application server in ABAP. For ABAP developers reading this, when was the last time you used a sub-query or even a join in ABAP? Or even a select sum?  As ABAP developers, we are taught from early on to abstract the database as much as possible and we tend to trust the processing on the application server where we have total control instead of the "black box" of the dbms. This situation has only been compounded in recent years as we have a larger number of tools in ABAP which will generate the SQL for us.

This approach has served ABAP developers well for many years. Let's take the typical situation of loading supporting details from a foreign key table. In this case we want to load all flight details from SFLIGHT and also load the carrier details from SCARR. In ABAP we could of course write an inner join:

image

However many ABAP developers would take an alternative approach where they perform the join in memory on the application server via internal tables:

image

This approach can be especially beneficial when combined with the concept of ABAP table buffering.  Keep in mind that I'm comparing developer design patterns here, not the actual technical merits of my specific examples.  On my system the datasets weren't actually large enough to show any statistically relevant performance different between these two approaches.

Now if we put SAP HANA into the mixture, how would the developer approach change? In HANA the developer should strive to push more of the processing into the database, but the question might be why?

image

Much of the focus on HANA is that it is an in-memory database. I think it's pretty easy for most any developer to see the advantage of all your data being in fast memory as opposed to relatively slow disk based storage.  However if this were the only advantage, we wouldn't see a huge difference between processing in ABAP.  After all ABAP has full table buffering.  Ignoring the cost of updates, if we were to buffer both SFLIGHT and SCARR our ABAP table loop join would be pretty fast, but it still wouldn't be as fast as HANA.

The other key points of HANA's architecture is that in addition to being in-memory; it is also designed for columnar storage and for parallel processing.  In the ABAP table loop, each record in the table has to be processed sequentially one record at a time. The current version of ABAP statements such as these just aren't designed for parallel processing. Instead ABAP leverages multiple cores/CPUs by running different user sessions in separate work processes. HANA on the other hand has the potential to parallelize blocks of data within a single request. The fact that the data is all in memory only further supports this parallelization by making access from multiple CPUs more useful since data can be "fed" to the CPUs that much faster.  After all parallization isn't useful if the CPUs spend most of their cycles waiting on data to process.

The other technical aspect at play is the columnar architecture of SAP HANA. When a table is stored columnar, all data for a single column is stored together in memory.  Row storage (as even ABAP internal tables are processed), places data a row at time in memory.

This means that for the join condition the CARRID column in each table can be scanned faster because of the arrangement of data. Scans over unneeded data in memory doesn't have nearly the cost of performing the same operation on disk (because of the need to wait for platter rotation) but there is a cost all the same. Storing the data columnar reduces that cost when performing operations which scan one or more columns as well as optimizing compression routines.

For these reasons, developers (and especially ABAP developers) will need to begin to re-think their applications designs. Although SAP has made statements about having SAP HANA running as the database system for the ERP, to extract the maximum benefit of HANA we will also need to push more of the processing from ABAP down into the database.  This will mean ABAP developers writing more SQL and interacting more often with the underlying database. The database will no longer be a "bit bucket" to be minimized and abstracted, but instead another tool in the developers' toolset to be fully leveraged.  Even the developer tools for HANA and ABAP will move closer together (but that's a topic for another day).

With that change in direction in mind, I started reading some books on SQL this week. I want to grow my SQL skills beyond what is required in the typical ABAP environment as well as refresh my memory on things that can be done in SQL but perhaps I've not touched in a number of years. Right now I'm working through the O'Reilly Learning SQL 2nd Edition by Alan Beaulieu. I've found that I can study the SQL specification of HANA all day, but recreating exercises forces me to really use and think through the SQL usage. The book I'm currently studying actually lists all of its SQL examples formatted for MySQL. One of the more interesting aspects of this exercise has been adjusting these examples to run within SAP HANA and more importantly changing some of them to be better optimized for Columnar and In-Memory. I think I'm actually learning more by tweaking examples and seeing what happens than any other aspect.

What's Next

There's actually lots of aspects of HANA exploration that I can't talk about yet. While learning the basics and mapping ABAP development aspects onto a future that includes HANA, I also get to work with functionality which is still in early stages of development. That said, I will try and share as much as I can via this blog over time. Already in the next installment I would like to focus on my next task for exploration - SQLScript.

 

Season 4 Episode 1

We kick off season 4 of the Enterprise Geeks podcast in a big way with a live recording from TechEd Las Vegas 2011. We recap the week's activities with highlights from the keynote, educational sessions and special events of the week.

Special thanks to guest co-hosts: Graham Robinson, Sascha Wenninger aka: @sufw, and Matthias Steiner

Download 23 Minute Podcast Here

Although we don't normally cross-post Enterprise Geeks podcasts to SCN, we thought it made sense for this season premier episode given the focus on SAP TechEd Las Vegas 2011.

With the recent release of the ABAP 7.02 trial edition, many people might be looking for good learning materials and demos to try out all the new functionality available in this release level.  In this blog I try to collect some of these sources.

Other SCN Content

One of your first stops after installing the ABAP 7.02 trial (or if you are looking for something to read during the installation process), should be the What's New in ABAP with SAP NetWeaver 7.0 EhP2 page here on SCN. It does a nice job of summarizing the high level feature areas and give you an excellent starting point to perform further research.

There have also been several blogs released in the last week, all focused on the 7.02 ABAP topic and of the things you can try in 7.02 once you have the trial installed.

All of these provide great starting points, particularly for learning new ABAP syntax or workbench capabilities.

Although not directly SCN hosted, it's probably important to note that the 7.02 version of help.sap.com is now live. I personally find the New Features section of the online help useful when learning the delta features.  For example if you want an overview of the new functionality in Web Dynpro ABAP in 7.02, here is the link you should start with on help.sap.com.

TechEd 2010

TechEd was also a great source of information on the new features in ABAP 7.02.  Don't forget that many of the sessions were recorded and can be viewed at any time. These sessions can be viewed here: http://www.virtualsapteched.com/

Particularly on the topic of new features you want to learn about in this trial, you might watch the replays of CD105 - What's New in Web Dynpro ABAP 7.01 and 7.02 and CD203 - Best Practices for Designing Web Dynpro ABAP User Interface.

If you attended TechEd this year, you might have noticed that we didn't give out the source code to the attendees for many of the usual workshops.  This was mostly because the source code was based upon NetWeaver 7.02 and without a trial edition at that release level yet, it wouldn’t do anyone much good.  Thankfully we now have the 7.02 trial, so we have started uploading some of the code to the SAP Code Exchange.

I have created a Code Exchange project to house transports that can be imported into the 7.02 to deliver some of the demos and exercises we used at TechEd: https://cw.sdn.sap.com/cw/groups/sap-teched-2010-abap-702-examples-and-demo

image

Currently I have uploaded the content from CD160 - Introduction to Web Dynpro ABAP, CD105 - What's New in Web Dynpro ABAP 7.01 and 7.02, CD203 - Best Practices for Designing Web Dynpro ABAP User Interfaces, and CD266 - Update Your ABAP Development Skills to NetWeaver 7.0 and Beyond.

If you access the Code Exchange project and go to the Releases tab (after accepting the Terms of Usage), you will see individual download files. Each contains ABAP transport files for the various areas covered.  There is a file for all the CD266 Exercises and the CD160 exercises.  There are also transports for the various demos, such as the performance demos used in CD203 or the Flash Islands and Silverlight Islands demoed in CD105.

If you need any general advice on how to import transports into the trial edition ABAP AS, I would recommend this blog: ABAP Trial Version for Newbies: Part 9 ' Importing a transport into SP11/12 '.  Its a little bit older now and focused on an early release level, but the overall process of performing transports is sound.


SAP Press Book

If you are interested in the 7.02 features for ABAP development, then (at the risk of some self promotion) I would also recommend the new SAP Press book - Next Generation ABAP Development 2nd Edition which is schedule to start shipping in early January. This new edition of the book was extended and revised specifically to cover the new features in ABAP development in NetWeaver 7.01 and 7.02. For example, the syntax all throughout the book has been updated to include the new statement chaining and extended expressions possible in NetWeaver 7.02.  There are also completely new topics like Business Objects integration, BRF+, Page Builder, Islands, etc.

The book also comes with a CD that contains the source code of all the projects discussed in the book - source code that you can now actually install and run thanks to the recent release of the 7.02 trial edition.

UPDATED: For a limited time you can use discount code 2011NGABAP2E in order to get 10% off the regular price of the book if you order directly from the SAP Press website.

image

This year you can expect to see a variety of sessions touching on the Web Dynpro ABAP topic at TechEd. In this blog, I will point out some of the key sessions covering Web Dynpro ABAP as well as provide some content you might want to review before arriving at TechEd.

Track Structure

The first major change that is effecting Web Dynpro ABAP content at TechEd this year is that there is no longer a User Productivity track. Instead this year, User Productivity topics are mostly a sub track within Custom Development. If you remember back to TechEd 2009, we had some Web Dynpro ABAP sessions in Custom Development and some in User Productivity. This was done only because of internal budgets during the TechEd planning process, but led to confusion among attendees that were looking for unified track of Web Dynpro ABAP education.

So this year you can view all the Web Dynpro ABAP related content within the Custom Development Track:
Las Vegas
Berlin

The other major change this year was the expansion of Web Dynpro ABAP content. New sessions were added and lectures were expanded from 1 to 2 hours. I will discuss some of this new material in detail in a moment, but first let's talk about what we had to cut.  In order to make room for all the new material, we did have to cut something from previous years. 

Introduction To Web Dynpro ABAP 

We have been presenting the introduction to Web Dynpro ABAP since 2005. Therefore it became a prime target for our reduction efforts. In past years we have conducted a 1 hour lecture and a 4 hour hands-on for the introduction to Web Dynpro ABAP. The slides and presentation material are the same between these two sessions and often attendees went to both.

Therefore we made a decision to no longer offer the 1 hour lecture version. As many customers are still just experiencing Web Dynpro ABAP for the first time as their companies upgrade we want to support their efforts. The 4 hour hands-on will remain. It is session CD160 (Las Vegas / Berlin).  We believe that the time spent hands-on with the development environment is one of the best ways to learn the tool.

We didn't completely discard the lecture version of the materials, however. Instead we decided the best way to service those who wish to begin learning Web Dynpro ABAP is to provide these materials as eLearning Videos all the time (for free) on SDN. Here are links to this eLearning series:

Introduction to Web Dynpro ABAP: Part 1
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this first part we begin by explaining the motivations in the design of Web Dynpro.

Introduction to Web Dynpro ABAP: Part 2
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this second part we discuss the Web Dynpro ABAP programming model.

Introduction to Web Dynpro ABAP: Part 3
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this third part we learn about the View and placing UI elements on the screen.

Introduction to Web Dynpro ABAP: Part 4
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this fourth part we explor how to model data in the context and respond to events with event handler methods of the controller.

Introduction to Web Dynpro ABAP: Part 5
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this fifth part we expand our project to include the Component Controller, Context Mapping and multiple Views.

Introduction to Web Dynpro ABAP: Part 6
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this sixth part we look at multiple component usage and navigation plugs.

Introduction to Web Dynpro ABAP: Part 7
This eLearning explains in depth the Web Dynpro programming model and how to develop Web Dynpro applications within the ABAP workbench. In this seventh and final part we explorer integration possibilities in the form of NetWeaver Portal, NetWeaver Business Client, Interactive Forms by Adobe and Flash Islands.

New and Expanded Web Dynpro ABAP Sessions

If we look at the rest of the Web Dynpro ABAP session offerings at TechEd this year, you will see that there are many new and expanded session. CD105 (Las Vegas / Berlin) will once again focus on the delta features of NetWeaver 7.0 Enhancement Package 1 and 2, but this year has been expanded to 2 hours. This should provide more time for additional details on the Floorplan Manager and Islands technologies as well as expanded demos and a look at the future roadmap.

CD163 - Creating Mashup User Interfaces with the New Web Dynpro ABAP Page Builder  (Las Vegas / Berlin) is one of two new sessions this year that focus completely on Web Dynpro ABAP. In this two hour hands-on session you will get your first opportunity to use the new Page Builder framework that will ship with NetWeaver 7.0 Enhancement Package 2.

CD203 - Best Practices for Designing Web Dynpro ABAP User Interfaces (Las Vegas / Berlin) is a new 2 hour lecture designed for experienced WDA developers who want to learn from some of SAP's best practices for the UI design as well as technical architecture and performance of large scale Web Dynpro ABAP applications.

In addition, there are several other sessions that will have interaction with Web Dynpro ABAP related topics.  If you are a Web Dynpro ABAP developer or want to become one, we would also suggest the following sessions:

CD102 - SAP Interactive Forms by Adobe: Enhancements and New Developments
Las Vegas / Berlin

CD103 - Choosing the Right UI Technology for the Right Project
Las Vegas / Berlin

CD164 - Using SAP NetWeaver Business Client
Las Vegas / Berlin

CD217 - Building Interactive UIs Utilizing Page Builder and SAP BusinessObjects
Xcelsius in SAP NetWeaver Business Client
Las Vegas / Berlin

CD264 - Creating Online and Offline Form Processing Scenarios with Adobe forms and Web Dynpro for ABAP
Las Vegas / Berlin

CD266 - ABAP Development: Update Your Skills to SAP NetWeaver 7 and Beyond
Las Vegas / Berlin
This session always focuses on new development techniques at each layer (Persistence/Business Logic, Services Consumption/Provisioning, User Interface) as well as how the layers interact with one another. This year for the UI layer we will focus on the Web Dynpro ABAP Floorplan Manager and Generic UI Building Blocks via Feeder Classes.

On February 4th my colleague Smadar Ludomirski from SAP Israel and myself will host a free webinar on the NetWeaver Business Client as part of the SAP NetWeaver Customer Call Series.

SAP NetWeaver Business Client v3.0 desktop and web offer a state-of-the-art UI entry point to the SAP world. With simplicity and intuitiveness as the guiding factors, the NWBC v3.0 offers enhanced features as part of its navigation and rendering mechanism in a single, harmonized environment for Dynpro, Web Dynpro, and any HTML (BI, Flash...) based content.

Perhaps you might not have ever heard of the NetWeaver Business Client.  If that is the case, then this webinar will give you an introduction to what it is, the value proposition and even technical configuration details. 

On the other hand, maybe you have some exposure to the NetWeaver Business Client, but want to learn more about it.  This webinar will also provide details on the NetWeaver Business Client roadmap, examples of the advanced features of the tool as well as demos of role configuration to best utilize NetWeaver Business Client.

The session will be comprised of a farily even mixture of slides and demos.  We will have demos on how NetWeaver Business Client simplifies the mixture of UI technologies, a demo on the "day in the life of" a typical NetWeaver Business Client user, and a demo of the role configuration and advanced features.

Also be sure to come prepared to ask plenty of questions.  One of the nice things about having two presenters is that while one of is speaking the other presenter can be answer questions via the chat window.

If you plan to attend the live webinar, then please login several minutes before the start time, as it can sometimes take awhile for the operators to clear all the incoming callers.  Of course like all the sessions in the NetWeaver Customer Call Series, this webinar will be recorded and posted to SDN shortly after it occurs.

Webinar Details:

Dial-in Information:
 
Date: Thursday, February 4, 2010
Time: 8 a.m. Pacific, 10 a.m. Central, 11 a.m. Eastern; 5 p.m. Central European Time
Participant Code: 31862425
From within the US, call: 1-877-299-4454
From outside the US, call: 1-617-597-5447
For additional international access numbers, click here.
 
WebEx Information:
 
Meeting URL: http://sap.webex.com/ and use the following meeting number and password:
Meeting number: 741402099
Meeting password: netweaver

TechEd is quickly approaching and I thought I would use this episode of the ABAP Freak Show to preview some of the Web Dynpro ABAP related sessions that will presented at TechEd.  I preview the following sessions in this video:
         
  • CD102 Web Dynpro for ABAP Overview
  •      
  • CD264 Developing User Interfaces with Web Dynpro for ABAP
  •      
  • UP162 Personalization, Configuration, and Customization of Web Dynpro ABAP with Floorplan Manager
  •      
  • UP201 Web Dynpro ABAP: Enhancements with SAP NetWeaver 7.0 and Beyond
  •      
  • CD260 ABAP Development: Update Your Skills to SAP NetWeaver 7

You can download a high resolution version MP4 version of the video here:http://blip.tv/file/get/Thomas_jung-AFSSept232009TechEdPreview794.mp4

http://blip.tv/file/get/Thomas_jung-AFSSept232009TechEdPreview794.mp4You can download an iPod/iPhone version of the video here:http://blip.tv/file/get/Thomas_jung-AFSSept232009TechEdPreview381.mp4

Thomas Jung

Basic ABAP OO eLearnings

Posted by Thomas Jung Aug 11, 2009

Introduction 

This blog introduces a 5 part eLearning series based upon a frequent request – to look at basic ABAP Object Oriented concepts. Throughout this series we will look at OO terminology, development tools, and design patterns that span a variety of ABAP release levels. We will try to keep the discussion away from all the new cutting edge syntax so that it is still quite usable for those of you on older releases like 4.6C or 6.20.

For the 5 part series we will start with Part 1 looking at tooling (the ABAP Class Builder) and some basic terminology. In Part 2 we will expand the lesson by looking at static vs. instance, visibility, exception classes, inheritance, polymorphism and abstract classes. In part 3 we will see how a special type of class, called a persistent object, can be used for Object Oriented access to the database. In part 4 we will explore Object Oriented concepts in User Interface technologies. Keeping with the theme of older release levels, we will focus this part on using Model View Controller and OO eventing within Classic Dynpro applications. Finally in part 5 we will look at real world, complex example that uses all the techniques and technologies from the previous parts.

Part 1 - Basics

In Part1 of the eLearning we start with the very most basic concepts. We will explore the class builder tool within SE80 and discuss some of the terminology that you need to know in order to begin to learn Object Oriented design and development.

Part 1 Video Running Time: 53 Minutes

Part 2 - Classes, Inheritance, Visibility, Polymorphism

In this part, we will expand the lesson by looking at static vs. instance, visibility, exception classes, inheritance, polymorphism and abstract classes. We start with a very basic class with only static methods that works very much like a Function Group/Function Modules. Next we change the methods into instance methods and see how a class instance allows us to model complex data structures and relationships in code. Then we see how exception classes can make our exceptions more meaningful and simplify the surrounding code for dealing with exceptions. Finally we see the real power of object oriented design come to life as we use inheritance and polymorphism to hide the inner complexity of our business logic from calling applications all while ensuring uniform execution of our code. These techniques may feel foreign at first, but in the long run they lead to code that is easier and safer to maintain.

Part 2 Video Running Time: 1 Hour, 10 Minutes

Part 3 - Persistant Objects

In this part, we will expand the lessons of the previous tutorial and look at a special type of class in ABAP – the Persistent Object. Persistent Objects are an OO-based approach to the types of data access that you would normally perform with SQL statements. With Persistent Objects you don’t code any SQL statements. Instead a class is generated for you that contains SET and GET methods for reading and updating data. ABAP Persistent Objects also contain the functionality for more complex update scenarios – like V2 Asynchronous updates.

Part 3 Video Running Time: 1 Hour, 9 Minutes

Part 4 - User Interface

In this part, we look at the special use case of Object Oriented technology and design techniques as they are applied to User Interface creation. Throughout all the ABAP UI technologies, we study how MVC (Model View Controller) design can be applied. We look briefly at BSP and Web Dynpro ABAP and OO effects the overall design as well as specific features like UI element rendering and eventing. We close with an example of how you can adapt even Classic Dynpro and its PBO/PAI processing looks to a more Object Oriented MVC flow.

Part 4 Video Running Time: 1 Hour

Part 5 - Putting It All Together

In this final entry in the 5 part ABAP OO series, we examine examples of how SAP puts the techniques that we learned in the previous 4 sessions to work within the standard code that they deliver to customers. We start by looking at the CL_BCS classes for sending email. CL_BCS* serves as a perfect example of the use of Persistent Objects and Polymorphism. We also look at the functionality behind the new ABAP Code Completion feature in the ABAP Editor. This block of code uses Persistent Objects, Inheritance/Polymorphism, Exception Classes, and MVC structured Classic Dynpro.

Part 5 Video Running Time: 42 Minutes

Source Code

Source Code Download

The source code for this tutorial is provided in two different formats. The directories cofiles and data contain ABAP transport files with all the development objects contained in this tutorial. If you have access and permission to import transport files from external systems, this can be a good way to import the tutorial source code. All objects are imported at once and all development object types are supported. However you should only use this approach if you are importing into a 7.0 or higher level system. The transport files contain development objects (like Web Dynpro ABAP) that only exist at this development level. If you import the transport in earlier releases, you will receive import errors.

The other solution is to import the development objects using SAPlink. SAPlink is not an SAP provided or supported solution. It is a community created project for exporting and importing ABAP development objects in XML format. You can read more about SAPlink at http://www.saplink.org.

The SAPlink files are the ones with the file extension NUGG. I have divided the SAPlink files into smaller groups so that you can import just the objects that you want and avoid technologies that might not be supported on your release level. The main drawback to SAPlink is that it doesn't have a plug-in that supports persistent objects. Therefore it is not possible to include the persistent classes from Part 3 of the Tutorial. I have still included the data dictionary objects and programs from this section of the tutorial.

The following is the listing of the SAPlink objects and the suggested order of import:

  • NUGG_AFS_OO - these are basic classes and programs from Tutorial #1 and #2. They should be usable back to WebAS 6.10 and higher based releases.
  • NUGG_AFS_OO_PERSISTENT_DDIC - these are the only the data dictionary objects used in Tutorial #3.
  • NUGG_AFS_OO_PERSISTENT_PROGRAMS - these are the dynpro programs that are used to test the persistent classes from Tutorial #3. They need the persistent objects that cannot be offered via SAPlink. You would need to create the persistent objects manually before you could import these programs
    without error.
  • NUGG_AFS_OO_PERSISTENT_PROGRAMS_702 - These would mostly be an item of curiosity. For proper import they would require an ABAP 7.02 based system (which isn't available yet as of Aug 2009) or NetWeaver 7.1x or higher (of which there is not version of the Business Suite that runs on this
    NetWeaver release). Chances are low that there are many people who could import these objects without syntax errors. However knowing this, you might still want to study the code to see what will be possible in the near future.
  • NUGG_AFS_OO_UI_DDIC - From Tutorial #4 - these are the data dictionary objects that are used throughout the UI based tutorials. Please import these before any of the other UI tutorials and regardless of which UI technology tutorials you are importing.
  • NUGG_AFS_OO_UI_DYNPRO - From Tutorial #4 - these are the classic dynpro based tutorials and can be imported into any release level supported by SAPlink (technically the demos should work back in 4.6C as well if you want to recreate them manually).
  • NUGG_AFS_OO_UI_BSP - From Tutorial #4 - these are the BSP (Business Server Pages) related examples. Only import them into a WebAS 6.20 or higher based release level.
  • NUGG_AFS_OO_UI_WDA - From Tutorial #4 - these are Web Dynpro ABAP related examples. Only import them into a NetWeaver 7.0 or higher based release level.

The area of User Interface experience and developer tools are quickly changing and often expanding. We are beginning to see the user expectations from working with the consumer web extend into the world of enterprise applications. In this free webinar, we want to give everyone an overview of the SAP User Interface Strategy focusing on the all three layers of the User Interface – UI Infrastructure, UI Services, and Clients/Access Channels. We will also see roadmap details for tools like Web Dynpro and NetWeaver Business Client.

We are also very interested in what User Interface topics you would like to see covered in detail via this webinar or in future ones.

Details on this webinar are published here on SDN:
http://www.sdn.sap.com/irj/scn/elearn?rid=/library/uuid/70d80ac0-084e-2c10-4b93-80e9b922ebf1

This webinar is part of a larger webinar series of which you can view the schedule of upcoming sessions and watch the recordings of previous sessions here:
http://www.sdn.sap.com/irj/scn/nw-customer-calls

Details for this webinar:

Dial-in Information:
 
Date: Thursday, July 23, 2009
Time: 8 a.m. Pacific, 10 a.m. Central, 11 a.m. Eastern; 5 p.m. Central European Time
Participant Code: 31862425
From within the US, call: 1-877-299-4454
From outside the US, call: 1-617-597-5447
For additional international access numbers, click here.
 
WebEx Information:
 
Meeting URL: http://sap.webex.com/ and use the following meeting number and password:
Meeting number: 741402099
Meeting password: netweaver

The introduction of Adobe® Flash® in SAP (sometimes refered to as Flash Islands) last year marked a new milestone in the cooperation between SAP and Adobe. This new capability of Web Dynpro allows for the true integration of rich internet content based upon the Adobe Flex Platform into the primary SAP UI technologies.

If you are unfamiliar with this new technology, it basically allows the easy embedding of Flex Components using the Flash Player into Web Dynpro Applications – either Web Dynpro ABAP (NetWeaver 7.0 EnhP1) or Web Dynpro Java (NetWeaver CE 7.1 EnhP1). SAP supplies both a Flex runtime and build time library that developers can use to enhance existing or new Flex projects. These libraries take care of the work to communicate data and events back and forth between the Web Dynpro Context and the Flex Component.  This communication is all done via the normal HTTP/HTTPS channel of the Web Dynpro applications and requires no knowledge of the inner workings of the communication on the part of the developers. Also, nothing additional needs to be installed on the ABAP or Java application servers.

Over the past few months, both Adobe and SAP have been working hard to offer as many learning opportunities around this new capability as possible.  We have a Wiki site with several tutorials, items in the eLearning library and in the SDN library. However today we are happy to announce a new consolidated “home” for much of this content:
Adobe® Flash® in SAP

This new page will consolidate all the learning materials and blogs on this topic from both Adobe and SAP.  We will have links to startup guides which help you learn basic techniques in Adobe Flex. You can access a trial version of the Adobe Flex Builder or buy the software directly. Also if you buy Adobe Flex Builder via this special link, you will receive a free SAP Press book.

So if you are interested in this exciting new technology, this will definitely be a page that you will want to check back often with.  New content and tutorials will be added frequently, especially over the next few months as we continue the initial rollout of materials on this topic.

What is Enterprise Geeks?

Well in short, it is a website representing a small group of tech geeks that happened to put the focus of their geeky desires into the enterprise software space. You can read more of the details on the Enterprise Geeks website About Page, but basically it all started with a group of likeminded people that meet and associated via the SAP Community and its events.

You might have seen us hanging out together at TechEd Las Vegas this year where the below picture was taken.  In the picture from left to right you have me, Ed Herrmann (who works for Colgate), Dan McWeeney (who works for Adobe), Craig Cmehil (SAP), and Rich Heilman (SAP).

Although we walk different career paths today, we all got our start as developers (and all of us have worked in ABAP at one time or another) and as SAP customers. So technology and programming drives our interest, but always with a focus on the Enterprise and SAP space.

Our goal for starting Enterprise Geeks was to have a place to do all sorts of things - but all retaining that focus on technology in the Enterprise space.  Given our backgrounds and current positions, we will naturally be drawn to the SAP and Adobe areas of Enterprise but we also want to touch on other aspects as well. We want to use the site as a place to share thoughts, learnings, work on projects, host podcasts and videos.

The ABAP Freak Show

Now I want to take a minute to explain some of the content that I am planning to work on for the Enterprise Geeks website. I've long been involved in creating formal eLearning videos for SCN. I love creating these materials and will continue to do so.  However the effort required and lead time for host, limits how many of these can be created and how often you can post them.

For a while now, I've also wanted to do a less formal video podcast on the ABAP topic. I still want it to be informative, but I want it to be more frequent and less formal.  The tone should be lighthearted and little more fun. This was always the plan for the ABAP Freak Show, but it was difficult to keep on schedule. 

Now with the Enterprise Geek website and group, I'm bringing back these ideas and relaunching the ABAP Freak Show.  I'm going to have a set schedule of releasing a new episode of the ABAP Freak Show on the first and third Wednesday of each month.  The content will be hosted directly on the Enterprise Geeks website and of course you can subscribe to the RSS feed of Enterprise Geeks and never miss an episode.

I've already published the first episode of the ABAP Freak Show for the year and we talked about how to create dynamic context nodes and then do dynamic context mapping and binding in Web Dynpro ABAP. Next week we will look at how to fill default values into Select-Options in Web Dynpro ABAP.  I will also talk about the history of the name of the ABAP Freak Show.

From week to week, I might pull a question from mail bag, focus on new functionality in NetWeaver Enhancement Package 1 or a little later in the year begin to preview new functionality in NetWeaver Enhancemenet Package 2.  You will also see guest hosts of the ABAP Freak Show in upcoming weeks. Of course my mailbox is always open to suggestions for future topics.

Enterprise Geeks Podcast

One of the other mediums we want to use as part of Enterprise Geeks is a regularly scheduled podcast. Ed Herrmann and myself are going to host the main Enterprise Geeks podcast, but you can expect to find frequent appearances by the other Enterprise Geeks members as well as (hopefully) many other members of the SAP community.

The idea of the podcast is to once again be pretty informal.  We want to try and capture and share some of the fun conversations we have when we are all together at SAP events. Our main topics will of course be Technology in the Enterprise, but you can also expect us to get off topic occasionally when we get distracted by any shiny object.

We want to release the podcast approximately by-weekly. We recorded the first episode a few days before Christmas at a mall in Louisville, Kentucky. In the future we promise we will find quieter surroundings. :)  The first episode covered topics that ranged from doing design documents on napkins to a 2008 year in review. You can expect an equally wide range in topics in future episodes.

The future of Enterprise Geeks

I've only touched on a couple of the things that I am involved with for Enterprise Geeks.  Each of the other member have other things in mind as well. You can also expect to see special editions of our regular podcasts and videos when we are together participating in SAP events. We are also really interested in topics or formats that you would like to see us cover.

Next Thursday, January 22nd, my colleague Oliver Mayer and myself will host a free webinar on the usage of the ABAP Enhancement Framework.  We will actually cover a little bit on the history of all the enhancement technologies in ABAP as well as talk about how the Enhancement Framework is used in the Business Suite Ehancement Packages.

More importantly, we will go beyond past demos and learning materials on the Ehancement Framework. In the past we have mostly seen the source code enhancements or maybe the class pre and post method enhancements.  In this session we also want to show you how to get the full power out of the Enhancement Framework for your own applications.  We will demonstrate how to implement kernel badis (with filters) and how to attach any enhancement to a switch. 

We will also look at the process for creating switches, attaching them to business functions and how to activate and deactivate switches.

Chat Transcript

Now that the webinar has occured, Jim Spath was kind enough to post the chat transcript with answers to many of the questions asked in the WIKI:

http://www.sdn.sap.com/irj/scn/wiki?path=/display/systemsmanagement/chat+log+from+22-jan-2009+webcast  

Webinar Details:

Dial-in Information:
Date: Thursday, January 22, 2009
Time: 8 a.m. Pacific, 10 a.m. Central, 11 a.m. Eastern; 5 p.m. Central European Time
Tell the operator that you want to join the “SAP NetWeaver Customer Call”
From within the US, call: 1-866-269-9612
From outside the US, call: 1-651-291-0561

WebEx Information:  
Meeting URL: http://sap.webex.com/http://sap.webex.com/ and use the following meeting number and password:
Meeting number: 741402099
Meeting password: netweaver

As a growing number of Web Dynpro ABAP developers are beginning to work with the Adobe Flash Islands functionality, it seems like the perfect time to introduce some new eLearning materials on the subject.

Already customers and partners are accessing this ability to embed Adobe Flash and Flex Components within Web Dynpro and have bi-directional data binding and eventing. The functionality is available as part of NetWeaver 7.0 Enhancement Package 1 for Web Dynpro ABAP and NetWeaver CE 7.1 Enhancement Package 1 for Web Dynpro Java - both of which are available now as trial downloads from SCN.

In order to help people get started we have a series of eLearning Videos, Tutorials, and Demos - most of which also come with the complete source code. We will be collecting all the Adobe Flash Islands for Web Dynpro learning content at this WIKI site: SAP Rich Islands for Adobe Flash

We have learning materials that start out at the level where we assume the reader has only basic knowledge of Web Dynpro ABAP.  We try to create a nice introduction to the Adobe Flex Builder environment and how to create Adobe Flex Components.  We will also cover the Islands specific enhancements that you would need to make to both the Flex Component and the Web Dynpro Component.

We already have 2 of the tutorials listed on the site with several more to come over the next few weeks.  We are also trying to offer the content in a few new ways to make it as easy as possible for you to consume.  For instance with Tutorial #1 - we have the traditional step-by-step pdf document, the source code in downloadable format (Flex Builder Project and Web Dynpro Component in Saplink format), and an online version of the 1 hour eLearning Video.

But something new we are trying out is alternative ways to access the eLearning video.  It is also posted on the external blip.tv website, and available for download in FLV format incase you have problems streaming videos. And for the developer on the go, you can even get an iPod formatted version of the video. If you want, from the blip.tv page you can even subscribe to the eLearning feed via RSS or in iTunes to get new postings as soon as they occur.

So please look over what is already available on the Adobe Flash Islands WIKI site and let us know if there is a particular area or technique that you would like to see covered in future eLearning materials.

I will admit that I was a little disappointed the other day when I read Bangalore disappoints! that there was low registration for Community Day Bangalore. I'm planning to travel 18,998miles/30,578km roundtrip to attend the Community Day Bangalore so I hope I'm not the only one that shows up. :)

Well, I will be in Bangalore regardless since I am a TechEd presenter, but I still believe that Community Day is a major benefit to all attendees and well worth a day out of anyone's schedule to learn, connect, and generally expand your horizons.  Community Day remains my favorite day of TechEd.

But plenty of other people have already posted their undying adoration for Community Day in other blogs, so I won't go on with my opinions as to why you would be silly not to attend.  Instead I want to take a few minutes to detail out the sessions that I will be presenting at the Community Day Bangalore.

First of all we will bring the popular SDN Mentors' Hands-On Workshop to Community Day Bangalore. This was a hugely popular hands-on workshop that we gave in both Las Vegas and Berlin and I am very happy to be bringing it to Bangalore as well. Here is a link that gives you more details on the contents of this session:
SDN Community Day Mentor Hands-On Workshop

Now we will have a little shorter time in Bangalore and I will be the only one of the original session presenters that can make the trip; so I will adjust the content a little bit. This will still be a great opportunity to try out new UI technologies like Adobe Flash Islands for Web Dynpro and the Web Dynpro ABAP Floorplan Manager.  If you want to boost your Web Dynpro ABAP development skills then this is certainly a workshop you shouldn't miss. Space with access to hands-on machine will be limited so be sure to get signed up for Community Day now!

You may have also have heard about some of the amazing announcements that were made for ABAP programmers during Community Day Berlin. In Berlin we got to hear the details around the ABAP 7.0 EnhP2 backport project.  In a separate session from the Mentors' Hands-On I will detail what innovations SAP has planned for ABAP developers in next year's Enhancement Package 2. I will even bring an Enhancement Package 2 development build ABAP system with me to show you the work in progress. This is a unique opportunity to see what functionality is coming next year and to be able to ask questions about these plans, so don't miss out.  

A few weeks agoSDN Community Day Mentor Hands-On Workshop that some of the SDN Mentors had prepared for the SDN Community Day in Las Vegas. That part of the Community Day was a lot of fun and a big success, so we now have plans to offer the same session at Community Day Berlin 2008 - The Agenda as well. 

The original premise of the Mentors’ Hands-On Workshop was that the best part of TechEd is the hands-on session opportunities. It is great to be able to hear an expert talk about a subject and maybe even see a demo, but nothing really compares to the value of being able to use the technology yourself and then ask questions that come to mind out of that usage. The only downside is that you can only reserve a maximum of 2 Hands-On sessions during TechEd. That is at most 8 hours of hands-on experience; assuming you pick two, four hour sessions.

So the idea is that as part of SDN Community Day you can get the opportunity to participate in an additional 4 hour hands on session that is designed by four of the SDN Community Mentors – Rich Heilman of SAP, Ed Herrmann of Colgate, Dan McWeeney of Adobe and myself. Rich, Dan and myself will be coming to Berlin to repeat this workshop there.  Unfortunately Ed Herrmann can’t join us because of a conflict, but the rest of us will cover his materials.

Even if you aren’t able to come to TechEd itself, you can still come to just the SDN Community Day and get this opportunity for a hands-on session.  And don’t worry if you have already registered for TechEd, but didn’t add on the community day.  You can always go back and add the community day into your existing registration.

If you are already signed up to attend community day, then you just need to add your name to this wiki page to sign up for our sessions:http://www.sdn.sap.com/irj/sdn/wiki?path=/display/community/sdn+day+berlin+2008.

Here is the agenda and how the 4 hours will break down: 

Persistent and Service Objects – Rich Heilman

  • See the latest techniques for build the data access and business logic layers in ABAP        
  • Preview new ABAP development tools that will be part of NetWeaver Enhancement Package 2 – released in 2009

Adobe Flex Builder – Dan McWeeney

  • Install and run Adobe Flex Builder for creating Flex Components
  • Learn some tricks and tips for Flex Component Development from someone who is also an ABAP developer

Web Dynpro Islands – Thomas Jung

  • With the new Islands functionality in Web Dynpro, you can embed Adobe Flex Components seamlessly into Web Dynpro
  • We will take one of the Flex Components that Dan detailed in the previous hour and embed it within Web Dynpro ABAP

Floorplan Manager for Web Dynpro ABAP – Ed Herrmann

  • Learn how to use the new Floorplan Manager to create consistent user interfaces
  • Take the Web Dynpro components from the previous exercise (which contains the Flex Component from the exercise before that) and wrap them altogether with the business logic from the very first session to create one finished application

All the steps that I discussed above spread out over the 4 hours will result in the application that you see in this video:

The session will be held in one of the official SAP TechEd hands-on rooms and we will use one of the TechEd ABAP backend systems for the workshop exercises.  You still probably want to bring your own laptop as well.  As part of Dan’s Adobe Flex introduction session, you will have the opportunity to install Flex Builder on your laptop and build a simple Flex Component.

You can also download the source code and exerices hand-out session materials in advance.  We won't have printed copies of the hand-out materials, so if you want to have printouts, you will have to bring your own.

Just remember to sign up on the WIKI to reserve a space in the room.  The number of laptops and seats will be limited.  In Las Vegas we filled the room and still had to turn people away when we reach room capacity.



And don’t forget that Community Day isn’t all work.  In addition  to spending the day networking and attending educational sessions like this one; there is also a fun evening event. In Las Vegas there were several different types of fun and games as well as food and drinks and a live band.  My favorite part was the Nintendo WII Rock Band game: 


I don't know how many people realize it, but SAP NetWeaver Product Management provides a free webinar series in partnership with ASUG (Americas' SAP Users' Group). This webinar series is no longer restricted to just ASUG members, so everyone on SDN is invited to join in. You can find more details about the Webinar series at this link:
The specified item was not found.

As you can see from this link, we list upcoming webinars as well as host recordings of past webinars. Also as you can see from this page, the topics tend to focus on upcoming or hot topics but also try to address topics of considerable interest within our user base.

On August 21st I will demo new features in Web Dynpro ABAP for this webinar.  Here are the webinar details:
Web Dynpro Updates Coming in SAP NetWeaver Enhancement Package 1

Dial-in Information:
 
Date: Thursday, August 21, 2008
Time: 8 a.m. Pacific, 10 a.m. Central, 11 a.m. Eastern; 5 p.m. Central European Time
Tell the operator that you want to join the "SAP NetWeaver Customer Call"
From within the US, call: 1-866-254-5940
From outside the US, call: 1-612-338-1040
 
WebEx Information:
 
Meeting URL: http://sap.webex.com/ and use the following meeting number and password:
Meeting number: 741402099
Meeting password: netweaver 
 

I realize that right now we only have toll free numbers for the US and I have a request out to our organizers to find out if we also have tool free numbers for other countries.  I will update the blog with those numbers if they exist.

Now for the content of the session.  Many of you might already know that SAP Enhancement Package 1 for NetWeaver 7.0 is very close to entering Ramp-Up.  One of the major new feature areas within this Enhancement Package is considerable amount of new capabilities in Web Dynpro ABAP.  

At TechEd you will get several opportunities to try out these new features (SDN Community Day Mentor Hands-On Workshop, COMP274, COMP277), but this webinar offers you a first chance to see them in action and learn some of the new coding techniques that will make the features possible.  I plan to keep the PowerPoint slides to the bare minimum and spend the majority of the hour showing live demos and looking at the code behind the demos.  I also want to leave time for an extensive question and answer session.

So what are some of the things you can expect to see during this webinar:

  • The new Lightspeed, AJAX enabled rendering framework
  • New UI elements like the slider control
  • Drag and Drop (Custom Built, Drag and Collect Pattern, Column Arrangement)
  • ACF based Client Side program execution and File Upload and Download
  • Adobe FlashIslands
  • Keyboard support
  • The Flex Client for Web Dynpro
  • NetWeaver Business Client Smart Client Rendering Canvas

Actions

Filter Blog

By date:
By tag: