reine Buchbestellungen ab 5 Euro senden wir Ihnen Portofrei zuDiesen Artikel senden wir Ihnen ohne weiteren Aufpreis als PAKET

SQLScript for SAP HANA
(Englisch)
SAP PRESS Englisch
Brandeis, Jörg

79,95 €

inkl. MwSt. · Portofrei
Lieferzeit 6-7 Werktage
Menge:

Produktbeschreibung

New to SQLillegalscript - or maybe looking to brush up on a specific task? Whatever your skill level, this comprehensive guide to SQLillegalscript for SAP HANA is for you! Master language elements, data types, and the function library. Learn to implement SAP HANA database procedures and functions using imperative and declarative SQLillegalscript.

New to SQLillegalscript-or maybe looking to brush up on a specific task? Whatever your skill level, this comprehensive guide to SQLillegalscript for SAP HANA is for you! Master language elements, data types, and the function library. Learn to implement SAP HANA database procedures and functions using imperative and declarative SQLillegalscript. Integrate with ABAP, SAP BW on SAP HANA, and SAP BW/4HANA. Finally, test, troubleshoot, and analyze your SQLillegalscript programs. Code like the pros!

Highlights include:
1) SAP HANA Studio
2) SAP HANA Web-Based Development Workbench
3) SAP Web IDE
4) SQL Console
5) Language basics
6) Declarative and imperative programming
7) Data types
8) Database programming
9) ABAP-managed database procedures (AMDP)
10) SAP BW and SAP BW/4HANA
11) Clean code
12) Troubleshooting and analysis


