close menu
Bookswagon-24x7 online bookstore
close menu
My Account
30%
Official ABAP Programming Guidelines: (English)

Official ABAP Programming Guidelines: (English)

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

How do I select the appropriate program type? Where should the local declarations of a procedure be positioned? Am I supposed to immediately replace all obsolete language elements in existing code? Should I use procedural or object-oriented ABAP? The official ABAP programming guidelines provide clarity and security by answering these questions, and many more that may arise in your daily work. Readers learn the general principles that should be taken into account when you create new programs and classes and find the answers to your questions on style, including naming, commentation, and structure of programs and procedures. Plus, explore guidelines on individual aspects of architecture, such as object orientation, error handling, user interfaces, data storage, and much more. With this book you'll be able to ensure your ABAP programs run predictably with no surprises by gaining in-depth knowledge on data types and data objects, calculations and accesses, internal tables, and more. That's just for starters!Explore volumes of practical tips and expert insights throughout the book, as well as examples of good and bad ABAP programming, to help you adopt effective working techniques and principles.

Table of Contents:

  • Foreword 13
  • Acknowledgments 15
  • 1 Introduction 17
  • 1.1 What Are Programming Guidelines 17
  • 1.2 Why Programming Guidelines 18
  • 1.3 Which Guidelines Are Involved Here 18
  • 1.4 Target Audience 19
  • 1.5 How to Use This Book 20
  • 2 General Basic Rules 23
  • 2.1 Separation of Concerns 23
  • 2.2 KISS Principle 32
  • 2.3 Correctness and Quality 34
  • 3 ABAP-Specific Basic Rules 41
  • 3.1 ABAP Objects as a Programming Model 41
  • 3.2 Program Type and Program Attributes 50
  • 3.2.1 Program Type 51
  • 3.2.2 Program Attributes 55
  • 3.2.3 Original Language 60
  • 3.3 Modern ABAP 62
  • 3.4 Checks for Correctness 65
  • 3.4.1 Syntax Check 65
  • 3.4.2 Extended Program Check 69
  • 3.4.3 Code Inspector 72
  • 3.4.4 ABAP Test Cockpit 76
  • 4 Structure and Style 79
  • 4.1 Source Code Formatting 80
  • 4.1.1 Case Sensitivity 80
  • 4.1.2 Statements per Program Line 84
  • 4.1.3 Using the Pretty Printer 86
  • 4.1.4 Line Width 89
  • 4.2 Naming 91
  • 4.2.1 Selecting the Language 92
  • 4.2.2 Descriptive Names 94
  • 4.2.3 Names of Repository Objects 101
  • 4.2.4 Program-Internal Names 106
  • 4.3 Comments 115
  • 4.3.1 Selecting the Language 115
  • 4.3.2 Content 117
  • 4.3.3 Arrangement in the Source Code 120
  • 4.4 Program and Procedure Structure 123
  • 4.4.1 Global Declarations of a Program 124
  • 4.4.2 Local Declarations 127
  • 4.5 Source Code Organization 130
  • 4.5.1 Source Code Modularization 130
  • 4.5.2 Multiple Use of Include Programs 132
  • 4.6 Alternative Notations 135
  • 4.6.1 Alternative Language Constructs in Statements 135
  • 4.6.2 Chained Statements 137
  • 4.6.3 Method Calls 141
  • 4.6.4 Assignments and Calculations 143
  • 4.6.5 Calculation Expressions 145
  • 4.7 Complexity 146
  • 4.7.1 Expressions 147
  • 4.7.2 Nesting Depth 149
  • 4.7.3 Procedure Volume 150
  • 4.7.4 Class Size 151
  • 4.7.5 Dead Code 153
  • 5 Architecture 155
  • 5.1 Object-Oriented Programming 155
  • 5.1.1 Encapsulation 156
  • 5.1.2 Modularization 157
  • 5.1.3 Static Classes and Singletons 161
  • 5.1.4 Inheritance 166
  • 5.1.5 Class References and Interface References 167
  • 5.1.6 Local Types for Global Classes 169
  • 5.1.7 Instance Constructor 171
  • 5.2 Error Handling 172
  • 5.2.1 Reaction to Error Situations 172
  • 5.2.2 Classical and Class-Based Exceptions 174
  • 5.2.3 Exception Categories 178
  • 5.2.4 Exception Texts 180
  • 5.2.5 Using Exception Classes 183
  • 5.2.6 Handling and Propagating Exceptions 185
  • 5.2.7 Cleanup After Exceptions 186
  • 5.2.8 Catchable Runtime Errors 188
  • 5.2.9 Assertions 190
  • 5.2.10 Messages 191
  • 5.3 User Interfaces 195
  • 5.3.1 Selecting the User Interface Technology 195
  • 5.3.2 Encapsulating Classical User Interfaces 199
  • 5.3.3 Lists 204
  • 5.3.4 Accessibility 207
  • 5.4 Data Storage 208
  • 5.4.1 Persistent Data Storage 208
  • 5.4.2 Database Accesses 210
  • 5.4.3 Client Handling 211
  • 5.4.4 Using the Shared Memory 213
  • 6 Secure and Robust ABAP 217
  • 6.1 Data Types and Data Objects 217
  • 6.1.1 Bound and Standalone Data Types 218
  • 6.1.2 Declaration of Data Types and Constants 220
  • 6.1.3 Declaration of Variables 224
  • 6.1.4 Including Structures 226
  • 6.1.5 Using Types 228
  • 6.1.6 Referring to Data Types or Data Objects 230
  • 6.1.7 Table Work Areas 232
  • 6.1.8 Literals 233
  • 6.1.9 Strings 236
  • 6.1.10 Start Values 238
  • 6.1.11 Data Objects for Truth Values 239
  • 6.2 Assignments, Calculations, and Other Accesses to Data 241
  • 6.2.1 Assignments Between Different Types 241
  • 6.2.2 Avoiding Invalid Values 243
  • 6.2.3 Using Conversion Rules 245
  • 6.2.4 Specification of Numbers 247
  • 6.2.5 Selecting the Numeric Type 249
  • 6.2.6 Rounding Errors 253
  • 6.2.7 Division by Zero 255
  • 6.2.8 Casting 255
  • 6.2.9 Runtime Errors When Accessing Data Objects 257
  • 6.2.10 Anonymous Containers 259
  • 6.2.11 Passing Global Data by Reference 260
  • 6.3 System Fields 262
  • 6.3.1 Access 262
  • 6.3.2 Obsolete and Internal System Fields 264
  • 6.3.3 Evaluation 265
  • 6.3.4 Return Value 267
  • 6.3.5 Using System Fields as Actual Parameters 268
  • 6.3.6 Using System Fields on the User Interface 270
  • 6.3.7 Using System Fields in Operand Positions 272
  • 6.4 Internal Tables 273
  • 6.4.1 Selecting the Table Category 274
  • 6.4.2 Secondary Keys 276
  • 6.4.3 Initial Memory Allocation 280
  • 6.4.4 Sorted Filling 281
  • 6.4.5 Aggregated Filling 283
  • 6.4.6 Output Behavior 284
  • 6.4.7 Loop Processing 286
  • 6.5 Modularization Units 287
  • 6.5.1 Function Modules and Subroutines 288
  • 6.5.2 Type of the Formal Parameters of Procedures 289
  • 6.5.3 Transfer Type of Formal Parameters 292
  • 6.5.4 Passing Output Parameters by Reference 294
  • 6.5.5 Typing of Formal Parameters 296
  • 6.5.6 Internal and External Procedure Calls 298
  • 6.5.7 Exiting Procedures 302
  • 6.5.8 Dialog Modules and Event Blocks 304
  • 6.5.9 Macros 306
  • 6.6 Dynamic Programming Techniques 309
  • 6.6.1 Using Dynamic Programming Techniques 309
  • 6.6.2 Runtime Errors During Dynamic Processing 311
  • 6.6.3 Using Dynamic Data Objects 313
  • 6.6.4 Memory Consumption of Dynamic Memory Objects 315
  • 6.6.5 Administration Costs of Dynamic Memory Objects 318
  • 6.6.6 Accessing Data Objects Dynamically 321
  • 6.6.7 Generic Programming 324
  • 6.7 Internationalization 329
  • 6.7.1 Storing System Texts 329
  • 6.7.2 Translation-Friendly Message Texts 331
  • 6.7.3 Text Environment 333
  • 6.7.4 Character Set of Source Code 335
  • 6.7.5 Splitting Texts 336
  • 6.7.6 Codepages for Files 337
  • A Obsolete Language Constructs 341
  • A.1 Procedures 342
  • Subroutines 342
  • 342
  • A.1.2 Table Parameters 342
  • A.1.3 Typing of Formal Parameters 343
  • A.2 Declarations 343
  • A.2.1 Declaring Type Groups 343
  • A.2.2 Interface Work Areas 343
  • A.2.3 Table Work Areas 344
  • A.2.4 Referring to Data Types 344
  • A.2.5 Declaring Field Symbols 344
  • A.2.6 Typing Field Symbols 345
  • A.2.7 Header Lines of Internal Tables 345
  • A.2.8 Declaring Internal Tables 345
  • A.2.9 Ranges Tables 346
  • A.2.10 Addressing Data Objects 346
  • A.2.11 Loading Classes and Interfaces 346
  • A.3 Object Generation 347
  • A.3.1 Anonymous Data Objects 347
  • A.4 Calls and Exits 347
  • A.4.1 Dialog Modules 347
  • A.4.2 Function Module Exit 347
  • A.4.3 External Subroutine Call 348
  • A.4.4 Exiting Programs 348
  • A.4.5 Exception Handling 348
  • A.5 Program Flow Control 349
  • A.5.1 Relational Operators 349
  • A.5.2 Case Distinction 349
  • A.5.3 Checking the Binding to Actual Parameters 349
  • A.5.4 Checking Changes of Data Objects 350
  • A.5.5 Loops for Memory Content 350
  • A.6 Assignments 350
  • A.6.1 Subfield Access 350
  • A.6.2 Converting Packed Numbers 351
  • A.6.3 Initialization 351
  • A.6.4 Temporary Storage of Data Objects 351
  • A.6.5 Casting 352
  • A.6.6 Dynamic Assignment to a Field Symbol 352
  • A.7 Calculation Statements 352
  • A.7.1 Component-Based Calculations 352
  • A.7.2 Calculations with Memory Content 353
  • A.8 Processing Character and Byte Strings 353
  • A.8.1 Searching in Character and Byte Strings 353
  • A.8.2 Replacements in Character and Byte Strings 353
  • A.8.3 Creating the Nine's Complement 354
  • A.8.4 Translating Characters and Numbers 354
  • A.8.5 Text Editor 354
  • A.9 Internal Tables 355
  • A.9.1 Processing Statements 355
  • A.9.2 Key Specifications 355
  • A.9.3 Deleting a Table 356
  • A.9.4 Formatted Assignment 356
  • HR Infotypes 356
  • 356
  • A.10 Dynpro Flow Logic 357
  • A.10.1 Comparing Values 357
  • A.10.2 Accessing Databases 357
  • A.10.3 Extending Subscreens 357
  • A.10.4 Step Loops 358
  • A.11 Classical List Processing 358
  • A.11.1 Formatting 358
  • A.11.2 List Event 358
  • A.11.3 Print Parameters 359
  • A.11.4 Spool Request 359
  • A.11.5 Extreme Values and Calculations 359
  • A.12 Data Storage 360
  • A.12.1 Open SQL 360
  • A.12.2 Native SQL 360
  • A.12.3 Data Cluster 360
  • A.12.4 Data Clusters in the ABAP Memory 361
  • A.12.5 Data Clusters in the Database 361
  • A.12.6 Work Area for Data Clusters 361
  • A.12.7 Obsolete Database Accesses 362
  • A.13 Contexts 362
  • A.14 External Interfaces 363
  • A.14.1 XML Connection 363
  • A.14.2 CPI-C Interface 363
  • A.14.3 JavaScript Connection 363
  • B Automatic Check of Naming Conventions 365
  • B.1 Naming Conventions in the Code Inspector 365
  • B.2 Type-Specific Prefix Components 366
  • B.3 Prefixes for Procedure-Local Declarations 367
  • B.4 Structured Programming 369
  • B.5 Object-Oriented Programming 370
  • B.6 Assessment of the Naming Conventions 371
  • C Table of Rules 373
  • D Recommended Reading 377
  • E The Authors 379
  • Index 381


    Best Seller

    | | See All

    Product Details
    • ISBN-13: 9781592292905
    • Publisher: SAP Press
    • Publisher Imprint: SAP Press
    • Height: 228 mm
    • No of Pages: 398
    • Series Title: English
    • Weight: 931 gr
    • ISBN-10: 1592292909
    • Publisher Date: 26 Oct 2009
    • Binding: Hardback
    • Language: English
    • Returnable: N
    • Spine Width: 27 mm
    • Width: 175 mm


    Similar Products

    How would you rate your experience shopping for books on Bookswagon?

    Add Photo
    Add Photo

    Customer Reviews

    REVIEWS           
    Be The First to Review
    Official ABAP Programming Guidelines: (English)
    SAP Press -
    Official ABAP Programming Guidelines: (English)
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Official ABAP Programming Guidelines: (English)

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals

      | | See All


      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA