- Page 1 and 2:
www.allitebooks.com
- Page 3 and 4:
Paul HardyABAP ®to the Futurewww.a
- Page 5 and 6:
To my mother, Mary, who would have
- Page 7 and 8:
Notes on UsageThis e-book is protec
- Page 9 and 10:
ContentsForeword ..................
- Page 11 and 12:
Contents2.9 Unit Testing ..........
- Page 13 and 14:
Contents7.3.2 Class Invariants ....
- Page 15 and 16:
Contents11.1.2 Downloading ABAP2XLS
- Page 17:
Contents15.3 Bottom-Up Development
- Page 20 and 21:
Forewordtoolsets your company shoul
- Page 23 and 24:
1It may be hard for an egg to turn
- Page 25 and 26:
IntroductionSAP introduced ABAP Obj
- Page 27 and 28:
Structure of the Booktechnologies d
- Page 29 and 30:
Structure of the Book(BOPF), which
- Page 31:
The Example ApplicationBaron Franke
- Page 35 and 36:
It’s best not to stare at the sun
- Page 37 and 38:
Installation 1.1very basics of how
- Page 39 and 40:
Installation 1.1Figure 1.2 Installi
- Page 41 and 42:
Installation 1.1Figure 1.4 Eclipse
- Page 43 and 44:
Features 1.2Figure 1.6 ABAP in Ecli
- Page 45 and 46:
Features 1.2Figure 1.8 Searching fo
- Page 47 and 48:
Features 1.2oper to such an extent
- Page 49 and 50:
Features 1.2to forget the exact nam
- Page 51 and 52:
Features 1.2METHODS: main.ENDCLASS.
- Page 53 and 54:
Features 1.2The definition and impl
- Page 55 and 56:
Features 1.2ld_description1 = 'BONK
- Page 57 and 58:
Features 1.2Figure 1.16 Extracting
- Page 59 and 60:
Features 1.2ld_result = ld_use_this
- Page 61 and 62:
Features 1.2Automatically creating
- Page 63 and 64:
Testing and Troubleshooting 1.3Figu
- Page 65 and 66:
Testing and Troubleshooting 1.3does
- Page 67 and 68:
Testing and Troubleshooting 1.3by r
- Page 69 and 70:
Testing and Troubleshooting 1.3Figu
- Page 71 and 72:
Customization Options with User-Def
- Page 73 and 74:
Customization Options with User-Def
- Page 75 and 76:
Customization Options with User-Def
- Page 77 and 78:
Customization Options with User-Def
- Page 79 and 80:
Summary 1.5design UML diagrams insi
- Page 81 and 82:
It's a beautiful thing, the Destruc
- Page 83 and 84:
Database Access 2.1Figure 2.1 Micro
- Page 85 and 86:
Database Access 2.1lower the sanity
- Page 87 and 88:
Database Access 2.1account of secon
- Page 89 and 90:
Database Access 2.1efficient way to
- Page 91 and 92:
Declaring and Creating Variables 2.
- Page 93 and 94:
Declaring and Creating Variables 2.
- Page 95 and 96:
Declaring and Creating Variables 2.
- Page 97 and 98:
String Processing 2.3LD_RESULT = |M
- Page 99 and 100:
Calling Functions 2.4However, now y
- Page 101 and 102:
Calling Functions 2.4sometimes the
- Page 103 and 104:
Conditional Logic 2.52.5.1 Using Fu
- Page 105 and 106:
Conditional Logic 2.5If the functio
- Page 107 and 108:
Conditional Logic 2.5l_day = 'Tuesd
- Page 109 and 110:
Internal Tables 2.6WHEN cs_monster_
- Page 111 and 112:
Internal Tables 2.6unique hashed ke
- Page 113 and 114:
Internal Tables 2.6In Section 2.2.2
- Page 115 and 116:
Internal Tables 2.6a traditional RE
- Page 117 and 118:
Internal Tables 2.6monster_name TYP
- Page 119 and 120:
Internal Tables 2.6This saves you a
- Page 121 and 122:
Internal Tables 2.6you want to modi
- Page 123 and 124:
Internal Tables 2.6at a time; someh
- Page 125 and 126:
Internal Tables 2.6DATA( lt_average
- Page 127 and 128:
Object-Oriented Programming 2.7In 7
- Page 129 and 130:
Search Helps 2.8to the end of the d
- Page 131 and 132:
Unit Testing 2.9So, you can imagine
- Page 133 and 134:
Unit Testing 2.9IF id_chemcial_type
- Page 135 and 136:
Cross-Program Communication 2.10The
- Page 137 and 138:
Code without tests is bad code. It
- Page 139 and 140:
Eliminating Dependencies 3.13.1 Eli
- Page 141 and 142:
Eliminating Dependencies 3.1WHEN 'N
- Page 143 and 144:
Implementing Mock Objects 3.2mo_use
- Page 145 and 146:
Implementing Mock Objects 3.2rd_ans
- Page 147 and 148:
Writing and Implementing Unit Tests
- Page 149 and 150:
Writing and Implementing Unit Tests
- Page 151 and 152:
Writing and Implementing Unit Tests
- Page 153 and 154:
Writing and Implementing Unit Tests
- Page 155 and 156:
Writing and Implementing Unit Tests
- Page 157 and 158:
Writing and Implementing Unit Tests
- Page 159 and 160:
Writing and Implementing Unit Tests
- Page 161 and 162:
Automating the Test Process 3.4supp
- Page 163 and 164:
Automating the Test Process 3.4whil
- Page 165 and 166:
Automating the Test Process 3.4INSE
- Page 167 and 168:
Automating the Test Process 3.4ld_c
- Page 169 and 170:
Automating the Test Process 3.4cl_a
- Page 171 and 172:
Behavior-Driven Development 3.5you
- Page 173 and 174:
Summary 3.6Whatever you want to cal
- Page 175 and 176:
If builders built buildings the way
- Page 177 and 178:
Automatic Run of Unit Tests 4.14.1
- Page 179 and 180:
Mass Checks 4.2program that was wri
- Page 181 and 182:
Mass Checks 4.2Figure 4.5 ATC Confi
- Page 183 and 184:
Mass Checks 4.2In the Description f
- Page 185 and 186:
Mass Checks 4.2objects and set a va
- Page 187 and 188:
Mass Checks 4.2Next, go into SE80 t
- Page 189 and 190:
Mass Checks 4.2CASE statement, like
- Page 191 and 192:
Mass Checks 4.2On the next screen (
- Page 193 and 194:
Recent Code Inspector Enhancements
- Page 195 and 196:
Recent Code Inspector Enhancements
- Page 197 and 198:
Recent Code Inspector Enhancements
- Page 199 and 200:
Recent Code Inspector Enhancements
- Page 201 and 202:
Recent Code Inspector Enhancements
- Page 203 and 204:
Debugging is twice as hard as writi
- Page 205 and 206:
Script Tab Overview 5.1Figure 5.1 D
- Page 207 and 208:
Script Tab Overview 5.1rally, then
- Page 209 and 210:
Coding the SCRIPT Method 5.25.2 Cod
- Page 211 and 212:
Coding the SCRIPT Method 5.2For exa
- Page 213 and 214:
Coding the SCRIPT Method 5.2call an
- Page 215 and 216:
Coding the INIT and END Methods 5.3
- Page 217 and 218:
Coding the INIT and END Methods 5.3
- Page 219 and 220:
Coding the INIT and END Methods 5.3
- Page 221 and 222:
Coding the INIT and END Methods 5.3
- Page 223:
Summary 5.4script, you can tell the
- Page 226 and 227:
6The Enhancement Framework and New
- Page 228 and 229:
6The Enhancement Framework and New
- Page 230 and 231:
6The Enhancement Framework and New
- Page 232 and 233:
6The Enhancement Framework and New
- Page 234 and 235:
6The Enhancement Framework and New
- Page 236 and 237:
6The Enhancement Framework and New
- Page 238 and 239:
6The Enhancement Framework and New
- Page 240 and 241:
6The Enhancement Framework and New
- Page 242 and 243:
6The Enhancement Framework and New
- Page 244 and 245:
6The Enhancement Framework and New
- Page 246 and 247:
6The Enhancement Framework and New
- Page 248 and 249:
6The Enhancement Framework and New
- Page 250 and 251:
6The Enhancement Framework and New
- Page 252 and 253:
6The Enhancement Framework and New
- Page 255 and 256:
There is no exception to the rule t
- Page 257 and 258:
Types of Exception Classes 7.1which
- Page 259 and 260:
Types of Exception Classes 7.1dump
- Page 261 and 262:
Types of Exception Classes 7.1decla
- Page 263 and 264:
Designing Exception Classes 7.2mayb
- Page 265 and 266:
Designing Exception Classes 7.2an e
- Page 267 and 268:
Designing Exception Classes 7.2rela
- Page 269 and 270:
Designing Exception Classes 7.2* Co
- Page 271 and 272:
Designing Exception Classes 7.2Tech
- Page 273 and 274:
Designing Exception Classes 7.2Mean
- Page 275 and 276:
Design by Contract 7.3future. If I
- Page 277 and 278:
Design by Contract 7.3To demonstrat
- Page 279 and 280:
Design by Contract 7.3automatically
- Page 281:
Summary 7.47.4 SummaryThis chapter
- Page 284 and 285:
8Business Object Processing Framewo
- Page 286 and 287:
8Business Object Processing Framewo
- Page 288 and 289:
8Business Object Processing Framewo
- Page 290 and 291:
8Business Object Processing Framewo
- Page 292 and 293:
8Business Object Processing Framewo
- Page 294 and 295:
8Business Object Processing Framewo
- Page 296 and 297:
8Business Object Processing Framewo
- Page 298 and 299:
8Business Object Processing Framewo
- Page 300 and 301:
8Business Object Processing Framewo
- Page 302 and 303:
8Business Object Processing Framewo
- Page 304 and 305:
8Business Object Processing Framewo
- Page 306 and 307:
8Business Object Processing Framewo
- Page 308 and 309:
8Business Object Processing Framewo
- Page 310 and 311:
8Business Object Processing Framewo
- Page 312 and 313:
8Business Object Processing Framewo
- Page 314 and 315:
8Business Object Processing Framewo
- Page 316 and 317:
8Business Object Processing Framewo
- Page 318 and 319:
8Business Object Processing Framewo
- Page 320 and 321:
8Business Object Processing Framewo
- Page 322 and 323:
8Business Object Processing Framewo
- Page 324 and 325:
8Business Object Processing Framewo
- Page 326 and 327:
8Business Object Processing Framewo
- Page 328 and 329:
8Business Object Processing Framewo
- Page 330 and 331:
8Business Object Processing Framewo
- Page 332 and 333:
8Business Object Processing Framewo
- Page 334 and 335:
8Business Object Processing Framewo
- Page 336 and 337:
8Business Object Processing Framewo
- Page 338 and 339:
8Business Object Processing Framewo
- Page 340 and 341:
8Business Object Processing Framewo
- Page 342 and 343:
8Business Object Processing Framewo
- Page 344 and 345:
8Business Object Processing Framewo
- Page 346 and 347:
8Business Object Processing Framewo
- Page 348 and 349:
8Business Object Processing Framewo
- Page 350 and 351:
8Business Object Processing Framewo
- Page 352 and 353:
8Business Object Processing Framewo
- Page 354 and 355:
8Business Object Processing Framewo
- Page 356 and 357: 8Business Object Processing Framewo
- Page 358 and 359: 9BRFplusProcessResultsTake Orderfor
- Page 360 and 361: 9BRFplus9.1 The Historic Location o
- Page 362 and 363: 9BRFplusThe flowchart is shown to t
- Page 364 and 365: 9BRFplus9.1.3 Rules in ABAPProgramm
- Page 366 and 367: 9BRFplusFigure 9.6 Creating a BRFpl
- Page 368 and 369: 9BRFplussort of object is what—fo
- Page 370 and 371: 9BRFplusHere, there is only one res
- Page 372 and 373: 9BRFplusIn the pop-up shown in Figu
- Page 374 and 375: 9BRFplusdecision tree and a decisio
- Page 376 and 377: 9BRFplusFigure 9.17 Adding a Decisi
- Page 378 and 379: 9BRFplusis also a lot of text on ea
- Page 380 and 381: 9BRFplusAt the bottom of the screen
- Page 382 and 383: 9BRFplusanother explanation could b
- Page 384 and 385: 9BRFplusFigure 9.26 Adding Formulas
- Page 386 and 387: 9BRFplushave a Check button at the
- Page 388 and 389: 9BRFplusIn case you don’t think y
- Page 390 and 391: 9BRFplusTo find the appropriate per
- Page 392 and 393: 9BRFplusues from the spreadsheet th
- Page 394 and 395: 9BRFplusFigure 9.34 Overlap Check S
- Page 396 and 397: 9BRFplusFigure 9.37 Simulation: 3 o
- Page 398 and 399: 9BRFplustask that is about to be cr
- Page 400 and 401: 9BRFplusFigure 9.42 Generated BRFpl
- Page 402 and 403: 9BRFplus9.6.2 Application ExitsWhen
- Page 404 and 405: 9BRFpluscase feature (which require
- Page 408 and 409: 10ALV SALV Reporting FrameworkEnter
- Page 410 and 411: 10ALV SALV Reporting Frameworkgood-
- Page 412 and 413: 10ALV SALV Reporting Frameworking t
- Page 414 and 415: 10ALV SALV Reporting Framework10.2
- Page 416 and 417: 10ALV SALV Reporting Framework10.2.
- Page 418 and 419: 10ALV SALV Reporting Frameworkrepor
- Page 420 and 421: 10ALV SALV Reporting FrameworkNext,
- Page 422 and 423: 10ALV SALV Reporting FrameworkFigur
- Page 424 and 425: 10ALV SALV Reporting FrameworkNoteS
- Page 426 and 427: 10ALV SALV Reporting FrameworkEach
- Page 428 and 429: 10ALV SALV Reporting FrameworkMETHO
- Page 430 and 431: 10ALV SALV Reporting Frameworkrepet
- Page 432 and 433: 10ALV SALV Reporting Frameworkor av
- Page 434 and 435: 10ALV SALV Reporting Framework왘 I
- Page 436 and 437: 10ALV SALV Reporting FrameworkCreat
- Page 438 and 439: 10ALV SALV Reporting FrameworkWith
- Page 440 and 441: 10ALV SALV Reporting FrameworkRefre
- Page 442 and 443: 10ALV SALV Reporting Framework3. Ch
- Page 444 and 445: 10ALV SALV Reporting FrameworkMETHO
- Page 446 and 447: 10ALV SALV Reporting Frameworktoolt
- Page 448 and 449: 10ALV SALV Reporting Frameworkto ma
- Page 450 and 451: 10ALV SALV Reporting Frameworkcase
- Page 452 and 453: 10ALV SALV Reporting FrameworkRETUR
- Page 454 and 455: 10ALV SALV Reporting FrameworkAt th
- Page 456 and 457:
10ALV SALV Reporting Frameworklooks
- Page 458 and 459:
11ABAP2XLSXthem was ABAP2XLSX, beca
- Page 460 and 461:
11ABAP2XLSXInstead of saving this s
- Page 462 and 463:
11ABAP2XLSX11.1.3 Creating XLSX Fil
- Page 464 and 465:
11ABAP2XLSXCREATE OBJECT lo_excel_w
- Page 466 and 467:
11ABAP2XLSX11.2 Enhancing Custom Re
- Page 468 and 469:
11ABAP2XLSXruntime type identificat
- Page 470 and 471:
11ABAP2XLSXlo_worksheet->get_cell(E
- Page 472 and 473:
11ABAP2XLSXsettings. There is an at
- Page 474 and 475:
11ABAP2XLSXlo_worksheet->zif_excel_
- Page 476 and 477:
11ABAP2XLSXThe next step is to cons
- Page 478 and 479:
11ABAP2XLSXAdvancedA more advanced
- Page 480 and 481:
11ABAP2XLSX&& ls_cellis-formula &&
- Page 482 and 483:
11ABAP2XLSXls_stylemapping-complete
- Page 484 and 485:
11ABAP2XLSXThe result is shown in F
- Page 486 and 487:
11ABAP2XLSX"The sheet the data come
- Page 488 and 489:
11ABAP2XLSXsomebody from having to
- Page 490 and 491:
11ABAP2XLSXCREATE OBJECT lo_excel_w
- Page 492 and 493:
11ABAP2XLSXWhen you call the CONVER
- Page 494 and 495:
11ABAP2XLSXto the application serve
- Page 496 and 497:
11ABAP2XLSXAND RETURN.ENDIF.CATCH c
- Page 498 and 499:
11ABAP2XLSXFigure 11.15 Custom ICF
- Page 500 and 501:
11ABAP2XLSXYou’re halfway there;
- Page 502 and 503:
11ABAP2XLSXthat you get updates eve
- Page 504 and 505:
11ABAP2XLSXEXPORTINGio_worksheet =
- Page 507 and 508:
Can he swing from a web?No he can
- Page 509 and 510:
The Model-View-Controller Concept 1
- Page 511 and 512:
The Model-View-Controller Concept 1
- Page 513 and 514:
The Model-View-Controller Concept 1
- Page 515 and 516:
Building the WDA Application 12.212
- Page 517 and 518:
Building the WDA Application 12.26.
- Page 519 and 520:
Building the WDA Application 12.2to
- Page 521 and 522:
Building the WDA Application 12.2th
- Page 523 and 524:
Building the WDA Application 12.2to
- Page 525 and 526:
Building the WDA Application 12.2th
- Page 527 and 528:
Building the WDA Application 12.2pr
- Page 529 and 530:
Building the WDA Application 12.2A
- Page 531 and 532:
Building the WDA Application 12.212
- Page 533 and 534:
Building the WDA Application 12.2Fi
- Page 535 and 536:
Building the WDA Application 12.212
- Page 537 and 538:
Building the WDA Application 12.2Fi
- Page 539 and 540:
Building the WDA Application 12.2FI
- Page 541 and 542:
Building the WDA Application 12.2ne
- Page 543 and 544:
Building the WDA Application 12.2*
- Page 545 and 546:
Building the WDA Application 12.2CH
- Page 547 and 548:
Using Floorplan Manager to Modify E
- Page 549 and 550:
Using Floorplan Manager to Modify E
- Page 551 and 552:
Using Floorplan Manager to Modify E
- Page 553 and 554:
Using Floorplan Manager to Modify E
- Page 555 and 556:
Using Floorplan Manager to Modify E
- Page 557 and 558:
Using Floorplan Manager to Modify E
- Page 559:
Summary 12.4Again, a more detailed
- Page 562 and 563:
13SAPUI5their hands and say, “Wel
- Page 564 and 565:
13SAPUI5In this section, you’ll s
- Page 566 and 567:
13SAPUI5Figure 13.1 SAP Gateway Com
- Page 568 and 569:
13SAPUI53. Link together these two
- Page 570 and 571:
13SAPUI5Figure 13.5 Creating a Mons
- Page 572 and 573:
13SAPUI5email address or a telephon
- Page 574 and 575:
13SAPUI5Figure 13.11 Generating Run
- Page 576 and 577:
13SAPUI5Add an entry exactly the sa
- Page 578 and 579:
13SAPUI5Figure 13.16 Adding a Servi
- Page 580 and 581:
13SAPUI5Transaction SICF controls h
- Page 582 and 583:
13SAPUI5Understanding the Structure
- Page 584 and 585:
13SAPUI5The purpose of the GET_ENTI
- Page 586 and 587:
13SAPUI5ENDIF.IF <ls_tech_order>-pr
- Page 588 and 589:
13SAPUI5OData queries have been des
- Page 590 and 591:
13SAPUI5which gets filled in based
- Page 592 and 593:
13SAPUI5EXPORTINGmessage_container
- Page 594 and 595:
13SAPUI5Figure 13.25 Creating an SA
- Page 596 and 597:
13SAPUI513.4.1 ViewThere are three
- Page 598 and 599:
13SAPUI5Figure 13.27 Monster View O
- Page 600 and 601:
13SAPUI5In Listing 13.9, you indica
- Page 602 and 603:
13SAPUI5</ColumnListItem></items></
- Page 604 and 605:
13SAPUI5Start your fragment definit
- Page 606 and 607:
13SAPUI5<items><ColumnListItem><cel
- Page 608 and 609:
13SAPUI5In this case, I wanted a pi
- Page 610 and 611:
13SAPUI5You code the onSearch funct
- Page 612 and 613:
13SAPUI5onMonsterDetailDialogCancel
- Page 614 and 615:
13SAPUI5When testing earlier in the
- Page 616 and 617:
13SAPUI5OpenUI5 and Open SourceOpen
- Page 618 and 619:
13SAPUI5First, create a new XML fil
- Page 620 and 621:
13SAPUI513.6 Importing SAPUI5 Appli
- Page 622 and 623:
13SAPUI5Figure 13.43 Uploading SAPU
- Page 624 and 625:
13SAPUI5import their new versions i
- Page 626 and 627:
13SAPUI513.7 SAPUI5 vs. SAP FioriIf
- Page 629:
PART IVDatabase Layer
- Page 632 and 633:
14Shared Memoryphone, because then
- Page 634 and 635:
14Shared Memory14.2 Creating and Us
- Page 636 and 637:
14Shared Memorychecks on requests,
- Page 638 and 639:
14Shared MemoryThere are no paramet
- Page 640 and 641:
14Shared Memorywith data, then you
- Page 642 and 643:
14Shared Memoryagrees with the data
- Page 644 and 645:
14Shared Memoryclass, and once you
- Page 646 and 647:
14Shared MemoryRAISE EXCEPTION TYPE
- Page 648 and 649:
14Shared MemoryFORM after_save.DATA
- Page 650 and 651:
14Shared MemoryThe ability of a pro
- Page 652 and 653:
14Shared MemoryIF sy-subrc <> 0."At
- Page 654 and 655:
14Shared Memoryshared memory to fai
- Page 656 and 657:
15ABAP Programming for SAP HANAhow
- Page 658 and 659:
15ABAP Programming for SAP HANAgree
- Page 660 and 661:
15ABAP Programming for SAP HANAHANA
- Page 662 and 663:
15ABAP Programming for SAP HANAFigu
- Page 664 and 665:
15ABAP Programming for SAP HANAview
- Page 666 and 667:
15ABAP Programming for SAP HANAThe
- Page 668 and 669:
15ABAP Programming for SAP HANA@ABA
- Page 670 and 671:
15ABAP Programming for SAP HANAyou
- Page 672 and 673:
15ABAP Programming for SAP HANAMETH
- Page 674 and 675:
15ABAP Programming for SAP HANAway.
- Page 676 and 677:
15ABAP Programming for SAP HANAthe
- Page 678 and 679:
15ABAP Programming for SAP HANAcrea
- Page 680 and 681:
15ABAP Programming for SAP HANAThe
- Page 682 and 683:
15ABAP Programming for SAP HANAimpl
- Page 684 and 685:
15ABAP Programming for SAP HANA15.4
- Page 686 and 687:
15ABAP Programming for SAP HANAThe
- Page 688 and 689:
15ABAP Programming for SAP HANAABAP
- Page 690 and 691:
15ABAP Programming for SAP HANAcpud
- Page 692 and 693:
15ABAP Programming for SAP HANAThe
- Page 694 and 695:
15ABAP Programming for SAP HANAage
- Page 696 and 697:
15ABAP Programming for SAP HANAThis
- Page 698 and 699:
15ABAP Programming for SAP HANAAs i
- Page 700 and 701:
15ABAP Programming for SAP HANANaug
- Page 703 and 704:
We’ve got twenty-first-century te
- Page 705:
AppendicesA Improving Code Readabil
- Page 708 and 709:
AImproving Code ReadabilityThis now
- Page 710 and 711:
AImproving Code ReadabilityThe idea
- Page 712 and 713:
BMaking Programs Flexibletarget pro
- Page 714 and 715:
BMaking Programs FlexibleFigure B.3
- Page 716 and 717:
BMaking Programs FlexibleTRY.CALL M
- Page 719:
CThe AuthorPaul Hardy joined Heidel
- Page 722 and 723:
IndexBRFplus (Cont.)enhancements, 4
- Page 724 and 725:
IndexIICF, 497IF/ELSE, 108IF/THEN,
- Page 726 and 727:
IndexSQL, 588calculations, 84querie
- Page 728 and 729:
Service PagesThe following sections
- Page 730 and 731:
Legal NotesThis section contains th