ABAP_basics by brchowdary

VIEWS: 49 PAGES: 49

ABAP_basics

More Info
									Günther Färber, Julia Kirchner




ABAP® Basics




                                 Bonn   Boston
Contents at a Glance

    Foreword .................................................................   11

    Introduction ............................................................    13

1   Technical Overview and Getting Started
    in the System ..........................................................     19

2   Working with the Development Environment:
    The Object Navigator .............................................           51

3   Procedural Language Elements .............................. 107

4   Defining and Managing Database Tables ............... 191

5   Screen Input and Output ........................................ 225

6   Object-Oriented Language Elements ..................... 319

7   Practice Scenario — Automated Accounting
    for Corporate Subsidiaries ...................................... 393

A   Programming Guidelines and Tools ........................ 451

B   Glossary .................................................................. 463

C   The Authors ............................................................ 467
Contents

Foreword ..................................................................................   11
Introduction ..............................................................................   13


 1     Technical Overview and Getting Started
       in the System .......................................................... 19

       1.1       Overview of SAP Software and Architecture ............                        19
       1.2       Notes for Setting Up Access to SAP Software ..........                        23
                 1.2.1 Regular System .............................................            24
                 1.2.2 Test System on Linux ....................................               25
                 1.2.3 Test System on Windows ..............................                   26
       1.3       Programmer’s Checklist for Getting Started .............                      28
       1.4       Logon, Getting Started, and System Setup ..............                       31


 2     Working with the Development Environment:
       The Object Navigator .............................................. 51

       2.1       Getting Started with the Object Navigator ..............                     54
       2.2       Development Classes and Packages ........................                    63
       2.3       Namespaces ...........................................................       66
       2.4       First Program: “Hello World” — REPORT, INCLUDE,
                 and Application Menu ............................................             72
       2.5       Online Help, help.sap.com, service.sap.com, and
                 SAP Notes ..............................................................      97


 3     Procedural Language Elements ............................... 107

       3.1       Basic Commands and Fields — WRITE, PARA-
                 METERS, MOVE, SY Fields ......................................               110
       3.2       Data and Data Types — DATA, PARAMETERS,
                 CONSTANTS, FIELD SYMBOLS, TYPE, CREATE,
                 Text Elements .........................................................      116
       3.3       Structures and Internal Tables — TABLE, MOVE-
                 CORRESPONDING, INSERT, APPEND, READ,
                 MODIFY, DELETE, LOOP ........................................                139
       3.4       Subprograms and Functions — FORM, FUNCTION,
                 EXCEPTIONS ..........................................................        151


                                                                                                7
Contents



                   3.5    Branches and Logical Expressions — IF, CASE .......... 169
                   3.6    Loops — WHILE, DO ............................................... 183


               4   Defining and Managing Database Tables ............... 191

                   4.1    Field Properties — DATA ELEMENT, DOMAIN ....... 192
                   4.2    Defining and Processing Database Tables —
                          SELECT, INSERT, UPDATE, DELETE ......................... 206


               5   Screen Input and Output ........................................ 225

                   5.1    Simple Input and Output Interfaces , — SELECTION
                          SCREEN, SELECT OPTIONA CALL SELECTION
                          SCREEN, SAP List Viewer ......................................... 227
                   5.2    Complex Input and Output Interfaces — Dynpros ... 258


               6   Object-Oriented Language Elements ..................... 319

                   6.1    Classes and Objects — CLASS, CREATE OBJECT,
                          METHOD ................................................................ 321
                   6.2    Inheritance and Polymorphism — INHERITING
                          FROM, REDEFINITION ............................................ 351
                   6.3    EVENTS ................................................................... 370


               7   Practice Scenario — Automated Accounting
                   for Corporate Subsidiaries ...................................... 393

                   7.1    Defining the Requirements and a List of Functions
                          for the Application ..................................................   394
                          7.1.1 List of Functions ...........................................      395
                          7.1.2 Selection List ................................................    397
                   7.2    Software Architecture ..............................................     399
                   7.3    Software Design ......................................................   401
                          7.3.1 Rough Design ...............................................       402
                          7.3.2 Detailed Design ............................................       406
                   7.4    Implementation .......................................................   416
                          7.4.1 DDIC Objects ...............................................       416
                          7.4.2 Programs ......................................................    422
                          7.4.3 Function Groups ...........................................        424




           8
                                                                                                         Contents




 Appendix ......................................................................... 449

A      Programming Guidelines and Tools ...................................                    451
       A.1 Programming Guidelines .........................................                    451
       A.2 Program Check Tools ..............................................                  461
B      Glossary ............................................................................   463
C      The Authors ......................................................................      467

Index ........................................................................................ 469




                                                                                                     9
Foreword

For the past several years, ABAP has transformed itself from a pro-
gramming language, which was used internally only at SAP, into a
development platform for business applications on application serv-
ers from SAP — a platform used by over a million programmers.
Consequently, the need for more information on ABAP and its
object-oriented extensions and tools has grown exponentially; for
example, the need to address the following questions: What’s the
best way to start to use ABAP Objects? What are the typical tasks that
an ABAP programmer must perform? What basic concepts are the
underpinnings for the programming of SAP applications with ABAP
Objects, and how does ABAP differ from other programming lan-
guages? What goes on behind the scenes in transactions of the ABAP
development environment, and which transactions are important to
you? These are only some of the questions that we have tried to
address in this book.

Here, we’ll introduce you to the most important components, con-
cepts, and ideas regarding SAP programming, namely, the informa-
tion you’ll need to answer the aforementioned questions. This book
is intended for those of you who are looking for an up-to-date and
quick tutorial to programming with ABAP Objects — an introduction
based on solving real-world tasks. The title of this book, ABAP Basics,
says it all. We offer a basic course on the ABAP Objects programming
language. This book is based on application scenarios that discuss
typical, everyday problems and solutions on the basis of comprehen-
sive SAP systems and applications. The focus is always on practical
matters: actual procedures are shown screenshot by screenshot. The
comments on the language elements are by no means complete.
They simply convey popular options for usage, and thereby maxi-
mize the success of your learning experience.

The groundwork for this book was laid incrementally; it involved
many years of training and practical experience, with topics that
today would come under the overarching terms SAP and ABAP pro-
gramming. Ongoing and intense collaboration with the development
departments at SAP in Walldorf, Germany has enabled us to learn a
great deal about the SAP way of solving problems and what must be
considered in the process. A practice scenario that uses the knowl-


                                                                     11
