53
Bonn Boston Puneet Asthana and David Haslam SAP ® Certified Development Associate— ABAP ® with SAP NetWeaver ® 7.02

Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Embed Size (px)

Citation preview

Page 1: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Bonn � Boston

Puneet Asthana and David Haslam

SAP® Certified Development Associate— ABAP® with SAP NetWeaver® 7.02

Page 2: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents at a Glance

PART I General Introduction

1 ABAP Development Certification Track—Overview ..................... 27

2 Courses and Experience .............................................................. 39

PART II Exam Preparation

3 SAP NetWeaver—Overview ........................................................ 49

4 ABAP Workbench Usage ............................................................. 75

5 ABAP Debugger Program Usage .................................................. 109

6 ABAP Types and Data Objects .................................................... 143

7 Internal Table Definition and Use ............................................... 169

8 SQL Statements Including Update Strategies ............................... 205

9 Basic ABAP Programs and Interface Creation .............................. 241

10 ABAP Dictionary ......................................................................... 295

11 Unicode ..................................................................................... 337

12 Classical Screens ......................................................................... 359

13 Selection Screens ........................................................................ 407

14 ABAP Object-Oriented Programming .......................................... 433

15 ALV Grid Control ........................................................................ 471

16 User Interfaces (Web Dynpro) .................................................... 505

17 Class Identification Analysis and Design ...................................... 533

18 Enhancements and Modifications ............................................... 559

19 Table Relationships ..................................................................... 601

Page 3: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

7

Contents

Preface .......................................................................................................... 15Acknowledgments ......................................................................................... 23

PART I: General Introduction

1 ABAP Development Certification Track—Overview ................. 27

Certification Exam Scoring Changes ............................................................... 28Certification Levels .................................................................................... 29Advanced Certification Levels ................................................................... 31

Becoming an SAP Certified ABAP Development Associate—Overview ........... 32Associate Examination Specifics ................................................................ 32Competency Areas .................................................................................... 33

Becoming an SAP Certified ABAP Development Professional—Overview ....... 35Professional Examination Specifics ............................................................ 36Competency Areas .................................................................................... 36

Summary ....................................................................................................... 37

2 Courses and Experience ............................................................ 39

Training Courses for ABAP ............................................................................. 40Sources of Information .................................................................................. 41Strategic Understanding ................................................................................ 43SAP Examination Strategies ........................................................................... 44General Examination Strategies ..................................................................... 46Summary ....................................................................................................... 46

PART II: Exam Preparation

3 SAP NetWeaver—Overview ..................................................... 49

Objectives of this Portion of the Test ............................................................ 50Key Concepts Refresher ................................................................................. 50

SAP Products in a Nutshell ........................................................................ 51Product Evolution ..................................................................................... 52SAP NetWeaver Architecture .................................................................... 56Kernel and Administration Services ........................................................... 58

Page 4: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents8

Software-Oriented View ............................................................................ 59User-Oriented View .................................................................................. 61Structure of a Work Process ...................................................................... 63

Important Terminology .................................................................................. 67Practice Questions ......................................................................................... 68Practice Question Answers and Explanations ................................................. 70Take Away ..................................................................................................... 71

Refresher ................................................................................................... 72Tips ........................................................................................................... 73

Summary ....................................................................................................... 73

4 ABAP Workbench Usage ........................................................... 75

Objectives of this Portion of the Test ............................................................. 76Key Concepts Refresher ................................................................................. 77

ABAP Workbench ...................................................................................... 77Repository Browser ................................................................................... 81Repository Information System .................................................................. 83Workbench Settings .................................................................................. 85New ABAP Editor and Workbench Settings ............................................... 86ABAP Workbench Tools in Detail .............................................................. 90Enhancement Information System ............................................................. 92Packages and Their Attributes ................................................................... 95Transport Organizer ................................................................................... 98

Practice Questions ......................................................................................... 101Practice Question Answers and Explanations ................................................. 104Take Away ..................................................................................................... 106

Refresher ................................................................................................... 107Summary ....................................................................................................... 107

5 ABAP Debugger Program Usage ............................................... 109

Objectives of this Portion of the Test ............................................................. 111Key Concepts Refresher ................................................................................. 111

New and Classic Debugger ........................................................................ 112New Debugger Tools and UI ..................................................................... 116Assertions and Breakpoints ........................................................................ 125New Debugger Customization and Settings ............................................... 127

Important Terminology .................................................................................. 133Practice Questions ......................................................................................... 134

Page 5: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents 9

Practice Question Answers and Explanations ................................................. 137Take Away .................................................................................................... 139

Refresher .................................................................................................. 140Tips ........................................................................................................... 140

Summary ....................................................................................................... 141

6 ABAP Types and Data Objects ................................................. 143

Objectives of this Portion of the Test ............................................................ 145Key Concepts Refresher ................................................................................. 145

ABAP Types and Data Objects .................................................................. 145ABAP Data Types ...................................................................................... 152Local Data Types ....................................................................................... 156Global Data Types ..................................................................................... 158Data Object Visibility ................................................................................ 160

Important Terminology ................................................................................. 161Practice Questions ........................................................................................ 162Practice Question Answers and Explanations ................................................. 165Take Away .................................................................................................... 166

Refresher .................................................................................................. 167Summary ....................................................................................................... 167

7 Internal Table Definition and Use ............................................ 169

Objectives of this Portion of the Test ............................................................ 170Key Concepts Refresher ................................................................................. 171

Internal Table Definition and Use .............................................................. 171Defining ABAP Internal Tables .................................................................. 176Using ABAP Internal Tables ....................................................................... 184

Important Terminology ................................................................................. 197Practice Questions ........................................................................................ 198Practice Question Answers and Explanations ................................................. 201Take Away .................................................................................................... 203

Refresher .................................................................................................. 203Summary ....................................................................................................... 204

8 SQL Statements Including Update Strategies ......................... 205

Objectives of this Portion of the Test ............................................................ 207Key Concepts Refresher ................................................................................. 207

Page 6: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents10

Data Modeling .......................................................................................... 207Data Retrieval ........................................................................................... 210Performance of Database Access ............................................................... 213Logical Units of Work ................................................................................ 217Enqueue and Dequeue .............................................................................. 219Inline Updates ........................................................................................... 224Perform on Commit ................................................................................... 224Update Modules ....................................................................................... 225

Practice Questions ......................................................................................... 231Practice Question Answers and Explanations ................................................. 235Take Away ..................................................................................................... 238

Refresher ................................................................................................... 239Tips ........................................................................................................... 239

Summary ....................................................................................................... 240

9 Basic ABAP Programs and Interface Creation .......................... 241

Objectives of this Portion of the Test ............................................................. 243Key Concepts Refresher ................................................................................. 243

Organizing Development ........................................................................... 244ABAP Programming Overview ................................................................... 245ABAP Event Blocks .................................................................................... 252Basic ABAP Statements .............................................................................. 256ABAP Subroutine ....................................................................................... 260ABAP Function Module ............................................................................. 261ABAP Classes and Methods ....................................................................... 265ABAP Selection Screen .............................................................................. 268Authorization Checks ................................................................................ 271ABAP Dynpros .......................................................................................... 273Dialog Messages ........................................................................................ 275

Important Terminology .................................................................................. 281Practice Questions ......................................................................................... 283Practice Question Answers and Explanations ................................................. 288Take Away ..................................................................................................... 291

Refresher ................................................................................................... 292Tips ........................................................................................................... 293

Summary ....................................................................................................... 293

Page 7: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents 11

10 ABAP Dictionary ....................................................................... 295

Objectives of this Portion of the Test ............................................................ 296Key Concepts Refresher ................................................................................. 297

Overview .................................................................................................. 297Basic and Complex Data Types .................................................................. 299Transparent Tables .................................................................................... 313Search Helps ............................................................................................. 319Append Search Helps ................................................................................ 323Lock Objects ............................................................................................. 323View Types and Maintenance ................................................................... 326

Important Terminology ................................................................................. 329Practice Questions ........................................................................................ 329Practice Question Answers and Explanations ................................................. 333Take Away .................................................................................................... 334

Refresher .................................................................................................. 335Summary ....................................................................................................... 336

11 Unicode ..................................................................................... 337

Objectives of this Portion of the Test ............................................................ 339Key Concepts Refresher ................................................................................. 339

Unicode Compliance ................................................................................. 340Unicode Tools ........................................................................................... 341

Important Terminology ................................................................................. 352Practice Questions ........................................................................................ 352Practice Question Answers and Explanations ................................................. 355Take Away .................................................................................................... 356

Refresher .................................................................................................. 356Tips ........................................................................................................... 357

Summary ....................................................................................................... 357

12 Classical Screens ....................................................................... 359

Objectives of this Portion of the Test ............................................................ 361Key Concepts Refresher ................................................................................. 361

