image

I bet Rich Heilman didn’t know what he was getting himself into.  You see, writing a book is a crazy amount of work; all of which takes place after you finish your normal work day. It has a negative effect on your family, your health and your general well being. I, on the other hand, have absolutely no excuse.  I had been down this path once before and I knew exactly what I was getting into.  So the question you might be asking is, “Why an ABAP Book?” 

There are already many good ABAP books offered by SAP Press.  Our decision to add to this collection is by no means a statement against the quality of the work of those that came before us.  Just to be included in the same small group of authors as the likes of Horst Keller is a great honor.    The story surrounding the birth of this book and the reasons for both Rich and myself to undertake this endeavor are central to the very reason of why most readers of this blog should even care that another ABAP book is available.

The Incubation Process

The story of how this book got started dates back two years to June of 2005.  I was still working at an SAP customer – Kimball International.  We were in the middle of our ERP system upgrade from R/3 4.6C to SAP ERP 2004 (NetWeaver 2004).  The central concern on my mind was how to help update the team’s development skills in order to take advantage of all the new capabilities in NetWeaver.  ABAP is amazingly backwards compatible.  That is both one of its greatest blessings and curses.  This is so important to ABAP’s continued existence because it allows companies, not the least of which being SAP itself, to continue to leverage its existing investments in business applications.  No one talks about massive rewrites to update existing applications so that they can simply survive an upgrade.  As ABAP developers we have come to expect a high degree of backwards compatibility.   

SAP has only been able to make major changes to ABAP syntax at critical points, like the introduction of Object Orientation or conversion to Unicode.  For the most part, developers working on the latest releases can continue to code exactly as they have always done utilizing syntax and techniques that date back to a time before most currently popular programming languages even existed.. They can still create List based output in dialog modules.  They never have to write a single line of OO code.  However in doing so, they cut themselves off from so many of the possibilities that the new ABAP tools offer and limit the value they bring to their employer.  This isn’t even about just making the shift to ABAP Objects – this is about thinking about application design and structure in new ways.  This is about better separation of layers of your application so that they are easier to maintain.  This is about making sure that the code you write today can be service enabled. 

So these were the thoughts that were keeping me awake late at night.  How best could I teach existing ABAP developers the new development tools as well as the new design approaches?   It just so happens that at the time that this problem was keeping me awake at night, I was also in the processing of working with Brian McKellar on the SAP Press book, Advanced BSP Programming.  I was excited about that project and already thinking ahead to future projects.  So it was late one night that the two thoughts crossed paths.  I lay in bed and envisioned a book that would be rooted in a rich, real-world example – a single example project that would run through the entire book.  This way in addition to explaining new technologies, like persistent objects and Web Dynpro, in a vacuum, readers could also see how the planning and design phases of a project have evolved as well. 

Readers could explore the thought processes that go into building around the ideas of Model View Controller and planning ahead for Enterprise Services instead of tacking them onto existing developments.  They would also see how different technologies interact with one another.   I was so excited by the idea that I got out of bed at 3:00AM and scratched down a rough table of contents on a piece of paper.  But as fate would have it, I didn’t immediately jump into this project and that piece of paper remained untouched on my desk for sometime.

SDN Days

Fast forward one year to August of 2006. My focused had shifted quite a bit.  I now worked for SAP as a NetWeaver Product Manager.  I still was kept up late at night by thoughts of how best to help update ABAP developer’s skills sets.  Now, thought, instead of worrying about how to help 3 or 4 developers make the transition I was concerned about the entire ABAP development community.  I hadn’t had time to even work on the original idea that spawned the table of contents up to this point.   SDN days, the community sponsored day of sessions at the beginning of TechEd, was approaching and I really wanted to use this opportunity to return to that idea.   I wanted to create a session that would spark discussion around these very topics.  I also didn’t want to present this session alone.  I wanted it to be firmly rooted in real world experiences – but not just my experiences. 

So I created a blog, explained my proposal and asked the community if anyone was interested in co-presenting such a session with me.   First to come forward was Rich Heilman.  Anyone who claims to spend any time on SDN and doesn’t know Rich obviously isn’t telling you the truth.  This was wonderful.  Rich is Mr. ABAP and although I didn’t personally know him all that well I assumed (correctly) that anyone that active on SDN must be a good person to work with.  Now a 45 minute presentation isn’t really enough time to cover all the topics that I jotted down that night in my table of contents and that Rich had added to the mix..  Even so, we were able to cover a lot of good material in our short session.  Just as important however might be one other thing that we were able to reuse from my original sleepless night – the session title.  We called our session – Next Generation ABAP Development.   

