CT-Professional_100 – High-Quality-CBT

Course 3: “Further commands for efficient programming”

The course 3 shows you how to work with the extensive “SELECT command group …” in connection with the R/3® database. Further the knowledge of the system internal representation of variables of different data types is expanded.

How much learning content is available?

he course 3 consists of approx. 2900 text sections with approx. 12000 lines in total and 140 formal and example reports. The report examples are illustrated through approx. 460 overlay drawings within the syntax explanations and during the debugging session.

The single topics of each lesson are subsequently listed here as a continuous text. These are mainly the headings from the single text elements. They give an overview of the volume and the detailed structure of the presented knowledge. Of course these course information are properly arranged in the learning tool. You can determine the processing sequence of the single topics and you can:

  • follow the “red thread or learning path” or
  • branch into another learn mode or
  • call individual courses by using direct access or
  • display text elements or
  • access report examples or
  • use the CT-Debug_Simulator.

A detailed listing of the course content

We subsequently listed the essential contents of each course as continuous text. These are mainly the headings of the single text elements. Please look at the volume of the respective course (… and show us something comparable …). Of course these course information are properly arranged in the learning tool.

Continuous text:

IF v1 strOp – The string operators (strOp) . The string operators (as overview) . CO (v1 contains only) . CN (v1 contains not only) . CA (v1 contains any) . NA (v1 contains not any) . CS (v1 contains string) . NS (v1 contains not string) . CP (v1 contains pattern) . NP (v1 contains not pattern) . IF strOp commands1 ELSE commands2 ENDIF. (Syntax) . strOp (string operator) . Extent of the permissible string operators . CO (contains only) . An example: . CN (contains not only) . An example: . CA (contains any) . An example: . NA (contains not any) . An example: . CS (contains string) . An example: . NS (contains not string) . An example: . CP (contains pattern) . Mask representation . An example: . An example: . NP (contains not pattern) . An example: . An example: . Additional linking through boolean . Boolean operators . An example: . Brackets . An example: . Additional logical operators . Less LT, < . Equal EQ, = . Greater GT, > . Less or equal LE, <=, =< . Not equal NE, <>, >< . Greater or equal GE, >=, => . Further IF command types . Logical comparisons of operands . Comparison of bit patterns and bit variables . Comparison of selection criteria . Description of the functionality of “IF v1 strOp v2” . Checking a string expression and executing a statement . Using only C- and N-fields as operands . Determining the result of the condition . Execution of the TRUE- or FALSE commands . The system field SY-FDPOS . CO (contains only ) . Example CO . The system field SY-FDPOS . Result = TRUE . Result = FALSE . Small TIP . Mini TIP . CN (contains not only) . Example CN . The system field SY-FDPOS . Result = TRUE . Result = FALSE . Small TIP . CA (contains any) . Example CA . The system field SY-FDPOS . Result = TRUE . Result = FALSE . Small TIP . NA (contains not any) . Example NA . The system field SY-FDPOS . Result = TRUE . Result = FALSE . CS (contains string ) . Beispiel-CS . Uppercase/lowercase is not considered . The system field SY-FDPOS . Result = TRUE . Result = FALSE . Small TIP . NS (contains not string) . Example NS . Uppercase/lowercase is not considered . Right justified blanks are insignificant . The system field SY-FDPOS . Result = TRUE . Result = FALSE . CP (contains pattern ) . Example CP . Construction of the mask in the 2nd operand . Normal characters from the known string comparisons . The special character + . The special character * (asterisk) . The special character # (number sign) . Example special character “#”. . The order of testing . Result of the condition check . Result = TRUE . Result = FALSE . Uppercase/lowercase is not considered . Blanks in the case of different operand length . An example . The system field SY-FDPOS . Result = TRUE . Result = FALSE . NP (contains not pattern) . Example NP (contains not pattern) . Possible applications in report examples . General information . Report examples (general part) . Example report file name . An IF test as a pretence . SY-FDPOS shall be used . The file name is complemented . Processing a file on OS level (DEMO only) . Check authorization before activation . Example report parameter entries . The CN operator checks the character set . The invalid character as offset in SY-FDPOS . Determining the invalid character . Further required checks . Example report splitting string . The string operator “CA” . SY-FDPOS . Shifting the fragment . Which small bugs are contained in the report? . The delimiter as 1st character in the string . The last partial string . Example report replacement . The string operator “CA” . SY-FDPOS . Which small bugs are contained in the report? . The blank as replacement character . Are there even further bugs? . Example report searching . Testing . Experiment-1 . Experiment-2 . Experiment-3 . Example report searching . Example report CO . INSERT INTO etab VALUE wb – the work area (wa) . INSERT INTO etab | (etab_var) VALUES ar. . No duplicated keys . VALUES . ar (work area “etab”) . No modification of the work area by INSERT . CLIENT SPECIFIED . The current client tables. . Some notes on the use of “INSERT INTO etab…” . No using the alternative work area “*etab” . Single instruction or within loops . All key fields are to be used . Application in loop commands . COMMIT-WORK in SELECT loops . INSERT without WHERE condition . The table name as variable content (from 3.0) . Application option in a report example . General information . Check to see if insert data already present . INSERT of test data . Setup of the table data . INSERT of the test data from IT100 . I fields – MOVE und integer fields (4 bytes) . The transfer of I-fields to different target field fields. . The syntax and descriptions of functions of “MOVE …” . The C-fields in the “MOVE …” (Character fields) . The N-fields in the “MOVE …” (Numerical characters) . The I-fields in the “MOVE …” (Integers) . The P-fields in the “MOVE …” (Packed field contents) . The F-fields in the “MOVE …” (Floating Point) . The D fields in the “MOVE …” (Date, JHJJMMTT) . The T-fields in the “MOVE …” (Time of day, HHMMSS) . The X-fields in the “MOVE …” (Hexadedecimal fields) . The transfer of I-fields (individual display) . The hex content of an I-field must be … . The comparable field display: BIG ENDIAN . The display format of an I-field . The transfer of an I-field to a C-field . The target field is too small . The target field is too large . The leading sign of the I-fieldis taken into account . A negative number is transmitted from the I-field . The print editing of an I-field . How does the “*” star arrive in a C-field? . The transfer of an I-field to a N-field . Summary . A N-Field can display no negative leading sign . It is truncated . The target field is too small . The target field is too large . The leading sign is not transferred . Negative values become positive numbers ? . The most significant digit disappears . Print editing of I- and N-Field . The transfer of an I-field to another I-Field . No problem with (leading sign, field size, number maximum) . A negative number is transmitted, everything is O.K. . The transfer of an I-field to a P-field . The target field is too small . The target field is too large . A positive number is copied into a P-field . A negative number is transmitted into a P-field . The print editing from both fields is identical . The transfer of an I-field to a D field . The conversion into “Number of days …” . A negative number is not transmitted . The transfer of an I-field to a T-field . The number of the seconds is transmitted . A too great number is transmitted . Are there “negative seconds”? . The transfer of an I-field to an X-field . The target field is too small . The target field is too large . A positive number is transmitted as a HEXA value . The transfer of a negative number to an X-field . What does the value “-1” look like … . The overflow in an X-field . The transfer of an I-field in a F-field . The display of the number “1” in I- and F-fields . A positive number is copied to an F-field . How is negative value “1” stored in a F-field? . P fields – MOVE und packet fields . MOVE; P-field; Conversion into other data types; . The syntax and descriptions of functions of “MOVE …” . The transfer of P-fields (individual display) . The field contents of a data field of the type ‘P’ are transmitted . General . Decimal places . The transfer of a P-field to a C-field . Summary . The target field is too small . The target field is too large . If P-field is smaller than the C-field . MOVE P(003) TO C(006). . The transfer of a negative number . MOVE P(003) TO C(006). . The number is too large for the target field . MOVE P(007) TO C(006). . Pay attention to the star in the target field . MOVE P(007) TO C(006). . Filling the unrequired positions . MOVE P(002) TO C(006). . The transfer of a P-field to a N-field . Summary . The target field is too small . The target field is too large . A general transfer of “P to N” . MOVE P(003) TO N(005). . A negative number is taken into a N-field . MOVE P(003) TO N(005). . An N-field is too small . MOVE P(008 ) TO N(006). . The transfer of a P-field to an I-field . The display format of an I-field . The target field is too large . A data transfer without problems . MOVE P(008) TO I(004). . A negative number is transmitted into an I-Feld . MOVE P(005) TO I(004). . The interpretation of the memory areas . Main memory content of a P-fieldes . Main memory content of an I-field . The conversion of a decimal . MOVE P(007) TO I(004). . The transfer of a P-field to another P-field . The target field is too small . The target field is too large . A normal data transfer of “P to P” . MOVE P(005) TO P(005). . A negative number is transmitted . MOVE P(005) TO P(005). . The target field is larger than the source field . MOVE P(005) TO P(007). . The transfer of a P-field to a D field . Summary . The conversion of a number into a date . MOVE P(001) TO D(008). . A date is also converted into remote future . MOVE P(007) TO D(008). . A negative date is not accepted . MOVE P(003) TO D(008). . A too large a number is transmitted . MOVE P(008) TO D(008). . The transfer of a P-field to a T-field . The conversion for a T-Feld . MOVE P(003) TO T(006). . A too large number is transmitted . MOVE P(007) TO T(006). . A negative number is transmitted . MOVE P(003) TO T(006). . The transfer of a P-field to an X-field . Summary . A number is transmitted from a P-field into an X-field . MOVE P(005) TO X(003). . The target field of the “X” type is too small . MOVE P(008) TO X(002). . Only 4 bytes are transmitted into the target field . MOVE P(002) TO X(005). . The transfer of a P-field in a F-field . The normal case . MOVE P(007) TO F(008). . A negative number is transmitted . MOVE P(007) TO F(008). . F fields – MOVE and Floating Point . The general description of functions of v2 MOVE v1 TO . The transfer of F-fields to different targets. . The representation of the field contents in … . The result of the conversion routines on the . Field types; C; N; I; P; F; D; T; X; . The overall view . The transfer of F-fields (individual display) . Authorized characters in an F-field . The representation format of floating point numbers . representation range and field size . Rounding problems . The transfer of an F-field in a C-field . Summary . The target field is too small . The target field is too large . A floating point number is transmitted to a C-field . MOVE F(008) TO C(007). . Floating-point representation is taken over by the . MOVE F(008) TO C(015). . In the C-field is transmitted right justified . MOVE F(008) TO C(048). . The transfer of a F-field to a N-field . The target field is too small . The target field is too large . The digit correct conversion to a decimal number . MOVE F(008) TO N(006). . The leading sign can not be transfered into the . MOVE F(008) TO N(006). . Source field initially : -1,23456000000000E+05 . Filling out of the unused digit positions . MOVE F(008) TO N(008). . The target field of the N type is too small . MOVE F(008) TO N(003). . The transfer of an F-field to an I-field . The target field is too small . The target field is too large . The representation format of an I-field . An example . The conversion of a floating point number . MOVE F(008) TO I(004). . A negative mantisse is taken into account . MOVE F(008) TO I(004). . The transfer of an F-field to a P-field . The target field is too small . The target field is too large . The field contents of a F-field are transmitted . MOVE F(008) TO P(008). . A negative floating point number is loaded into a . MOVE F(008) TO P(008). . The target field is too small . The target field is too large . No individual examples . The transfer of an F-field to a T-field . The target field is too small . The target field is too large . The normal conversion into a point in time . MOVE F(008) TO T(006). . An invalid time is produced . MOVE F(008) TO T(006). . The transfer of an F-field to an X-field . The target field is too small . The target field is too large . The conversion of a floating point number into a . MOVE F(008) TO X(003). . A negative floating point number is set into an . MOVE F(008) TO X(003). . The target field is too small for the floating point . MOVE F(008) TO X(002). . The transfer of an F-field to an other F-field . The construction in both variables is identical . MOVE F(008) TO F(008). . The SELECT clause – part 1 . The individual constituents of the SELECT command . SELECT clause . INTO clause . FROM clause . WHERE clause . GROUP clause . ORDER clause . Enumeration of the SELECT clauses . The asterisk (*) in the SELECT clause: . “SELECT * FROM etab” as a loop function . “SELECT * FROM etab … ENDSELECT.” . SELECT * . FROM etab. . Nesting of SELECT commands is allowed . “SELECT SINGLE * …” as a single instruction . The work area . The primary key in the SELECT command . All fields (columns) of the table entry . The return code SY-SUBRC . “ENDSELECT”missing . The specification of partial keys . Analyze the return code SY-SUBRC . “SELECT SINGLE FOR UPDATE * … as a single . The return code SY-SUBRC . No modification of the original entry . An unambiguous keyword is necessary . The return code SY-SUBRC . Different types of data record locks . Direct blocking through the data base . The logical lock of records . The cancellation of the data bank lock . The duration of the data bank lock . Deadlock in the case of spaced records . Block and process records . Which SELECT commands cause the lock . SELECT SINGLE FOR DELETE … . SELECT SINGLE FOR INSERT… . SELECT SINGLE FOR MODIFY… . SELECT SINGLE FOR UPDATE… . Process blocked record . Block again a blocked record by other user ? . Change a locked record from another user . Read a blocked record using another report . “SELECT DISTINCT * … as a loop command . Appropriate field of application . SELECT {SINGLE {FOR UPDATE} | DISTINCT} tf1 tfn … ENDSELECT . SELECT {SINGLE {FOR UPDATE} | DISTINCT} tf1 tfn … ENDSELECT”} . SELECT SINGLE tf1 tfn FROM etab … WHERE condition … . The T100 work area . The INTO clause . The WHERE condition . The WHERE condition completion . Single field specification requires . No table specification in INTO clause . The separate work area ITAB . Individual fields in the INTO clause . WRITE specification . The SELECT command and individual field data . WHERE condition . INTO clause . Field selection for work area . SELECT SINGLE FOR UPDATE tf1 tfn FROM etab … WHERE condition … . The blocked table record . SELECT DISTINCT tf1 tf2 FROM etab … WHERE condition … ENDSELECT . “SELECT DISTINCT …” as a single . The statement “TABLES” . The WFIELD work area . “SELECT DISTINCT …” . “… INTO TABLE WFIELD” . “SORT …” . “LOOP AT WFIELD:” . “SELECT DISTINCT …” as a loop command . The use of individual table fields (tf1 tfn …) . Reduction of movements of data, improvement in resource use . “SELECT MSGNR AS MESS_NR …” . “SELECT .. INTO CORRESPONDING . ” SELECT.. WHERE SPRSL ….” . LOOP AT ITAB . “SELECT … tf1 AS af1 ….” as a loop . ” SELECT MSGNR AS MESS_NR…” . “…INTO (ITAB-MESS_NR …)” . The SELECT clause – part 2 . Internal table processing (basics …) . Fields of the SELECTand INTO clause . The INTO clause . The WHERE clause . The GROUP clause . SELECT … “COUNT(*) MAX( tf1 ) MIN( tf1 )…” . “INTO TABLE itab …” . The SELECT clause . The FROM clause . The INTO clause . The result list . “SELECT … COUNT(DISTINCT tf2 ) MIN( tf2) MAX( tf2) …” . The GROUP clause . “SELECT … SUM( tf1 ) MAX( tf1 ) MIN( tf1 )… ” . “SELECT … AVG( tf1 ) MAX( tf1 ) MIN( tf1 )…” . SELECT {SINGLE {FOR UPDATE} | DISTINCT} (itab) . General information on the dynamic table field . Static field selection . Dynamic field selection . The frequency of use of “SELECT (itab) …” . “SELECT {SINGLE {FOR UPDATE} | DISTINCT} …” . “SELECT command …. (itab) …” . The structure of the internal table itab . The necessity of brackets . No table content in (itab) . Specification of the table field names also in . Illegal table content in (itab) . The FROM clause . The INTO clause . The WHERE clause . The command “SELECT” as a general read instruction for … . The functional scope of the SELECT command . The data base . The database uses its own SQL language . The ABAP/4® database commands – OPEN SQL . The interpretation of the database commands . The interfaces within the data base . The different table types (overview) . Transparent tables . Pool tables . Cluster tables . Import/export tables (cluster) . VIEW tables . SELECT command {INTO destination} FROM source {WHERE cond} {GROUP BY tfs} {ORDER BY …} . The SELECT command as a loop construction . The loop command “SELECT * FROM etab … ENDSELECT” . Exiting from the loop . No authorization checks when reading with “SELECT”…) . Effect of a missing authorization check . “AUTHORITY CHECK” . Erroneous assignment of authorizations . Possible application in report examples . “SELECT SINGLE …” . “SELECT SINGLE FOR UPDATE …” . “SELECT DISTINCT …” . READ-SELECT-SINGLE-FULLKEY . READ-SELECT-SINGLE-GT . READ-SELECT-SINGLE-KEY . READ-SELECT-SINGLE . PARAMETERS . READ-OR-INSERT . SELECT-SINGLE-UPD . Test of record locking . Start of the 1st work process . Start of 2nd work process . DELETEN-TESTLINE . SELECT-DISTINCT . Problem definition . ERMITTELN-PRINT-CONTROL . DISPLAY-ITAB. . SELECT – some report examples for an overview . SELECT * FROM etab … ENDSELECT; … WHERE condition; . The SELECT command with its extensive functional . The individual constituents of the SELECT command . SELECT clause . INTO clause . FROM clause . WHERE clause . GROUP clause . ORDER clause . The “SELECT” as a loop command . Further process the read data in the SELECT loop . A formal example: . WHERE condition … ENDSELECT.”(Syntax) . SELECT * . FROM etab . WHERE condition . Further commands according to the SELECT … . ENDSELECT . Some general notes on use . The work area of the SELECT command (Global, local) . The table work area . The global table work area . An example, the external table T100 is declared: . The internal table work area . No automatic deletion of the table work area . The premature exit of the SELECT loop with “EXIT” . The system field SY-SUBRC . SY-SUBRCE = 0 . SY-SUBRCE = 4 . The system field SY-DBCNT . The “SELECT basic command * FROM etab” in some report examples . SELECT * FROM etab….. . The SELECT command with the WHERE . WHERE bedingung … ENDSELECT . REPORT-SELECT-WHERE-ALLG . CLIENT SPECIFIED … ENDSELECT. . REPORT-SELECT-CLIENT . READ-CLIENT-ACTUAL FORMAT . READ-ALL-CLIENT- FORMAT . INTO xtab … ENDSELECT . Report example . READ-FROM-T100-in-IT100 FORMAT . ORDER BY PRIMARY KEY … ENDSELECT . REPORT-SELECT-ORDER-BY-PRIMARY-KEY . SELECT * FROM etab ORDER BY v1 … v9 … ENDSELECT . REPORT SORTED FROM . READING-FIELD-SORTED-1.FORMAT . READING-FIELD-SORTED-2.FORMAT . SELECT * FROM etab BYPASSING BUFFER … ENDSELECT . REPORT SELECT BYPASSING . LESEN-WITHOUT-BUFFER FORMAT . SELECT * FROM etab UP TO n ROWS … ENDSELECT . REPORT SELECT UP-TO-ROWS . READ-ONLY-TO-COUNT-X FORMAT . Combinations of the command supplements . REPORT-SELECT-COMBINATION . READ-WITH-DIV-COMBINATION FORMAT . SELECT loop commands contain a “ENDSELECT” . All table lines are read fundamentally . The interruption of the SELECT loop is possible . The FROM clause – … within the SELECT . The individual constituents of the SELECT command . SELECT clause . INTO clause . FROM clause . WHERE clause . GROUP clause . ORDER clause . The FROM clause “SELECT … FROM etab …” . The direct specification of the table to be read . The indirect specification of the table name in a . The direct specification of the table name in the . “SELECT … FROM etab…” . The report example 01 . T001 TABLES . SELECT * FROM T001 . ENDSELECT . The number of table . SY-DBCNT . The standard work area: TABLES etab . Etab must be declared in the DDIC . Native code requires no DDIC declaration . The different types of external tables . Run-time error during program execution . Invalid cursor . The FROM clause in individual and loop . The nested SELECT command . SY-DBCNT . The SELECT loop with “SELECT SINGLE …” . “SELECT … FROM etab BYPASSING BUFFERS …” . SELECT SINGLE … BYPASSING BUFFERS . SELECT SINGLE … (without BYPASSING . INSERT with immediate reading . Table buffer = data not always exactly up to date . Some performance-influencing factors . Size of the overall buffer . Displacement (zcsa/exchange _ mode = on) . Setting of buffering of tables in the . No release for buffering . “SELECT … FROM etab CLIENT SPECIFIED …” . The client key as variable or literal . The client key as a variable . Client tables (term) . “CLIENT SPECIFIED..” only in connection with . Leaving out of “MANDT” with CLIENT SPECIFIED . The position of “MANDT” in the WHERE clause . “SELECT … FROM etab UP TO n ROWS …” . The number “n” as variable content or actual . The variable with numerical content . An empty variable . Main fields of application . Is any table content present at all ? . Is a partial volume of the table “etab” . Displays the first n entries of a sorted . The indirect specification of the table name in a variable . Forms of the indirect specification in the FROM-clause . The variable name in parentheses . The variable as a C field with 10 places . INTO clause prerequisite for indirect table name . “TABLES: etab”is not required. . The length of the work area . Ascertaining the structure of the optionally . Valid table name at the point in time of . Special test routines are necessary . “SELECT FROM … (vtab) …” . The INTO clause – Part of SELECT . The formal prerequisites when … . In time measurements, one explains using . In 13 report examples, the further prerequisites per . The individual SELECT command constituent parts . SELECT clause . INTO clause . FROM clause . WHERE clause . GROUP clause . ORDER clause . The INTO clause “SELECT …INTO dest …” . The work area as a field string (single-line . The work area as an internal table (= wb) . Transfer of the data to an empty receiving . Enhancement of the internal receiving table (APPENDING) . The runtime performance of different INTO clauses . The exactness of measurements . Repeated measurements with different results . Some performance-influencing factors with regard to . Data transfer into the work area (field string,single-line structure) . The data types in the DDIC and data types used by . 2-way conversion of data types (ABAP/4®- DDIC and/or database) . “SELECT … INTO wb…” . The data structures of work area and read table . Conclusion . Sufficient length of “wb” is necessary . The use of atypical field contents . The work area as a internal table to be built . GET RUNTIME FIELD IFELD2 . Time comparison of examples 01 and 03 . “SELECT … INTO CORRESPONDING FIELDS OF wb . The time comparison report example 04 to 01 . “SELECT … INTO (v1, v2 … . INTO (ARBGB1, MSGNR1, TEXT1) . Time consumption . Same number of fields in SELECT clause and . Put the array names in the INTO clause in . The use of array name in SELECT clause and INTO . Identical array names not necessary . The array names in the SELECT clause . The array names in the INTO clause . Internal variables are conditionally permissible . Field symbols are also permissible . Conversion of DDIC data types into ABAP/4® . Conversion problems are not always immediately detectable . An internal table as a work area for read table . Transfer of the data to an empty receiving table . ” SELECT … INTO TABLE itab {PACKAGE SIZEn}…” . No interruption during the SELECT command . No limitation on the maximum number of table . Construction of internal table buffers . The internal work table contains only . “SELECT … INTO TABLE itab PACKAGE SIZE n … ” . SELECT … INTO … PACKAGE SIZE 10. . SELECT … INTO … BYPASSING BUFFER. . A rough time estimate . The use of partial quantities in . Using a direct value as . Specification of “0” as a partial . Using a variable for the specification . The variable content is “0”. . The variable content is larger than . The variable content is negative. . No changeable partial quantity per loop . As an exercise: User changes total amount . SELECT … BYPASSING BUFFER … . Changing the input parameters . “SELECT … INTO CORRESPONDING FIELDS OF TABLE itab …” . SELECT … INTO CORRESPONDING . The old content of “itab” is deleted . Individual command- INTO clause with “… . Supplement to the internal receiving table . The time estimate . The old content of the work table is not . Processing small selection quantities . BREAK POINT without runtime errors . “SELECT … APPENDING CORRESPONDING FIELDS OF TABLE itab …” . “SELECT … APPENDING TABLE itab PACKAGE SIZE n … . SELECT … APPENDING … PACKAGE SIZE 10 . The evaluation of the individual . The first time measurement . The further time measurements . The time measurement at approx. . The time measurement at approx. . The evaluation of the SQL . The result of the SQL . The moral . An SQL measurement on the . “SELECT … APPENDING CORRESPONDING FIELDS OF TABLE itab PACKAGE SIZE n …” . Logical operators – and WHERE … . WHERE clause; different conditions of WHERE; . Selecting table entries; reading table entries with . WHERE condition; SELECT; UPDATE; . The logical operators in the WHERE clause . The different clauses of the SELECT command . SELECT clause . INTO clause . FROM clause . WHERE clause . GROUP clause . ORDER clause . The WHERE clause in different commands . SELECT … . UPDATE … . DELETE … . OPEN CURSOR … . LOOP AT itab … . The 1st and 2nd operand and the operator . ” SELECT * FROM etab WHERE condition …” . No keyword . Field of application of the selection commands . Further command clauses in . WHERE condition . The individual WHERE conditions with their . Operands . The table field (1st operand) . The comparison operand (2nd operand) . Operators . Replacement operators . A general classification of operators . Arithmetical operators . Logical operators (relational . The NOT operator . Boolean operators (linking) . The NOT-Operator . String operators . Range operators . Table operators . WHERE tf1 logOP lv2 – the essential . The three objects … . The 1st operand is the table . The logical operator logOP . The 2nd operand is the lv2 . An example: . Brief commentary on the report . The table field (tf1) . The logical operators (logOp) . Less than LT, < . Equal EQ, = . Greater GT, > . Less or equal LE, <=, =< . Not equal NE, <>, >< . Greater or equal GE, >=, => . The literal or the comparison . The application of the logical operators in the WHERE . The logical operator EQ (equal to) . Consider notation . Blank (SPACE) is not the same as 0 . Take field length into account . Field length is too small . Field length is too large . An example report with “WHERE … EQ” . The logical operator LT (less than) . Test for correct selection . The sequence of the data delivery . A report example with “WHERE … LT” . The logical operator GT (greater than) . A report example with “WHERE … GT” . The logical operator NE (not equal) . A report example with “WHERE … NE” . The logical operator GE (greater or equal) . A report example with “WHERE … GE” . The logical operator LE (less or . The report examples: What details should one be . WHERE EQ REPORT . WHERE LT REPORT . WHERE GT REPORT . WHERE LE REPORT . WHERE GE REPORT . REPORT ERROR 1 . REPORT ERROR 2 . REPORT ERROR 3 . The boolean operators – and WHERE . AND; OR; NOT; brackets; boolean operators; . Operators of the WHERE condition; less than; . WHERE condition; logical operators; LT; EQ; . The WHERE clause with boolean conditions . The different clauses of the SELECT command . SELECT clause . INTO clause . FROM clause . WHERE clause . GROUP clause . ORDER clause . The WHERE clause in different commands . SELECT … . UPDATE … . DELETE … . OPEN CURSOR … . LOOP AT itab … . The boolean operators in the WHERE clause . WHERE tf1 condition1AND condition2 . Selection of a single table record . WHERE tf1 condition1 OR condition2 OR bedx . WHERE condition1 AND NOT condition2 AND NOT … . WHERE condition1 OR NOT condition2 OR NOT … . Link valid single conditions with boolean . Logical operators (e.g. EQ, NE, GT …) . Combination of logical single . Bracketing in its external effect . Bracketing in its internal effect . The records read . BETWEEN lv1 AND lv2 . Combination of “BETWEEN” and logical . The list result . IS ZERO . Combination of IS ZERO . IN (lv1, lv2 …) . Combination of IN operator with “AND”, . IN itab . Combination of IN itab with “AND” . LIKE lv2 . The primary key . The array “TEXT” . The wildcard character “%” . FOR ALL ENTRIES IN itab WHERE condition . ITAB declaration . Linking of individual conditions . Implementation of linking of . AND . OR . NOT . The use of NOT in conjunction with . NOT BETWEEN lv1 AND lv2 . IS NOT ZERO . NOT IN (lv1, lv2 …) . NOT IN itab . NOT LIKE lv2 . Invalid individual conditions . WHERE (itab) . WHERE condition AND (itab) . The boolean WHERE operators in practice . The operator “AND” . “WHERE-AND REPORT ” . The operator “OR” . “WHERE-OR REPORT” . The operator “NOT ” in . “WHERE-AND-NOT REPORT” . The operator “NOT ” in . “WHERE-OR-NOT REPORT” . Various boolean operators in a WHERE condition . “WHERE-AND-OR-NOT REPORT ” . Summary of the example reports . WHERE-AND REPORT . WHERE-OR REPORT . WHERE-AND-NOT REPORT . WHERE-OR-NOT REPORT . Misleading problem definition . STEP 1 . STEP 2 . WHERE-AND-OR-NOT REPORT . WRITE output field – the contact to outside . A short overview . Format details (in front of the output field) . The control elements “/ n (n)” . field description (symb. oder relative Address) . Print options (after the output field . Date format . Number format . Position of the output field . Alignment of the output field(from 3.0) . Mask output . Output attribute for the presentation of the output field . Print control of symbols, Ikons, Windows etc. . Die Attribute (attributes) of an output field . The control of the Attribute for each output field . COLOR n (or COLOR OFF) . The assignment of constants . The usage in the WRITE-command . Whole number length . Output via a constant . INVERSE (or INVERSE OFF) . INTENSIFIED (or INTENSIFIED OFF) . INPUT (or INPUT OFF) . HOTSPOT . A single mouse click is sufficient… . Marking a HOTSPOT-Field . Print control of symbols, icons, and windows etc. . Print output of Symbols (from 3.0) . General usage notes . Print output of ICONs (from 3.0) . General application notes . Print output of lines (from 3.0) . General application notes . Print output of CHECKBOX (from 3.0) . General application notes . Parameter entry ” … AS CHECKBOX” . AT LINE-SELECTION . Some application remarks about the command “WRITE ….” . The various possibilities to output information . WRITE output field . TRANSFER data record . Inserting function modules . Declaration of this general print area . “REPORT name LINE SIZE nnn” . “REPORT name LINE COUNT nnn” . “REPORT name … NO STANDARD PAGE HEADING” . Taking account of information from … . The use of print control characters . Example of a control sequence (for change of page) . Print control tables . WRITE (not every WRITE prints …) . Direct copy of the field contents in another . Indirect copying in another Variable . Overwriting fields that have already been printed out . NO-GAP . If Print length and Print position overlap each other. . Character fields (C, N, D, T,) . Computational items and Hexadecimal fields (I, P, F, X,) . WRITE output field … – Reports . Format statement (prior to the output field declaration) . The control element “/ n (n)” . field description (symb. or relative Address) . Print options (after the output field . Date format . Number format . Position of the output field . Allignment of the output field(Fro 3.0) . Mask output . Output attribute for the presentation of the output field . Print control of symbols, Ikons, Windows etc. . The general control options of the WRITE-command . Some of the essential functions of the WRITE-command . AdditionalLayout design . An overview of the available example-reports . Print position, print length … . Print editing… . colours, INPUT-fields, HOTSPOT, SYMBOLS, ICONS . REPORT-WRITE1 . REPORT-WRITE2 . REPORT-WRITE3 . REPORT-WRITE4 . REPORT-WRITE5 . REPORT-WRITE6 . REPORT-WRITE7 . REPORT-WRITE8 . REPORT-WRITE9 . REPORT-WRITE10 . REPORT-WRITE11 . REPORT-WRITE12 . REPORT-WRITE13 . REPORT-WRITE14 . REPORT-WRITE15 . REPORT-WRITE16 . PRINT WITHOUT POSITION STATEMENT . WRITE-COLOR-N . WRITE-COLOR-INDIRECT . WRITE-COLOR-INDIRECT-INVERS . WRITE-COLOR-IND-ITENSIFIED . REPORT-WRITE17 . PRINT WITHOUT POSITION STATEMENT . WRITE-INPUT FIELD . REPORT-WRITE18 . PRINT WITHOUT POSITION STATEMENT . WRITE-HOTSPOT-INPUT. . AT LINE-SELECTION . REPORT-WRITE19 . PRINT WITHOUT POSITION SPECIFCATION . PRINT-WITH-ALIGNMENT-IN-THE-FIELD . PRINT WITH ALIGNMENT DETAILS . WRITE-DO-Alignment . WRITE-DO-CENTERED . REPORT-WRITE20 . PRINT WITHOUT POSITION STATEMENT . WRITE-SYMBOL . WRITE-SYMBOL-ALL . DISPLAY-SYMBOL-MEMBER . REPORT-WRITE21 . PRINT WITHOUT POSITION STATEMENT . DISPLAY-ICON-MEMBER . REPORT-WRITE22 . PRINT WITHOUT POSITION STATEMENT . WRITE-LINE . WRITE-LINE-ALL . DISPLAY-LINE-MEMBER . REPORT-WRITE23 . PARAMETERS . PRINT WITHOUT POSITION STATEMENT . PRINT-AS-CHECKBOX1 . AT LINE-SELECTION . PRINT-AS-CHECKBOX2