Screen Design ........................................................................................... 362GUI Status and Title Design ...................................................................... 382Table Control Programming ...................................................................... 391

Important Terminology ................................................................................. 400

Page 8: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents12

Practice Questions ......................................................................................... 400Practice Question Answers and Explanations ................................................. 403Take Away ..................................................................................................... 405

Refresher ................................................................................................... 405Summary ....................................................................................................... 406

13 Selection Screens ...................................................................... 407

Objectives of this Portion of the Test ............................................................. 408Key Concepts Refresher ................................................................................. 409

Selection Screens ....................................................................................... 409Selection Screen Design ............................................................................ 409

Important Terminology .................................................................................. 426Practice Questions ......................................................................................... 427Practice Question Answers and Explanations ................................................. 429Take Away ..................................................................................................... 430

Refresher ................................................................................................... 431Summary ....................................................................................................... 431

14 ABAP Object-Oriented Programming ....................................... 433

Objectives of this Portion of the Test ............................................................. 435Key Concepts Refresher ................................................................................. 435

Object-Oriented Programming Concepts ................................................... 435ABAP Objects ............................................................................................ 437ABAP Class ................................................................................................ 437Objects ..................................................................................................... 446Attributes .................................................................................................. 446Methods ................................................................................................... 449Events ....................................................................................................... 459

Practice Questions ......................................................................................... 464Practice Question Answers and Explanations ................................................. 466Take Away ..................................................................................................... 469

Refresher ................................................................................................... 469Summary ....................................................................................................... 470

15 ALV Grid Control ....................................................................... 471

Objectives of this Portion of the Test ............................................................. 472Key Concepts Refresher ................................................................................. 473

Overview of ALV Programming ................................................................. 474

Page 9: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents 13

ALV Grid Programming (CL_GUI_ALV_GRID) ............................................ 474ALV Object Model .................................................................................... 485

Important Terminology ................................................................................. 496Practice Questions ........................................................................................ 498Practice Question Answers and Explanations ................................................. 501Take Away .................................................................................................... 502

Refresher .................................................................................................. 503Tips ........................................................................................................... 503

Summary ....................................................................................................... 504

16 User Interfaces (Web Dynpro) .................................................. 505

Objectives of this Portion of the Test ............................................................ 506Key Concepts Refresher ................................................................................. 507

Web Dynpro Design ................................................................................. 507Controllers ................................................................................................ 513Contexts ................................................................................................... 515Events ....................................................................................................... 515Web Dynpro Application .......................................................................... 516Graphical Elements ................................................................................... 517

Important Terminology ................................................................................. 523Practice Questions ........................................................................................ 525Practice Question Answers and Explanations ................................................. 528Take Away .................................................................................................... 530

Refresher .................................................................................................. 530Tips ........................................................................................................... 530

Summary ....................................................................................................... 531

17 Class Identification Analysis and Design ................................. 533

Objectives of this Portion of the Test ............................................................ 534Key Concepts Refresher ................................................................................. 535

Functional Methods .................................................................................. 535Inheritance ............................................................................................... 540Interfaces .................................................................................................. 546Class Identification .................................................................................... 549

Important Terminology ................................................................................. 551Practice Questions ........................................................................................ 552Practice Question Answers and Explanations ................................................. 556Take Away .................................................................................................... 557

Page 10: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Contents14

Refresher ................................................................................................... 558Tips ........................................................................................................... 558

Summary ....................................................................................................... 558

18 Enhancements and Modifications ............................................ 559

Objectives of this Portion of the Test ............................................................. 560Key Concepts Refresher ................................................................................. 561

Enhancing SAP Applications ...................................................................... 561Enhancement Techniques .......................................................................... 562Enhancement Framework .......................................................................... 588Modification ............................................................................................. 591

Practice Questions ......................................................................................... 593Practice Question Answers and Explanations ................................................. 596Take Away ..................................................................................................... 598

Refresher ................................................................................................... 599Summary ....................................................................................................... 600

19 Table Relationships ................................................................... 601

Objectives of this Portion of the Test ............................................................. 602Key Concepts Refresher ................................................................................. 603

Table Relationships ................................................................................... 603Value Help ................................................................................................ 611

Practice Questions ......................................................................................... 616Practice Question Answers and Explanations ................................................. 619Take Away ..................................................................................................... 621

Refresher ................................................................................................... 621Tips ........................................................................................................... 622

Summary ....................................................................................................... 622

The Authors .................................................................................................... 623Index .............................................................................................................. 625

Page 11: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

ABAP Debugger Program Usage

Techniques You’ll Master:

� Examine the runtime behavior of ABAP programs using the ABAP Debugger

� Use the ABAP Debugger to systematically test ABAP programs

� Plan correctness of your ABAP programs

� Use watchpoints, breakpoints, assertions, and checkpoint groups effectively

� Understand the design differences between the two versions of the Debugger

Page 12: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage110

A debugger is typically a major component of every development environment.During the development of applications, either simple or complex, the Debuggeris a valuable tool in detecting and analyzing error situations. You need to befamiliar with the functional scope of the ABAP Debugger, and this chapter coversthe most important concepts of this very useful tool. It is a tool used duringdevelopment, during testing, and when attempting to analyze problems in theproduction system.

We will cover the primary differences between the old “classic” Debugger thathas existed since SAP R/3 and the new Debugger, first available in a limited formin version 6.40 and then completely in SAP NetWeaver 7.0. We will also covera number of the tools available in the new Debugger and the user interface. Alsocovered will be customizing the Debugger to meet your needs and preferences,assertions, watchpoints, and breakpoints. Each of these topics will be coveredseparately, and they will be followed by practice questions and answers.

Real-World Scenario

A report currently in use in production does not produce correct results.This program was developed by a programmer who is no longer with thecompany, and there is no documentation.

Sometimes an error message is produced in production that cannot bereproduced in any of the other systems in the landscape, and no one is surewhat is causing the message. You have been told to identify why the mes-sage is being produced and to correct the report.

After examining the program in the ABAP Editor, you are still unable todetermine the cause of the problem. The report does a number of dynamiccalls based on values read from database tables and performs some routinesbased on the user’s authorization checks.

The solution to quickly identifying what the program is doing is to use theABAP Debugger in the production system. To identify where the error mes-sage is being produced, you create breakpoints on the statement MESSAGE.Once the message statement that is producing the unknown error is iden-tified, the cause of the error can be easily deduced. It is also possible toexamine variables to determine the actual flow of the program and thenidentify why the results are incorrect.

Page 13: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Objectives of this Portion of the Test Chapter 5 111

Objectives of this Portion of the TestThe purpose of this portion of the certification examination is to verify that youhave detailed knowledge of the ABAP Debugger, which is a major component ofthe environment. By verifying that you have the appropriate knowledge to usethe Debugger efficiently, you will become a more effective and efficient pro-grammer.

This portion of the examination will test your knowledge of the Debugger. Thetopics that you need to understand from this section include the following:

� Various ways to start the Debugger

� Breakpoints

� Watchpoints

� Assertions

� Viewing and modifying data objects

� Understanding the architecture of the Debugger

Key Concepts RefresherThe ABAP Debugger is part of the ABAP Workbench that you use either as anintegrated testing tool or to identify issues with code execution. The Debuggerallows you to execute ABAP programs by line or by section. With this tool, youcan display data objects and check the flow logic of programs. The running pro-gram is interrupted after each step, allowing you to check its processing logic andthe results of individual statements.

You typically use the Debugger as a way of identifying errors in ABAP programs.It contains the following functions:

� Different ways of starting the Debugger

� Different views of contents of data objects

� Different execution options

� Displaying source code in the Debugger

� Setting and deleting breakpoints

� Setting and deleting watchpoints

� Setting and deleting database locks

Page 14: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage112

� Stopping code execution at a particular statement or event

� Displaying and changing field contents at runtime

� Displaying objects and references

� Displaying and positioning strings

� Opening the code in the ABAP Editor or Object Navigator

New and Classic Debugger

Currently, you have access to two versions of the ABAP Debugger. The older ver-sion (commonly called the classic Debugger), which has existed since the begin-ning of SAP R/3, has always had the majority of the functions listed here. As thelanguage has evolved, the Debugger has also evolved (for example, the inclusionof objects in both ABAP and the Debugger). Figure 5.1 shows the flow controlarea, and Figure 5.2 shows the variable display area of the classic Debugger.

The original Debugger has always had certain limitations: The layout is mostlyfixed, and there were restrictions on the amount of data that could be displayedat one time. For example, a maximum of eight data objects could be displayed,and of those, only four at a time. Only one internal table could be displayed, andtable scrolling, especially horizontally, was often tedious. Whereas it is possibleto reorder columns, knowledge of the fields of the internal table was necessaryto complete this task. Other areas also required detailed knowledge of the exe-cuting code. There is no way, from within the Debugger, to look up within therepository a function module, method, or subroutine name to set a breakpoint.