Foreword



           edge gained in individual chapters demonstrates how to create a
           comprehensive and professional application. This shared expertise
           will enable you to become more familiar with the source code from
           SAP and ultimately work to your advantage.

           We are especially grateful to Horst Keller (SAP), who reviewed the
           individual chapters and was always ready to advise and help us, and
           to Florian Zimniak (Galileo Press), whose editorial work ensured the
           publication of this book.

           We hope that this book will provide all readers with a quick and easy
           to understand introduction to ABAP and SAP application program-
           ming.



           Julia Kirchner and Günther Färber
           NEXONTIS IT GmbH




           12
2   Working with the Development Environment: The Object Navigator




                  Figure 2.23 Loading a Package or Development Class into the Object List Area


                  We haven’t completed all the preparatory steps to create our first
                  program. The Object List area displays our (empty) package and we
                  can add additional development objects to it.



                  2.4       First Program: “Hello World” — REPORT,
                            INCLUDE, and Application Menu
                  The word “program” is now part of the vocabulary of every school-
                  age child and is most commonly associated with terms like compu-
                  ter, software, and Internet. But what’s special about an ABAP pro-
                  gram? How do you create one? How do end users work with pro-
                  grams?

         Basics   No other programming language has experienced the kind of check-
                  ered history that ABAP has had over the past 30 years. From its con-
                  ception to the advent of SAP R/3, ABAP was designed solely for the
                  creation of reports, like a listing of all liabilities to customers or a
                  company balance sheet at the end of a fiscal year. ABAP programs
                  could read data in the database and output it to the screen in table-
                  based texts, or lists. Customers who use SAP software could modify



                  72
                 First Program: “Hello World” — REPORT, INCLUDE, and Application Menu    2.4


the ABAP source code of these reports or design new reports to meet
their needs. At that time (SAP R/2), programs with write access to the
database had to be programmed in Assembler (directly in the
machine language). You can imagine the complexity and effort
involved, and you can certainly understand that the task was
reserved solely for SAP itself.

With the introduction of SAP R/3 at the beginning of the 1990s, the
ABAP programming language had expanded to the point whereby it
could be used to implement write access to the database. That ena-
bled writing all SAP R/3 application completely in ABAP — without
the help of other programming languages.

ABAP generally offers several options for writing an executable pro-       Module pool
gram. The module pool and the report are the most important. Origi-        and report

nally, it was clear which alternative could be used at any given time.
Complex input screens that had to be realized with the Dynpro inter-
face technique (see Section 5.2) required a module pool. Creation of
a posting document in accounting is a good example here. Simple
input templates, like the selection criteria for year and period in a
period-end balance sheet, were programmed as reports. There have
not been any technical limitations on the use of either technology
since Release 3.0. Nevertheless, SAP continues to offer only a few
programs that have been realized as module pools. In other words,
reports have been in the forefront. Accordingly, this book concen-
trates on programs of the report type and doesn’t cover program-
ming with module pools. For special cases, ABAP also offers a variety
of other program types that we cannot cover here. If you would like
more information on these topics, we recommend that you read The
Official ABAP Reference (Horst Keller, SAP PRESS, Bonn 2005).

Because of the history involved, those familiar with SAP might use
the term report to describe a program. Technically, a report is just
one of several options that can generate a program.

Anyone who has ever started Word or Excel in Windows is already            ABAP programs:
familiar with large programs that take up several megabytes on the         cut small

hard drive and that are completely loaded into main memory. But
SAP applications (like the Object Navigator or SAP CRM) consist of a
large number (often more than 100) of individual programs. The
user often doesn’t even notice the switch from one program to the
next. An individual ABAP program is often designed for a very spe-



                                                                      73
2    Working with the Development Environment: The Object Navigator



                    cific task. For example, one program might handle the creation of a
                    sales order, another the creation of a delivery note, and yet another
                    the printing of an invoice. The organization of programs on one
                    topic into one directory in the application menu (SAP Easy Access)
                    and forward navigation give the user the impression that she is
                    working with one large application.

                    This concept reflects an essential difference between ABAP and other
                    programming languages, such as C, Basic, and Pascal. The difference
                    arises from a historical background. Every operation that writes to
                    the database used to have its own assembler program, and the same
                    idea still exists in ABAP.

         Includes   Includes allow you to modularize source code, i.e., to split it into
                    small, manageable parts. The approach in ABAP is similar to that of
                    include files in other programming languages, such as C or Pascal.
                    You can store any-size sections of source code in units that you load
                    with INCLUDE name, where name contains the name of the include that
                    stores that part of the source code. For example, you would use
                    includes to store constants that are used in several applications. Each
                    program then links parts of the source code to the correct location in
                    the program with an INCLUDE statement and can then use that part at
                    will. The following excerpt of code clarifies the situation. The code
                    calculates a gross price from the net price entered by the user. It
                    accesses a constant, CON_SALES_TAX , defined in an INCLUDE named
                    ZPTB00_CONSTANTS for the sales tax rate:

                    REPORT zptb00_business_transaction.
                    INCLUDE zptb00_constants.
                    PARAMETERS:
                      net_price TYPE p DECIMALS 2.
                    DATA:
                      gross_price TYPE p DECIMALS 2.
                    * con_sales_tax is in include zptb00_constants defined.
                      Gross_price = net_price + net_price * con_sales_tax.

                    Listing 2.1 Code Excerpt to Link an Include


                    Include programs perform nothing more than a library function for
                    ABAP source code and cannot be executed as independent programs.

Making a program    To make your own ABAP program available to end users, perform
        available   the following steps:



                    74
                  First Program: “Hello World” — REPORT, INCLUDE, and Application Menu           2.4


1. Create program
   Executable programs are created as source code within the Object
   Navigator and introduced with the key words REPORT or PROGRAM.
2. Write program code
   The program code, which consists of individual ABAP commands,
   is inserted after the key word REPORT.
3. Create a transaction for the program
   Once the program is complete, a transaction code is assigned to it.
   You can enter the transaction code in the command line to start
   the program directly.
4. Assign rights for starting the transaction
   As an option, the administrator can limit execution of a transaction
   to a specific user or user groups.
5. Record transaction in the application menu
   The transaction is ultimately recorded in the application menu of
   SAP Easy Access, where end users can easily find and execute it.

 Exercise 2.2
 Create a program, ZPTB00_Hello_World, which queries your name and
 then displays it on the screen.
 Test the program with the debugger.
 Assign a transaction code to the program so that end users can call it.
 Enhance the SAP application with an entry that calls the transaction.


We now have the knowledge we need to develop our first program                  First program:
in ABAP. The program is the typical example used by beginning pro-              “Hello World”