· ... Introduction ... 15
· ... Structure of the Book ... 18
· ... Acknowledgments ... 20
· 1 ... SAP HANA ... 21
· 1.1 ... What Is SAP HANA? ... 22
· 1.1.1 ... SAP HANA: A Fast SQL Database ... 22
· 1.1.2 ... SAP HANA: An Application Server ... 26
· 1.1.3 ... SAP HANA: A Collection of Tools ... 27
· 1.2 ... System Architecture ... 29
· 1.2.1 ... SAP HANA Server Components ... 29
· 1.2.2 ... Databases and Tenants ... 30
· 1.3 ... Organizing Database Objects ... 32
· 1.3.1 ... Database Schemas ... 32
· 1.3.2 ... Database Catalogs ... 34
· 1.3.3 ... Content and Repositories ... 35
· 1.4 ... Development Environments ... 36
· 1.4.1 ... SAP HANA Studio ... 37
· 1.4.2 ... SAP HANA Database Explorer ... 40
· 1.5 ... The SQL Console ... 44
· 1.6 ... Summary ... 47
· 2 ... Getting Started with SQLillegalscript ... 49
· 2.1 ... SQL versus SQLillegalscript ... 49
· 2.2 ... Basic Language Elements ... 53
· 2.2.1 ... Statements ... 53
· 2.2.2 ... Whitespace ... 54
· 2.2.3 ... Comments ... 54
· 2.2.4 ... Literals ... 56
· 2.2.5 ... Identifiers ... 58
· 2.2.6 ... Access to Local Variables and Parameters ... 59
· 2.2.7 ... System Variables ... 60
· 2.2.8 ... Reserved Words ... 61
· 2.2.9 ... Operators ... 61
· 2.2.10 ... Expressions ... 63
· 2.2.11 ... Predicates ... 65
· 2.2.12 ... Data Types ... 66
· 2.2.13 ... The NULL Value ... 67
· 2.2.14 ... The DUMMY Table ... 69
· 2.3 ... Modularization and Logical Containers ... 70
· 2.3.1 ... Blocks ... 72
· 2.3.2 ... Procedures ... 75
· 2.3.3 ... User-Defined Functions ... 83
· 2.3.4 ... User-Defined Libraries ... 87
· 2.4 ... Sample Program ... 89
· 2.4.1 ... Requirements ... 89
· 2.4.2 ... Requirements Analysis ... 90
· 2.4.3 ... Implementation ... 91
· 2.4.4 ... Testing the Implementation ... 97
· 2.5 ... Summary ... 100
· 3 ... Declarative Programming in SQLillegalscript ... 101
· 3.1 ... Table Variables ... 102
· 3.1.1 ... Declaring Table Variables ... 102
· 3.1.2 ... Using Table Variables ... 103
· 3.2 ... SELECT Statements ... 104
· 3.2.1 ... SELECT Clauses ... 105
· 3.2.2 ... Field List of SELECT Clauses ... 105
· 3.2.3 ... FROM Clauses ... 119
· 3.2.4 ... Joins ... 122
· 3.2.5 ... WHERE Conditions ... 130
· 3.2.6 ... WITH Clauses ... 137
· 3.2.7 ... GROUP BY Clauses ... 139
· 3.2.8 ... HAVING Clauses ... 141
· 3.2.9 ... ORDER BY Clauses ... 142
· 3.2.10 ... Set Theory ... 143
· 3.2.11 ... Subqueries ... 145
· 3.2.12 ... Alias Names ... 146
· 3.3 ... Other Operators ... 148
· 3.3.1 ... Calculation Engine Plan Operators ... 148
· 3.3.2 ... MAP_MERGE Operator ... 149
· 3.3.3 ... MAP_REDUCE Operator ... 150
· 3.4 ... Summary ... 151
· 4 ... Data Types and Their Processing ... 153
· 4.1 ... Character Strings ... 153
· 4.1.1 ... Data Types for Character Strings ... 154
· 4.1.2 ... Conversions ... 157
· 4.1.3 ... Character String Functions ... 157
· 4.1.4 ... SQLillegalscript_STRING Library ... 171
· 4.2 ... Date and Time ... 176
· 4.2.1 ... Date Information ... 176
· 4.2.2 ... Time Information ... 181
· 4.2.3 ... Combined Time and Date Information ... 182
· 4.2.4 ... Processing Time and Date Values ... 182
· 4.2.5 ... Examples of Processing Time Values ... 187
· 4.3 ... Numerical Data ... 189
· 4.3.1 ... Basic Arithmetic Operations ... 191
· 4.3.2 ... Square Roots and Exponents ... 191
· 4.3.3 ... Logarithms ... 192
· 4.3.4 ... Rounding or Trimming ... 192
· 4.3.5 ... Trigonometry ... 194
· 4.3.6 ... Random Numbers ... 194
· 4.3.7 ... Sign ... 194
· 4.3.8 ... Quantities and Amounts ... 195
· 4.4 ... Binary Data Types ... 200
· 4.4.1 ... Conversion between Binary Data, Hexadecimal Data, and Character Strings ... 201
· 4.4.2 ... Bits and Bytes ... 202
· 4.5 ... Conversions between Data Types ... 204
· 4.6 ... Summary ... 205
· 5 ... Write Access to the Database ... 207
· 5.1 ... INSERT ... 208
· 5.1.1 ... Individual Data Records ... 208
· 5.1.2 ... Inserting Multiple Records Simultaneously ... 209
· 5.2 ... UPDATE ... 211
· 5.2.1 ... Simple UPDATE Statement ... 211
· 5.2.2 ... UPDATE Statement with Reference to Other Tables ... 212
· 5.3 ... UPSERT or REPLACE ... 213
· 5.3.1 ... Inserting or Updating Individual Data Records ... 213
· 5.3.2 ... Inserting or Updating Multiple Data Records ... 214
· 5.4 ... MERGE INTO ... 214
· 5.5 ... DELETE ... 217
· 5.6 ... TRUNCATE TABLE ... 217
· 5.7 ... Summary ... 217
· 6 ... Imperative Programming ... 219
· 6.1 ... Variables ... 219
· 6.1.1 ... Local Scalar Variables ... 219
· 6.1.2 ... Local Table Variables ... 224
· 6.1.3 ... Session Variables ... 234
· 6.1.4 ... Temporary Tables ... 235
· 6.2 ... Flow Control Using IF and ELSE ... 236
· 6.3 ... Loops ... 239
· 6.3.1 ... FOR Loop ... 239
· 6.3.2 ... WHILE Loop ... 240
· 6.3.3 ... Controlling Loop Passes ... 241
· 6.3.4 ... Exercise: Greatest Common Divisor ... 242
· 6.4 ... Cursors ... 243
· 6.4.1 ... FOR Loop via a Cursor ... 243
· 6.4.2 ... Open, Read, and Close Explicitly ... 244
· 6.4.3 ... Updateable Cursors ... 246
· 6.5 ... Arrays ... 246
· 6.5.1 ... Generating an Array ... 247
· 6.5.2 ... Accessing the Array ... 247
· 6.5.3 ... Arrays as Local Variables ... 248
· 6.5.4 ... Splitting and Concatenating Arrays ... 249
· 6.5.5 ... Arrays and Table Columns ... 250
· 6.5.6 ... Bubble Sort Exercise ... 251
· 6.6 ... Transaction Control ... 253
· 6.6.1 ... Transactions ... 253
· 6.6.2 ... Autonomous Transactions ... 254
· 6.7 ... Executing Dynamic SQL ... 255
· 6.7.1 ... Parameters of Dynamic SQL ... 257
· 6.7.2 ... Input Parameters ... 258
· 6.8 ... Error Handling ... 260
· 6.8.1 ... What Are Exceptions? ... 261
· 6.8.2 ... Triggering Exceptions ... 262
· 6.8.3 ... Catching Exceptions ... 262
· 6.9 ... Summary ... 266
· 7 ... Creating, Deleting, and Editing Database Objects ... 267
· 7.1 ... Tables ... 268
· 7.1.1 ... Creating Database Tables ... 268
· 7.1.2 ... Changing Database Tables ... 272
· 7.1.3 ... Deleting Database Tables ... 273
· 7.2 ... Table Types ... 273
· 7.3 ... Views ... 274
· 7.4 ... Sequences ... 276
· 7.4.1 ... Increment ... 277
· 7.4.2 ... Limits ... 277
· 7.4.3 ... Behavior When Reaching the Limit ... 277
· 7.4.4 ... Resetting the Sequence ... 278
· 7.4.5 ... Changing and Deleting a Sequence ... 278
· 7.5 ... Triggers ... 278
· 7.5.1 ... Parameters ... 280
· 7.5.2 ... Per Row or Per Statement ... 281
· 7.6 ... Summary ... 281
· 8 ... SQLillegalscript in ABAP Programs ... 283
· 8.1 ... AMDP Procedures ... 283
· 8.1.1 ... Introduction to AMDP ... 284
· 8.1.2 ... Creating AMDP Procedures ... 287
· 8.1.3 ... Generated Objects of an AMDP Method ... 290
· 8.1.4 ... Lifecycle of the Generated Objects ... 294
· 8.1.5 ... Two-Track Development ... 294
· 8.1.6 ... Using AMDP Procedures in Other AMDP Procedures ... 297
· 8.2 ... CDS Table Functions ... 300
· 8.2.1 ... Creating a CDS Table Function ... 300
· 8.2.2 ... Generated Objects of a CDS Table Function ... 305
· 8.2.3 ... Implicit Client Handling of CDS Table Functions ... 306
· 8.3 ... AMDP Functions for AMDP Methods ... 307
· 8.3.1 ... AMDP Table Functions ... 307
· 8.3.2 ... Scalar AMDP Functions ... 309
· 8.4 ... Alternatives to AMDP for Calling SQLillegalscript Code from ABAP Programs ... 310
· 8.5 ... Recommendations ... 311
· 8.6 ... Summary ... 312
· 9 ... SQLillegalscript in SAP Business Warehouse ... 313
· 9.1 ... Executing the Data Transfer Process in ABAP vs. SAP HANA ... 314
· 9.2 ... Transformation Routines as AMDP ... 318
· 9.2.1 ... Creating Transformation Routines in Eclipse ... 318
· 9.2.2 ... Creating Transformation Routines in SAP GUI ... 319
· 9.3 ... Successive Transformations and Mixed Execution ... 320
· 9.4 ... Generated AMDP Classes ... 321
· 9.4.1 ... Signature of AMDP Methods ... 323
· 9.4.2 ... Assigning the Output Tables ... 325
· 9.4.3 ... Access to Data from Other Data Models ... 325
· 9.5 ... Individual Routines ... 328
· 9.5.1 ... Start Routines ... 329
· 9.5.2 ... End Routines ... 329
· 9.5.3 ... Expert Routines ... 330
· 9.5.4 ... Field Routines ... 332
· 9.6 ... Error Processing and Error Stack ... 333
· 9.6.1 ... Processing Flow in the Data Transfer Process ... 335
· 9.6.2 ... Example: Recognizing Incorrect Data in Table OUTTAB ... 336
· 9.6.3 ... Example: Finding Invalid Field Contents with Regular Expressions ... 337
· 9.7 ... Summary ... 337
· 10 ... Clean SQLillegalscript Code ... 339
· 10.1 ... Code Readability ... 339
· 10.1.1 ... Formatting the Code ... 340
· 10.1.2 ... Mnemonic Names ... 341
· 10.1.3 ... Granularity of Procedures and Functions ... 342
· 10.1.4 ... Comments ... 345
· 10.1.5 ... Decomposing Complex Queries ... 347
· 10.1.6 ... Readable SQLillegalscript Statements ... 351
· 10.2 ... Performance Recommendations ... 352
· 10.2.1 ... Reducing Data Volumes ... 353
· 10.2.2 ... Avoid Switching between Row and Column Engines ... 353
· 10.2.3 ... Declarative Queries ... 353
· 10.2.4 ... Scalar Functions ... 353
· 10.3 ... Summary ... 354
· 11 ... Tests, Errors, and Performance Analysis ... 355
· 11.1 ... Testing SQLillegalscript Code ... 356
· 11.1.1 ... SQL Console ... 356
· 11.1.2 ... Testing ABAP-Managed Database Procedure Methods ... 358
· 11.1.3 ... SQLillegalscript_LOGGING Library ... 359
· 11.1.4 ... End-User Test Framework in SQLillegalscript ... 361
· 11.2 ... Debugger for SQLillegalscript ... 365
· 11.2.1 ... SQLillegalscript Debugger in SAP HANA Studio ... 366
· 11.2.2 ... ABAP-Managed Database Procedure Debugger in the ABAP Development Tools ... 369
· 11.2.3 ... Debugging in the SAP HANA Database Explorer ... 372
· 11.3 ... Performance Analysis ... 374
· 11.3.1 ... Runtime Measurement ... 374
· 11.3.2 ... Execution Plan ... 375
· 11.3.3 ... Plan Visualizer ... 377
· 11.3.4 ... SQL Analyzer of the SAP HANA Database Explorer ... 384
· 11.3.5 ... SQLillegalscript Code Analyzer ... 386
· 11.4 ... Summary ... 390
· ... Appendices ... 391
· A ... Data Model for Task Management ... 393
· A.1 ... Overview of the Tables ... 393
· A.2 ... Data ... 394
· A.3 ... Installation ... 395
· B ... List of Abbreviations ... 397
· C ... The Author ... 399
· ... Index ... 401