Figure 5.1 Standard Flow Control of the Classic Debugger

Figure 5.2 Variable Display of the Classic Debugger

Page 15: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 113

The classic Debugger shared the same external mode roll area of the code beingdebugged. (This external mode corresponds to the session window in which youare running the code.) This restricted the amount of interaction the Debuggerhad with the repository or the system as a whole without impacting the codebeing debugged. Each of the Debugger’s actions could influence the programflow of the application and was limited as a result.

Also, with the classic Debugger, it is generally not possible to analyze programsin debugging mode that run in an ABAP processor unit and are called recursivelyfrom a subordinate unit. For example, a conversion exit cannot be analyzedusing this Debugger if it runs within a WRITE statement. A conversion exit exe-cutes whenever it is sent to the presentation or retrieved from the presentationlayer. If called from a WRITE statement, the Debugger is called recursively fromwithin itself.

Starting with SAP NetWeaver 6.40, SAP released a new version of the Debugger.The Debugger available in Release 6.40 was not considered complete (and wasnot the default debugger as a result); it did eliminate these restrictions.

The reason for this is that the new Debugger executes in its own external mode.This allows the code to be analyzed to run with virtually no impact from theDebugger. This separation of functionality allows for much greater interactionwith the system, allowing search help use, the display of more than one internaltable simultaneously, and an unlimited number of data objects.

The Debugger specified as the default starts when needed. You can change thedefault, in either the ABAP Editor (Transaction SE38) or the Object Navigator(Transaction SE80), by following the menu path Utilities � Settings � ABAPEditor � Debugging. Figure 5.3 and Figure 5.4 show the menu and resulting dia-log box. Both Debuggers are started in exactly the same way.

Figure 5.3 Menu Path To Set the Default Debugger

Page 16: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage114

Figure 5.4 Dialog to Set the Default Debugger

Note

The following are the primary methods of starting the Debugger:

1. In the navigation area, select the menu path Execute � Debugging for theselected program, as shown in Figure 5.5.

2. In the editing area, select the desired program line and select Set/DeleteBreakpoint. Then start the program by selecting (Execute) Direct Process-ing or pressing (F8).

3. Select System � Utilities � Debug ABAP or System � Utilities � Debug Screen.

4. Enter “/h” in the command field in the standard toolbar and press (Enter) oruse a shortcut to provide the command to the session.

Figure 5.5 Navigation Start of the Debugger

Page 17: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 115

However, each time the new Debugger is started, a new mode is started automat-ically. You have a maximum of six external modes available as a default, thoughyour system may be configured differently. If no further external mode is avail-able when the new Debugger is started, the message No additional externalmode for new ABAP debugger available is displayed, the new Debugger startis cancelled, and the classic Debugger is started in its place. In this case, youshould close modes that are no longer required.

In the new Debugger, control can be passed from the application to the newDebugger at any time using the function code “/h”, even if the Debugger wasalready started.

You can exit the new Debugger with one of several methods:

� If the Debugger is ready for input (active) and the application is waiting, youcan select Debugger � Exit Debugger, which closes just the Debugger, andthe application continues to run.

� You can select Debugger � Exit Application and Debugger, which closesboth the Debugger and the application.

� The third option is if the application is ready for input and the Debugger iswaiting, in which case you can enter “/hx” in the command field and press(Enter), which closes just the Debugger and allows the application to con-tinue to run.

It is possible to switch between the classic Debugger and the new Debugger byselecting Debugger � Switch to New ABAP Debugger or Debugger � Switch toClassic ABAP Debugger. You must be aware, however, that if you switch fromthe new Debugger to the classic Debugger when the ABAP code is called fromthe kernel of the application server (primarily conversion and field exits), theruntime error RPERF_ILLEGAL_STATEMENT will be triggered as a result of therecursive call.

You will find the functions for analyzing source code similar between versionsof the Debugger. It is possible to navigate from the variable overview to thedetailed view of the data object simply by double-clicking. The difference withthe new Debugger is simply that you can process an unlimited number of dataobjects simultaneously, and the number visible at a single time depends on thesize of the window and the font size. You also need to double-click on the

Page 18: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage116

Change (pencil) icon to open up the data object for change and then press(Enter) to confirm the change, unlike the classic Debugger, where the field wasalways open and you needed to click on the Change icon to accept the change.

New Debugger Tools and UI

As soon as you start the new Debugger, using one of the methods shown in theprevious note (from a menu, with a breakpoint, or with the command “/h”), youwill see the message Session x connected to Debugger in the status line of theapplication, where X is the number of the current external mode. When theDebugger starts, you will see the window title (x) – ABAP Debugger ControlsSession x (Exclusive), where again X is the external mode of the application.This provides a visible link between application and Debugger mode at all times.If it is not possible to achieve an exclusive mode, the title will be (x) – ABAPDebugger Controls Session x (NOT Exclusive).

If the Debugger obtains an exclusive mode, it means that the application to beanalyzed exclusively occupies a work process of the application server duringdebugging. If all exclusive debugging work processes are occupied, the Debuggeris switched to non-exclusive mode. In this state, you can attempt to occupy awork process exclusively by selecting Debugger � Exclusive Debugging Mode

On (shown in Figure 5.6). However, this is only possible if another exclusivedebugging work process has become available in the meantime.

Figure 5.6 Menu to Turn Exclusive Mode On

Page 19: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 117

You will find 12 work areas, or desktops, when the new Debugger starts. This isan increase from the previous version in SAP NetWeaver 6.40 because not all ofthe tools were complete. You can customize the first three desktops so that theywill start with the Debugger to satisfy your own preferences and eight “pre-defined” desktops. You can modify each of these desktops at any time.

Each desktop can hold from one to four tools. The tools displayed on a desktopcan be the same or different, based on your needs at the time. You can changethe size or location of any of these tools while in the Debugger. For example, fortools placed horizontally, the right or left tool can be either made wider or nar-rower. You can make tools with a vertical alignment longer or shorter. Tools canbe swapped vertically, horizontally, or diagonally. You can replace any tool withany other simply by clicking on the Replace button. An individual tool can bemaximized to fill the entire desktop. You can undo any layout change with theBack button (or (F3)).

Tip

The difference between exclusive and non-exclusive modes is that you will findthe Debugger function limited in non-exclusive mode. The limitations are mostlydue to the fact that a roll-out is forced in the application after each Debuggerview while in non-exclusive mode. Therefore, a database commit must be exe-cuted. This has the following consequences:

� It is not possible for you to debug between the statements SELECT and ENDSE-LECT because the database cursor needs to be closed using a commit. In thiscase, program execution is terminated.

� Debugging mode is not possible for conversion or field exits.

� Owing to the commit, inconsistent datasets can occur in the database.

Because inconsistent datasets in the database are possible, the non-exclusivemode is impossible in productive systems. If the number of exclusive debuggingwork processes is occupied, the runtime error DEBUGGING_NOT_POSSIBLE is trig-gered whenever you attempt to start another Debugger.

The number of work processes that are available exclusively for debugging isdefined by the profile parameter rdisp/wpdbug_max_no. In development sys-tems, this should be approximately half the number of dialog work processes.

The special requirements demanded of debugging in a production client are thesame for the new and the classic Debugger. Therefore, they are processedexactly the same as in the classic Debugger.

Page 20: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage118

At this time you can create 23 tools. The tools are grouped into four categories:Standard Tools, Data Objects, Memory Management, and Special Tools (seeFigure 5.7).

You will see differences between the two source code displays. The Source Codeoption shows the code as with the old Front-End Editor. The Source Code (EditControl) option uses the new Front-End Editor, which displays additional for-matting and provides information regarding data objects when you hover overthe name with the mouse.

Table 5.1 shows where to find the tools in the new Debugger when it is startedbefore modification; Figure 5.8 and Figure 5.9 show the desktops.

Figure 5.7 New Tool Dialog

Tool Initially Found on Desktop

Source Code Not initially found on a desktop

Call Stack Desktop 2 and Standard

Table 5.1 Debugger Tools

Page 21: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 119

Variable Fast Display Desktop 1, Desktop 3, and Standard

Breakpoints Break./Watchpoints

Source Code (Edit Control) Desktop 1, Desktop 2, Desktop 3, and Standard

Object Objects

Table Tables

Structure Structures

Single Field DetailDisplay

Data Explorer Data Explorer

Memory Analysis Not initially found on a desktop

Application-Specific Memory Views

Not initially found on a desktop

Memory Object Explorer Not initially found on a desktop

Trace Not initially found on a desktop

Debugger Scripting Script

Web Dynpro Not initially found on a desktop

Loaded Programs (Global Data) Not initially found on a desktop