grammers. It displays “Hello World” on the screen. We’ll use this
opportunity to become more familiar with the Object Navigator.

  Go to the Repository Browser of the Object Navigator. The fastest
  way is to enter “/nSE80” in the command line.

  Select Package as the object type (Development class in Release
  4.6).

  Enter the name of your development class or package (Z00_
  PRACTICE_TRAINING_BEGINNER) and click the Display button
  or press Enter.

  In the context menu for your package or development class, select
  Create Program.



                                                                           75
2   Working with the Development Environment: The Object Navigator




                 Figure 2.24 Creating a Program with the Context Menu


                 A dialog appears: you can enter the name of the program in it:

                      Enter “ZPTB00_Hello_World” as the name of your program.

                      Deactivate the checkbox With TOP Include and confirm your
                      entry with OK.

                 Another dialog appears: you can enter additional information about
                 the program. As you can see, the implicit assumption is that the pro-
                 gram will reside in the package Z00_PRACTICE_TRAINING_BEGIN-
                 NER.

                      Enter “Hello World” as the title of the program. Leave the other
                      default entries alone.

                      Confirm your entries with OK.

                 The last dialog prompts you for the transport request that will record
                 your development and that will later copy it from one system to the
                 next. Because we have already created a package, the entry given
                 there for the package appears here as a suggestion (see Figure 2.26).




                 76
                   First Program: “Hello World” — REPORT, INCLUDE, and Application Menu      2.4




Figure 2.25 Additional Information on the Program


   Confirm the transport request set by default. If none appears, use
   F4 to select a transport request that has already been created.




Figure 2.26 Entering the Transport Request for the Program


The new program has now finally been created, and the first lines of         Program
source code and some comments have already been inserted auto-               framework and
                                                                             comments
matically as a framework for the program. As discussed in Section
1.3, good comments are extremely important so that developers who
have not helped write the program can easily understand what it
does or should do. Comments can occupy an entire line or appear at
the end of a line of code. If comments occupy an entire line, they
begin with an asterisk (*). If they appear at the end of a line of code,


                                                                        77
2   Working with the Development Environment: The Object Navigator



                 they begin with quotation marks ("). The compiler regards every-
                 thing after these characters in a line as non-ABAP text and ignores it.

                      Type the following lines as an additional program framework
                      beneath the comment lines:

                      WRITE: / 'Hello World', '!'.
                      WRITE / 'This is my first program.'.
                      WRITE 'And not my last one'.


                 The WRITE command displays the text that follows on the screen. We
                 will discuss the command in more detail later on.

                      Click the Check button or use Ctrl+F2.

                 If the line does not contain any syntax errors, a message to that effect
                 appears in the status line.

                      Click the Activate button or use Ctrl+F3.

                      If no other program checks and activations produce an error, a
                      message to that effect appears in the status line. The text next to
                      the program name in the Tool area changes from inactive to
                      active.

                      Click the Direct button or use F8.

                 The program is started and displays the desired text on the screen.
                 The title of the program, “Hello World,” appears again, twice: in the
                 title of the program and again in the output area. In the output area,
                 it appears as a headline and is separated from the actual output by a
                 horizontal line.




                 Figure 2.27 Program ZPTB00_Hello_World in Action


                      Click on the Back button to return to the Object Navigator and its
                      source display.

                 78
                    First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4


As you can see, our program already has working Back, Exit, and
Cancel buttons.

Now let’s modify the title of the program.

   Select Goto Properties in the menu.

   Enter “Hello my friend” in the Title field and confirm with the
   Save button.

In the next step, we’ll set the formatting of the source code to reflect
the most common usage.

   Select Utilities Settings in the menu.

A dialog appears: you can change a number of settings of the ABAP
Editor.

   Select the Pretty Printer tab.

   Activate the checkbox Convert upper-/lowercase.

   Select the Keyword Uppercase radio button and confirm the set-
   tings.




Figure 2.28 User-Specific Settings of the ABAP Editors



                                                                         79
2   Working with the Development Environment: The Object Navigator



                 We also want to enhance the program somewhat so that it asks the
                 users for a nickname and then greets them with their nicknames.

                      Insert the following source code:

                      PARAMETERS:
                        p_nicknm(15) TYPE c.
                      WRITE: / 'Hello World', p_nicknm, '!'.    "First statement


                 We’ll take a more detailed look at the PARAMETERS command later on.
                 Here, it’s enough to note that it can accept user entries at the start of
                 a program and make them available for further processing.

                      Click the Pretty Printer button.

                      Activate the source code with Ctrl+F3 and start the program with
                      F8.

                 Our program then appears with a modified title and an input field
                 Figure 2.29).

                      Enter your nickname, “Heidelberger,” and click the Execute but-
                      ton or F8.




                 Figure 2.29 Entering a Nickname


                 The display now includes your nickname.

                      Select the Back button or F3.




                 Figure 2.30 Output of Program ZPTB00_Hello_World



                 80
                First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4


Now let’s execute the program step by step to become more familiar        Debugging
with the debugger. Users of Delphi, Visual Basic, and Java (JBuilder)
will have to get used to a different user interface. Debugging of an
ABAP program occurs in a separate program rather than in the edi-
tor, but the familiar functionality of other programming languages is
still available.

The ABAP debugger offers the following essential features:

  Single-step button
  Executes a program line by line. After execution of the statement
  in one line, the processing arrow is placed on the next statement.
  If the current statement involves a subprogram, function, or
  method, the debugger looks for the next complete statement and
  places the processing arrow there.
  Execute button
  Executes a program line by line, but also executes the statements
  of subprograms, functions, and methods as a whole (in a single
  step). The processing arrow is then placed on the next statement
  in the same part of the program.
  Return button
  Executes all the lines of the current program at one time, so you
  can use it to execute the remaining statements of a subprogram,
  function, or method. Our sample program contains only a main
  program portion, so it is executed right up to its end.
  Continue (to cursor) button
  Execute the program as a whole rather than step by step, as is typ-
  ical without debugging. But if you have previously marked a state-
  ment in the debugger by double-clicking, execution stops and the
  processing arrow remains on that statement.
  Debugging/Goto statement
  If you have marked a statement by clicking it, the processing
  arrow moves to that statement, whether the statement is ahead of
  or behind the processing arrow and whether doing so makes
  sense in terms of the program logic.
  Debugging/Restart
  This menu entry stops the program at the current statement and
  returns to the Object Navigator. You can restart the program from
  there.




                                                                     81
