当前位置: 首页 > SAP PRESS > SAP Press - ABAP Cookbook

SAP Press - ABAP Cookbook

本文标签:SAPPressABAPCookbook
授权形式:    
更新时间:    2015-06-02 15:08:05
文件语言:    英文
文件平台:    Win2000/WinXP/Win2003/WIN7/WIN8
文件类别:    PDF格式
文件大小:    未知
网盘密码    6cx8    (复制此密码|copy password)
文件等级:    ★★★★★
下载次数:    (今日:,本周:,本月:

文件介绍

This book allows you to find the answers you need to typical ABAP development problems and tasks. You’ll discover best practices for developing solutions, and learn how to apply ABAP to solve different types of problems. The recipes range from simple appetizers to complex main courses — and some sweet desserts, of course! Each chapter is a short tutorial in itself, organized and consolidated into an easy-to-read format. The various code samples, screenshots, and different icons will help you to follow the best practices. Enjoy your ABAP meal!

Best Practices
Learn best practices for programming and the solutions to both simple and complex programming problems.

Programming Techniques
Discover various techniques for dynamic, database, transactional, persistence, interface, and security programming in ABAP.

Comprehensive Approach to Problem Solving
Explore the context of a problem, solution alternatives, and the thought process involved in the development of a solution.

Instructive Icons
Easily identify quick tips, step-by-step instructions, and warnings, thanks to the use of helpful icons throughout the text.

Numerous Examples and Source Codes
Explore coding examples in every chapter, as well as two source code bundles that you can install on your local AS ABAP system.

Highlights


· String processing techniques
· Dynamic and reflective programming
· ABAP and Unicode
· Database programming
· Transactional programming
· XML processing in ABAP
· Web services and programming with the ICF
· Email programming
· Security programming
· Logging and tracing
· Interprocess communication
· Parallel and distributed processing with RFCs

The Author

James Wood is the founder and principal consultant of Bowdark Consulting, Inc., an SAP NetWeaver consulting and training organization. With almost 10 years of experience as a software engineer, James specializes in custom development in the areas of ABAP Objects, Java/J2EE, SAP Process Integration, and the SAP NetWeaver Portal.

Table of Contents

  • ... Introduction ... 17

  • 1 ... String Processing Techniques ... 27

  • 1.1 ... ABAP Character Types ... 27

  • 1.2 ... Designing a Custom String Library ... 29

  • 1.2.1 ... Developing the API ... 29

  • 1.2.2 ... Encapsulating Basic String Processing Statements ... 33

  • 1.3 ... Improving Productivity with Regular Expressions ... 36

  • 1.3.1 ... Understanding Regular Expressions ... 36

  • 1.3.2 ... Regular Expression Syntax ... 37

  • 1.3.3 ... Using Regular Expressions in ABAP ... 46

  • 1.3.4 ... Integrating Regular Expression Support into the String Library ... 53

  • 1.4 ... Summary ... 56

  • 2 ... Working with Numbers, Dates, and Bytes ... 57

  • 2.1 ... Numeric Operations ... 57

  • 2.1.1 ... ABAP Math Functions ... 58

  • 2.1.2 ... Generating Random Numbers ... 60

  • 2.2 ... Date and Time Processing ... 64

  • 2.2.1 ... Understanding ABAP Date and Time Types ... 64

  • 2.2.2 ... Date and Time Calculations ... 65

  • 2.2.3 ... Working with Timestamps ... 66

  • 2.2.4 ... Calendar Operations ... 70

  • 2.3 ... Bits and Bytes ... 73

  • 2.3.1 ... Introduction to the Hexadecimal Type in ABAP ... 73

  • 2.3.2 ... Reading and Writing Individual Bits ... 75

  • 2.3.3 ... Bitwise Logical Operators ... 76

  • 2.4 ... Summary ... 79

  • 3 ... Dynamic and Reflective Programming ... 81

  • 3.1 ... Working with Field Symbols ... 81

  • 3.1.1 ... What Is a Field Symbol ... 82

  • 3.1.2 ... Field Symbol Declarations ... 83

  • 3.1.3 ... Assigning Data Objects to Field Symbols ... 85

  • 3.1.4 ... Casting Data Objects During the Assignment Process ... 89

  • 3.2 ... Reference Data Objects ... 91

  • 3.2.1 ... Declaring Data Reference Variables ... 91

  • 3.2.2 ... Assigning References to Data Objects ... 93

  • 3.2.3 ... Dynamic Data Object Creation ... 94

  • 3.2.4 ... Performing Assignments Using Data Reference Variables ... 96

  • 3.2.5 ... De-Referencing Data References ... 96

  • 3.3 ... Introspection with ABAP Run Time Type Services ... 99

  • 3.3.1 ... ABAP RTTS System Classes ... 99

  • 3.3.2 ... Working with Type Objects ... 100

  • 3.3.3 ... Defining Custom Data Types Dynamically ... 102

  • 3.3.4 ... Case Study: RTTS Usage in the ALV Object Model ... 104

  • 3.4 ... Dynamic Program Generation ... 106

  • 3.4.1 ... Creating a Subroutine Pool ... 106

  • 3.4.2 ... Creating a Report Program ... 107

  • 3.4.3 ... Drawbacks to Dynamic Program Generation ... 108

  • 3.5 ... Summary ... 108

  • 4 ... ABAP and Unicode ... 109

  • 4.1 ... Introduction to Character Codes and Unicode ... 109

  • 4.1.1 ... Understanding Character-Encoding Systems ... 110

  • 4.1.2 ... Limitations of Early Character-encoding Systems ... 111

  • 4.1.3 ... What Is Unicode ... 111

  • 4.1.4 ... Unicode Support in SAP Systems ... 113

  • 4.2 ... Developing Unicode-Enabled Programs in ABAP ... 113

  • 4.2.1 ... Overview of Unicode-Related Changes to ABAP ... 114

  • 4.2.2 ... Thinking in Unicode ... 117

  • 4.2.3 ... Turning on Unicode Checks ... 120

  • 4.3 ... Working with Unicode System Classes ... 121

  • 4.3.1 ... Converting External Data into ABAP Data Objects ... 121

  • 4.3.2 ... Converting ABAP Data Objects into External Data Formats ... 124

  • 4.3.3 ... Converting Between External Formats ... 126

  • 4.3.4 ... Useful Character Utilities ... 129

  • 4.4 ... Summary ... 131

  • 5 ... Working with Files ... 135

  • 5.1 ... File Processing on the Application Server ... 135

  • 5.1.1 ... Understanding the ABAP File Interface ... 136

  • 5.1.2 ... Case Study: Processing Files with the ABAP File Interface ... 141

  • 5.2 ... Working with Unicode ... 148

  • 5.2.1 ... Changes to the OPEN DATASET Statement to Support Unicode ... 149

  • 5.2.2 ... Using Class CL_ABAP_FILE_UTILITIES ... 149

  • 5.3 ... Logical Files and Directories ... 150

  • 5.3.1 ... Defining Logical Directory Paths and Files in Transaction FILE ... 151

  • 5.3.2 ... Working with the Logical File API ... 155

  • 5.4 ... File Compression with ZIP Archives ... 157

  • 5.4.1 ... The ABAP ZIP File API ... 158

  • 5.4.2 ... Creating a ZIP File ... 159

  • 5.4.3 ... Reading a ZIP File ... 163

  • 5.5 ... File Processing on the Presentation Server ... 167

  • 5.5.1 ... Interacting with the SAP GUI via CL_GUI_FRONTEND_SERVICES ... 167

  • 5.5.2 ... Downloading a File ... 168

  • 5.5.3 ... Uploading a File ... 171

  • 5.6 ... Transmitting Files Using FTP ... 173

  • 5.6.1 ... Introducing the SAPFTP Library ... 173

  • 5.6.2 ... Wrapping the SAPFTP Library in an ABAP Objects Class ... 175

  • 5.6.3 ... Uploading and Downloading Files Using FTP ... 176

  • 5.6.4 ... Implementation Details ... 179

  • 5.7 ... Summary ... 182

  • 6 ... Database Programming ... 183

  • 6.1 ... Object-Relational Mapping and Persistence ... 183

  • 6.1.1 ... Positioning of Object-Relational Mapping Tools ... 184

  • 6.1.2 ... Persistence Service Overview ... 184

  • 6.1.3 ... Mapping Concepts ... 187

  • 6.2 ... Developing Persistent Classes ... 189

  • 6.2.1 ... Creating Persistent Classes in the Class Builder ... 190

  • 6.2.2 ... Defining Mappings Using the Mapping Assistant Tool ... 192

  • 6.3 ... Working with Persistent Objects ... 198

  • 6.3.1 ... Understanding the Class Agent API ... 199

  • 6.3.2 ... Performing Typical CRUD Operations ... 199

  • 6.3.3 ... Querying Persistent Objects with the Query Service ... 204

  • 6.4 ... Modeling Complex Relationships ... 206

  • 6.4.1 ... Defining Custom Attributes ... 207

  • 6.4.2 ... Filling in the Gaps ... 209

  • 6.5 ... Storing Text with Text Objects ... 214

  • 6.5.1 ... Defining Text Objects ... 214

  • 6.5.2 ... Using the Text Object API ... 218

  • 6.5.3 ... Alternatives to Working with Text Objects ... 222

  • 6.6 ... Connecting to External Databases ... 223

  • 6.6.1 ... Configuring a Database Connection ... 223

  • 6.6.2 ... Accessing the External Database ... 225

  • 6.6.3 ... Further Reading ... 230

  • 6.7 ... Summary ... 231

  • 7 ... Transactional Programming ... 233

  • 7.1 ... Introduction to the ACID Transaction Model ... 233

  • 7.2 ... Transaction Processing with SAP LUWs ... 235

  • 7.2.1 ... Introduction to SAP Logical Units of Work ... 235

  • 7.2.2 ... Bundling Database Changes in Update Function Modules ... 239

  • 7.2.3 ... Bundling Database Changes in Subroutines ... 242

  • 7.2.4 ... Performing Local Updates ... 244

  • 7.2.5 ... Dealing with Exceptions in the Update Task ... 245

  • 7.3 ... Working with the Transaction Service ... 248

  • 7.3.1 ... Transaction Service Overview ... 248

  • 7.3.2 ... Understanding Transaction Modes ... 249

  • 7.3.3 ... Processing Transactions in Object-Oriented Mode ... 253

  • 7.3.4 ... Performing Consistency Checks with Check Agents ... 259

  • 7.4 ... Implementing Locking with the Enqueue Service ... 262

  • 7.4.1 ... Introduction to the SAP Lock Concept ... 262

  • 7.4.2 ... Defining Lock Objects ... 263

  • 7.4.3 ... Programming with Locks ... 265

  • 7.4.4 ... Integration with the SAP Update System ... 267

  • 7.4.5 ... Lock Administration ... 267

  • 7.5 ... Tracking Changes with Change Documents ... 268

  • 7.5.1 ... What Are Change Documents ... 269

  • 7.5.2 ... Creating Change Document Objects ... 269

  • 7.5.3 ... Configuring Change-Relevant Fields ... 273

  • 7.5.4 ... Programming with Change Documents ... 274

  • 7.6 ... Summary ... 279

  • 8 ... XML Processing in ABAP ... 283

  • 8.1 ... Introduction to XML ... 283

  • 8.1.1 ... What Is XML ... 284

  • 8.1.2 ... XML Syntax ... 285

  • 8.1.3 ... Defining XML Documents Using XML Schema ... 289

  • 8.2 ... Parsing XML with the iXML Library ... 291

  • 8.2.1 ... Introducing the iXML Library API ... 291

  • 8.2.2 ... Working with DOM ... 292

  • 8.2.3 ... Case Study: Developing XML Mapping Programs in ABAP ... 297

  • 8.2.4 ... Next Steps ... 304

  • 8.3 ... Transforming XML Using XSLT ... 304

  • 8.3.1 ... What Is XSLT ... 305

  • 8.3.2 ... Anatomy of an XSLT Stylesheet ... 305

  • 8.3.3 ... Integrating XSLT with ABAP ... 308

  • 8.3.4 ... Creating XSLT Stylesheets ... 308

  • 8.3.5 ... Processing XSLT Programs in ABAP ... 310

  • 8.3.6 ... Case Study: Transforming Business Partners with XSLT ... 311

  • 8.3.7 ... Serialization of ABAP Data Objects Using asXML ... 314

  • 8.4 ... Simple Transformation ... 317

  • 8.4.1 ... What Is Simple Transformation ... 318

  • 8.4.2 ... Anatomy of a Simple Transformation Program ... 318

  • 8.4.3 ... Learning Simple Transformation Syntax ... 319

  • 8.4.4 ... Creating Simple Transformation Programs ... 324

  • 8.4.5 ... Case Study: Transforming Business Partners with ST ... 325

  • 8.5 ... Summary ... 327

  • 9 ... Web Programming with the ICF ... 329

  • 9.1 ... HTTP Overview ... 329

  • 9.1.1 ... Working with the Uniform Interface ... 330

  • 9.1.2 ... Addressability and URLs ... 332

  • 9.1.3 ... Understanding the HTTP Message Format ... 333

  • 9.2 ... Introduction to the ICF ... 335

  • 9.3 ... Developing an HTTP Client Program ... 336

  • 9.3.1 ... Defining the Service Call ... 337

  • 9.3.2 ... Working with the ICF Client API ... 338

  • 9.3.3 ... Putting It All Together ... 340

  • 9.4 ... Implementing ICF Handler Modules ... 346

  • 9.4.1 ... Working with the ICF Server-Side API ... 347

  • 9.4.2 ... Creating an ICF Service Node ... 348

  • 9.4.3 ... Developing an ICF Handler Class ... 354

  • 9.4.4 ... Testing the ICF Service Node ... 358

  • 9.5 ... Summary ... 360

  • 10 ... Web Services ... 361

  • 10.1 ... Web Service Overview ... 361

  • 10.1.1 ... Introduction to SOAP ... 362

  • 10.1.2 ... Describing SOAP-Based Services with WSDL ... 365

  • 10.1.3 ... Web Service Discovery with UDDI ... 365

  • 10.2 ... Providing Web Services ... 366

  • 10.2.1 ... Creating Service Definitions ... 367

  • 10.2.2 ... Configuring Runtime Settings ... 373

  • 10.2.3 ... Testing Service Providers ... 376

  • 10.3 ... Consuming Web Services ... 378

  • 10.3.1 ... Creating a Service Consumer ... 379

  • 10.3.2 ... Defining a Logical Port ... 383

  • 10.3.3 ... Using a Service Consumer in an ABAP Program ... 386

  • 10.4 ... Next Steps ... 391

  • 10.5 ... Summary ... 391

  • 11 ... Email Programming ... 393

  • 11.1 ... Introduction to BCS ... 393

  • 11.2 ... Sending Email Messages ... 394

  • 11.2.1 ... Understanding the Simple Mail Transfer Protocol ... 395

  • 11.2.2 ... Sending a Plain Text Message ... 396

  • 11.2.3 ... Working with Attachments ... 403

  • 11.2.4 ... Formatting Email Messages with HTML ... 408

  • 11.3 ... Receiving Email Messages ... 411

  • 11.3.1 ... Configuring Inbound Processing Rules ... 412

  • 11.3.2 ... Processing Inbound Requests ... 413

  • 11.3.3 ... Potential Use Cases of Inbound Processing Rules ... 414

  • 11.4 ... Summary ... 416

  • 12 ... Security Programming ... 419

  • 12.1 ... Developing a Security Model ... 419

  • 12.1.1 ... Authenticating Users ... 420

  • 12.1.2 ... Checking User Authorizations ... 420

  • 12.1.3 ... Securing the Lines of Communication ... 421

  • 12.1.4 ... Programming for Security ... 422

  • 12.2 ... The SAP NetWeaver AS ABAP Authorization Concept ... 422

  • 12.2.1 ... Overview ... 423

  • 12.2.2 ... Developing Authorization Objects ... 424

  • 12.2.3 ... Configuring Authorizations ... 430

  • 12.2.4 ... Performing Authorization Checks in ABAP ... 433

  • 12.2.5 ... Authorization Concept Review ... 434

  • 12.3 ... Encrypting Data with ABAP ... 435

  • 12.4 ... Performing Virus Scans ... 437

  • 12.5 ... Protecting Web Content with CAPTCHA ... 438

  • 12.5.1 ... What Is CAPTCHA ... 439

  • 12.5.2 ... Developing a CAPTCHA Component with Adobe Flex ... 439

  • 12.5.3 ... Integrating the CAPTCHA Component with BSPs ... 440

  • 12.5.4 ... Integrating the CAPTCHA Component with Web Dynpro ... 443

  • 12.6 ... Summary ... 444

  • 13 ... Logging and Tracing ... 445

  • 13.1 ... Introducing the Business Application Log ... 446

  • 13.1.1 ... Configuring Log Objects ... 446

  • 13.1.2 ... Displaying Logs ... 448

  • 13.1.3 ... Organization of the BAL API ... 450

  • 13.2 ... Developing a Custom Logging Framework ... 450

  • 13.2.1 ... Organization of the Class-Based API ... 451

  • 13.2.2 ... Configuring Log Severities ... 452

  • 13.3 ... Case Study: Tracing an Application Program ... 453

  • 13.3.1 ... Integrating the Logging Framework into an ABAP Program ... 453

  • 13.3.2 ... Viewing Log Instances in Transaction SLG1 ... 456

  • 13.4 ... Summary ... 458

  • 14 ... Interacting with the Operating System ... 459

  • 14.1 ... Programming with External Commands ... 459

  • 14.1.1 ... Maintaining External Commands ... 460

  • 14.1.2 ... Restricting Access to External Commands ... 462

  • 14.1.3 ... Testing External Commands ... 463

  • 14.1.4 ... Executing External Commands in an ABAP Program ... 465

  • 14.2 ... Case Study: Executing a Custom Perl Script ... 467

  • 14.2.1 ... Defining the Command to Run the Perl Interpreter ... 468

  • 14.2.2 ... Executing Perl Scripts ... 469

  • 14.3 ... Summary ... 474

  • 15 ... Interprocess Communication ... 475

  • 15.1 ... SAP NetWeaver AS ABAP Memory Organization ... 476

  • 15.2 ... Data Clusters ... 477

  • 15.2.1 ... Working with Data Clusters ... 478

  • 15.2.2 ... Storage Media Types ... 478

  • 15.2.3 ... Sharing Data Objects Using ABAP Memory ... 479

  • 15.2.4 ... Sharing Data Objects Using the Shared Memory Buffer ... 482

  • 15.3 ... Working with Shared Memory Objects ... 486

  • 15.3.1 ... Architectural Overview ... 486

  • 15.3.2 ... Defining Shared Memory Areas ... 489

  • 15.3.3 ... Accessing Shared Objects ... 495

  • 15.3.4 ... Locking Concepts ... 506

  • 15.3.5 ... Area Instance Versioning ... 507

  • 15.3.6 ... Monitoring Techniques ... 509

  • 15.4 ... Summary ... 510

  • 16 ... Parallel and Distributed Processing with RFCs ... 511

  • 16.1 ... RFC Overview ... 512

  • 16.1.1 ... Understanding the Different Variants of RFC ... 512

  • 16.1.2 ... Developing RFC-Enabled Function Modules ... 513

  • 16.2 ... Parallel Processing with aRFC ... 515

  • 16.2.1 ... Syntax Overview ... 515

  • 16.2.2 ... Configuring an RFC Server Group ... 518

  • 16.2.3 ... Defining Parallel Algorithms ... 520

  • 16.2.4 ... Case Study: Processing Messages in Parallel ... 522

  • 16.3 ... Summary ... 529

  • ... The Author ... 531

  • ... Index ... 533


SAP Press - ABAP Cookbook下载地址| DOWNLOAD LINK

专用网络

网盘下载

赞助我们 网站的发展离不开你们的支持 备注
支付宝转账
 
PALPAY Transfer
 
☉ 如有疑问可直接咨询我们,E-mail:sapyun#qq.com
☉ If in doubt can be directly consulting us, E-mail:sapyun#qq.com
☉You need this book, you can email to contact me directly
上一篇|下一篇