Screen Analysis Not initially found on a desktop

DiffTool Diff

Display Exception Not initially found on a desktop

System Areas (Internal) Not initially found on a desktop

Console: XML and List Preview Not initially found on a desktop

Script Wrapper Not initially found on a desktop

Tool Initially Found on Desktop

Table 5.1 Debugger Tools (Cont.)

Figure 5.8 First Six Desktops

Page 22: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage120

Most of the tools also provide additional services. You will always be able toaccess the tool services by clicking on the Services of the Tool button as shownin Figure 5.10 or through the context menu of the tool.

The services provided vary depending on the tool. For example, the SourceCode tool only allows you to navigate to the currently executing line or to openthe editor. Most provide the ability to save the contents of the tool to a local fileor to search. The variable fast display provides options for sorting the local orglobal data objects or saving the data as test data in Transaction SE37, whereasthe internal table services provide the ability to append, insert, or delete rows inthe table. You have the option to change the sequence of the fields through theservice or just drag them as you would in an ABAP List Viewer (the ALV or, as ithas been renamed, the SAP List Viewer is discussed in Chapter 15) or table con-trol.

All of the tools except the standard tools provide a history of all objects displayedin the tool, and any prior tool can be retrieved simply by selecting it from the list.

The table tool has many more capabilities than the classic Debugger provided.Whereas you could handle standard internal tables through the use of theChange, Insert, Append, and Delete buttons below the table display, keyedtables (sorted or hashed) were more restricted. With those you only had accessto the Change and Delete buttons to modify the contents of non-key fields or toremove the record. The new Debugger offers many more options (see Figure5.11, Figure 5.12, Figure 5.13, and Figure 5.14).

Figure 5.9 Last Six Desktops

Figure 5.10 Services of the Tool

Figure 5.11 Context Menu of the Table Tool (Change Table Content)

Page 23: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 121

Figure 5.12 Context Menu of the Table Tool (Columns)

Figure 5.13 Context Menu of the Table Tool (Standard)

Figure 5.14 Table Service Menu

Page 24: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage122

You have multiple ways of modifying the internal table through either the con-text menu (right-click on a row containing data) or the service menu of the tool.The same options exist for a standard internal table, whereas a hashed internaltable does not allow you to insert using an index. If you use the Insert Row (Key)option, regardless of where you attempt to insert the record for sorted or hashedinternal tables, the row will be inserted in the correct location.

The dialog presented shown in Figure 5.15 allows you to copy the contents of anexisting row to use as a template. The new row is indicated without a numericalline number (there is an icon in its place) until you press the (Enter) key toaccept the row into the internal table.

Using Source Code (Edit Control) provides several advantages over the olderSource Code. First, as in the new editor, you have the same flexibility with set-tings. You can define different fonts and colors for keywords, comments, andother types of items. The display allows for collapsible blocks, word wrap, andother visual feedback.

Figure 5.16 shows several of the more important features:

� Older versions of this tool had arrows in the top-left corner—all tools utilizedthem—to allow you to resize the tool to different widths or heights. The cur-rent version allows you to resize by dragging the edge of the tool itself.

� On the right side of the tool, the third, fourth, and fifth buttons from the topallow you to maximize the tool to fill the desktop, maximize the tool to usethe entire height of the desktop, and maximize the width of the tool to theentire desktop.

Figure 5.15 Insert Using Key

Page 25: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 123

� The status bar at the bottom of the tool shows the scope of the line selected,in this case, within a method and within a LOOP.

� The closest scope to the cursor (in this case, the LOOP keywords) are also madebold.

� The status bar also shows the line and column of the cursor, and double-click-ing on this box produces the Go To Line dialog box.

� The line to be executed is indicated with a yellow arrow, and hovering overvariables with the mouse produces quick information (tooltip) showing thevariable name, value, and type.

You can now instruct a breakpoint to skip a number of occurrences before stop-ping. You simply enter the number of skips in the skip column (any positivenumber between 0 and 4,294,967,296 [232]) to prevent the breakpoint fromstopping. You can change a breakpoint to active or inactive or delete the break-point. In addition, you can edit conditional and unconditional checkpoints usingthe Breakpoint tool. You first set conditional checkpoints in the source codeusing the ASSERT statement; unconditional checkpoints are set using the BREAK-POINT statement. These have the effect that programs will be continued only if apreset condition is fulfilled. These checkpoints can be searched for, activated, ordeactivated.

As with breakpoints, watchpoints are places in the program that instruct theABAP runtime processor to interrupt the program execution at a particular point.

Figure 5.16 Source Code (Edit Control) Tool

Page 26: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage124

In contrast to breakpoints, however, watchpoints do not activate debuggingmode until the contents of a specified field change. You can define watchpointsonly within the Debugger (shown in Figure 5.17).

Watchpoints, like breakpoints, are user-specific and do not affect other usersrunning the same program. Unlike the classic Debugger, which has a limit of 10watchpoints, there is no limit on the number of consecutive watchpoints in thenew Debugger. If you set a watchpoint for a field without specifying a relationaloperator or comparison value, program execution continues until the contentsof the field change. If you specify a relational operator and comparison valuewhen you define a watchpoint, program execution continues until the specifiedcondition is met. You can use watchpoints to display changes to references ofstrings, data, or objects, as well as internal tables.

The ABAP Debugger differentiates between the breakpoint variants shown inTable 5.2.

Figure 5.17 Creating a Conditional Watchpoint

Page 27: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 125

Assertions and Breakpoints

Checkpoints define places in a program where the program state can be testedduring execution. A BREAK-POINT statement represents an unconditional check-point. In this case, the program execution is unconditionally interrupted at thispoint in the program, and the Debugger is started.

Assertions are another form of checkpoint, which you use to implement condi-tional checkpoints within your program. An assertion checks whether a definedcondition is satisfied. An assertion is defined by an ASSERT statement as a condi-tional checkpoint.

Assertions and BREAK-POINT statements are either always active or can be acti-vated by assigning them to a checkpoint group (shown in Figure 5.18).

Type of Breakpoint Behavior

Static breakpoints Keyword BREAK-POINT inserts a user-indepen-dent breakpoint as an ABAP statement in the source text. Related is the statement BREAK <user_name>, which sets a user-dependent breakpoint in the source text.

Directly set dynamic breakpoints These are set in the ABAP Editor or the Debug-ger (by either double-clicking before the line number if you are using the older source code display or single-clicking before the line number if you are using the newer source code with edit control). Dynamic breakpoints are always user-specific and are deleted when you log off from the SAP system.

Breakpoints for statements, sub-routines, function modules, or methods

The Debugger interrupts the program directly before the specified statement is executed.

Breakpoints for exceptions and system exceptions

The Debugger interrupts the program directly after a runtime error is raised.

Table 5.2 Types of Breakpoints

Page 28: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage126

When the program reaches an active assertion, it evaluates the correspondingcondition or logical expression. If no checkpoint group is assigned to a failedassertion, the default behavior is for a runtime error to be produced. If the con-dition is violated, the program terminates with a runtime error, accesses theABAP Debugger, or creates a log entry; otherwise, the program continues withthe next statement. If you assign the assertion to a checkpoint group, the pro-gram behavior is controlled by the corresponding activation settings of thecheckpoint group.

You can also edit the conditional and unconditional checkpoints using the Break-point tool in the Debugger, as shown in Figure 5.19.

Figure 5.18 Checkpoint Group

Figure 5.19 Changing the Activation in the Debugger

Page 29: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 127

New Debugger Customization and Settings

One of the main benefits of the Debugger interface redesign is the option of mak-ing it configurable for your use. This provides you with the option of being ableto set the views and their sizes as required. You also have the ability to groupcertain views together and have them available at each restart of the new Debug-ger.

In its current form, the Debugger provides you with a flexible and designableinterface with a total of 11 work areas or desktops. Depending on your selection,you can have up to four tools simultaneously in each of these work areas. Theirsizes can be set individually. The first three desktops allow you to specify indi-vidual settings using the Save layout function (see Figure 5.20). The Debuggerwill use your last saved settings the next time you start the Debugger.

When you start the Debugger, you will find the standard flow control buttonsbelow the title bar in the application tool bar (see Figure 5.21). These flow con-trol buttons remain unchanged from the classic version of the Debugger.

The first button provides a single-step function, the second an execute function,the third a return function, and the last continues execution. The buttons alsoprovide a way to set a breakpoint, create a watchpoint, or, as mentioned above,save the layout configuration.

Below the application toolbar you will find the information regarding the currentcode being executed (see Figure 5.22). You will see the program and the name ofthe include or program of the source currently executing, and below that, theprogram event and the name of the event currently executing. To the right of theinclude or program name is the current line that will execute. The button directlybelow this line number positions the screen to show this line in the Source Codetool. The blue I button displays the program attributes of the source code. The

Figure 5.20 Save Layout Button

Figure 5.21 Flow Buttons

Page 30: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage128

buttons displayed before the program name or event, if clicked, open a new win-dow with the source code displayed. The same button is available when you viewthe ABAP call stack tool for each call. Again, clicking on the button opens thesource code at that point in the program.

To the right of the program information, you will find two system variables andtheir contents. The default is SY-SUBRC (the system variable containing the state-ment return code) and SY-TABIX (the system variable containing the internaltable row last accessed), but you can override either or both simply by typingover their names.

Most of the screen is used to display the desktops or tool area. Unlike the classicDebugger, the larger your screen or the higher your screen resolution, the moredata can be displayed.

The Variable Fast Display tool currently has six tabs (see Figure 5.23). The firsttwo are provided empty, and you can either type or double-click a name in thesource code to add it to the list. The third tab (Locals) shows all local variablesfor the current program modularization unit, and the fourth (Globals) shows allglobal variables in the current program.

The Variable Fast Display tool on the first two tabs also provides a button toselect two displayed objects and do a comparison. Alternatively, you can navi-gate to the Difference tab and specify the variables directly (see Figure 5.24 forthe Diff tool).

Figure 5.22 Program Information

Figure 5.23 Variable Fast Display

Page 31: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 129

Finally, it is possible to change how secondary tools (for example, the editor) areopened: either in a new parallel window or in the current window. It is also pos-sible to customize the behavior of the navigation to Detail Views and where thevariable will be displayed when clicked on from the source code tool.

Starting with Release 7.02, you will notice a new tab on Variable Fast Displaytool labeled Auto (see Figure 5.23). Its use is not intuitive, but we think it can beuseful. Notice that Figure 5.21 (flow control) has a new (as of Release 7.02) but-ton following the Single Step, Execute, Return, and Continue buttons calledStep Size. This button toggles the size of the single step from normal line debug-ging to statement debugging. After you switch to statement debugging, the Autotab is populated with the results of functional expressions when single step isused.

Several other new features were introduced with Release 7.02. There is now theability to use Debugger Scripting (see Figure 5.9 for the location of the Scripttab), which can be managed from the new Transaction SAS. One new feature wethink is very useful and will become even more useful is Software Layer AwareDebugging (Transaction SLAD).

Have you ever had a program that provided an extension to standard functional-ity where that extension is not working properly? Depending on where youenter the Debugger, you can end up wading through standard code for what feelslike days. The last example involved a custom button on an ALV report. If youdrop into the Debugger with “/h” prior to clicking on the custom button, youdrop into the SALV code and then have to debug until control passes back to thereport. With SLAD, it is now possible to enter the Debugger exactly where youwant. The process starts with a new transaction, SLAD. First navigate from theProfiles tab (ignoring its pop-up) to the Object Sets tab. In Figure 5.25 you seethe first step after clicking the Create button for an object set.

Figure 5.24 Diff Tool

Page 32: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage130

Then you define what the selection set will contain (shown in Figure 5.26), andafter clicking on the button, you define what to include (shown in Figure 5.27).In our example, we are interested in the Z program allowing us to treat all of thecustom-developed code as a layer.

Figure 5.25 Create Object Set

Figure 5.26 Selection Set

Page 33: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Key Concepts Refresher Chapter 5 131

Now you create a profile (as shown in Figure 5.28) to use in the Debugger. Com-plete your profile by dragging the object set into the profile (joining the default<<%REST%>> set), as shown in Figure 5.29.

In the session with our problem report, you enter “/h” in the command box andclick on the button you want to debug (as shown in Figure 5.30). Drop into theDebugger, where you click on Configure Debugger Layer. Select the Layer-Aware Debugger Active checkbox and pick your profile, as shown in Figure5.31.

Figure 5.27 Define Selection

Figure 5.28 Create Profile

Figure 5.29 Add Object Set to Profile

Page 34: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage132

Figure 5.30 Debug the Button

Figure 5.31 Select the Profile

Page 35: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Important Terminology Chapter 5 133

After picking your profile, you will notice that a new button has appearedbetween the Continue button and the Step Size button, called Next Object Set(Figure 5.32). Once you click on the Next Object Set button, the program con-tinues execution until you are back in your program (Figure 5.33) when theobject set in your profile is accessed.

Important TerminologyYou need to understand the difference between a breakpoint and a watchpointfor effective use of the Debugger. Remember that a breakpoint relates to theactual code (either a statement or point within the code), whereas a watchpoint

Figure 5.32 Next Object Set

Figure 5.33 Next Layer

Page 36: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage134

is related to the value of a data object. It is also important to understand howcheckpoint groups can modify the behavior of breakpoints.

Another possible cause of confusion is the difference between external mode andexclusive mode. Remember that external mode describes the number of sessionsopened within a login session, whereas exclusive mode is what keeps the Debug-ger in one work process within the server. Remember that a non-exclusive modewill be rolled out between steps in the Debugger and may switch work processes.

Practice QuestionsThese practice questions will help you evaluate your understanding of the topic.The questions shown are similar in nature to those found on the certificationexamination. Although none of these questions will be on the exam itself, theyallow you to review your knowledge of the subject. Select the correct answersand then check the completeness of your answers in the following solution sec-tion. Remember that on the exam you must select all correct answers and onlycorrect answers to receive credit for the question.

1. The Debugger displays a maximum of eight data objects at one time.

� A. True

� B. False

2. A watchpoint stops program execution every time the condition specified ismet.

� A. True

� B. False

3. Both the classic Debugger and the new Debugger can be used on all ABAPcode without restriction.

� A. True

� B. False

4. Under which circumstances will the classic Debugger start as the Debugger?Select all that apply.

Page 37: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Practice Questions Chapter 5 135

� A. None; the new Debugger will always start as the Debugger

� B. When five modes already exist for this logon session

� C. When the number of debugging sessions exceeds half the number of dia-log sessions

� D. When you specify the default as the classic Debugger in the settings ofthe Object Navigator

� E. If you manually switched to the classic Debugger during your last session

5. What does a non-exclusive debugging mode mean? Select all that apply.

� A. A roll-out is forced in the application after each Debugger view.

� B. Someone else is debugging the same source code.

� C. Debugging is not possible between the statements SELECT and ENDSELECTbecause the database cursor needs to be closed using a COMMIT.

� D. Debugging is not possible for conversion or field exits.

� E. Owing to the commit, inconsistent datasets can occur in the database.

� F. It may be used anywhere in the landscape.

6. What is the maximum number of watchpoints that can exist at one time?

� A. 8

� B. 10

� C. 16

� D. No limit

7. Setting breakpoints for a method or function module within the Debuggerallows the use of (F4) (value help) to find the correct name.

� A. True

� B. False

8. All breakpoints are valid for the entire Debugger session, and all can bechanged by the Debugger.

� A. True

� B. False

Page 38: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage136

9. It is possible to make multiple changes to data objects at the same time inthe Debugger.

� A. True

� B. False

10. When starting the Debugger, what circumstance causes the runtime errorDEBUGGING_NOT_POSSIBLE?

� A. Starting a non-exclusive mode in a productive system

� B. When more than five sessions are already associated with this login user

� C. When the number of debugging sessions on the server exceeds the valuedefined by the profile parameter rdisp/wpdbug_max_no

11. How many work areas are available in the Debugger?

� A. 7

� B. 9

� C. 12

� D. 15

12. What button undoes layout changes to the Debugger? Fill in the blank.

______________________________

13. The Debugger is entirely self-contained and requires no external transac-tions.

� A. True

� B. False

14. If you are using external debugging (debugging of HTTP and RFC requests,which arrive in your ABAP system), what will the Debugger do?

� A. Always stop when the external breakpoint is reached.

� B. Never stop; external breakpoints operate on users other than your own.

� C. May or may not stop, depending on external factors.

Page 39: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Practice Question Answers and Explanations Chapter 5 137

15. What does Software Layer Aware Debugging allow you to do? Select all thatapply.

� A. Trace executing code

� B. Debug only a small portion of code

� C. Debug a large portion of code

� D. Bypass authorization objects

� E. Specify as much or as little code to debug

Practice Question Answers and Explanations1. Correct answer: A

The classic Debugger only allowed a maximum of eight data objects. The newDebugger allows an unlimited number (restricted only by font and windowsize) to be displayed at the same time.

If you encounter a question discussing an ability or limitation of the classicDebugger, you should assume that the question refers to the classic Debuggerand answer accordingly. If the question referenced the new Debugger, theanswer would be false.

2. Correct answer: B

If you specify a condition, the watchpoint will not stop until the condition istrue and the watchpoint will not be triggered until the variable contentschange. Therefore, if you set a watchpoint that is already true, the watchpointwill not be triggered.