2   Working with the Development Environment: The Object Navigator



                      Create/Delete context menu/breakpoint
                      You can create a stop, a breakpoint, on almost any statement. Exe-
                      cution of the program will stop at the point, regardless of what
                      buttons you've already clicked. If you then click the Save button,
                      breakpoints remain in effect until you close the session. If you
                      reselect the menu entry, the breakpoint is deleted. You can also
                      create and delete a breakpoint by double-clicking to the left of a
                      statement.
                      Breakpoint/Breakpoint at
                      In this menu, you can set breakpoints at specific locations within
                      the program, even when the processing arrow is not located close
                      by. You often need Breakpoint at function module and Break-
                      point at statement.
                      Examine field content
                      Double-clicking a field (such as parameter p_nicknm in our source
                      code) displays the content under the source code.
                      Change field content button
                      You can even change field content during debugging. Take the
                      same steps you do when you examine field content. You can enter
                      new content where the previous content is displayed and then
                      keep the modification by clicking the Change field content button.
                      Calls button
                      When debugging large programs that contain subprograms, func-
                      tion modules, or methods, it's important to know where those
                      items are called in the source code. That's the information pro-
                      vided by the stack list, which is displayed when you click the Calls
                      button. You can also return to the source-text display of the
                      debugger with the Back button.
                      Settings button
                      You can change the behavior of the debugger. You can use the Set-
                      tings button to display and change all configuration options.

                 Let’s look at the ABAP debugger in the real world.

                      Select Execute Debugging in the context menu of the program.

                 An input field is displayed: you can enter your nickname here.

                      Enter your nickname and confirm you entry with F8.




                 82
                   First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4




Figure 2.31 Context Menu: Execute   Debugging


After entering all the parameters, you move to the debugger. The
processing arrow points to the first statement, the REPORT statement
in this case.

  Select the Single step button or F5.




Figure 2.32 The Debugger on the REPORT Statement


The processing arrow moves from the REPORT statement to the first
WRITE statement.



                                                                        83
2   Working with the Development Environment: The Object Navigator



                      Double-click parameter p_nicknm.

                 The current content of the parameter is displayed in the list under
                 the source code.

                      Select the Execute button or F6.




                 Figure 2.33 The Debugger Displays the Content of a Parameter


                 The processing arrow is now at the second WRITE statement.

                      Change the content of the input field from “Heidelberger” to “Ber-
                      liner.”

                      Click the Change button.

                      Click the first WRITE statement.

                 The processing arrow is still at the second statement.

                      Select Debugging Go to Statement in the menu.

                 The processing arrow returns to a position in front of the first WRITE
                 statement.

                      Click the last WRITE statement.

                      Select the Continue (to Cursor) button or F8.



                 84
                   First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4




Figure 2.34 The Debugger Displays the Modified Content of the Parameter




Figure 2.35 Manipulated Position of the Processing Arrow


The processing arrow then moves to the last WRITE statement.

   Select the Return button or F7.

                                                                          85
2   Working with the Development Environment: The Object Navigator



                  That executes all the statements of our main program (the last state-
                  ment); the screen displays the results.




                  Figure 2.36 All Program Outputs Are Displayed


                  As you can see, we have twisted the logic of our program by modify-
                  ing the parameters and executing the WRITE statement again. Now it
                  outputs two nicknames instead of one. Ultimately, the example
                  shows the powerful features of the debugger, especially the ability to
                  modify and move the processing arrow deliberately. During debug-
                  ging, you can force the program to behave in ways that would never
                  occur in real operations.

    Transaction   Now let’s make our program available to end users who normally
                  don’t have access to development tools. You would typically create a
                  transaction here: a link that enables starting the program from the
                  command line.

                  Given this history at SAP, the term “transaction” often replaces “pro-
                  gram.” In technical terms, however, a transaction is a link to a pro-
                  gram, as described in the following. To explain the multiple mean-
                  ings of the term thoroughly, Chapter 4 covers database transaction.

                       Select Create   Transaction from the context menu of your
                       package or development class.

                  A dialog appears, in which you can specify additional detailed infor-
                  mation on the transaction and a transaction code that is as short as
                  possible.

                       Enter “ZPTB00_HW” as the transaction and “Hello World and
                       Nickname” as the short text.

                       Define the transaction of type Program and selection screen
                       (report transaction) and confirm it with OK.




                  86
                   First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4




Figure 2.37 Content Menu: Create   Transaction




Figure 2.38 Create Transaction


The tool area then displays additional information that you can spec-
ify.

   Enter “ZPTB00_HELLO_WORLD” as the program.

   Define the GUI Ability as appropriate for HTML, Java, and Win-
   dows; click the Save button or Ctrl+S.



                                                                        87
2   Working with the Development Environment: The Object Navigator



                 As is always the case when you create a new development object,
                 you must specify a transport request that will log your actions.

                      Confirm the usual transport number with OK.

                 The transaction has now been created and we can try it out:

                      Enter the transaction code (preceded by “/n”) in the command line
                      and confirm with Enter.




                 Figure 2.39 Trying Out the New Transaction


                 The program we have written, ZPTB00_HELLO_WORLD, then starts.

                      Use F3 to return to the Object Navigator.

     Area menu   As you can see, it’s quite simple to make a program available to end
                 users. But end users learn a transaction code only for programs they
                 use quite frequently, so let’s make access to the program more user-
                 friendly, and include it in the application menu in SAP Easy Access.
                 The application menu is a large menu tree that consists of individual
                 area menus. The area menus contain topically related applications
                 and organize them into menus and submenus.


                                  Abbildung 2.40


                                                              Area Menus




                                                              Menu Item




                 Figure 2.40 Application Menu of SAP Easy Access Consists of Several Area Menus



                 88
                   First Program: “Hello World” — REPORT, INCLUDE, and Application Menu    2.4


Accordingly, the application menu is really an area menu that’s par-
ticularly large, is connected with many other area menus, and is dis-
played by SAP Easy Access.

Our task here is to create an area menu we can use to store our trans-       Creating an
action and a menu text. We’ll then add it to a specific location in the      area menu

application menu, making it available to all users.

   Select Create Additional Area Menu in the context menu of the
   package or development class.

A dialog appears: you can enter a unique name and short text as a
description.

   Enter “ZPTB00” as the name of the transaction.

   Enter “Training for beginners” and confirm with OK.




Figure 2.41 Creating an Area Menu


A program appears that fills the entire work area.

   Check the entry for Training for beginners.

   Select the Add entry as subnode button or Shift+F7.




Figure 2.42 Editing the Area Menu


A dialog appears: you can make entries for the area menu.

   Enter “Hello World and Nickname” and Transaction code
   “ZPTB00_HW” and confirm with OK.




                                                                       89