A few weeks after TechEd, Rich was approached by SAP Press.  They had seen the abstracts from SDN Days and they were particularly attracted to the session titled – Next Generation ABAP Development.  They asked Rich if he was interested in turning the session into a book.  Rich came to me and since we had collaborated on the SDN Days session, he wanted to know if I was interested in turning the session into a book.  I was delighted that the original idea had come full circle. 

Book Content

So what we ended up with was something amazingly close to the original table of contents. We adjusted it some to include some of the very good ideas that Rich had brought to the table during our work on the SDN Days session.    But more important than the technical topics covered, Rich and I really wanted to take our 20+ years of combined ABAP development experience from a customer’s standpoint and bottle it up in an easy to digest format.    The structure of this book reflects the workflow of a development project. The first half of the book focuses on creating the data and application logic layers and then service-enabling them. The second half of the book focuses on creating the user interface layers.

Chapter 1: Workbench Tools and Package Hierarchy Before we begin our project, we will review some of the changes and enhancements to the ABAP Workbench. In this chapter, we will look at the new ABAP Editor, the Refactoring Assistant, the new development tools perspectives in transaction SE80, and the new debugger. Lastly, we will create the packages and package hierarchies for the project.

Chapter 2: Data Dictionary Objects In this chapter, we will model the data relationships and build the corresponding Data Dictionary objects. We’ll study the tools for generating table maintenance, creating lock objects, and utilizing foreign keys. We’ll also explore the new technology of strings and binary strings within transparent tables.

Chapter 3: Data Persistence Layer In this chapter, we’ll build the logic that controls the persistence of application data. We’ll start by generating persistent object classes for the underlying data dictionary tables created in Chapter 2. Then, we’ll build a set of business object classes to hide the inner technical details of the Persistent Objects. In addition to the new technology of Persistent Objects, we’ll show you how to use ZIP compression on large strings.

Chapter 4: Consuming a Web Service Not all project data will originate from one centralized system. For example, in the sample application, some data will be stored in a legacy system and accessed remotely via Web Services. In this chapter, we will examine the process for generating a Web Service proxy object and integrating this proxy into the data persistence layer.

Chapter 5: Shared Memory Objects After some analysis, it will become apparent that the sample application has some static data that will be accessed repeatedly. In this chapter, we will describe how you can provide the best performance by structuring the data access for this type of data into an ABAP Shared Memory Object.

Chapter 6: Model Class In this chapter, we will begin to implement the core application logic, which is implemented as a Model Class. This same class will later be used as the business logic layer of all the UI technology examples. This chapter focuses primarily on object-oriented design patterns while introducing techniques for sending email and manipulating XML.

Chapter 7: ABAP and SAP NetWeaver Master Data Management This is the first of our “What-If” chapters. Here, we look at an alternative approach to the project where our master data is modeled and stored in SAP NetWeaver Master Data Management (SAP NetWeaver MDM), instead of the local Data Dictionary. This chapter will focus on how we would alter the data persistence layer to read this data via the SAP NetWeaver MDM ABAP application programming interface (API) instead of directly from the local database.

Chapter 8: ABAP Unit Before building any additional objects on top of the existing application logic, this is a good point in the project to unit test what has been completed. In this chapter, we’ll look at the built-in unit test tool, ABAP Unit, and examine how unit test classes can be integrated directly into the model class.

Chapter 9: Exposing a Model as a Web Service Not all the logic from the sample model class will be exposed via a user interface. Instead, some of the data was designed to be exposed as a Web Service so that it can be accessible to external systems as well. In this chapter, we’ll examine the Inside-Out approach for generating Web Services.

Chapter 10: Exposing a Model as a Web Service Using SAP Net-Weaver Process Integration This is the second of the two “What-If” chapters. In the previous chapter, we looked at the Inside-Out approach of generating Web Services via remote enabled function modules. In this chapter, we’ll look at the world of Enterprise Service Modeling. We’ll show you how the same logic could be modeled in SAP NetWeaver Process Integration (SAP NetWeaver PI) and then implemented as a server proxy in ABAP using the Outside-In approach. 

Chapter 11: Classic Dynpro UI/ALV Object Model In this chapter, we turn our attention to user interface logic. In the sample application requirements, there are a group of internal users who are full time SAP GUI users and who need powerful reporting tools. Therefore, we’ll learn how to build a classic Dynpro screen on top of the Model View Controller (MVC), which uses the ALV Object Model for its reporting output.

Chapter 12: Web Dynpro ABAP Since most of the sample application’s users are not SAP GUI users, we’ll look at how you can build a Web Dynpro user interface for these users. This chapter will focus on real world Web Dynpro applications that contain multiple component usages, ALV integration, and table popins.

Chapter 13: Business Server Pages The next user interface use case is for an Internet-facing application. This user interface needs to be highly customized and stateless for scalability. Therefore, in this chapter, we will use Business Server Pages (BSP) in order to show the flexibility they provide for highly customized style sheets and AJAX integration.

Chapter 14: Adobe Forms Adobe Forms technology offers an interesting paper-like alternative user interface. In this chapter, we’ll look at each of the major types of Adobe Forms—print forms, online interactive forms, and offline interactive forms.

Chapter 15: SAP NetWeaver Portal Although we have focused on ABAP as the primary development environment until now, it is also important to see how some of the SAP NetWeaver Portal technologies can be used with the best aspects of ABAP. In this chapter, we’ll explore how to wrap each of our user interface examples in iViews within the SAP NetWeaver Portal and how portal eventing can be used for cross iView communication. We’ll also look at how we can use SAP NetWeaver Visual Composer to build code-free applications that consume ABAP services.

Chapter 16: RSS Feed Using an ICF Service Node In this chapter, we’ll examine how Internet Communication Framework (ICF) Service Nodes can be combined with XML processing in ABAP to produce interesting Web 2.0 type projects. As the final example of the book, we’ll implement an RSS Feed using these technologies.

Chapter 17: The Closing In the final chapter we will look back on the completed project and re-view the most important points of what has been discussed.

Closing

After months of work and a journey of nearly two years, our little project is finally ready to go out into the world on its own.  We hope that we have created a book that ABAP developers will find useful as well as easily approachable.  Rich and I are both very passionate about ABAP in general and we have poured that passion into this book. We hope you enjoy.

To report this post you need to login first.

80 Comments

You must be Logged on to comment or reply to a post.

  1. Alvaro Tejada Galindo
    Thomas…This is really awesome! -:D A book written by Rich and you is really a must! -;)

    Being a programming book writter, I know what you mean…Nothing harder that writting a book, specially on ABAP…Being so big, it’s hard to gather all pieces -;)

    I have read the table of contents and I really love it…

    Congratulations to both of you!

    Greetings,

    Blag.

    (0) 
    1. Megan Flores
      Thank you Rich & Thomas for all your help on SDN. I have learned a lot from you guys and am looking forward to enhancing my ABAP skills with this new book.
      (0) 
  2. Peter Inotai
    Hi Thomas/Rich,
    Thanks for this books, it’s a very good news that it will be available soon.
    Can’t wait to get it in my hands.
    I’m happy that ‘Leseprobe’ is also available.
    Best regards,
    Peter
    (0) 
  3. Francois Gendebien
    During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
    (0) 
  4. Francois Gendebien
    Hi Thomas, Rich,

    I guess this took a lot of time to write and by having a look at the table of contents, it looks very comprehensive and promising.
    Definitely a must to have.

    Thanks again and best regards,

    Francois

    (0) 
  5. Thomas Zloch
    I have been coding ABAP since 1993, firmly rooted in the procedural approach and gradually advancing into the OO area. This seems to be the book that will help speed up that process, along with Horst Keller’s latest edition of “ABAP Objects”.
    Many thanks & respect
    Thomas Zloch 
    (0) 
  6. Suresh Datti
    Rich Heilman & Thomas Jung authoring together.. what a combination! this book will be my Bible for a while.. come August, I will probably add this  it to my signature in the ABAP forums.. “Have you read Next Generation ABAP Development yet?”
    Hearty Congratulations to you both!
    (0) 
  7. Kenneth Moore
    Hey, that isn’t poison ivy on the book cover is it! (I joke)  ;-D

    Judging from the quality of your posts/blogs, this ought to be a good book. 

    (0) 
  8. Mark Finnern
    Hi Thomas and Rich,

    This post litteraly brought tears to my eyes. I am so happy that your book is out.

    To read how it came to be really crysalizes the benefits of this community online as well as face to face.

    The things that I envisioned when selecting and designing the community tools like blogging, forum reputation and events like the SDN Day (now Community Day) are all coming together and worked like a charm to bring you and the book together.

    Without SDN we would have never known what great programmers and contributors you are. I am at awe when I think about how prolific both of you are. To write a book on the side of your dayjob and your SDN involvement, is just amazing.

    This also validats the Community Day format: Thomas suggested the session, asks for help and Rich stepped up to the plate and they did something really interesting. So interesting that SAP Press noticed and the rest is history.

    Networking is the essence of the Community Day. Let’s see what we create out of it this year.

    So happy for you, Mark.

    (0) 
  9. Thomas Alexander Ritter
    Hi Thomas,

    hopefully since Melbourne you know that I also constantly think about how we can motivate people to increase their productivity by using the new tools and techniques. In my opinion the book is the first real step in the right direction.

    So congrats to Rich and you. I am sure I will have a look at it, soon.

    cheers Thomas

    (0) 
  10. Abesh Bhattacharjee
    Though not a frequent ABAPer, I do dabble in it and have done couple of development with it :). I love it and loathe it at the same time 🙂

    This book by the ABAP Gods themselves is like Mana from Heaven 🙂

    I just hope I get to lay my hands on an autographed copy….

    (0) 
  11. Dushyant Shetty
    ABAP has been evolving rather rapidly in the last few years and I have been constantly worried about how relevant my knowledge is…  More than once I have realised that just because a technique still works does not mean you shouldn’t learn a new, shinier, better way of doing the same thing… Also where does one learn about what’s completely new? How many of our busy ABAPers actually make the time to read release notes and other updated literature.
    Now I know the name of one book I’ll be reading in the very near future 😉
    Regards,

    Dushyant Shetty

    (0) 
  12. H. Senden
    Hi,

    i’ve bought the ‘ABAP Objects : ABAP Programming in SAP NetWeaver’ book recently.
    What is the added value to this great book of your new book ?
    Should i buy it also ? 😉

    Hans

    (0) 
    1. Thomas Jung Post author
      I think if you compare the two table of contents you will see the main differences.  First we look at ABAP in the total context of NetWeaver – showing touch points with MDM, PI, Portal, Visual Composer, etc – where as the ABAP Objects book is primarily focused only on things that happen within the ABAP environment.

      Secondly we do cover some of the same core ABAP topics – just in different ways.  Our coverage is within the context of a larger single application that is built throughout the entire book – coming more from Rich and my background as SAP Customers.

      (0) 
  13. Rajasekhar Dinavahi
    Hi Thomas & Rich,

    The table of contents showed how diverse technologies can be and used in developing a product which can be have multiple/different kinds of interfaces.

    Looking forward to read and learn the methodologies, technologies  and will try implement them where possible in my future assignments.

    Hearty thanks to you both to share your vast experience with the community.

    Regards,
    Rajasekhar Dinavahi

    (0) 
    1. S. Ashraya
      During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
      (0) 
  14. Leonardo De Araujo
    Thomas and Rich,

    Congratulations guys! You deserve it. I can only imagine the amount of work you guys put into it.

    On my side, I feel sad I can’t contribute to SDN as much as I wanted to(Not at your level guys, no no no, I am talking about SDN contributions). I’ve mentioned to Rich recently that I planned to present something on the Demo Jam, but I started to feel that alone I won’t be able to make it. What I envision is a tool that fits pretty much on what you describe as one of the largest challenges: “How to leverage your SAP development team with the latest functionalities”.
    Anyway, more about that later… I will write a BLOG “recruiting” help for my SDN Demo Session. If it works out well, we could have SDN Community team represented there. That would be neat!

    Anyway, I’ve ordered the book already.

    Great job guys!!!

    Leonardo De Araujo

    (0) 
    1. Thomas Jung Post author
      Yes all the examples can be recreated (or imported via SAPlink or Transport file) in the NetWeaver 7.0 version of the AS-ABAP Sneak Preview currently available on SDN.  The examples were created on a NetWeaver 7.0 SP10 system and do take advantage of some of the newer features in Adobe Forms and Web Dynpro in this support package and later.  So if you import into a sneak preview or any other 7.0 system, you will want this support package level or higher otherwise not all examples will work. 

      As far as importing or recreating on an older release – that is possible – but with each release you go back you obviously lose some of the examples.  For instance in 6.40 you couldn’t recreate the Web Dynpro examples, but you could do the BSP ones.  You really couldn’t go much farther back than 6.20 however, as you would lose so much functionality that the examples would not longer be functionality or useful.

      There are also packages and repositories on the CD for the optional sections that support PI (based upon NetWeaver 7.0 as well), MDM (repository was created on 5.5 SP4), and Portal (also NetWeaver 7.0).

      (0) 
  15. Thomas Fiebig
    Great job, I’d like to join my predecessors in congratulate you!
    Writing it more from a best practice perspective is of great value and a good complement to the more formal reference book ‘ABAP Objects’.
    Looking at the table of contents everything is in there: from business object development, service enabling to user interface design covering a lot of the NetWeaver stack.
    But I miss one little chapter: How this is linked to SAP’s Enterprise SOA strategy and how ABAP can be leveraged in Composite development. If the time hasn’t been ripe to add this topic to the book maybe it’s now a good starting point for a new blog…

    Many thanks and best regards
    Thomas

    (0) 
    1. Thomas Jung Post author
      >How this is linked to SAP’s Enterprise SOA strategy and how ABAP can be leveraged in Composite development.
      Your correct.  This is a topic that is only somewhat in the book.  We do touch on the technical details of service modeling in PI and then server proxy implementation in ABAP – a very important role that ABAP plays in the Enterprise SOA strategy.  That is all very relevant and up to date.

      Althought the technical pieces and parts are there, the strategy part (around SOA) is mostly hinted at – and you are correct that timing (books have a huge lead time unfortunetely) had something to do with that. That is a good idea for a future blog – but we also are making sure that it makes it into lots of the TechEd materials as a key topic.

      (0) 
  16. Venkatesh Babu Eddala
    Hi,

    This is Venkatesh Eddala. I’ve been working in ABAP for the past 6 years. This book must be of an excellent help for the ABAPers(Planning to buy this book myself). For me as an ABAPer it gives immense pleasure to know still ABAP is going great guns in SAP by reading this sort of Blogs and great to know there is a book that encourages and helps me shift to Next Generation ABAP as the title suggests.

    Thanks a lot to the BOOK WRITERS.

    Best Regards,
    Venkatesh Eddala.

    (0) 
  17. Jill Hilton
    I’m really excited about this book and will be ordering it immediately (before it runs out).  It sounds perfect for someone like me who has been an ABAP developer for over 10 years and am guilty of doing things the same old way because that is the way I know and it still works.  (Occassionally forced to change because it doesn’t work). 

    Jill Hilton

    (0) 
  18. SenthilKumar Mani
    Hi Rich and Thomas,
    i have been following your contributions in SDN and i am pretty confident that the book will be a treasure.
    I can’t wait to receive the shipment.
    cheers.
    -Senthil
    (0) 
  19. Anonymous
    hi thomas,
       this book sounds really interesting.waiting for a copy.

    regards,
    suhair

    (0) 
  20. Igor Barbaric
    Hi, guys!
    After reading Thomas’ blog I felt emotional connection because I’ve been there!
    I also wrote a book and I know about negative effect on family and health, typing like crazy
    AFTER work and growing eyeballs while normal people sleep… But in the end I think it was
    worth it. I hope you think that too!
    As an old ABAP-er, I can only say that your book looks great and I will surely
    buy it. For those who still doubt is this book redundant because there are other
    ABAP objects books, I can say: by no means! One should know ABAP objects technology, but it is not nearly
    enough. You can still make poor all-objects applications if you don’t use the
    right architecture, and this is what this book is about. Besides, it
    introduces the ways to use objects with different UI technologies, and all of them in
    one application!
    I also admire your particular style: book as a full demo-project tutorial (I
    tried to write mine in the exactly same manner).
    Congratulations!
    Igor
    (0) 
  21. Horst Keller
    Hi Thomas and Rich!

    Stefan from Galileo sent me your book and I started to read it immediately. Lo and behold! ABAP can be fun! And also thank you for showing us that there are Russels out there who wait for news and improvements from us ABAP Foundation guys in Walldorf and who appreciate the work done here.

    I think that your book really hits the mark, because it handles ABAP from a real user’s point of view. My books, which are inescapably witten from the ABAP language group’s technical writer’s point of view (well, that’s my job) can hardly be compared with yours (especially, since the rare traces of humor in my recent ABAP Objects book were lost in translation).

    Nevertheless, I’m convinced that all the recent ABAP books around, i.e. yours and mine and others, complement each other. Each of them highlights a different aspect of ABAP development and all of them follow the same aim – sprading the knowledge!

    Cheers!

    Horst

    (0) 
  22. Mike Bennett
    Thomas and Rich,

    Received your book and it looks really good.  I can’t wait to start on a test project for myself.

    Just one thing and a warning to others: I removed the CD, checked it out (it’s great!) but when I tried to replace the disk into the sleeve again, the sleeve’s cover has glue on it and it accidentally got onto the disk surface and now cannot be removed apparently.

    Do you have a contact at Galileo or SAP Press that would know what could be done?  I’ve copied the files off and hope that none of them got clobbered but won’t know until I start using them, which will be some time from now.

    Any advice would be greatly appeciated.

    Take care and keep up the wonderful job,

    Mike Bennett
    Magnolia Consulting, Inc.

    (0) 
    1. Thomas Jung Post author
      You should receive an email from our editor at SAP Press very soon.  He should be able to help you.

      Thanks and enjoy the book.

      (0) 
  23. Matthias Heiler
    Hello Thomas, Rich,
    I have some questions concerning the transport files. I’ve imported them in a 7.0 system SP8: 1)how long does the import on a “normal” laptop run?
    2) When importing them I get in the import monitor a “Max. returncode 8888 -tp running” now for almost one hour. All the imported objects I can find in SE80, but no program/transaction runs. Usually they end with a problem for example in the query manager.
    3)What programs do I have to run first to generate all my data. The generation programs in ZCS_MODEL->PROGRAM also generate a short dump.
    4) Do I have to import the CD content in a SP10 or higher system?
    Thanks
    Matthias
    (0) 
    1. Thomas Jung Post author
      1 and 2) Have you ever successfully imported any other tansports into this system?  Is this a sneak preview system from SDN?   The transport should only take a few minutes – max.  It sounds like it is certainly stuck.  The most common cause was not enough background or update work processes.  There is a part of the transport process down by a background workprocess and the whole import will stop and wait until one is available. 

      For the SDN Trial Version installation there is a recent blog on the subject of setting up things for doing a transport:
      ABAP Trial Version for Newbies: Part 9 ‘ Importing a transport into SP11/12 ‘

      3) ZCS_RESTORE_ALL_DATA – you load the ZIP file from the CD.

      4. You don’t have to. However there will be things that do not work properly on an older release/SP level.  Web Dynpro ABAP and Adobe Interactive forms have both recieved new features (which we use in the book) that were introduced in SP9 and SP10. 

      (0) 
  24. Alison Lewis
    Great book.
    Can you confirm the URL for the WSDL file in 4.1.2 – creating the client proxy. I get ‘page not found’, very frustrating. Or a downloadable copy of the file would help, couldn’t locate it on the CD.
    (0) 
    1. Thomas Jung Post author
      Sorry for the confusion.  We dont’ show the full URL becuase this isn’t really recreatable.  In the “story” Russel is consuming a .Net Web Service.  There is no way for us (short of hosting some service ourselves on the Internet) to provide a public service and WSDL to replicate this.  So we wanted to show the steps that the reader would take to consume any service of their own (keeping in mind that this isn’t necessarily something that is easy to delivery as a sample).

      There is one cheat here – we didn’t actually create a .Net Web Service ourselves.  The screen shots were actually taken by consuming an ABAP web service.  If you imported the transport file on the CD, you have that Web Service (ZCS_WS_STUDENTS) and you can get the WSDL URL (specific to your installation’s URL – another reason we didn’t show the full URL) from transaction code WSADMIN. You can also wait until chapter 9 when you learn how to create your own web service and then use that one for practice at consuming a service as well.

      If you just want the WSDL, I can certainly email it to you (my address is in my SDN business card).  The WSDL alone will let you create the proxy, but not call the service – so it is best to use the ZCS_WS_STUDENTS if possible.

      (0) 
  25. Matthias Heiler
    Hello Thomas, Rich,
    I have installed the lastest SP12 ABAP system on my laptop and have imported the CD content.
    But I can’t see the complete content in SE80 under the package ZCOURSE_SYSTEM.
    I see all embedded packages, but for example in package ZCS_DDIC there is no node “Class Library” (in the other packages the same).
    If I open SE24 and search for the classes for example the first in “ZCA_CS_COURSE_***_PERS” I can see it and the attributes state, that it belongs to package ZCS_DDIC. But as I said in SE80 no classes or function groups… are listed.
    Any idea what to do?
    Thanks Matthias
    (0) 
    1. Thomas Jung Post author

      If you don’t mind, could you please email me a screen shot of what you are describing.  My email address is in my business card or (I will warn you that both Rich and I are at TechEd Las Vegas this week, so there may be some delay in looking at your problem; but I’m sure we can get it figured out.

      (0) 
  26. Lisbeth Ehlers
    Hi Thomas,
    maybe you can help me. I was asked to import the transport NSPK901001 of the CD into our ECC 6.0 testsystem so the users can work with the examples. The system runs with SP12, but the import fails. It starts and creates the objects, makes an entry in TADIR but doesn’t activate the objects. There is no transport protocol and in the import queue the status is returning to “request waiting to be imported”. Do you know any solution ?
    Thanks and regards,
    Lisbeth
    (0) 
    1. Thomas Jung Post author
      Have you ever done tranport imports into this system before?  It really sounds like something in the transport system isn’t setup correctly.
      (0) 
      1. Lisbeth Ehlers
        Hi Thomas,
        we imported into and exported several transports from this system, it is on of our developement systems. I tried to import this transport also in another system but it also can’t be imported there. I just wanted to know if you ever heard about problems concerning the import of this transport.
        Thanks and regards,
        Lisbeth
        (0) 
        1. Thomas Jung Post author
          No, no one has ever reported a problem importing that wasn’t related to their TMS not being setup (usually because it was an NSP system that had never been used to import before).

          You are welcome to send me the import logs (my email address is listed in my SDN business card).  Perhaps I will see something in there that sheds more light on the subject.

          (0) 
        2. Lisbeth Ehlers
          Hi Thomas,
          I found the solution. The transport files were ‘read-only’, after deleting this entry, the objects were imported and activated.
          Regards, Lisbeth
          (0) 
          1. Devendar Reddy
            I am facing the same issue,Import for request NSPK901001 already running, Objects are not activated.
            Please help how to delete the entry ‘read-only’

            Thanks
            Devendar

            (0) 
            1. Thomas Jung Post author
              I can’t really help you with general transport questions as I’m not that deep of a transport expert.  There is nothing specific about this transport that would cause your problem.  You probably just want to ask this as a general transport question in the forums. 
              (0) 
  27. Harish Kumar Kalla
    Hi Thomas,

    First of all I want to congratulate you both for writing such a good book covering almost all new concepts and methodologies that are required for every person who is working on SAP WAS 6.20 onwards.

    I got the book and started developing the entire project with the help of the code and screen shots.
    Now the problem is, when I amgoing through the book, I created ZCL_CS_FACULTY_PERS Class and imported the fields from ZCS_FACULTY table.

    Now can you please tell me where the code needs to be fixed that is given in the CD (CLAS>ZCL_CS_FACULTY.abap), the Definition and Implementation Part.

    Thanks,
    Harish Kalla

    (0) 
    1. Thomas Jung Post author
      I’m not sure I exactly understand your question.  The coding for that particular file goes into the class ZCL_CS_FACULTY that you must create.  The text file shows you the definition and implementation of the class and once you create the empty class inside SE80, you can just cut and paste these contents into it.  Much of the discussion around this particular object occurs in section 3.3.2 of the book.
      (0) 
    1. Thomas Jung Post author

      1.  Check to make sure your definition of course-syllabi is correct.  It should be definied in the structure – ZCS_COURSE_ATT and be type STRING. If so it should work just fine with the call to CL_ABAP_GZIP Method DECOMPRESS_TEXT because that method defines TEXT_OUT as a CSEQUENCE. The method syntax checks just fine in my system, so I have to assume that your data definition is incorrect.If that isn’t the case then you need to start looking elsewhere.  Once again in my system this syntax error doesn’t occur.  Make sure you data definitions are all correct for course_preq and that you have a method called GET_PREQ_ID.

      (0) 
  28. Harish Kumar Kalla
    Hi Thomas,

    Thanks for very quick response all the time.

    Sorry man to disturb you by asking questions almost all the time. The problem is I cant upload the Transport file as I have SAP access only in my office, so I need to create all Data Dictionary Objs, Programs on my own.

    I want to create a Client Proxy Object to consume the Web Service and you mentioned that we can do by specifying a URL. But in CD, no WSDL Document is given.

    Can you please guide me, how can I achieve this.

    Thanks and Regards,
    Harish Kalla

    (0) 
  29. Harish Kumar Kalla
    Hi Thomas,

    I have a problem with ZCS_COURSE_OBJ_SMA Structure.

    Can you please let me know what is the Component Type used in this Structure (ZCS_COURSE_OBJ_SMA) for the field COURSE.

    Thanks,
    Harish Kalla

    (0) 
  30. Frederick Wood
    Hi Thomas,  I can not find the detailed instructions for Importing the Transport from the Next Generation ABAP Development CD.

    Can you please help.

    Thanks.

    (0) 
  31. Frederick Wood
    Hi Thomas,  I can not find the detailed instructions for Importing the Transport from the Next Generation ABAP Development CD.

    Can you please help.

    Thanks.

    (0) 
  32. Amit Khare
    Thanks Rich & Thomas for nice compilation.
    I didn’t got much time to go through the whole book but read couple of chapters and they are great.
    Thanks 🙂
    (0) 
  33. Terry Velenosi
    Excellent book guys. With the latest sneek peak version we receive 7.01 and following all the instructions and references provided, the importing freezes up during dd activation. Is there an updated transport for the object in the book or you think my tms config is bad. Thank you in advance.
    (0) 
    1. Thomas Jung Post author
      I’ve imported the transport into both 7.01 and 7.02, so I don’t think the release level is the issue.  Since you said this is the trial version, make sure that you have enough dialog and background work processes.  If you are running with only one of either of these this could be the cause of the problem.  The import is running in one WP and waiting to spawn a parallel thread, but can’t because of the low number of processes.
      (0) 
  34. Anonymous
    I wan’t to import the example from book into my demosystem SAP_NetWeaver701SR1_2008. I read on the book, for error free tranport, i need the addon mdm. yet i download from sap service marktplace, how can i install the addon?
    please help me…
    (0) 
    1. Thomas Jung Post author
      You only need to be concerned with the MDM Add-on if you are interested in the MDM related chapter and exercises.  Otherwise you just ignore the couple of MDM related objects that will produce transport errors on import.  All other samples and templates will still be perfectly functional.

      Otherwise this blog is not really the appropriate place to explain how to install the MDM API Add-on within your system. For that you should consulting the MDM installation guides and appropriate documentation.  However I can tell you from experience that this process is not that difficult.  You use the SAINT transaction to install the add-on as you would with any SAP supplied add-on.

      (0) 
  35. asghar khan
    Hi all!

    Can any body tell me, from where I can download the
    examples. I had a CD-ROM but it gets damaged.

    Please help me in this regard.

    Thanks!!!

    (0) 
    1. Thomas Jung Post author
      The source code is only available on the CD that came with the book.  If the CD was defective, then contact SAP Press. If it became damage after you purchased it, you still might want to contact SAP Press.  Perhaps if you send in the damaged CD they can send a replacement, although I honestly don’t know what SAP Press’s policy is on this topic.
      (0) 
        1. Thomas Jung Post author
          I’m sorry but I can’t just email out the transport file. You really must contact SAP Press for support on this.  Perhaps they can email you the files upon supplying proof of purchase.
          (0) 
  36. Bijo Samuel
    Hi Thomas,

    I recently bought your book and after several attempts to import the transport onto a clean ABAP Trial 7.01 system, I finally succeeded. If anyone is struggling with this they can drop me an email(you can find it on my business card link). I have just completed the first 3 chapters, so far it has been a real eye opener. I couldn’t think of a better way to foray the SAP Netweaver 7 world. Thanks for this gem.

    My question though is, this book was published June 2007, I’ve been out of the market for over a year, the last version of SAP I used was SAP Netweaver 2004 and when I used it I did not make full use of the new functionality it offered, will going through this book put me up to speed and is it still relevant as we approach 2010?

    My second question is, is there anything else on top of the material provided in your book that I should peruse to remain current in 2010?

    (0) 
    1. Thomas Jung Post author
      >will going through this book put me up to speed and is it still relevant as we approach 2010?

      Very much so.  This book is focused on NetWeaver 7.0 which is still the main NetWeaver release that sits under the Business Suite.  Although we have had some enhancement packages to NetWeaver 7.0 since the release of this book, the core concepts are still sound.  More than anything this book teaches you to think and design differently in order to take advantage of new technologies in NetWeaver.

      >My second question is, is there anything else on top of the material provided in your book that I should peruse to remain current in 2010?
      There are lots of good eLearning materials available here on SDN. 

      (0) 
  37. Jodie Gaisbauer
    Hi Thomas,
    Great topics!
    I am just about to buy the book and thought just to quickly check if a revised edition is in the pipeline?  Some things have changed a bit since eg. proxies.
    Thanks, and cheers,
    Jodie 
    (0) 
    1. Thomas Jung Post author
      Work will start next year on a revised edition that will add new features and topics from NetWeaver 7.01 and 7.02 (especially 7.02 since there are so many new ABAP language and workbench features).
      (0) 
  38. Jagdishwar B
    Dear Rich, Thomas (and ofcourse Russel),
    Thanks for this great book. I got a chance to read the the 2nd edition book (not read completely though yet).
    It gave me a wonderful experience of realworld scenarios, that i almost exactly needed in the project that i am working in my company.
    I felt like working under experienced mentors, while creating the book’s sample examples on my system.

    Regards,
    BJagdishwar

    (0) 
  39. Rainer Kuck

    Hi Thomas,

    I have installed your Samples on Netweaver 7.02 and i have a Problem with the Class ZCL_CS_COURSE_RPT_DYNP_CONT, especially with the User Events.

    When i click on one of the Buttons, the Event has no selected Line in the gr_table.

    Have you a Solution for it?

    Thanks,

    Rainer

    (0) 
    1. Thomas Jung Post author

      I’m not exactly able to recreate your problem.  Have you selected an item from the ALV table before pressing one of the buttons?  That’s the only way I get no selecte line in gr_table.  That’s not a bug, that’s simply how the report is designed.

      (0) 
      1. Rainer Kuck

        I have selected one Line, for example, I select the Line BC400, do double_click and the HTML-Display is given. When i select the Line BC400 and press one of the Buttons,

        nothing will displayed.

        My PC is not the biggest one, so can it happen, that i have not enough Storage or the CPU is to slow?

        The Report zcs_course_rpt runs correctly and shows all the informations.

        (0) 
        1. Thomas Jung Post author

          I don’t see how your PC would would be the cause, but I also can’t recreate your problem.

          In the event handler there should be code like this:

          * Get the selection rows

            gr_table->get_metadata( ).

            lr_selections = gr_table->get_selections( ).

            lt_rows = lr_selections->get_selected_rows( ).

          That’s where the selections are retrieved. Is that where you aren’t seeing any rows retrieved?  Not all the data has something to show, but BC400 should have registration details at least.

          (0) 
          1. Rainer Kuck

            Hello Thomas,

            this was the information i needed, because the line

                

                 gr_table->get_metadata( ).

            was not in the event handler.

            After insert the event handler runs correct.

            Thank you for your help.

            Best regards

            Rainer

            (0) 
            1. Thomas Jung Post author

              That’s very interesting.  I have that line in my system.  I suppose I could have repaired that when I created revision 2 of the book. 

              (0) 

Leave a Reply