3. Correct answer: B

The classic Debugger cannot analyze conversion exits or field exits. It also hasside effects with search help (F1), value help (F4), and list output.

4. Correct answers: B, D

When you already have five external modes in use (or, more accurately, whenyou only have one external mode remaining), the classic Debugger is auto-matically started when starting another external mode would prevent furthersessions from being created. If you have the default Debugger specified as theclassic, it will always start with this version.

Page 40: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage138

5. Correct answers: A, C, D, E

A non-exclusive mode means the session is not locked into a work processand will be rolled out and rolled in between steps. The roll-out forces a COM-MIT WORK between steps, which means the database cursor will be lost, caus-ing a short dump if it occurs between a SELECT and ENDSELECT. Because data-base commits occur without regard to logical units of work, the databasemay become inconsistent. The Debugger prevents this inconsistency in aproduction environment.

6. Correct answer: B

Only 10 watchpoints can exist at one time with the classic Debugger. Thenew Debugger has no limit.

Again, if you encounter a question discussing an ability or limitation of theclassic Debugger, you should assume that the question refers to the classicDebugger and answer accordingly. If the question referenced the newDebugger, the answer would be option D.

7. Correct answer: A

With the new Debugger executing in a separate mode, it has access to searchhelps that may be used for setting breakpoints.

If you encounter a question discussing the absence of an ability of the classicDebugger, you should assume that the question refers to the new Debuggerand answer accordingly.

8. Correct answer: A

Breakpoints set in the editor can be changed in the Debugger. Local break-points can be converted to either session or external breakpoints.

9. Correct answer: A

If you open up multiple data objects for change, pressing the (Enter) keywill accept all changes to all objects.

10. Correct answer: A

If you attempt to start the Debugger on a production system and an exclusivemode is not available, the system will produce the runtime error DEBUGGING_NOT_POSSIBLE. On a non-productive system you would receive the indica-tion of a non-exclusive mode in the title, but owing to the potential forinconsistent data, this mode is not allowed on production systems.

11. Correct answer: C

There are 12 desktop areas currently available for use.

Page 41: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Take Away Chapter 5 139

12. Correct answer: Back

The Back button undoes the layout changes you have made to each desktop.Using the Back button multiple times will undo each layout change.

13. Correct answer: B

While the Debugger is entirely self-contained for use, there are a number ofhelpful tools that require an additional transaction to allow reusability inyour debugging (for example, SAAB used to manage checkpoint groups, SASused to manage Debugger scripts, and SLAD used to define object sets andprofiles).

14. Correct answer: C

An external breakpoint may or may not stop, depending on external factors.For example, load balancing may direct the request to another server or itmay be ignored if the request is mapped either to another user or to ageneric user. In cases where this is an issue, it is possible, beginning withRelease 7.02, to supplement external breakpoints by using a second tech-nique for request-based debugging through the use of the terminal ID.

15. Correct answer: B, C, E

Software Aware Layer Debugging is a new function within the Debuggerthat allows you to either predefine or define what code you want to debugat the time. The defined layer can be as specific or as general as you want. Itcan be based on type of code (for example, a function module or program orclass) or based on a predefined application area.

Take AwayYou should now be able to examine the runtime behavior of ABAP programsusing the ABAP Debugger. By examining data objects within the Debugger, it ispossible to determine why a program behaves correctly or incorrectly. If youdetermine the cause of a problem in the program, it is easier to provide a correc-tion or a solution to the issue.

If you design programs with an eye to identifying issues during testing throughthe use of assertions and checkpoint groups, your programs will be easier tomaintain and will produce fewer issues once they are in production.

Page 42: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Chapter 5 ABAP Debugger Program Usage140

Refresher

You must understand watchpoints and breakpoints—both their use and how todefine them. You need to understand how to define and use assertions andcheckpoint groups in your program.

The final thing you should take away from this unit is the differences betweenthe classical Debugger and the new two-process Debugger. You should under-stand the architecture of each, what limitations exist, and why the limitationsexist. It is also important to understand the tools and what options exist withinthe different tools.

Table 5.3 shows the key concepts of the Debugger.

Tips

As you take the examination, read the questions carefully. If a question oranswers are valid for only one of the two Debuggers, you should answer thequestion assuming that the question refers to that Debugger. The majority of thequestions can be answered for either Debugger because they contain very similarfunctionality.

As with the majority of the subjects in the certification examination, it is impor-tant to have as much practical experience with the subject as possible. Unlike themajority of subjects in the certification examination, you typically will learnmore by using the Debugger than by just reading about it.

Key Concept Definition

Architecture of the Debugger

The classic Debugger shared the same external mode roll area as the executing program, whereas the new Debug-ger runs in its own external mode

Desktops and their tools The desktops in the Debugger and how the various tools function in the Debugger

Checkpoint groups Used to define and use assertions and checkpoint groups and their behavior during program execution

Breakpoints Used to define various types of breakpoints

Watchpoints Used to define a watchpoint

Table 5.3 Key Concepts Refresher

Page 43: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Summary Chapter 5 141

SummaryYou should now be able to examine the runtime behavior of an ABAP programusing the ABAP Debugger to identify issues with the program and to systemati-cally test the program. You should be able to identify and create watchpoints andbreakpoints and know the various types of breakpoints. Lastly, you shouldunderstand the differences between the two versions of the Debugger. Thisknowledge will enable you to pass this section in the certification exam easily.

Page 44: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

625

Index

A

ABAP, 77, 245, 246, 257Data object, 145Data type, 143, 152, 167, 330Global declaration, 246, 282Global definition, 246Procedural, 246Processing block, 248Runtime environment, 245, 252, 257, 544,

546Statement, 256, 257, 536Text translation, 246Type, 306Type of program, 246

ABAP application server, 50, 60, 61, 62, 65, 66, 210

ABAP class, 437Attribute, 446Class events, 459Constructor, 455Create object, 446Event, 459Global class, 439Local class, 437Method, 449Private, 439Private instantiation, 444Private section, 442Protected, 439Protected instantiation, 444Protected section, 442Public, 439Public section, 442Raise exception, 455Read-only, 447Returning, 454Static method, 458

ABAP Debugger, 85, 111, 112, 120, 259Architecture, 111Classic, 112, 113, 115, 117, 120, 124, 127,

128

ABAP Debugger, 85, 111, 112, 120, 259 (Cont.)New, 113, 115, 116, 117, 120, 124, 127,

128, 134Starting, 111, 113, 114, 115Stopping, 115Switching, 115

ABAP Dictionary, 65, 91, 208, 262, 269, 273, 295, 297, 309, 334, 348, 489, 523, 602, 603, 612, 614Append structure, 348Check table, 602, 603, 604, 607, 608, 609,

610, 612, 614Customizing include, 348Data element, 209, 274, 482, 489, 523,

602, 603, 604, 612, 613, 614Data type, 144, 163Domain, 209, 603, 605, 606, 609, 614Fixed value, 604, 606, 614Foreign key, 602, 607, 608, 609, 610, 611Search help, 602, 603, 604, 612Service, 319Structure enhancement, 349Table, 335Text table, 610, 613, 614Value table, 602, 604, 606, 608, 609View, 612

ABAP Dictionary type, 306ACCP, 306CLNT, 306DATS, 306FLTP, 306Predefined, 159

ABAP Editor, 91, 112, 122, 128New ABAP Editor, 75, 86, 88

ABAP List Viewer � ALVABAP Objects, 112, 119, 246, 259, 265, 434,

435, 437, 534, 535Reference, 112

ABAP processor, 64ABAP Workbench, 75, 77, 90, 107, 244

Settings, 85Abstraction, 436

Page 45: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index626

Access mode, 312Alias, 548ALV, 472, 604

Container, 472, 473, 474, 475, 476, 477, 485, 494

Currency, 483Display data table, 478, 487Display variant, 478, 479, 480Event handling, 472, 473, 483, 494Event registration, 483, 485, 495Field catalog, 477, 478, 479, 481, 482, 489,

496Field group, 478Filtering, 479Full screen, 472, 473, 477, 485Grid control, 472, 474, 477, 478Layout, 478, 481Object model, 473, 485, 490, 491Print output, 478Sorting, 478, 479, 481, 489Unit of measure, 483

American Standard Code for Information Interchange � ASCII

Append, 184, 185, 203Application layer, 60, 214, 218, 245ASCII, 340Assert, 111, 123, 125Assigning, 189, 190Associate certification, 30Associate examination

Competency area, 33Specifics, 32

At exit-command, 384At selection-screen, 425

On, 425On block, 425On help-request for, 426On radiobutton, 426On value-request, 426Output, 417

Attribute, 265, 448, 469Instance, 474, 485, 537Static, 266, 485, 537, 543

Authorization check, 242, 271Authorization object, 271Auto, 129

B