2   Working with the Development Environment: The Object Navigator




                 Figure 2.43 Creating a New Menu Entry


                 The main window reappears and we can save the area menu.

                      Click the Save button or Ctrl+S.

                 A dialog appears that requests the name of the package or develop-
                 ment class that will store the area menu.

                      Enter “Z00_PRACTICE_TRAINING_BEGINNER” as the package
                      and save the entry.




                 Figure 2.44 Package That Will Store the Area Menu


                 As always, the last request is for the transport request that will log
                 the changes to this development object.

                      Confirm with OK.



                 90
                  First Program: “Hello World” — REPORT, INCLUDE, and Application Menu    2.4


We have now created a small submenu for our programs and trans-             Adding to the
actions. But we still have not added the submenu to the application         application menu

menu provided by SAP.

  Select the Cancel button until you return to SAP Easy Access.

  Start SAP Menu Tools ABAP Workbench Development Addi-
  tional Tools Area Menus or Transaction SE43N.

A window appears: you can enter the area menu you want to work
with. We want to enhance the SAP application menu that is stored
under the name “S000”.

  Enter the name of SAP application menu “S000” or select it with
  F4 help.

  Select the Display area menu button or F7.

The area menu then appears; you’re already familiar with it from
SAP Easy Access.




Figure 2.45 Selecting Area Menu S000


  Check the entry for SAP R/3 System.

  Select the Display <-> Change button or Ctrl+F1.




                                                                       91
2      Working with the Development Environment: The Object Navigator




                     Figure 2.46 Displaying Area Menu S000


                     A security query appears: enter the editing mode.

                          Click the Enhance button.

    Enhancement ID   A dialog opens. Enter the Enhancement ID that you want to use to
                     store your modification. Put simply, your changes are not made to
                     the original, but in a copy that will later be blended with the original.
                     If you have not yet created an enhancement ID, you must do so now.
                     You can use this ID for all later modifications of the menu.

                          Click the Create Enhancement ID button.

                     Another dialog opens, prompting you to enter a text that describes
                     your enhancement ID.

                          Enter “ZPTB00” as the Enhancement ID, “Enhancement for own
                          area menu” as the Explanatory text, and confirm with Enter.




                     Figure 2.47 Creating an Enhancement ID


                     Your enhancement ID appears under Enhancement ID: Original, and
                     you can now begin the modification.

                          Click Enhancement ID ZPTB00.

                          Select the Select button (magnifying glass).

                     You are now in editing mode for the menu and you want to insert
                     your area menu into the second level.




                     92
                   First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4




Figure 2.48 Selecting the Enhancement ID Originals


   Click the uppermost entry in the list (usually SAP R/3 System).

   Select Insert as subnode from the context menu.




Figure 2.49 Inserting the Area Menu One Level Deeper




                                                                        93
2   Working with the Development Environment: The Object Navigator



                 In the next dialog, you can enter your menu entries directly or add
                 them to an area menu. We’ve already created an area menu, so let’s
                 use it here.

                      Enter “Practice Training Beginner” as the text.

                      Check the checkbox to identify your entry as an area menu.

                      In the Transaction code/menu column, press the F4 key to select
                      your area menu easily.




                 Figure 2.50 Creating New Entries


                 Your area menu appears at the bottom of the suggested values.

                      Check area menu ZPTB00 and press the OK button to include your
                      area menu as an input field.

                      Click the OK button again to place your area menu in the applica-
                      tion menu.

                      Click the Save button to save your changes.

                 The familiar dialog that asks for the transport request appears.

                      Confirm with Enter to use the suggested request.


                 94
                  First Program: “Hello World” — REPORT, INCLUDE, and Application Menu   2.4




Figure 2.51 Saving Menu Changes


Now let’s see what our enhancement actually looks like: we’ll go
back to display mode.

  Click the Display <-> Change button to switch to display mode.

The application menu has now been enhanced with our area menu
and contains the new transaction for our “Hello World” program.

  Quit the application by clicking the Cancel button until you return
  to SAP Easy Access.




Figure 2.52 Application Menu with New Area Menu and Transaction


In SAP Easy Access, you’ll see that your changes are not (yet) dis-
played. You have to restart the menu to see your changes.

  Click the SAP Menu button.

The complete menu is reloaded. As desired, your enhancement
appears as the first submenu.




                                                                       95
2   Working with the Development Environment: The Object Navigator




                 Figure 2.53 Application Menu Before the Update




                 Figure 2.54 Application Menu After the Update




                 96
                               Online Help, help.sap.com, service.sap.com, and SAP Notes   2.5


2.5      Online Help, help.sap.com, service.sap.com,
         and SAP Notes
Help and support are your primary needs when learning a new pro-
gramming language. Doing everything yourself and making sense of
it all requires a great deal of time. That’s the reason behind this book,
and SAP offers a variety of other information.

In addition to traditional training and support from consultants, SAP         Basics
and its partners offer a large number of sources of electronic infor-
mation to different target groups. This chapter introduces some of
the most important sources of information.

  Online help
  These days, almost every application offers online help and SAP
  applications are no exception. Note the distinction between
  online help for various applications (Object Navigator, reuse
  library, etc.) and online help for ABAP itself, along with its state-
  ments (WRITE, PARAMETER, etc.) and development objects (programs,
  tables, etc.). Local installation of the web-based knowledge ware-
  house from SAP covers the first kind of online help; the database
  manages documentation on ABAP key words.
  SAP Help Portal (help.sap.com)
  This information source is designed for SAP users and developers.
  It is available to all free of charge over the Internet, and is compa-
  rable with the help portals of other manufacturers, such as
  MSDN.microsoft.com. In addition to online help for various
  releases of SAP software, it contains comprehensive, cross-applica-
  tion documentation on all development and administrative tools,
  ABAP statements, and ABAP development objects.
  SAP Service Marketplace (service.sap.com)
  This information source is primarily intended for SAP administrators
  and consultants. It's accessible to SAP customers and partners on the
  Internet. In addition to technical installation and configuration
  guidelines, it offers lists of business functions, business scenarios,
  and descriptions of best practices for individual SAP applications.
  SAP Notes
  SAP calls its replies to support questions from customers and part-
  ners "SAP Notes." The term applies to questions that might well
  have general interest. The replies are made anonymously and are
  understandable to a general audience before being given a unique

                                                                        97
2   Working with the Development Environment: The Object Navigator



                       number, categorized by applications, and published. This channel
                       provides tips, solutions to problems, and even patches.

                   Exercise 2.3
                   Use the online help on the ABAP editor to display information on the use
                   of the ABAP key word REPORT.
                   Surf to the SAP Help Portal at help.sap.com, and read the information on
                   executing a report.
                   Surf to SAP Service Marketplace at service.sap.com, and download the
                   most recent problem reports and patches on activating data elements.


    Online help   Let’s start with online help, which you can call with F1 from every
                  program. Regardless of a focus on an input field, tab, or window,
                  online help displays specialized help for applications and parts of
                  applications. Here’s a brief example:

                       Place the cursor on the key word REPORT in the source code of your
                       program and press F1 to call online help for this command.

                  A new window, ABAP Keyword Documentation, is displayed. It
                  explains the REPORT command in a variety of forms. The left side dis-
                  plays the navigation tree: a list of individual documentation that is
                  organized by topic.




                  Figure 2.55 Online Help for Key Word REPORT



                  98
                               Online Help, help.sap.com, service.sap.com, and SAP Notes    2.5


We’re also interested in documentation on the key word PROGRAM;
we’re already familiar with it from other programming languages as
the introduction to a source code.

  Double-click the key word PROGRAM in the navigation tree of online
  help.

The description on the right side changes and explains that the
PROGRAM command is a synonym for the REPORT command.

Let’s take a closer look at the SAP Help Portal that supplies program-        SAP Help Portal
mers with information on ABAP development. As an example, we’ll
look for information on reports.

  Start your browser and enter “help.sap.com” as the URL.

  Click SAP NetWeaver in the navigation bar on the left side. If
  you’re working with SAP Application Server 4.6, you must click
  SAP R/3 and R/3 Enterprise instead.




Figure 2.56 Online Help for Key Word PROGRAM


  A list of all available releases is displayed. Select the latest release
  that you use (SAP Web Application Server or SAP R/3 4.6C). The
  right side of the help screen lets you select help for the latest sup-
  port package (including all previous support packages for the
  release) and an entire help offering.


                                                                        99
2   Working with the Development Environment: The Object Navigator



                    Click your preferred language from the entire help offering (see
                    Figure 2.57).




                 Figure 2.57 SAP Help Portal


                 The knowledge warehouse from SAP appears. It displays the entire
                 subject area on the left side and the contents on the right side. You
                 can scroll by topic title or use the full-text search.

                    Click Search in the menu.




                 Figure 2.58 Full-Text Search in the SAP Library




                 100
                                    Online Help, help.sap.com, service.sap.com, and SAP Notes   2.5


   Enter “execute report” as the search string. Select AND as the
   search mode. Check to ensure that the additional arguments are
   set to include SAP NetWeaver, SAP Web Application Server 6.20
   as the application, and your preferred language. Confirm your
   selection with the Search button.

The screen then displays a hit list based on the search string.

   Click Execute Report in the hit list.




Figure 2.59 Hit List for “Execute Report”




Figure 2.60 Help on “Executing a Report”


                                                                            101
2   Working with the Development Environment: The Object Navigator



                  The help document on “Executing a Report” is displayed.

                  The help portal is preferable even when the information (such as
                  help for an ABAP statement) you are looking for is available in online
                  help. That’s because of the high-performance search engine that dis-
                  plays a list of results in a few seconds, offering you quick access to
                  the information.

    SAP Service   You can visit SAP Service Marketplace from the help menu of every
    Marketplace   SAP application and over a web browser. Let’s look at a few pages
                  from the comprehensive help portal as examples.

                     Select Help SAP Service Marketplace or open service.sap.com in
                     your web browser.

                  The home page of SAP Service Marketplace appears. Your SAP
                  administrator can supply you with the information you need to log
                  on.

                     Click the Login Now button and log on.




                  Figure 2.61 SAP Service Marketplace: Logon Page


                  After you have logged on, you reach the home page of SAP Service
                  Marketplace. Here you’ll find very interesting “solutions in detail”
                  and information on consulting, training, and support.

                     Click Support in the menu.




                  102
                                  Online Help, help.sap.com, service.sap.com, and SAP Notes   2.5


This area is by far the most comprehensive part of SAP Service Mar-
ketplace. The right side has a menu area from which you can control
all further information on the support site.

SAP Notes are by far the most important element for administrators               SAP Notes
and developers. You can call them via the Search for SAP Notes link
on SAP Service Marketplace. As a practical example, we’ll look for
SAP Notes on activating development objects.

   Click the Search for SAP Notes link.




Figure 2.62 Support Page of SAP Service Marketplace


A search screen appears: you can search for SAP Notes on a specific
application directly by entering key words and numbers or by enter-
ing a topic.

   Click the magnifying glass icon next to Topic.

A selection dialog appears. It displays all SAP applications in a hier-
archical list. We’ll search for SAP notes on activating development
objects.

   Navigate to the application components in the tree and click BC-
   DWB-DIC-AC.




                                                                          103
2   Working with the Development Environment: The Object Navigator




                 Figure 2.63 Searching for SAP Notes




                 Figure 2.64 Selecting Application Components


                 The selection dialog closes and your entry is copied to the search
                 screen.

                    Click the Search button.




                 104
                                  Online Help, help.sap.com, service.sap.com, and SAP Notes   2.5


A hit list is displayed with all matches for the selected application
component.

   Navigate through the hit list and click the SAP Note you were
   looking for: Error during background activation of data ele-
   ments.

The SAP Note is displayed.




Figure 2.65 Selected SAP Notes on the Background Activation of Data Elements




                                                                           105
Index

1:1 relation 208                         B
3GL language 107
4GL language 107                         Back end 24, 25, 27
                                         Backward navigation 49
                                         BAdI 31
A                                        BAPI 31, 463
                                         BEGIN OF 141
ABAP 17, 21, 109, 463                    BEGIN OF BLOCK 228
ABAP debugger 81                         BEGIN OF SCREEN 228
ABAP Dictionary 463                      BETWEEN, comparison operator 172
ABAP Editor 50, 79                       Boolean data type 124
ABAP Objects 13, 23, 320                 Branching instruction 170
ABAP runtime environment 23, 463         Browser area 56
ABAP workbench 28, 56, 58, 463           Business module 21
ABAP/4 22                                Business process 463
Adapter 463                              Business scenario 463
Advanced Business Application Program-   Business server pages 56, 463
  ming 463
ALV 233
Ancestor 352                             C
AND, boolean operator 177
ANY TABLE 145                            c, data type 120
any, data type 138                       CA, comparison operator 173
API 463                                  Call by Reference 157
API layer 399                            Call by Value 157
APPEND 145                               CALL METHOD 329
Application 463                          CALL SCREEN 264
Application base 17                      CALL SELECTION-SCREEN 230
Application menu                         CALL SUBSCREEN 264
  adding 89                              CASE ... WHEN 177
Application Programming Interface 463    Casting 119
Application toolbar 260                  CHAIN ... ENDCHAIN 262
Area menu 88                             CHANGING 156
  create 89                              Changing parameter 155
Array 107                                Character 120
AS CHECKBOX 119                          Check list for programmers 29
Assignment 111                           Checkman checks 461
Attribute 324                            Child class 352
Authentication 35                        CLASS 323
Avoiding redundancy 151                  Class attribute 331
                                         Class definition 324
                                         Class hierarchy 352
                                         Class implementation 326
                                         CLASS_CONSTRUCTOR 330




                                                                         469
Index



CLASS-DATA 331                      Deep structure 141
CLASS-EVENTS 372                    DEFINITION 325
CLASS-METHODS 331                   DELETE 143, 147, 213
Client 21, 29, 36, 464              Derived class 352
CLOSE CURSOR 214                    Descendent 352
CN, comparison operator 173         DESCRIBE FIELD 332
CO, comparison operator 173         Descriptive properties 195
COLLECT 146                         DESTINATION 154
Command line 40                     Developer key 25, 26, 27
Comment 30                          Development class 63
Comment language 30                   create 69
Component 464                       Development language 30
Component information 46            Development object 52
Constant 118                        Development system 29
Constraint 195                      Dictionary data type 193
CONSTRUCTOR 330                       built-in 194
CONTINUE 183, 184                     selecting 194
Control example 56                  Directory 464
CONTROLS 268                        DNS address 35
Counting loop 183                   DO ... ENDDO 183
CP, comparison operator 174         Domain 195
CREATE DATA 117, 125                  create 216, 272
CREATE OBJECT 323, 328              Drag&drop 32
CS, comparison operator 174         DUPLICATES 147
                                    Dynamic data 117, 125
                                    Dynpro 258, 464
D                                   Dynpro flow logic 109

d, data type 123
Data 117, 324                       E
Data Dictionary 463
Data element 192                    END OF 141, 228
   create 199, 216, 274             END OF BLOCK 228
   define 195                       ENDFORM 152
   edit documentation 200           ENDING AT 231
   in tables 208                    Engine 464
Data instances 322                  Enhancement ID 92
Data transfer 210                   EnjoySAP 233
Data type 120                       EQ, comparison operator 171
Database design 192                 ERP 21
Database table 208                  Event 370, 371
   fields 208                         declaring 372
DB layer 400                        EXCEPTIONS 156
DDIC 463                            EXIT 183, 184
Debugging 52, 81                    EXPORTING 155, 156, 326
Decentralized build 53              Extended program check 461
Declaration 117
Declarative programming model 107




470
                                                                      Index



F                                      GUI title
                                        create 288
f, data type 122                       GUIDs 17
F1 help 57
F4 help 60
FETCH 214                              H
FIELD 262
FIELD-SYMBOLS 119                      Handler class 373
Financials 13                          Handler method 372
Flat structure 141                       declaring 373
Floating point number 122              Hardware 25, 27
Font convention 16                     Hash Algorithm 144
Foreign key 207                        HASHED TABLE 144
FORM 152                               help.sap.com 97, 99
Forward navigation 49                  Hexadecimal 122
Framework 352                          Hierarchical database 20
Front end 24, 26, 27
Front-end integration 33
FUNCTION 153                           I
Function 151, 324
Function group 153                     i, data type 121
   create 284                          IF ... ELSE 177
Function module 153                    IMPLEMENTATION 327
   create 285                          IMPORTING 155, 156, 326
                                       IN 229
                                       INCLUDE 74, 152
G                                      INDEX TABLE 145
                                       Inheritance 352
Garbage collector 125, 327             INHERITING FROM 353
GE, comparison operator 172            Input elements 118
GET 110                                Input interfaces, simple 227
GET CURSOR 110, 268                    Input parameter 155
GET PF-STATUS 265                      INSERT 143, 145, 211
GET PROPERTY OF 110                    Instance constructor 329
GET REFERENCE OF 110, 117              Integer 121
GET TIME 110                           Interface 31, 154
Global class                           Interface element
  create 342, 363                         create 292
  declaring an event 383               Interface parameter 151, 154
  defining a method 342                Internal table 139, 143
  defining attributes 346, 364         Internal table types 143
  defining event-handler methods 385      generic 145
  redefining the method 364            Internet standards 465
Global table types 224, 340            Internet technology 17
Glue-Logic 370                         IS ASSIGNED, comparison operator 175
GT, comparison operator 171            IS BOUND, comparison operator 175
GUI 464                                IS INITIAL, comparison operator 176
GUI status 236, 237, 260               IS REQUESTED, comparison operator
  create 289                              176
                                       IS SUPPLIED, comparison operator 176


                                                                       471
Index



J                                        Menu bar 260
                                         Menu entry
J2EE 465                                  creating 90
Java 17                                  Menu system 39
Java 2 Platform Enterprise Edition 465   MESSAGE 231
Just-In-Time Compiler 50                 Message
                                          create 241
                                          define 286
K                                         output 231
                                         Message class 232
Key 207                                   create 241, 286
Knowledge warehouse 100                  Message server 35
                                         Metadata 124, 196
                                         METHOD 321, 331
L                                        Method 323
                                          defining transfer parameters 344
Layer model 399                          Method pointer concept 371
LE, comparison operator 171              Method redefinition 354
LEAVE SCREEN 270                         METHODS 324, 373
Library 352                              Microsoft 19
License renewal 27                       Microsoft .NET 465
List 72                                  MM 13
List heading 127                         MODIFY 143, 147, 213
List of functions 395                    MODIFY SCREEN 267
Listener concept 371                     Modularization 151
Local Class 332                          MODULE 261
Local language 196                       Module pool 73
Logical expression 170                   MOVE 111
Logon 31                                 MOVE-CORRESPONDING 142
Logon transaction 35
LOOP 146
LOOP ... ENDLOOP 263                     N
LOOP AT SCREEN 266
LT, comparison operator 171              n : 1 relation 207
                                         n : m relation 208
                                         n, data type 121
M                                        NA, comparison operator 173
                                         Name conflict 67
Main memory 116                          Namespace 30, 66
Main package 64                             customer 453
MAPI layer 399                           Naming convention
Mapping 194                                 constants 455
Mass data 139                               DDIC data types 456
Massachusetts Institute of Technology       error messages 459
 (MIT) 319                                  function groups 457
Master data check 195                       function modules 457
Materials management 13                     general 452
MDI window 32                               message classes 458




472
                                                                  Index



  messages 459                    P
  modules 459
  program-local data types 455    p, data type 122
  screens 460                     Package 63
  subprograms 458                 Packed 122
  variables and parameters 453    PARAMETERS 80, 110, 118, 227, 230
  warnings 459                    Parent class 352
