Galileo Press Bonn Boston Contents Introduction 17 1.1 Log on and Explore 30 1.1.1 Workbench Object Browser 30 1.1.2 Object Browser List 31 1.1.3 Workbench Settings 34 1.1.4 New ABAP Editor 34 1.1.5 Additional New Workbench Tools 40 1.1.6 Debugger 48 1.2 Package Hierarchy for the Project 52 1.2.1 Project Requirements 53 1.2.2 Package Hierarchy 53 2.1 Extended Expressions 59 2.1.1 Math 59 2.1.2 Functional Method Calls 60 2.1.3 Built-in Functions 61 2.1.4 Boolean - BOOLC 62 2.2 String Processing 63 2.2.1 String Templates 63 2.2.2 String Functions 66 2.2.3 12-Hour Time Format 67 2.3 Boxed Components 68 2.4 Decimal Floating Point 71 2.5 Locators and Streams 72 2.5.1 Streams 74 2.5.2 Locators 78 2.6 Resumable Exceptions 79 2.7 Secondary Keys for Internal Tables 81 Contents 3 Data Dictionary Objects 3.1 Designing Data Relationships 85 3.1.1 Table Relationship Graphic 87 3.1.2 SAP Data Modeler 88 3.2 Data Dictionary Fixed Value Domains 89 3.2.1 Single Value Domains 90 3.2.2 Interval Value Domains 91 3.3 Data Dictionary Text Tables 92 3.3.1 Data Elements and Domains 92 3.3.2 Transparent Table Creation and Relationships 93 3.3.3 Maintenance View : 98 3.3.4 Generated Table Maintenance 100 3.4 Data Dictionary Data Tables 102 3.4.1 Enhancements 103 3.4.2 Indexes 104 3.4.3 Lock Objects 107 3.5 Search Helps 108 4.1 Persistent Objects' 114 4.1.1 Creating the Persistent Object Class 115 4.1.2 Base Classes and Agent Classes 117 4.1.3 Persistent Data Mapper 118 4.1.4 Coding with a Persistent Object 121 4.2 Exception Classes 123 4.2.1 Advantages of Exception Classes 124 4.2.2 Creating an Exception Class 125 4.3 Business Object Classes 131 4.3.1 What Is a Business Object Class? 131 4.3.2 Business Object Class Structure 133 4.3.3 Multiple Object Selection 138 4.3.4 Select-Options as a Query Criteria 140 4.3.5 Complex Business Objects 143 4.3.6 Modification Operations 146 4.3.7 ZIP Compression 149 4.4 Data Load Programs 152 Contents 4.4.1 Test Data Generator 152 4.4.2 Backup and Recovery Program 156 5.1 Proxy Generation < 165 5.1.1 Accessing the WSDL Document 165 5.1.2 Creating the Client Proxy 166 5.1.3 Logical Ports 172 5.1.4 Using the Client Proxy Object 176 5.1.5 Implementing into the Business Object Layer .: 177 5.2 Logical Ports 180 5.2.1 Consumer Security 180 5.2.2 Messaging 184 5.2.3 Transport Settings 184 5.2.4 Operation Specific 186 5.2.5 Errors 187 5.3 Extended Protocols 189 Biswiwi 6.1 Getting Started 192 6.1.1 Area Root Class Creation 192 6.1.2 Defining the Shared Memory Area 198 6.1.3 Testing the Shared Memory Object 200 6.1.4 Shared Memory Monitor -. 202 6.2 Automatic Preloading 203 6.2.1 Adding the Interface 203 6.2.2 Modifying the Read Program 205 6.3 Implementing into the Business Object Layer 206 6.3.1 Developing a Test Program 207 6.3.2 Modifying the Business Object Class 208 6.3.3 Testing the Changes 212 7.1 Class Overview 215 / 7.1.1 What Is Model View Controller? 215 Model Class Contents 7.2 7.3 7.4 7.5 8.1 8.2 8.3 7.1.2 Creating the Model Class 216 Transactional Methods 221 7.2.1 Read Method 222 7.2.2 Record Locking Methods 224 7.2.3 Save Method 225 7.2.4 Getters 227 Utility Methods 229 Emailing ; 231 7.4.1 Email Setup 231 7.4.2 Running an Email Test 235 7.4.3 Email Method 237 Regular Expressions 242 What Is Master Data Management? 246 8.1.1 Technical Architecture 246 8.1.2 Clients -248 8.1.3 Basic SAP NetWeaver MDM Administration 250 8.1.4 Modeling in SAP MDM 252 Configuring the SAP NetWeaver MDM ABAP API 254 8.2.1 Installation of the SAP NetWeaver MDM API Add-On ... 254 8.2.2 Configuring the SAP NetWeaver MDM API Connection ... 256 8.2.3 Authentication with the SAP NetWeaver MDM API 258 Coding with the SAP NetWeaver MDM ABAP API 260 8.3.1 Class-Based API .-. 260 8.3.2 Function-Module-Based API 263 8.3.3 Non-Unicode ABAP Systems 265 8.3.4 Simple Read 265 8.3.5 Full Read 269 8.3.6 Integrating the SAP NetWeaver MDM Repository into Your Business Object Class 271 ABAP Unit 275 9.1.1 Overview of ABAP Unit Tests 276 9.1.2 Creating ABAP Unit Tests 281 9.1.3 Executingthe ABAP Unit Test 288 9 ABAP Troubleshooting 9.1 10 Contents 12.1.1 ALV Tool Overview 384 12.1.2 DisplayTypes 385 12.2 Getting Started 386 12.2.1 Package Selection 386 12.2.2 Basic Program Coding 387 12.3 Modifying the ALV Output 393 12.3.1 ALV Functions 393 12.3.2 Modifying Column Attributes 396 12.3.3 Modifying Display Settings 397 12.3.4 Saving Layout Variants 398 12.4 Making the ALV Interactive 399 12.4.1 Adding Buttons 400 12.4.2 Defining Selections 401 12.4.3 Event Handling 402 12.5 Object Orientation with Classic Dynpro 405 12.5.1 Restructuring the Dialog Program 406 12.5.2 Creating the Controller Class 408 12.5.3 Enjoy Control Events 410 12.5.4 Dynpro Events 412 13 Web Dynpro ABAP 415 13.1 Overview of the Components 416 13.1.1 Course Frame Component 417 13.1.2 Faculty Detail Component 418 13.1.3 Faculty List Component 419 13.1.4 Course Details Component 420 13.2 Component Usage 421 13.3 General Ul Features 424 13.3.1 Context 424 13.3.2 Value Help 425 13.3.3 Required Fields 428 13.3.4 Change/Display Mode 431 13.4 ALV Component 433 13.4.1 ALV Component Usage 433 13.4.2 Context Mapping 434 13.4.3 ALV Implementation 435 13.5 Dialog Pop-Up Window 439 13.5.1 Windows from the Same Component 439 12 Contents 13.5.2 Windows from an External Component Usage 442 13.6 Table Popins 446 13.6.1 What IsaTable Popin? 446 13.6.2 Designing the Table Popin 447 13.6.3 Context Design 448 13.6.4 Logic to Populate the Context for a Popin 449 13.7 File Upload/Download 450 13.7.1 File Downloads 451 13.7.2 File Uploads 453 13.8 Web Dynpro Debugger 455 14.1 Drag and Drop 459 14.1.1 Table Hierarchy 460 14.1.2 Drag-and-Drop Basics in Web Dynpro ABAP 463 14.1.3 Drag-and-Drop UI Elements and Properties 463 14.1.4 Drag-and-Drop Event Coding 466 14.2 Threshold Slider and Rule Evaluation 470 14.2.1 BRFplus Usage 471 14.2.2 Data-Dependent Drop-Down List Box 480 14:2.3 Threshold Slider Usage 482 14.3 Notification Service 484 14.4 POWL-Power List 487 14.4.1 POWL Feeder Classes 488 14.4.2 POWL Cockpit 497 14.5 FPM-Floorplan Manager 500 14.5.1 Floorplan Types 501 14.5.2 Generic Ul Building Blocks 508 14.5.3 Freestyle Ul Building Blocks 517 14.5.4 Final Configuration 519 15.1 Internet-Facing BSP Application 526 15.1.1 Stateless versus Stateful 526 15.1.2 Application Layout 528 15.1.3 Custom Style Sheets 530 15 Business Server Pages Contents 15.2 16 Rich Islands 16.1 16.2 16.3 15.1.4 Course Overview Page 534 15.1.5 AJAX 536 BSP Extensions 544 15.2.1 Upload of Open Source Solution 544 15.2.2 Creating the BSP Extension 546 15.2.3 Creating the BSP Extension Element 547 15.2.4 Design Time Validation 550 15.2.5 Runtime Validation 551 15.2.6 Element Rendering 552 15.2.7 Testing the New Extension 553 Islands Architecture 556 16.1.1 Behind the Scenes 557 16.1.2 Type of Islands 558 16.1.3 Limitations of Islands 559 Buildinga Flex Component ^ 560 16.2.1 Islands Libraries 561 16.2.2 Flex Code Initialization 564 16.2.3 Flex Code Data Binding 565 16.2.4 Flex Code Setters 566 16.2.5 Flex Code Events 567 Embedding the Island in Web Dynpro 567 16.3.1 Flex Component Added to MIME Repository 567 16.3.2 Flashlsland Ul Element 568 16.3.3 DataSource Mapping 569 16.3.4 DataSource Property Mapping 570 Infrastructure and Setup 574 17.1.1 Adobe Document Services Infrastructure 574 17.1.2 Exposing the Service from the Java Engine 575 Function-Module-Based Forms 582 17.2.1 Creating the Interface 583 17.2.2 Form Interface to Context Mapping 584 17.2.3 Form Layout Editor 589 17.2.4 Coding Against the Form Function Module 592 17 Adobe Forms 17.1 17.2 14 Contents 17.3 Web Dynpro-Based Forms 597 17.3.1 Web Dynpro View Creation 598 17.3.2 Form Design from Web Dynpro 599 17.3.3 Table Output in Forms 601 17.3.4 Making the Form Interactive 603 17.4 Offline Forms 606 18.1 Creating a System Configuration in SAP NetWeaver Portal 609 18.1.1 User Mapping 616 18.1.2 System Test 617 18.2 Creating SAP NetWeaver Portal Content 618 18.2.1 iView Creation 618 18.2.2 Role Assignment 622 18.2.3 Running Examples 623 18.3 Portal Eventing 626 18.3.1 Throwing a Portal Event 628 18.3.2 Catching a Portal Event 630 18.4 SAP NetWeaver Visual Composer 632 18.4.1 Consuming a Web Service 634 18.4.2 Consuming an RFC 636 18.4.3 Building the User Interface 639 18.4.4 Building Value Help 641 18.5 SAP NetWeaver Business Client 646 18.5.1 Creating Roles in Transaction PFCG for the SAP NetWeaver Business Client 650 18.5.2 Using the Local Page Builder for SAP NetWeaver Business Client Content 653 19.1 What Is an ICF Service Node? 664 19.2 Handler RSS Feed 665 19.2.1 HTTP Handler Class Test Implementation 666 19.2.2 ICF Node Creation and Handler Association 667 19.2.3 RSS Handler Implementation 668 ; 19.2.4 RSS Handler Application Logic 669 19.2.5 Handler for Attachment Downloads 675 19 RSS Feed Using an ICF Service Node .... 15 Contents 20 SAP BusinessObjects 20.1 SAP Crystal Reports Dashboard Design (Xcelsius) 680 20.1.1 Overview of the Workbench 680 20.1.2 Integrating a Dashboard into Web Dynpro ABAP 682 20.2 SAP Crystal Reports 689 20.2.1 System Configuration for Crystal Reports Integration 689 20.2.2 Creating a Custom Crystal Reports Template 692 20.2.3 Application-Specific Crystal Reports Templates 695 20.2.4 Crystal Reports Within Web Dynpro ABAP ALV 696 20.3 SAP BusinessObjects Bl OnDemand 698 20.3.1 REST Interface 699 20.3.2 Export From ALV 709 20.3.3 SAP BusinessObjects Bl OnDemand Analysis 710 20.3.4 SAP BusinessObjects Explorer for iPhone and iPad 712 21 Closing Appendices 719, A CD Contents 719 A.1 Disclaimer 719 A.2 Contents 719 A.3 Release Level 720 A.4 Installation Options 720 B The Authors 723 Index : 725 16