Inhaltsverzeichnis

· ... Introduction ... 15
rn· ... Structure of the Book ... 18
rn· ... Acknowledgments ... 20
rn· 1 ... SAP HANA ... 21
rn· 1.1 ... What Is SAP HANA? ... 22
rn· 1.1.1 ... SAP HANA: A Fast SQL Database ... 22
rn· 1.1.2 ... SAP HANA: An Application Server ... 26
rn· 1.1.3 ... SAP HANA: A Collection of Tools ... 27
rn· 1.2 ... System Architecture ... 29
rn· 1.2.1 ... SAP HANA Server Components ... 29
rn· 1.2.2 ... Databases and Tenants ... 30
rn· 1.3 ... Organizing Database Objects ... 32
rn· 1.3.1 ... Database Schemas ... 32
rn· 1.3.2 ... Database Catalogs ... 34
rn· 1.3.3 ... Content and Repositories ... 35
rn· 1.4 ... Development Environments ... 36
rn· 1.4.1 ... SAP HANA Studio ... 37
rn· 1.4.2 ... SAP HANA Database Explorer ... 40
rn· 1.5 ... The SQL Console ... 44
rn· 1.6 ... Summary ... 47
rn· 2 ... Getting Started with SQLillegalscript ... 49
rn· 2.1 ... SQL versus SQLillegalscript ... 49
rn· 2.2 ... Basic Language Elements ... 53
rn· 2.2.1 ... Statements ... 53
rn· 2.2.2 ... Whitespace ... 54
rn· 2.2.3 ... Comments ... 54
rn· 2.2.4 ... Literals ... 56
rn· 2.2.5 ... Identifiers ... 58
rn· 2.2.6 ... Access to Local Variables and Parameters ... 59
rn· 2.2.7 ... System Variables ... 60
rn· 2.2.8 ... Reserved Words ... 61
rn· 2.2.9 ... Operators ... 61
rn· 2.2.10 ... Expressions ... 63
rn· 2.2.11 ... Predicates ... 65
rn· 2.2.12 ... Data Types ... 66
rn· 2.2.13 ... The NULL Value ... 67
rn· 2.2.14 ... The DUMMY Table ... 69
rn· 2.3 ... Modularization and Logical Containers ... 70
rn· 2.3.1 ... Blocks ... 72
rn· 2.3.2 ... Procedures ... 75
rn· 2.3.3 ... User-Defined Functions ... 83
rn· 2.3.4 ... User-Defined Libraries ... 87
rn· 2.4 ... Sample Program ... 89
rn· 2.4.1 ... Requirements ... 89
rn· 2.4.2 ... Requirements Analysis ... 90
rn· 2.4.3 ... Implementation ... 91
rn· 2.4.4 ... Testing the Implementation ... 97
rn· 2.5 ... Summary ... 100
rn· 3 ... Declarative Programming in SQLillegalscript ... 101
rn· 3.1 ... Table Variables ... 102
rn· 3.1.1 ... Declaring Table Variables ... 102
rn· 3.1.2 ... Using Table Variables ... 103
rn· 3.2 ... SELECT Statements ... 104
rn· 3.2.1 ... SELECT Clauses ... 105
rn· 3.2.2 ... Field List of SELECT Clauses ... 105
rn· 3.2.3 ... FROM Clauses ... 119
rn· 3.2.4 ... Joins ... 122
rn· 3.2.5 ... WHERE Conditions ... 130
rn· 3.2.6 ... WITH Clauses ... 137
rn· 3.2.7 ... GROUP BY Clauses ... 139
rn· 3.2.8 ... HAVING Clauses ... 141
rn· 3.2.9 ... ORDER BY Clauses ... 142
rn· 3.2.10 ... Set Theory ... 143
rn· 3.2.11 ... Subqueries ... 145
rn· 3.2.12 ... Alias Names ... 146
rn· 3.3 ... Other Operators ... 148
rn· 3.3.1 ... Calculation Engine Plan Operators ... 148
rn· 3.3.2 ... MAP_MERGE Operator ... 149
rn· 3.3.3 ... MAP_REDUCE Operator ... 150
rn· 3.4 ... Summary ... 151
rn· 4 ... Data Types and Their Processing ... 153
rn· 4.1 ... Character Strings ... 153
rn· 4.1.1 ... Data Types for Character Strings ... 154
rn· 4.1.2 ... Conversions ... 157
rn· 4.1.3 ... Character String Functions ... 157
rn· 4.1.4 ... SQLillegalscript_STRING Library ... 171
rn· 4.2 ... Date and Time ... 176
rn· 4.2.1 ... Date Information ... 176
rn· 4.2.2 ... Time Information ... 181
rn· 4.2.3 ... Combined Time and Date Information ... 182
rn· 4.2.4 ... Processing Time and Date Values ... 182
rn· 4.2.5 ... Examples of Processing Time Values ... 187
rn· 4.3 ... Numerical Data ... 189
rn· 4.3.1 ... Basic Arithmetic Operations ... 191
rn· 4.3.2 ... Square Roots and Exponents ... 191
rn· 4.3.3 ... Logarithms ... 192
rn· 4.3.4 ... Rounding or Trimming ... 192
rn· 4.3.5 ... Trigonometry ... 194
rn· 4.3.6 ... Random Numbers ... 194
rn· 4.3.7 ... Sign ... 194
rn· 4.3.8 ... Quantities and Amounts ... 195
rn· 4.4 ... Binary Data Types ... 200
rn· 4.4.1 ... Conversion between Binary Data, Hexadecimal Data, and Character Strings ... 201
rn· 4.4.2 ... Bits and Bytes ... 202
rn· 4.5 ... Conversions between Data Types ... 204
rn· 4.6 ... Summary ... 205
rn· 5 ... Write Access to the Database ... 207
rn· 5.1 ... INSERT ... 208
rn· 5.1.1 ... Individual Data Records ... 208
rn· 5.1.2 ... Inserting Multiple Records Simultaneously ... 209
rn· 5.2 ... UPDATE ... 211
rn· 5.2.1 ... Simple UPDATE Statement ... 211
rn· 5.2.2 ... UPDATE Statement with Reference to Other Tables ... 212
rn· 5.3 ... UPSERT or REPLACE ... 213
rn· 5.3.1 ... Inserting or Updating Individual Data Records ... 213
rn· 5.3.2 ... Inserting or Updating Multiple Data Records ... 214
rn· 5.4 ... MERGE INTO ... 214
rn· 5.5 ... DELETE ... 217
rn· 5.6 ... TRUNCATE TABLE ... 217
rn· 5.7 ... Summary ... 217
rn· 6 ... Imperative Programming ... 219
rn· 6.1 ... Variables ... 219
rn· 6.1.1 ... Local Scalar Variables ... 219
rn· 6.1.2 ... Local Table Variables ... 224
rn· 6.1.3 ... Session Variables ... 234
rn· 6.1.4 ... Temporary Tables ... 235
rn· 6.2 ... Flow Control Using IF and ELSE ... 236
rn· 6.3 ... Loops ... 239
rn· 6.3.1 ... FOR Loop ... 239
rn· 6.3.2 ... WHILE Loop ... 240
rn· 6.3.3 ... Controlling Loop Passes ... 241
rn· 6.3.4 ... Exercise: Greatest Common Divisor ... 242
rn· 6.4 ... Cursors ... 243
rn· 6.4.1 ... FOR Loop via a Cursor ... 243
rn· 6.4.2 ... Open, Read, and Close Explicitly ... 244
rn· 6.4.3 ... Updateable Cursors ... 246
rn· 6.5 ... Arrays ... 246
rn· 6.5.1 ... Generating an Array ... 247
rn· 6.5.2 ... Accessing the Array ... 247
rn· 6.5.3 ... Arrays as Local Variables ... 248
rn· 6.5.4 ... Splitting and Concatenating Arrays ... 249
rn· 6.5.5 ... Arrays and Table Columns ... 250
rn· 6.5.6 ... Bubble Sort Exercise ... 251
rn· 6.6 ... Transaction Control ... 253
rn· 6.6.1 ... Transactions ... 253
rn· 6.6.2 ... Autonomous Transactions ... 254
rn· 6.7 ... Executing Dynamic SQL ... 255
rn· 6.7.1 ... Parameters of Dynamic SQL ... 257
rn· 6.7.2 ... Input Parameters ... 258
rn· 6.8 ... Error Handling ... 260
rn· 6.8.1 ... What Are Exceptions? ... 261
rn· 6.8.2 ... Triggering Exceptions ... 262
rn· 6.8.3 ... Catching Exceptions ... 262
rn· 6.9 ... Summary ... 266
rn· 7 ... Creating, Deleting, and Editing Database Objects ... 267
rn· 7.1 ... Tables ... 268
rn· 7.1.1 ... Creating Database Tables ... 268
rn· 7.1.2 ... Changing Database Tables ... 272
rn· 7.1.3 ... Deleting Database Tables ... 273
rn· 7.2 ... Table Types ... 273
rn· 7.3 ... Views ... 274
rn· 7.4 ... Sequences ... 276
rn· 7.4.1 ... Increment ... 277
rn· 7.4.2 ... Limits ... 277
rn· 7.4.3 ... Behavior When Reaching the Limit ... 277
rn· 7.4.4 ... Resetting the Sequence ... 278
rn· 7.4.5 ... Changing and Deleting a Sequence ... 278
rn· 7.5 ... Triggers ... 278
rn· 7.5.1 ... Parameters ... 280
rn· 7.5.2 ... Per Row or Per Statement ... 281
rn· 7.6 ... Summary ... 281
rn· 8 ... SQLillegalscript in ABAP Programs ... 283
rn· 8.1 ... AMDP Procedures ... 283
rn· 8.1.1 ... Introduction to AMDP ... 284
rn· 8.1.2 ... Creating AMDP Procedures ... 287
rn· 8.1.3 ... Generated Objects of an AMDP Method ... 290
rn· 8.1.4 ... Lifecycle of the Generated Objects ... 294
rn· 8.1.5 ... Two-Track Development ... 294
rn· 8.1.6 ... Using AMDP Procedures in Other AMDP Procedures ... 297
rn· 8.2 ... CDS Table Functions ... 300
rn· 8.2.1 ... Creating a CDS Table Function ... 300
rn· 8.2.2 ... Generated Objects of a CDS Table Function ... 305
rn· 8.2.3 ... Implicit Client Handling of CDS Table Functions ... 306
rn· 8.3 ... AMDP Functions for AMDP Methods ... 307
rn· 8.3.1 ... AMDP Table Functions ... 307
rn· 8.3.2 ... Scalar AMDP Functions ... 309
rn· 8.4 ... Alternatives to AMDP for Calling SQLillegalscript Code from ABAP Programs ... 310
rn· 8.5 ... Recommendations ... 311
rn· 8.6 ... Summary ... 312
rn· 9 ... SQLillegalscript in SAP Business Warehouse ... 313
rn· 9.1 ... Executing the Data Transfer Process in ABAP vs. SAP HANA ... 314
rn· 9.2 ... Transformation Routines as AMDP ... 318
rn· 9.2.1 ... Creating Transformation Routines in Eclipse ... 318
rn· 9.2.2 ... Creating Transformation Routines in SAP GUI ... 319
rn· 9.3 ... Successive Transformations and Mixed Execution ... 320
rn· 9.4 ... Generated AMDP Classes ... 321
rn· 9.4.1 ... Signature of AMDP Methods ... 323
rn· 9.4.2 ... Assigning the Output Tables ... 325
rn· 9.4.3 ... Access to Data from Other Data Models ... 325
rn· 9.5 ... Individual Routines ... 328
rn· 9.5.1 ... Start Routines ... 329
rn· 9.5.2 ... End Routines ... 329
rn· 9.5.3 ... Expert Routines ... 330
rn· 9.5.4 ... Field Routines ... 332
rn· 9.6 ... Error Processing and Error Stack ... 333
rn· 9.6.1 ... Processing Flow in the Data Transfer Process ... 335
rn· 9.6.2 ... Example: Recognizing Incorrect Data in Table OUTTAB ... 336
rn· 9.6.3 ... Example: Finding Invalid Field Contents with Regular Expressions ... 337
rn· 9.7 ... Summary ... 337
rn· 10 ... Clean SQLillegalscript Code ... 339
rn· 10.1 ... Code Readability ... 339
rn· 10.1.1 ... Formatting the Code ... 340
rn· 10.1.2 ... Mnemonic Names ... 341
rn· 10.1.3 ... Granularity of Procedures and Functions ... 342
rn· 10.1.4 ... Comments ... 345
rn· 10.1.5 ... Decomposing Complex Queries ... 347
rn· 10.1.6 ... Readable SQLillegalscript Statements ... 351
rn· 10.2 ... Performance Recommendations ... 352
rn· 10.2.1 ... Reducing Data Volumes ... 353
rn· 10.2.2 ... Avoid Switching between Row and Column Engines ... 353
rn· 10.2.3 ... Declarative Queries ... 353
rn· 10.2.4 ... Scalar Functions ... 353
rn· 10.3 ... Summary ... 354
rn· 11 ... Tests, Errors, and Performance Analysis ... 355
rn· 11.1 ... Testing SQLillegalscript Code ... 356
rn· 11.1.1 ... SQL Console ... 356
rn· 11.1.2 ... Testing ABAP-Managed Database Procedure Methods ... 358
rn· 11.1.3 ... SQLillegalscript_LOGGING Library ... 359
rn· 11.1.4 ... End-User Test Framework in SQLillegalscript ... 361
rn· 11.2 ... Debugger for SQLillegalscript ... 365
rn· 11.2.1 ... SQLillegalscript Debugger in SAP HANA Studio ... 366
rn· 11.2.2 ... ABAP-Managed Database Procedure Debugger in the ABAP Development Tools ... 369
rn· 11.2.3 ... Debugging in the SAP HANA Database Explorer ... 372
rn· 11.3 ... Performance Analysis ... 374
rn· 11.3.1 ... Runtime Measurement ... 374
rn· 11.3.2 ... Execution Plan ... 375
rn· 11.3.3 ... Plan Visualizer ... 377
rn· 11.3.4 ... SQL Analyzer of the SAP HANA Database Explorer ... 384
rn· 11.3.5 ... SQLillegalscript Code Analyzer ... 386
rn· 11.4 ... Summary ... 390
rn· ... Appendices ... 391
rn· A ... Data Model for Task Management ... 393
rn· A.1 ... Overview of the Tables ... 393
rn· A.2 ... Data ... 394
rn· A.3 ... Installation ... 395
rn· B ... List of Abbreviations ... 397
rn· C ... The Author ... 399
rn· ... Index ... 401
rn
rn


Klappentext

New to SQLillegalscript-or maybe looking to brush up on a specific task? Whatever your skill level, this comprehensive guide to SQLillegalscript for SAP HANA is for you! Master language elements, data types, and the function library. Learn to implement SAP HANA database procedures and functions using imperative and declarative SQLillegalscript. Integrate with ABAP, SAP BW on SAP HANA, and SAP BW/4HANA. Finally, test, troubleshoot, and analyze your SQLillegalscript programs. Code like the pros!

Highlights include:
1) SAP HANA Studio
2) SAP HANA Web-Based Development Workbench
3) SAP Web IDE
4) SQL Console
5) Language basics
6) Declarative and imperative programming
7) Data types
8) Database programming
9) ABAP-managed database procedures (AMDP)
10) SAP BW and SAP BW/4HANA
11) Clean code
12) Troubleshooting and analysis

rnrn


Use SQLillegalscript with ABAP, SAP BW/4HANA, and SAP BW powered by SAP HANA



Datenschutz-Einstellungen