Update 03_ABAP_SQL.md
This commit is contained in:
@@ -87,7 +87,7 @@ ABAP](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=
|
|||||||
conditions](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abenjoin_condition_glosry.htm "Glossary Entry").
|
conditions](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abenjoin_condition_glosry.htm "Glossary Entry").
|
||||||
- Note:
|
- Note:
|
||||||
- Similar to database tables, the columns of such a view form a
|
- Similar to database tables, the columns of such a view form a
|
||||||
flat structure. Hence, the view's name can be used to declare
|
flat structure. Hence, the view's name can be used, for example, to declare
|
||||||
data objects, too.
|
data objects, too.
|
||||||
- The views can be accessed by ABAP SQL, especially for reading
|
- The views can be accessed by ABAP SQL, especially for reading
|
||||||
purposes using `SELECT`.
|
purposes using `SELECT`.
|
||||||
@@ -233,7 +233,7 @@ SELECT FROM source "What db table or view to read from
|
|||||||
internal tables as targets, the resulting table is a standard table
|
internal tables as targets, the resulting table is a standard table
|
||||||
and has an empty key which might have an impact when further
|
and has an empty key which might have an impact when further
|
||||||
processing the internal table entries. Find more information in the
|
processing the internal table entries. Find more information in the
|
||||||
ABAP cheat sheet [Working with Internal Tables](01_Internal_Tables.md).
|
ABAP cheat sheet [Working with Internal Tables](01_Internal_Tables.md). Apart from `DATA`, you can also make use of the declaration operator [`FINAL`](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abenfinal_inline.htm) in newer ABAP releases with which you can create [immutable variables](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abenimmutable_variable_glosry.htm).
|
||||||
|
|
||||||
<p align="right">(<a href="#top">back to top</a>)</p>
|
<p align="right">(<a href="#top">back to top</a>)</p>
|
||||||
|
|
||||||
@@ -261,7 +261,9 @@ SELECT SINGLE FROM dbtab
|
|||||||
|
|
||||||
"Alternative syntax without the FIELDS addition
|
"Alternative syntax without the FIELDS addition
|
||||||
"When reading into an existing target variable on the basis of a selected
|
"When reading into an existing target variable on the basis of a selected
|
||||||
"set of fields, use a CORRESPONDING addition in the INTO clause
|
"set of fields, use a CORRESPONDING addition in the INTO clause so as not
|
||||||
|
"to mess up the read result if not all fields of a structure are present
|
||||||
|
"in the SELECT list.
|
||||||
|
|
||||||
SELECT SINGLE comp1, comp2, comp3 "Selected set of fields
|
SELECT SINGLE comp1, comp2, comp3 "Selected set of fields
|
||||||
FROM dbtab
|
FROM dbtab
|
||||||
@@ -393,7 +395,7 @@ target table (provided that there will not be an issue regarding the
|
|||||||
type).
|
type).
|
||||||
``` abap
|
``` abap
|
||||||
SELECT FROM dbtab
|
SELECT FROM dbtab
|
||||||
FIELDS comp1 AS alias1, comp2 AS alias2, comp3 AS alias3
|
FIELDS comp1 AS comp_a, comp2 AS comp_b, comp3 AS comp_b
|
||||||
WHERE ...
|
WHERE ...
|
||||||
INTO CORRESPONDING FIELDS OF TABLE @itab.
|
INTO CORRESPONDING FIELDS OF TABLE @itab.
|
||||||
```
|
```
|
||||||
@@ -593,7 +595,7 @@ SELECT FROM zdemo_abap_flsch
|
|||||||
|
|
||||||
char`X` AS flag, "Typed literal
|
char`X` AS flag, "Typed literal
|
||||||
|
|
||||||
@upto as num, "Host variable
|
@upto AS num, "Host variable
|
||||||
|
|
||||||
@( cl_abap_context_info=>get_system_date( ) ) as date "Host expression
|
@( cl_abap_context_info=>get_system_date( ) ) as date "Host expression
|
||||||
|
|
||||||
@@ -716,7 +718,7 @@ SELECT SINGLE
|
|||||||
"case-sensitive by default (case_sensitive parameter can be specified)
|
"case-sensitive by default (case_sensitive parameter can be specified)
|
||||||
"Notes on the result: 1 = found, 0 = not found
|
"Notes on the result: 1 = found, 0 = not found
|
||||||
"Result: 1
|
"Result: 1
|
||||||
like_regexpr( pcre = '..', "Period that is followed by any character
|
like_regexpr( pcre = '\..', "Period that is followed by any character
|
||||||
value = url ) AS like_regex,
|
value = url ) AS like_regex,
|
||||||
|
|
||||||
"Returns position of a substring in an expression,
|
"Returns position of a substring in an expression,
|
||||||
@@ -728,7 +730,7 @@ SELECT SINGLE
|
|||||||
"Searches a PCRE pattern, returns offset of match;
|
"Searches a PCRE pattern, returns offset of match;
|
||||||
"many optional parameters: occurrence, case_sensitive, start, group
|
"many optional parameters: occurrence, case_sensitive, start, group
|
||||||
"Result: 21
|
"Result: 21
|
||||||
locate_regexpr( pcre = '..', "Period followed by any character
|
locate_regexpr( pcre = '\..', "Period followed by any character
|
||||||
value = url,
|
value = url,
|
||||||
occurrence = 2 ) "2nd occurrence in the string
|
occurrence = 2 ) "2nd occurrence in the string
|
||||||
AS locate_regexpr,
|
AS locate_regexpr,
|
||||||
@@ -747,7 +749,7 @@ SELECT SINGLE
|
|||||||
|
|
||||||
"Counts all occurrences of found PCRE patterns
|
"Counts all occurrences of found PCRE patterns
|
||||||
"Result: 2
|
"Result: 2
|
||||||
occurrences_regexpr( pcre = '..',
|
occurrences_regexpr( pcre = '\..', "Period that is followed by any character
|
||||||
value = url ) AS occ_regex,
|
value = url ) AS occ_regex,
|
||||||
|
|
||||||
"Replaces the 2nd argument with the 3rd in an expression
|
"Replaces the 2nd argument with the 3rd in an expression
|
||||||
@@ -757,7 +759,7 @@ SELECT SINGLE
|
|||||||
"Replaces a found PCRE expression;
|
"Replaces a found PCRE expression;
|
||||||
"more parameters possible: occurrence, case_sensitive, start
|
"more parameters possible: occurrence, case_sensitive, start
|
||||||
"Result: http://www#ufthansa#om
|
"Result: http://www#ufthansa#om
|
||||||
replace_regexpr( pcre = '..',
|
replace_regexpr( pcre = '\..', "Period that is followed by any character
|
||||||
value = url,
|
value = url,
|
||||||
with = '#' ) AS replace_regex,
|
with = '#' ) AS replace_regex,
|
||||||
|
|
||||||
@@ -785,7 +787,7 @@ SELECT SINGLE
|
|||||||
"Searches for a PCRE expression and returns the matched substring
|
"Searches for a PCRE expression and returns the matched substring
|
||||||
"More parameters possible: occurrence, case_sensitive, start, group
|
"More parameters possible: occurrence, case_sensitive, start, group
|
||||||
"Result:.lu
|
"Result:.lu
|
||||||
substring_regexpr( pcre = '...',
|
substring_regexpr( pcre = '\...', "Period that is followed by any two characters
|
||||||
value = url ) AS substring_regexpr,
|
value = url ) AS substring_regexpr,
|
||||||
|
|
||||||
"All lower case letters are transformed to upper case letters
|
"All lower case letters are transformed to upper case letters
|
||||||
@@ -897,7 +899,7 @@ SELECT
|
|||||||
- [Arithmetic
|
- [Arithmetic
|
||||||
expressions](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abensql_arith.htm)
|
expressions](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abensql_arith.htm)
|
||||||
to perform arithmetic calculations using the operators `+`,
|
to perform arithmetic calculations using the operators `+`,
|
||||||
`-`, [`*]`, `/`,
|
`-`, `*`, `/`,
|
||||||
- [Cast
|
- [Cast
|
||||||
expressions](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abensql_cast.htm)
|
expressions](https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/index.htm?file=abensql_cast.htm)
|
||||||
to convert the value of operands to a dedicated dictionary type.
|
to convert the value of operands to a dedicated dictionary type.
|
||||||
@@ -1113,6 +1115,7 @@ SELECT FROM dbtab
|
|||||||
|
|
||||||
"(Not) between a value range
|
"(Not) between a value range
|
||||||
"comp1 BETWEEN 1 AND 10
|
"comp1 BETWEEN 1 AND 10
|
||||||
|
"comp1 NOT BETWEEN 1 AND 10
|
||||||
|
|
||||||
"A character literal has a certain pattern, preceded and
|
"A character literal has a certain pattern, preceded and
|
||||||
"followed by any string.
|
"followed by any string.
|
||||||
@@ -1131,7 +1134,7 @@ SELECT FROM dbtab
|
|||||||
"comp1 IS INITIAL
|
"comp1 IS INITIAL
|
||||||
|
|
||||||
"Combination of logical expression using AND, OR and parentheses
|
"Combination of logical expression using AND, OR and parentheses
|
||||||
"( comp1 = a AND comp2 < b ) OR ( comp3> c AND comp4 <> d )
|
"( comp1 = a AND comp2 < b ) OR ( comp3 > c AND comp4 <> d )
|
||||||
|
|
||||||
INTO TABLE @DATA(itab_where).
|
INTO TABLE @DATA(itab_where).
|
||||||
```
|
```
|
||||||
@@ -1228,8 +1231,7 @@ When used:
|
|||||||
|
|
||||||
- Whenever you need intermediate results in a `SELECT`
|
- Whenever you need intermediate results in a `SELECT`
|
||||||
statement and especially if you need them more than once.
|
statement and especially if you need them more than once.
|
||||||
- You get the option of selecting directly from a subquery [SELECT
|
- You get the option of selecting directly from a subquery (`SELECT FROM subquery`), which is not possible in ABAP SQL.
|
||||||
FROM subquery], which is not possible in ABAP SQL.
|
|
||||||
|
|
||||||
How it works:
|
How it works:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user