Home
  Add-Ons for
SAP® systems
  CT-Assist_Module
  Software Assistants
  User comments
  Costs/benefit analysis
  R/3® Integration
  PDF / Download
  CT-Debug & Trace_Module
  R/3® Integration
  PDF / Download
  CT-Codeview & Analyzer
  CT-Test & Optimizer
  eLearning for ABAP™
  CT-Professsional_100+Help
  CT-Professsional_100
  CT-Understanding_100
  CT-Help_Workbench
  ABAP™ Programs
  Shop [SSL]
  Downloads
 

Home > eLearning for ABAP™ > CT-Professional 100+Help > Course 3

CT-Professional_100+Help Version 2.2

for die ABAP™ programming

 

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.

Together with the courses 1 - 3 you have should already a know-how to program also efficient reports.

How much learning content is available?

The 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 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.

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 ta
rget 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