Back-End Editor, 86BAdI, 561, 578

Definition, 580Filter-depend, 578Implementation, 584Menu enhancement, 586Multiple use, 578New, 589Screen enhancement, 587Searching, 581

BAPI, 58Definition, 310

Begin of blockTitle, 420With frame, 420

Binary search, 191, 200Breakpoint, 111, 119, 123, 124, 125, 133,

250BSP, 55BTE, 561, 575

FIBF, 576Process interface, 575Publish and subscribe, 575Search, 578

Buffering type, 317Business Application Programming Interface

� BAPIBusiness Process Platform, 51Business Server Pages � BSPBusiness Transaction Event � BTEByte type, 340, 343, 344, 345, 350, 352

C

Call method, 456Cardinality, 609Central instance, 219Certification

Associate, 30Master, 30Professional, 30

Certification examScoring, 28

Certification level, 29, 31

Page 46: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index 627

Change request, 242, 244, 245, 281Task, 244, 281

Character type, 153, 340, 343, 344, 347, 348, 350, 352

Checkpoint, 123, 125, 126, 134Class, 469

Friends, 539, 540Inheriting from, 541

Class Builder, 91, 448Class constructor, 433, 456CLASS-DATA, 151Class-events, 459Class-methods, 449Cluster table, 334Code execution, 111, 112, 127Code page, 351Collect, 187Component

Lifetime, 510, 513Composite enhancement spot, 590Constructor, 542

Instance, 477, 542, 543Static, 538, 543

Context mapping, 515, 522Control Framework, 474Controller

Component controller, 513Configuration controller, 514Context controller, 510Custom controller, 514View controller, 514Window controller, 514

Conversion routine, 333Course

BC400, 40BC401, 40BC402, 40BC405, 40BC414, 40BC425, 40BC427, 40BC430, 40NET310, 40NW001, 41TAW10, 40TAW11, 40TAW12, 40

Create object, 470Customer exit, 561, 566Customer-function, 568

D

Data binding, 515Data element, 159, 295, 297, 298, 299, 309,

335Data encapsulation, 259Data modeling, 206, 207, 208, 271Data object, 145, 147, 167

Classic, 112Form...endform, 161Literal, 147Local, 163Modifying, 111, 112, 116, 122Module...endmodule, 161Offset, 346, 347, 348Predefined, 149Viewing, 111, 112, 115, 119, 120, 123,

128, 129Visibility, 160

Data retrieval, 206, 207, 210Data type, 145, 146, 167, 299, 302

Basic, 297Complex, 156, 297, 299Elementary, 144, 154, 159Generic, 143, 145Global, 158, 163, 167LCHR, 303Local, 156, 167LRAW, 303Parameters, 146Predefined, 145QUAN, 303RAWSTRING, 304Select-options, 146SSTRING, 304STRING, 304String, 154TIMS, 304Types, 146VARC, 305XSTRING, 154

Database interface, 64, 65, 66, 73, 210, 213, 215, 607

Page 47: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index628

Database layer, 57, 58, 59, 63, 206, 214, 218, 245

Database lock, 67, 111, 219, 230Database update, 206, 207

Asynchronous, 229Bundled, 218, 221, 224Inline update, 221, 224Local, 229Synchronous, 229Update task, 221, 226

Database view, 215, 298, 328Debugger, 110

Scripting, 129Software Layer Aware Debugging, 129Step size, 129

Deep structure, 143, 167, 333Default component name, 310Delete, 195Delivery and maintenance, 314Dequeue, 323, 329Desktop, 117, 118, 127, 128Dialog program, 359Dialog screen, 405

Event, 405Dialog step, 62, 67, 218, 224Diff tool, 119Dispatcher, 62Domain, 295, 297, 300, 307, 335

Format, 301Output property, 300, 307

Down cast, 545

E

Encapsulation, 436Enhancement, 93, 559

ABAP Dictionary, 587Append structure, 587BAdI, 578BTE, 575Concept, 599Customer exit, 566Customizing include, 588Explicit enhancement point, 589Implicit enhancement point, 589Menu exit, 573Option, 589

Enhancement, 93, 559 (Cont.)Screen exit, 572Search tool, 599Spot, 590Technique, 562, 600User exit, 563

Enhancement Framework, 92, 559, 561, 588, 600Composite Enhancement, 590Enhancement option, 589Enhancement point, 589Enhancement spot, 93, 590New BAdI, 589

Enhancement Information System, 75, 92, 107, 599

Enqueue, 323, 329Enterprise extension, 52Entity relationship model (ERM), 207Event, 470

Sender, 459Event block, 242, 253, 282

At line-selection, 256, 280At selection-screen, 252, 255, 277, 278, 279At user-command, 256, 280End-of-page, 256, 277, 278End-of-selection, 255, 277, 278Get node, 252, 255, 277, 278Initialization, 253, 277, 278Load-of-program, 253, 277, 278Start-of-selection, 252, 253, 277, 278Top-of-page, 256, 277, 278, 280

ExaminationStrategy, 46

ExamineProcessing logic, 111Result, 111Source code, 111, 115, 118, 119, 120, 122,

123, 127, 129Exclusive lock, 325Exclusive mode, 116, 117, 134External mode, 113, 115, 134

F

Field, 371OK_CODE, 274Ref_field, 482

Page 48: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index 629

Field, 371 (Cont.)Ref_table, 482

Field label, 310File interface, 351

Open dataset, 351Fixed point arithmetic, 153Flat structure, 143, 167, 333

Type, 157Flow logic, 273Foreign key, 316Fragment view, 340, 344, 347, 348, 352Free, 197Friendship � ClassFront-End Editor, 86Full buffering, 317Function Builder, 91Functional method, 535Functional type, 384

G

Gateway, 63Generic buffering, 317Global class, 439

Public instantiation, 444Graphical Screen Painter, 366GUI

Creating GUI status, 387Creating GUI title, 387Setting GUI status, 389Setting GUI title, 389Status, 360, 382, 405Title, 360Title design, 382

H

Hashed table, 175, 178, 181, 312Internal, 204

Help view, 329, 334Hexadecimal type, 154

I

Identifying error, 110, 111Index, 298, 318Index table, 178

Inheritance, 436, 489, 540, 547, 551Tree, 541

Initialization, 415, 424Inner join, 326, 332Insert, 184, 185

Lines, 186Table, 177

Instance, 56Instance attribute, 448Instance component, 444Integer type, 153Interface, 546, 552Internal table, 170, 171, 204, 261

Access mode, 177Append, 174Assigning, 189At...endat, 193Binary search, 190Clear, 197Collect, 187Column, 172Define, 176Delete, 195Delete adjacent duplicates, 196Endloop, 192Hashed, 261Hashed table, 175Header line, 173Index access, 175Initial size, 181Insert, 185Key access, 175Line type, 173Loop, 192Modify, 194Non-unique key, 179Occurs, 199Populate, 174Read table, 188Refresh, 197Sort, 196Sorted table, 174, 261Standard, 261Standard key, 173Standard table, 174Table key, 173Table row, 172

Page 49: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index630

Internal table, 170, 171, 204, 261 (Cont.)Table type, 176Transporting, 189Uniqueness of key, 175User-defined key, 173With header line, 181, 182Without header line, 173Work area, 173

Internet Communication Manager, 54Internet Transaction Server, 54

J

Java Connector, 56Join, 326

K

Kernel and administration services, 58Key, 312

L

LayoutFlowLayout, 519GridLayout, 520MatrixLayout, 520RowLayout, 519

Length, 156Like, 152Line type, 312Literal, 147

Constant, 148Numeric, 148String, 148

Local class, 433, 437Lock object, 51, 67, 206, 207, 219, 220, 296,

298, 323, 603Dequeue, 219, 220, 224, 228, 603Enqueue, 219, 220, 221, 224, 603Local lock container, 222Lock mode, 325

Lock parameter_Collect, 222_Scope, 221, 223_Wait, 222, 223Mode, 221, 222

Log data change, 317LUW, 51, 206, 207, 217, 224, 225, 229, 230

Commit, 217, 219, 225, 227, 229, 230Database, 63, 66, 216, 217, 218, 219, 230Implicit commit, 217, 218, 219Rollback, 216, 217, 227, 230SAP, 66, 217, 218, 226, 246

M

Maintenance, 326Maintenance view, 298, 328, 331, 332, 334Master certification, 30Memory analysis, 119Menu exit, 573Menu Painter, 91Message, 242, 249, 275

Class, 275Number, 275Placeholder, 276Server, 57, 60, 61, 62, 67Type, 275

Method, 469, 546Changing, 454Default, 455Exporting, 454Importing, 454Instance, 266, 537, 542Optional, 454Static, 537, 543

MIME Repository Browser, 80Model View Controller � MVCModification, 559, 591Modification browser, 592Modify, 194, 216Modify table, 177Modularization unit, 242, 246, 258, 282,