Native SQL 214, 465               passed data 154
NE, comparison operator 172       passed parameter 154
Nested structure 141              passed variable 154
NON-UNIQUE KEY 144                Password 37
NOT, boolean operator 177         PERFORM 152
Notation rule 109                 Performance example 57
NP, comparison operator 174       Polymorphism 351, 354
NS, comparison operator 174       Pretty Printer 79
Numeric 121                       PRIVATE SECTION 324
                                  Procedural programming 151, 320
                                  Procedure 151
O                                 PROCESS 261
                                  PROCESS AFTER INPUT 261
OBJ layer 399                     PROCESS BEFORE OUTPUT 261
Object 319, 322                   PROCESS ON HELP-REQUEST 261
Object creation 328               PROCESS ON VALUE-REQUEST 261
Object dereferencing 328          Production system 29
Object instance 322               Program 72
Object list area 56                  copying 134
Object navigator 51                  create 76
  browser area 56                 Program check 461
  getting started 54              Programming guideline 31, 451
  object list area 56             Property 326
  tool area 56                    PROTECTED SECTION 324
Object orientation 319            PUBLIC SECTION 324
Object type 322                   Publish and subscribe 371
Object-oriented Programming 320
OBLIGATORY 119
Offset 111                        R
Online help 97, 98
OPEN CURSOR 214                   RAD tools 370
Open SQL 210, 465                 RAISE EVENT 375
Operator 170                      RAISING 152, 156
OR, boolean operator 177          RAM 116
Oracle 19                         Rapid application development 370
Original class 352                READ 143, 146
Original language 30              Record 140, 206
Output parameter 155              REDEFINITION 331, 354
                                    class constructors 355
                                    Instance constructors 354
                                    methods 354




                                                                      473
Index



REF TO 119                             hardware 24
REF TO OBJECT 328                      Linux 25
Reference variable 117, 125            Windows 26
REFRESH CONTROL 269                  Save 40
Relational database design 207       Screen 260
Relational Type 208                    components 259
Release 465                            creating 290
Remote Function Call 465             Screen flow logic 259, 261, 302, 305
REPORT 83                            Screen painter 24
Repository 466                       SELECT 210
Return value 111                     Selection list 397
RETURNING 326                        Selection text 127
REUSE_ALV_GRID_DISPLAY 234             editing 202
REUSE_ALV_GRID_LAYOUT_INFO_rGE       SELECTION-SCREEN 227
  T 234                              SELECTION-SCREEN COMMENT 228
REUSE_ALV_GRID_LAYOUT_INFO_rSET      SELECTION-SCREEN PUSHBUTTON
  235                                  228
RFC 465                              SELECTION-SCREEN ULINE 228
RTTI 332                             SELECT-OPTIONS 228
Runtime analysis, SE80 461           Server cluster 35
Runtime type identification 332      service.sap.com 97, 102
                                     Session 41
                                       new 48
S                                    SET 111
                                     SET CURSOR 267
SAP access                           SET EXTENDED CHECK ON/OFF 111
  setup 23                           SET HANDLER 374
SAP Basis 20                         SET HOLD DATA 269
SAP Customer Relationship Manage-    SET PARAMETER 111
  ment 13                            SET PF-STATUS 265
SAP Easy Access 38, 466              SET SCREEN 265
SAP GUI 35, 466                      SET TITLEBAR 266
SAP GUI for Java 26                  Signature 154
SAP Help Portal 97, 99               Single server 35
SAP Library 100                      Single Sign-On 37, 466
SAP List Viewer 225, 233             SORTED TABLE 144
SAP Menu Painter 259                 Specification 394
SAP NetWeaver 22                     Stack list 82
SAP NetWeaver Application Server     Standard business software 13
  17, 21                             STANDARD TABLE 144
SAP NetWeaver Exchange Infrastruc-   Standard toolbar 39, 260
  ture 397                           STARTING AT 230
SAP Notes 97, 103                    Starting program 47
SAP Screen Painter 259               Static attribute 330
SAP Service Marketplace 97, 102      Static constructor 330
SAP Supply Chain Management 13       Static method 330
SAP System 466                       Static variable 117
SAP system                           Status bar 260
  back end 24                        Status line 41
  front end 24                       Stop transaction 39


474
                                                                Index



string, data type 124            Transport organizer 62
Structure 139, 140               Transport organizer tool 67
   create 282                    Transport request 70
Structure package 64             Transport system 54
Subprogram 151                   TRANSPORTING 147
subprogram return code 111       TYPE 117
SUPPRESS DIALOG 270              Type casting 334
SY 111                           Type checking 196
sy-dbcnt 112                     TYPE REF TO 118
sy-host 112                      Type safety 196
sy-index 112, 184                TYPES 141
System command 110
System field 111
System information 41            U
System requirements 16
System setup 31                  Unicode 17
System status 45                 UNIQUE KEY 144
sy-subrc 111, 156                UPDATE 212
sy-tabix 112                     Usage explanation 193
sy-uname 111                     User name 37
                                 USING 155


T
                                 V
t, data type 123
Table                            VALUE 117, 326
   create 216, 277               Value help 60
Table control 263                Variable 117
Table Control Wizard 295         Visibility 324
Table key 144
TABLE OF 143
Table type                       W
   create 281
Table view 263                   Web Dynpro 33, 109, 226, 466
TABLES 156                       Web service 466
Technical name 43                WHERE 211
Technical property 195           WHILE ... ENDWHILE 184
Test system 29                   Workplace computer 21
Text element 126                 WRITE 78, 110
Text symbol 127
   creating 286
TIME ZONE 116                    X
Title bar 260
Tool area 56                     x, data type 122
Transaction 43, 60, 86           xstring, data type 124
   create 87
Transformation layer 398
Transport management system 62




                                                                 475
Index



Z                                 ZPTB00_PRODUCT_ENHANCER 355
                                  ZPTB00_PRODUCT_ENHANCER_GL
ZPTB00_BUSINESS_TRANSACTION 271     363
ZPTB00_HELLO_WORLD 75             ZPTB00_PRODUCT_EVENT 375
ZPTB00_HOTEL_RESERVATION 215      ZPTB00_PRODUCT_EVENT_GL 383
ZPTB00_HOTEL_RESERVATION_COOL     ZPTB00_PROVISION_CALCULATOR
  236                               179
ZPTB00_INTERNAL_TABLE_JUGGLER     ZPTB00_ROOM_CHECKER 197
  147                             ZPTB00_SALES_ORDER 127
ZPTB00_PERFORMANCE_TESTER 158     ZPTB00_SALES_ORDER_DYNAMIC 133
ZPTB00_PRODUCT_CONFIGURATOR       ZPTB00_SAVINGS_CALCULATOR 185
  335                             ZPTB00_SYSTEM_INFORMATION 112
ZPTB00_PRODUCT_CONFIGURATOR_
  GLOBAL 340




476

								
To top