494, 536Function module, 246, 248, 251, 259, 261,

265, 266, 268, 281, 536Method, 246, 248, 251, 259, 266, 281, 536Subroutine, 246, 248, 250, 251, 259, 260,

262, 266, 268, 494, 536Module, 371Module pool program

Create, 398Multiple inheritance, 541, 546, 552

Page 50: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index 631

Multiple use, 580MVC, 507, 508

Controller, 508Model, 508View, 508

N

Narrowing cast � Down castNested structure, 167Non-cumulative lock, 325Non-Unicode system, 341Numeric literal, 148Numeric type, 153

O

Object, 446, 470Instantiation, 266

Object Navigator, 78, 79Object-oriented programming, 433

Concept, 435On, 371Outer join, 326, 332Overloading, 543Overview, 297

P

Package, 95Global_switch, 98Interface, 97Nesting, 96Pakparam, 97Visibility, 96

Package Builder, 96PAI, 361, 363Parameter, 146, 151, 250, 259, 410

As checkbox, 411Changing, 248, 251, 259, 260, 262, 265,

535Default, 411Input, 248, 251, 259, 262, 265, 484, 614Memory ID, 411Obligatory, 410, 411Output, 248, 251, 259, 262, 265, 535, 614Parameter ID, 310, 411

Parameter, 146, 151, 250, 259, 410 (Cont.)Pass by reference, 249, 250, 251, 260, 282Pass by value, 249, 250, 251, 260, 264,

266, 282Radiobutton group, 411Returning, 248, 265, 268, 535Table, 248, 260, 262Value check, 412

PBO, 361, 363Personalization, 561, 562Physical lock, 219Plug, 511, 512POH, 363, 406Polymorphism, 436Pooled table, 334POV, 363, 406Presentation layer, 60, 61, 218, 245Primary index, 318Private attribute, 447Procedure, 252

Exception, 248, 249, 261, 263, 265, 546Parameter, 248

Process After Input � PAIProcess Before Output � PBOProcess interface, 577Process On Help-Request � POHProcess On Value-Request � POVProcessing block, 246, 248, 277, 282

Dialog module, 248, 615Event block, 248, 252Procedure, 248

Professional certification, 30Professional examination

Competency area, 36Specifics, 36

Program, 367Program attribute, 341Program context, 219Program type, 276

Class, 247, 248, 265Executable, 246, 273Function group, 247, 248, 261, 264, 274Interface, 247, 248Module pool, 246, 274Type group, 247, 248

Projection view, 328, 332, 334Public attribute, 447

Page 51: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index632

R

Read lock, 325Read table, 177, 188, 190, 191Refactoring Assistant, 541, 549Reference data type, 333Reference table, 314Reference type, 159REFRESH, 197Relational operator, 350Remote Function Call � RFCRepository Browser, 81, 107Repository Information System, 75, 83, 107Repository object, 60, 68, 73, 244, 245Reuse component, 211, 258, 261, 509Reuse Library, 79RFC, 58, 218, 246, 261Root component, 517

S

SAP application server, 50, 218, 219SAP Business All-in-One, 51SAP Business ByDesign, 51SAP Business One, 51SAP Business Suite, 51SAP Certified ABAP Development Associate,

32SAP Certified ABAP Development Professio-

nal, 35SAP Community Network (SCN), 41SAP ERP, 53SAP examination

Strategy, 44SAP GUI, 59, 60, 62, 64SAP Help Portal, 41SAP List Viewer � ALVSAP Logon, 61SAP NetWeaver Application Server, 50, 51,

54, 58, 341, 473, 508ABAP, 55, 56, 59, 60, 61, 62, 63, 65ABAP+Java, 54, 56Java, 55, 56

SAP Notes Assistant, 592SAP Web Application Server, 52, 54Screen, 61, 262, 273, 396, 474

Chain, 371

Screen, 61, 262, 273, 396, 474 (Cont.)Container control, 474, 475, 477, 493Control, 474, 477Design, 362Dynpro, 63, 242, 268, 273, 474, 476, 494,

507Element attribute, 366Endchain, 371Endloop, 371Exit, 572Field, 373Field help, 378Function code, 368Function type, 384Loop, 371Modal dialog box, 242, 274Modifying dynamically, 396Module, 369On chain-input, 374On input, 374On request, 374Process after input, 361Process before output, 361Processing, 371Processor, 63Show element list, 367Structure, 397Type, 365Value help, 378Values, 371

Screen flow logic, 369At cursor-selection, 375At exit-command, 375Keyword, 371Process after input, 370Process before output, 370

Screen Painter, 319, 359, 363Search help, 296, 299, 310, 314, 319, 331,

333, 614Append, 319, 323Attachment, 612, 614Collective, 319, 321Dialog behavior, 612, 613Elementary, 319, 320Interface, 612, 613Parameter, 320, 321Selection method, 612, 615

Page 52: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index 633

Search help, 296, 299, 310, 314, 319, 331, 333, 614 (Cont.)Value list, 612

Secondary index, 318Select, 211, 214, 215, 216, 615

Array fetch, 213Field list, 212From clause, 211Into clause, 211, 212, 213Join column, 215Join condition, 215Join table, 215Loop, 212, 213Select clause, 211Single, 212Where clause, 211, 213, 214

Selection method, 320Selection screen, 146, 152, 242, 268, 362,

407, 409, 413, 420As subscreen, 422Begin of block, 420Begin of line, 420Call selection-screen, 420Design, 409End of block, 420End of line, 421High, 414Low, 414Memory ID, 417Nesting level, 423No intervals, 416No-display, 417No-extension, 415Obligatory, 417Option, 413Parameter, 269, 407, 409, 410Processing, 424Selection text, 410Select-options, 269, 407, 409Sign, 413Skip, 422Text element, 410Uline, 422Variant, 419

Set handler, 462Shared lock, 325Shared memory, 63

Singleton, 538, 540SLAD � Debugger: Software Layer Aware

DebuggingSorted table, 174, 178, 181, 312

Internal, 204Specialization, 540, 547SQL, 206, 207, 216

Access method, 213Buffering, 65, 209, 210, 214, 245Key field, 209, 212, 213Native SQL, 64, 66, 210Open SQL, 64, 65, 207, 211, 214, 216, 245Optimize, 213Secondary index, 209, 213

Standard table, 174, 178, 312Internal, 204

Static attribute, 448Static component, 444String, 154String literal, 148Structure, 209, 212, 298, 300, 311Syntactically forbidden, 549

T

Table, 271, 298DBTABPRT, 317Field, 314Join, 215Primary key, 209Secondary key, 209, 213Transparent, 208, 209, 210

Table controlAttribute, 392Programming, 391Screen flow logic, 393

Table type, 158, 176, 298, 311, 312Key category, 178Line type, 176

Tables, 161Tag Browser, 80Target � SelectTechnical platform, 52, 53Technical settings, 316Test Repository Browser, 80Text field literal, 148Text symbol, 149

Page 53: Puneet Asthana and David Haslam - Cloud Storage · PDF filePuneet Asthana and David Haslam SAP ... 15 ALV Grid Control ... ABAP Types and Data Objects

Index634

Tool, 117, 118, 120, 122, 123, 127, 128, 129Service, 120

TransactionCMOD, 567FIBF, 576SMOD, 566UCCHECK, 341, 342

Transparent table, 297, 313, 330, 331Transport Organizer, 98, 101, 107Transporting, 192Type, 146, 152, 156, 326

U

UnderstandingComprehension, 43Effective memory, 43Mnemonics, 44Testing, 43

Unicode, 257, 338Alignment, 339, 344, 345, 348Byte order, 346Character set, 341Check, 338, 339, 340, 341Compliant, 339Fragment view, 348, 349Program, 246, 341, 342, 343, 344, 348,

350Syntax, 339, 340, 342System, 341, 342, 352Tool, 340, 341

Up cast, 544Update module, 66, 207, 227

V1, 227, 230V2, 227, 230

User exit, 561, 564, 565

V

Value, 152Variable, 149View

Container, 518Context, 510, 513, 522Controller, 510, 513, 522Layout, 517, 518, 522UI element, 510, 515, 516, 517, 518, 521,

522Visibility section, 542, 547

Private, 538, 539, 542, 543Protected, 539, 543Public, 538, 539, 543, 547

W

Watchpoint, 111, 123, 124, 133Web Application Builder, 92Web Dynpro, 55, 61

Component, 509, 512, 513Component interface, 509, 516Controller, 509, 510, 513Event handling, 512, 515Explorer, 92Text Browser, 80View, 509, 511, 512Window, 509, 512

Widening cast � Up castWork process, 57, 62, 63, 66, 218, 229Write lock, 325

X

XSTRING, 154