CT-Professional_100 – High-Quality-CBT

Course 1: “Starting with ABAP® – The Basics”

This course presents a selection of ABAP® commands which allow you to program easy reports very soon in the initial learning phase. Within the language ABAP it is sufficient to know only a few commands at the beginning to manage light programming requests. Prerequisite for this target however is, that these language elements are really understood.

Conclusion: Write small ABAP programs already after a short time with few but appropriate commands!

How much learning content is available?

The course 1 consists of approx. 2900 text sections with approx. 12000 lines in total and 134 ABAP programs. The report examples are illustrated through approx. 360 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:

APPEND itab – Transfer data in internal tables . The command extensions from 3.0 upwards . APPEND work1 TO itab . APPEND INITIAL LINE TO itab . SORTED BY v1. (3.0 upward) . APPEND work1 TO itab (syntax – 3.0 upward) . APPEND INITIAL LINE TO itab1 (syntax – 3.0 upward) . General table construction with APPEND itab . Frequent application of the command APPEND itab . The table header line . Tasks of the “table header line” . The content of the header line (work area) . Adding the header line to the . Modifying and writing back the . “APPEND” and the table header line . Copying the table header line . Content of the header line is preserved . APPEND itab SORTED BY v1 (command extension) . Low frequency of application . Sequence of the table line (… SORTED BY v1) . Limiting the table by OCCURS . Removing the last table line . The sorting field ‘v1’ (3.0 upward) . APPEND work1 TO itab (3.0 upward) . The table header line of itab remains unmodified . The work area ‘work1’ . APPEND INITIAL LINE TO itab (3.0 upward) . The table header line of itab remains unmodified . An empty line in the data base . Table processing generally . Table construction by adding the header line . Table construction by global data acquisition . APPEND and other comparable commands . INSERT itab INDEX n . COLLECT itab . Similar table line found . Similar table line not found . CLEAR itab: Deleting the table header line . APPEND and OCCURS . DATA v1 … Declaration of single fields . DATA v1. . DATA v2(l). . DATA v3(l) TYPE t. . DATA v4(l) TYPE t VALUE lit. . DATA v5(l) TYPE P VALUE lit DECIMALS n. . DATA v6 LIKE v2. . DATA f7 LIKE itab. . Further declaration forms – internal table (3.0 upwards) . DATA itab TYPE struktur1 OCCURS n . DATA itab LIKE struktur1 OCCURS n . DATA itab TYPE LINE OF tabtyp . DATA itab LIKE LINE OF itab . DATA itab …. WITH HEADER LINE. . The instruction word “DATA” . The name of the variable . The length of the data field (in bytes) . The data type of the variables . The declaration of single fields (formally) “DATA v1 …” . Report attribute “fixed-point arithmetic = ON” . DATA v1 LIKE v2. . References to internal tables – 3.0 upwards “DATA itab TYPE|LIKE …” . DATA: itab2 TYPE Typ_itab OCCURS n. . The “TYPES …” instruction . The transfer of the attributes of user-defined data objects . DATA: itab2 LIKE v1 OCCURS n. . The transfer of the attributes of standard objects . “HEADER LINE” – the table header line is declared . The reference to field strings – 3.0 “DATA itab TYPE|LIKE LINE …” . DATA: itab2 TYPE LINE OF typ_itab . The “TYPES …” instruction . The work area and the data area of an internal table . The transfer of the attributes of a table line . All letters and all digits are permissible . Some special characters are not permissible. . Parentheses . Plus sign . Period . Comma . Colon . Using no keywords or instruction parameters . Appropriate naming for variables . Length specification l . The lengths of the different data types . DB maximum (DATA) . Data type I in R/2 . TYPE t. . The basic position value per data type . DECIMALS n. . Fixed-point arithmetic = on . Fixed-point arithmetic = off . LIKE v2/struc2 . Relatively frequent declaration types . DATA v1(l) TYPE t. . DATA v1 LIKE v2/struc2 . Default values = minimal specifications . “TYPES …” – the creation of user data types (3.0 upwards) . A data type can be interpreted as a description of features . The description is implemented with data objects (memory allocation) . Transferring existing structures or attributes (3.0 upwards) . External and internal data fields . External data fields . Internal data fields . External and internal data declarations . External data declaration . Declaration in the data dictionary . Using the external declaration in the program . Internal data declaration . Declaration in the current report/program . Declaration in a separate include member . Declaration in the data dictionary . Place or time of data declaration . The source code is interpreted . Latest time . Separated declaration area . Determining the declaration parameters . The attributes of an data field are determined, among other things, by: . Conversion of data fields . Validation . Different data types . Which conversion in which situation? . Processor expenditure during conversions . Checking of the content of data fields . Runtime errors in case of conversion problems . Correct declaration – less errors . Conversion examples for the topic “MOVE” and “ADD” . The name of a program variable . Deriving names from already available external data . Deriving names from system fields (SY-) . Inclusion of type and length in the variable names . The purpose . Field-proven checklist . No reserved instruction words as variable names . Content of variables . Who is interested in the hexadecimal content? . An example of internal representation . Specification of the field length of variables . Initial value of variables . Basic position value . The sequence of data declaration at individual fields . Individual fields . “Field strings” and “internal tables” . Field strings/header lines are also addressable as single fields . Processing for printout (e.g. data type “D”) . Data type “D” = date . Conversion at the printed output . Internal printing routines . Global and local variables . Local variables . Global variables . The “redefinition” of data fields . System fields . Relations to other statements . PARAMETERS … . FIELD-SYMBOLS … . ASSIGN … . DESCRIBE … . LIKE … . A suggestion for “processing” the report examples . Data declaration . DATA: C_FELD1. . DATA: C_FELD2(4). . DATA: C_FELD3(4) TYPE C. . DATA: C_FELD4(4) TYPE C VALUE ‘ABC’. . DATA: C_FELD5 LIKE C_FELD4. . The data content after the declaration . The field contents after a data transfer . Data declaration . DATA: N_FELD1. . DATA: N_FELD2(4). . DATA: N_FELD3(4) TYPE N. . DATA: N_FELD4(4) TYPE N VALUE ‘123’. . DATA: N_FELD5 LIKE N_FELD4. . The field content after the declaration . The field contents after a data transfer . Data declaration . DATA: I_FELD1. . DATA: I_FELD2 TYPE C. . DATA: I_FELD3(4) TYPE I . DATA: I_FELD4(4) TYPE I VALUE 123. . DATA: I_FELD5 LIKE I_FELD4. . The data content after the declaration . The field contents after a data transfer . Data declaration . DATA: P_FELD1. . DATA: P_FELD2 TYPE P. . DATA: P_FELD3(4) TYPE P. . DATA: P_FELD4(4) TYPE P VALUE 123 DECIMALS 2. . DATA: P_FELD5 LIKE PFELD4. . Data declaration . DATA: F_FELD1. . DATA: F_FELD2 TYPE F . DATA: F_FELD3(8) TYPE F. . DATA: F_FELD4(4) TYPE F VALUE 123. . DATA: F_FELD5 LIKE F_FELD4. . Data declaration . DATA: D_FELD1. . DATA: D_FELD2 TYPE D. . DATA: D_FELD3(8) TYPE D. . DATA: D_FELD4(8) TYPE D VALUE ‘19960815’. . DATA: D_FELD5 LIKE D_FELD4. . Data declaration . DATA: T_FELD1. . DATA: T_FELD2 TYPE T. . DATA: T_FELD3(6) TYPE D. . DATA: T_FELD4(6) TYPE T VALUE ‘235901’. . DATA: T_FELD5 LIKE T_FELD4. . Data declaration . DATA: X_FELD1. . DATA: X_FELD2 TYPE X. . DATA: X_FELD3(6) TYPE X. . DATA: X_FELD4(8) TYPE X VALUE ‘3A3D’. . DATA: X_FELD5 LIKE X_FELD4. . The data content after the declaration . The field contents after a data transfer . The conversion of the hexadecimal content into print characters . DATA BEGIN OF stru1 … Declaration of structures . Declaring variables; definition; declaring field strings; declaring; . Field string declaration; internal table; combining several variables under . DATA: END OF record . The summary description of “DATA: BEGIN OF name OCCURS n …” . The 3 declaration areas . The formal declaration areas of a structure . The 2 structure forms (field string, internal table) . The data structure of a field string . The example of a data structure . Explanations about data structures . The data structure of an internal table . The declaration of an internal table . Explanations about the table example . The declaration of a structure with “INCLUDE struc” . The example of an INCLUDE structure . Explanations about the table example . DATA: BEGIN OF ITAB2 OCCURS 10 . INCLUDE STRUCTURE T100 . END OF ITAB2 . BEGIN OF g1 OCCURS n … (syntax explanation) . Hyphen as “connection element” (group – single field) . OCCURS n. . Declaration of an US$internal table$ . Allocating main memory . Declaration of the individual group fields . Field1 to n . Declaration at the end of the data group . END OF record. . The reference to existing structures or user data types (3.0 upwards) . The statement “TYPES typ” . Data types . Declarations . DATA: struc1 TYPE struc_typ OCCURS n. . DATA: struc2 LIKE itabx OCCURS n. . DATA: struc3 TYPE LINE OF struc_typ. . DATA: struc4 TYPE LINE OF itabx. . The data base of an internal table and the … . The data base of an internal table . The header line of an internal table . Internal tables without header lines (3.0 upwards) . Addressing individual fields of a $data group$ . Table header line . Processing the table header line . Addressing a table field (header line) . The hyphen for addressing the individual field . The underscore for abbreviations in the data field name . Addressing the entire data group . Statements for the entire data group . MOVE-CORRESPONDING grp1 TO grp2. . ADD-CORRESPONDING grp1 TO grp2. . MULITIPLY-CORRESPONDING grp1 BY grp2. . SUBTRACT-CORRESPONDING grp1 FROM grp2. . DIVIDE-CORRESPONDING grp1 BY grp2. . Padding bytes within the data group . The data groups as variables of type C. . Alignment of group fields (e.g. type I) on word boundary . Relative addressing of data groups . Declaration of external tables . OCCURS-specification with value 1 . INCLUDE STRUCTURE . Possible applications in report examples . IF … basics, overview . Individual description of logical comparisons . Comparison of data fields . Comparison of character strings . Comparison of bit patterns and bit variables . Control of program execution by … . Formulation of IF-conditions by usage of … . Extension of IF-conditions through … . Representing partial expressions in IF-conditions unambiguously through brackets . Suitable arrangement of partial expressions … . Relative complex IF-conditions in foreign .. . The various condition checks . Logical comparison operations (logExpr) . Conversions in the case of unequal data types . Comparison on initial values, ranges of values and formal parameters . Further condition checks . Extensive comparison of strings . Comparison of bit patterns and bit variables . Comparison of selection criteria (see SELECT-OPTIONS) . logExpr (= logical expression) . Formulation of conditions . Logical comparison operations . Comparative operands (v1, v2) . Comparative operators . Logical operators . Less LT, < . Equal EQ, = . Greater GT, > . Less or equal LE, <=, =< . Not equal NE, <>, >< . Greater or equal GE, >=, => . Boolean operators . Brackets . Not permitted: arithmetic operators . Leaving out “ELSE” . Instructions in the ELSE branch . “ELSEIF commands2 … ENDIF” . The “ELSEIF” statement . The order of the condition checks … . The “IF … ENDIF” statement . A small recommendation . IF v1 logOp – Comparison of data fields illustrated with examples . Comparison of character strings . Comparing bit patterns and bit variables . The different IF-conditions . Logical comparison operations (logExpr) . Extensive comparison of strings . Comparison of bit patterns and bit variables . Comparison of selection criteria . An Overview on the topic “logical expression (= logExpr)” . The formulation of conditions . A logical expression is mandatory . Logical comparison operations . Comparative operands . Comparative operators (overview) . Combination of comparative operators . Logical operators . The various logical operators (overview) . Less –> “LT, < ” . Equal –>”EQ, = ” . Greater –>”GT, > ” . Less or equal to –>”LE, <=, =<” . Not equal to –>”NE, <>, ><” . Greater or equal to –>”GE, >=, =>” . The various boolean operators . AND . OR . NOT . The evaluation order in BOOL combinations . The usage of brackets . Brackets . The evaluation of report examples . Using BOOL operators sparingly . Not permitted in a “IF”: arithmetic operators . Arithmetic operators ( + , -, *, /) . Single information items on the subject “value ranges” . An example with single tests: . An example “Determining value ranges with “BETWEEN”: . Single information items on the subject “initial values” . Single information items on the subject “Usage of formal parameters” (from 3.0 upwards) . An example with testing for usage of a formal parameter . Single information items related to the IF command . A small statistics from practice . Frequencies . Keywords IF and ENDIF . The instruction word “ELSE” . The instruction word “ELSEIF” . Topics with comparable importance . WHERE logExpr . SELECT . LOOP . UPDATE . DELETE . CHECK logExpr . WHILE logExpr . CASE . WHEN . Creation and order of partial expressions in IF-conditions . AND linking . OR linking . EXIT . Avoiding conversions if possible . Difference between “IF” and “CASE” . Exit from the CASE sequence . Exit from IF-instructions . In the case of “AND”, first use the subcondition probably not applying . In the case of “OR”, first use the subcondition probably applying. . Conclusion . The most frequent hits in CASE instructions . The hits in IF-commands . IF … Comparison of data fields with different types . Data conversion . Certain field contents are not converted . Conversion combinations . Additional system load for the conversion . Being aware of “IF” when declaring data fields . Numerical comparisons and N-fields . Which operands are converted? . First step: F-fields (floating point number) . Second step: P-fields (packed number) . Third step: T-field (Time), D-field (Date) . Comparison of T-fields with D-fields is not permissible . Fourth step: Comparison of N-fields with C-, X-fields . Fifth step: Comparison of C-field with X-field . According to which rules does a data type conversion occur? . The evaluation of comparable data types . Single information items concerning the comparison of fields . Conclusion: The IF-command should be understood thoroughly . The comparison of two C-fields . Comparison byte-by-byte . The comparative operator (greater, less, equal) . The comparison result . Blank . Same number of blanks (left justified) . Differing number of blanks (left justified) . Same number of blanks (right justified) . Differing number of blanks (right justified) . Comparison of “empty” fields . The field lengths of the comparison variables . Some comments for practice . C-fields are string fields in principle . Before a comparison of C-fields, one should check . Permissible character set . Rules for the field content . The comparison of two N-fields . Generally . The comparative operator (greater, less, equal) . No blanks but zeros . An example (conversion at blanks) . The field lengths of the comparison variables . Some comments for practice . N-fields do not have a leading sign . General checking of the N-field . The comparison of two I-fields . Generally . Memory representation of I-fields . Example “LITTLE ENDIAN” . Numerical content in I-fields . Value based comparison of I-fields . I-fields are signed . No blanks in I-fields . The field lengths of the comparison variables . Some comments for practice . The content of an I-field in arithmetic operations . An I-field has the value 0 . An I-field has a negative value . The comparison of two P-fields . Generally . Memory content of P-fields (= packed representation) . The hexadecimal field contents of P-fields . The sign in P-fields . Value based comparison of P-fields . No blank characters in P-fields . The field lengths of the comparison variable . Some comments for practice . The content of a P-field in arithmetic operations . A P-field has the value 0 . A P-field has a negative value . The comparison of two F-fields . Generally . Rare usage of F-fields . Value based comparison of F-fields . The field lengths of the comparison variables . Some comments for practice . Rounding errors with F-fields . The comparison of two D fields . Generally . Memory content of D-fields (= Date) . The hexadecimal field contents of D fields . Value based comparison of D-fields . Invalid data content . The field lengths of the comparison variables . Some comments for practice . Value based comparison of D-fields . Conversion within the printing routines . Plausibility checks . The comparison of two T-fields . Generally . Memory content of T-fields (= Time) . The hexadecimal field contents of T-fields . Value based comparison of T-fields . Invalid data content . The field lengths of the comparison variables . Some comments for practice . Plausibility checks . The comparison of two X-fields . Generally . Memory content of X-fields (= Hexadecimal direct) . A small “experiment” . The hexadecimal field content . X-fields are compared byte-by-byte . Valid data content . A comment for practice . The comparison of X-fields . The comparison of two field strings . All fields of the structure are checked separately . When comparing field strings (more precisely: . The comparison of two internal tables . Comparison of the number of lines . Comparison of the line contents . IF … An overview of the offered report examples . IF… The overview of the offered report examples . Report examples with logical operators . Report examples with IF structures and identical . Report examples with boolean operators . Report examples with brackets in IF structures . The conversion of data types . Report example (logical operators) . Explanation of the list output . Report examples (C-fields) . Comparison of 2 C-fields (general strings) . Report examples (N-fields) . Comparison of 2 N-fields (numerical strings) . Numerical content in N-fields . Value based comparison of N-fields . N-fields have no leading sign . No blank characters in N-fields . Report examples (I-fields) . Comparison of 2 I-fields (integers) . Note for practice . Report examples (P-fields) . Comparison of 2 P-fields (packed numbers) . Report examples (F-fields) . Comparison of 2 F-fields (floating-point . Report examples (D-fields) . Comparison of 2 D-fields (date) . Report examples (T-field) . Comparison of 2 T-fields (Time) . Time of day or specification of hours, minutes, . Report examples (X-fields) . Comparison of 2 X-fields (hexadecimal directly) . Report examples (boolean operators) . Report examples (BOOL: OR ) . Determining the total result of OR conditions . Partial tests are sufficient in the case of valid “OR” . Report examples (BOOL: OR NOT) . Determining the total result of “OR NOT” conditions . Formulating valid OR conditions at the beginning . Report examples (BOOL: AND NOT) . Determining the total result of “AND NOT” conditions . Total predication of the result test . Number of links with “AND NOT” . Formulating valid OR conditions at the beginning . Report examples concerning bracketing in IF structures . IF tests of fields with different … . Report examples (bracket expression-1) . Report examples (bracket expression-2) . The result is influenced by bracketing . The result is not changed by bracketing . Report examples for conversion in IF-commands . TIP . Report examples (N-fields) . Conversion of various data types to type N . Special tasks for the N-field . Report examples (I-fields) . Conversion of various data types to type I. . Report examples (P-fields) . Conversion of various data types to type P . Report examples (F-fields) . Conversion of various data types to type F . Report examples (D-fields) . Conversion of various data types to type D . Report examples (T-field) . Conversion of various data types to type T . Report examples (X-fields) . Conversion of various data types to type X. . INSERT … . Overview of the command “INSERT …” . . Summary of the individual INSERT-commands . Extending external tables in … . INSERT INTO etab VALUES wb . INSERT INTO (vtab) VALUES wb . INSERT etab . INSERT (vtab) . INSERT *etab . INSERT etab FROM TABLE itab . INSERT (vtab) FROM TABLE itab . Adding table entries in internal … . INSERT itab INDEX n . INSERT LINES OF itab {FROM ind1} {TO ind2} INTO itab {INDEX ind3} . INSERT itab . Assigning fields to a field group . INSERT v1 v2 vx INTO Field group . Adding new programs (ABAP, report) . INSERT REPORT name FROM itab . Extending report texts (headings, titles . INSERT TEXTPOOL name FROM itab LANGUAGE x . Extending external tables in the data . INSERT INTO etab VALUES Wb . “INSERT” comes from the SQL LANGUAGE instruction set . Mode of processing of external tables . Individual record processing . Multipart form set processing . Data declaration of the external table “etab” in the . The table work area of an external table . INSERT and the table buffers . INSERT and BYPASSING BUFFER . INSERT and COMMIT WORK . INSERT in the data base . INSERT and ROLLBACK viewed together . The different external table types . The DD02V system table shows the table names . Transparent tables . Report examples TRANS . The ZREFR table . POOL tables . Import/export tables (e.g. INDX) . Cluster tables . The database and the commands of the R/3 development . The interfaces to the data base . Processing transparent tables . Processing of POOL- and cluster tables . The “INSERT …” and the internal interface programs . Different table types, identical processing commands . Increased system load in the case of POOL-/CLUSTER . INSERT itab INDEX n . INSERT itab INDEX n (syntax) . An integer . A variable . The system field SY-TABIX . Specification of a valid line position . The table positions are changed by “INSERT” . The INDEX as an integer or a variable content . The “correct” index value . Index too large . Index too small . Index = 0 . A negative INDEX . APPEND itab and INSERT itab INDEX n complement each other . A wrong index can lead to an infinite loop … . A small example (there are many variations) . The result . Abort the task . Preventative measures . “He who works makes mistakes. Avoid mistakes” . Incorporate BREAK-POINT . Incorporate a counter . Limited loop call . Incorporate counter with BREAK-POINT . CLEAR is sometimes helpful . Possible applications in report examples . INSERT1 Report examples . Unsorted table construction as a example . Sorted creation of an internal table . Return code in the case of APPEND itab . ITAB-sorted Report examples . Fast reading using ” BINARY SEARCH, … ” . The key in an internal table . The system time as a key . Printout of an I-field . The return code . Return code = 8 . Return code = 4 . Return code = 0 . Return code = other values . The CASE statement . The report should be started several times . Reverse-report-example . Display output . Application . The situation . The error . LOOP AT itab . LOOP AT itab ; loop processing of a table; . itab; DO; WHILE; . The short description . LOOP AT itab WHERE condition . LOOP AT itab FROM n . LOOP AT itab TO n . LOOP AT itab FROM n1 TO n2 . LOOP AT itab FROM n1 TO n2 WHERE condition . No english text found . LOOP AT itab . LOOP . AT . itab . LOOP AT itab WHERE condition . WHERE condition . Specify no table prefix . LOOP AT itab FROM n(command supplement) . FROM n . LOOP AT itab FROM a1 TO a2(instruction supplement) . FROM a1 TO a2 . Combination of “FROM ” and “WHERE ” . LOOP AT itab TRANSPORTING NO FIELDS WHERE condition . LOOP AT itab, FROM,WHERE . Sequential processing of the table . Blank table . Blank table entries . Effect of blank table entries . Clearing the header line with SPACE only in external … . System field SY-TABIX . A little trap . System field SY-SUBRC . LOOP/FINAL LOOP statement example . Quitting the LOOP . DELETE in a LOOP . Report examples of possible applications . WHERE-example report . FROM-example report . FROM-TO example report . FROM-TO-WHERE example report . MOVE v1 TO v2 . Data declaration . The general functionality of the command . The syntax of the transfer command . The different addressing possibilities and the . The Syntax- and function description of “MOVE …” . The C-field in “MOVE …” (Character, character fields) . The N-field in “MOVE …” (Numeric character fields) . The I-field in “MOVE …” (Integer, whole number) . The P-field in “MOVE …” (Packed field content) . The F-field in “MOVE …” (Floating Point, floating point) . The D-field in “MOVE …” (Date, JHJJMMTT) . The T-field in “MOVE …” (Time, HHMMSS) . The X-field in “MOVE …” (Hexadedezimal field) . TO v2; MOVE v1+offs(l) TO v2+(offs)l), v2 = v1 . The short description . The assignment command as an alternative (” v2 = v1. “) . Transfering a variable content (MOVE v1 TO v2) . Transfering the literal (MOVE literal TO v2) . Taking into account the Position of the source field. . The MOVE-command . The assignment (” = “) . Only the source field can be a literal . “MOVE itab1[[ TO itab2[[” – An internal table will be copied . MOVE T1[[ TO T2[[ (Ab 3.0) . Conversions . The different command applications . “MOVE v1 TO v2.” . The addressing types . The symbolic Adressing . The relative Adressing . “MOVE v1+offset(length) TO v2” . “MOVE v1 TO v2+offset(length” . “MOVE v1+offset(length) TO v2+offset(length)” . “MOVE lit1 TO v2” . Assignment (” = “) . “v2 = v1” . “v2 = lit1” . Basic considerations for … . Data types . Addressing . Symbolic addressing . Relative Addressing . Not all data fields are suitable . Relative Adressing only with absolute values . The different field lengths of … . Which position in the source field does the … . In which position is the new field content . If the target field is larger than the source field . If the target field is smaller than the source field . Valid/invalid field contents . Format error . Logically incorrect field contents . Plausibility control . Numeric-plausibilty . Date-Plausibility . Time-plausibility . Date-difference . Time-difference . General check list for transfering with “MOVE” . Target field . Source field . Type of addressing . Start the transfer . Character type . Size of the target-/ source field . Smaller target field . Larger target field . Conversion type . Which transfers are refused? . Where are the digits after the comma? . MOVE: C fields . The transfer of C-fields to various target fields. . The presentation of field contents in C-fields . The results of the conversion routines,an . The Syntax- and Function descriptions of “MOVE …” . The Transfer of C-Fields (Individual display) . the field content of a data field type ‘C’ is tranfered . At which point does the transfer begin from the source field? . The Filling in the target field . The Conversion of unequal data types . An error situation or permitted command usage? . Invalid characters in the source field . The Truncating of the information in the target field . The Transfer of C-field to C-field . A summary of the transfer of C to C . The target field is too small . The target field is too large . A string from a C-field is transferred to a C-field … . The left justified blank character is used as a … . The blank character can also be contained within a … . A C-field contains a number … . A blank character may also be contained … . The target field is a smaller … . The target field is a larger … . The rest of the source field is truncated . The transfer of C-field to N-field . The target field is to small . The target field is to large . First left justified, then right justified . Letters are not transfered to an N-field . Blank characters in the source field are not … . Truncating the source information . The transfer of C-field to I-field . The conversion from decimal to binary . The display format of an I-field . The target field is too small . The target field is too large . The conversion of a number . An I-field can accept a number . The transfer from C-field to P-field . The target field is to small . The target field is to large . Transfering a number from a Cfield to P-field . A leading sign is also taken into account . The transfer from C-field to D-field . The target field is too small . The target field is too large . A D-field may also receive a “false” date … . How are character fields transfered to D-fields? . Deviating storage types for D-fields . Internal display . External display . The content of a C-field need not be a date . Validity control . Controlling the content of a formula . Control of logical content . Blank characters are also transfered into a D-field . Transfer of another invalid date . Numeric content is transfered without conversion . Blank characters are also included in the date . A number is not always a date . Letters are also “taken into account” during the … . A “correct” date is transfered . The transfer of C-field to T-field . The target field is too small . The target field is too large . Also a too small time entry is transfered to … . The time of a C-field consists of letters … . A time entry or the entry of a … . The transfer of C-field to X-field . Invalid characters in the source field . The target field is too small . The target field is too large . Equally large fields with different … . An alphabetic field content from a … . Left justified transfer . The internal storage type . C-field (hexadecimal) . X-field (hexadecimal) . Agreements for … . The frequency of use of … . From blank characters result zeros . If the target field of type ‘X’ is larger . Only the permitted letters … . Not permitted characters from a C-field are not … . The transfer of C-field to F-field … . The summary . From the digits you get a floating-point number . Also signs in a C-field are … . Also in a C-field a floating-point number … . Also negative mantissa and exponent are … . MOVE: N fields . MOVE … the transfer of N-fields. . The display of the field contents in the different data types. . The result of the conversion routines on the example of N-fields . The sign, the transfer order and … . The transfer of N-field to C-field . The target field is too small . The target field is too large . The target field of the C type is too small . The leading zeros are firstly transmitted to a C-field . With left justified transfer to the right C-field . The complexity is in the detail . The transfer of a N-field to another N-field . A N-field is transmitted to a N-field . The source field is larger than the target field / Test case1_025 . The source field is smaller than the target field . The transfer of an N-field to an I-field . Summary . The display form of an I-field . The target field is too small . The target field is too large . A valid N-field is transmitted to an I-field . An I-field can take up relatively to big N-fields . The transfer of a N-field to a P-field . Summary . The target field is too small . The target field is too large . With the same number of positions a P-field could have more … . The digit display in a packed … . The leading character correct display . The leading sign . The digit display in a N-field . No leading signs in a N-field . The transfer (N to P) occurs from the right to … . The transfer of an N-field to a D field (date) . Summary . The internal storage in a D field: YYYYMMDD . Transformation of the field contents by the printing routines . A normal transfer of a date . Transfer of a number to a D field . The transfer of an N-field to a T-field . Summary . The source field is too small . The source field is too large . A number is transmitted into a T-field . An invalid time is transmitted . If the source field is larger than 6 Bytes . The transfer of a N-field to an X-field . Summary . The target field is too small . The target field is too large . Conversion of a decimal number . The target field is too small . The right justified value in an X-field . The transfer of an N-field to an F-field . Summary . A floating point number results . Three digits of a N-field are not a topic for an F-field . MOVE N(003) TO F(008). . Aren’t you just happy that there are other . PERFORM upro . The syntax of the various forms of “PERFORM” . “PERFORM upro.” . “PERFORM upro USING p1 p2 ..” . “PERFORM upro TABLES intab1 ….” . “PERFORM index OF upro1 ….” . “PERFORM upro ON COMMIT.” . PERFORM upro-name (syntax) . Identical field names are not allowed . Using only internal subprograms . The specified subprograms must be available . PERFORM upro USING p1 p2 … . The names of the parameters . The order of parameter specifications in . Relative addressing of parameters . Relative addressing of parameters with “*” (from 3.0 upwards) . Relative addressing of parameters through field symbols . FORM upro USING p1 p2 … . Selection of FORM parameter processing modes . ENDFORM . PERFORM upro TABLES itab … . Addressing the table header line . Employing the supplement ” … STRUCTURE stru” . The order of the parameters has to be regarded . Restrictions (VALUE, relative address) . FORM upro TABLES itab … . FORM upro . TABLES itab . ENDFORM . PERFORM index OF upro1 … . PERFORM . index . PERFORM upro ON COMMIT . No parameter passing . PERFORM upro ON COMMIT LEVEL ifeld | n . Internal and external PERFORM . The internal perform . The external perform . The position of the subprograms in the report . The “default structure” of a report . The explanation of an error situation . The FORM command determines parameter processing . Nesting of PERFORM calls is permissible . The name of subprograms . Arbitrary names . Unique subprogram name . The name is only an address . The suitable compromise . Possible applications in report examples . The list output . Example report local-global . Scope of global fields . Scope of local fields . The modified program variables . Example report passing local . Scope of global fields . Scope of local fields . The modified program variables . Example report INDEX . General hints . Example report TABLES . Small bug . WRITE … . Some remarks about the first overview . Format specifications (to enter for the output field) . The control with direct values (whole numbers) . An output instruction: . Line feed “/” . Output position of the field “TOWN”. . Length of the print output of the field “TOWN” . The use of the variables “WRITE AT …” . Output position of the field “TOWN” . Length of the print output “TOWN” . The description of the output fields to be output . print options to be entered after the output fields) . Displaying the date format . DD/MM/YYYY . MM/DD/YYYY . DD/MM/YY . MM/DD/YY . DDMMYY . MMDDYY . The numeric editing . NO-ZERO . DECIMALS n . ROUND n . UNIT u . NO-SIGN . EXPONENT e . Influencing the position of the output field . NO-GAP . UNDER v2 . The alignment of the output field . LEFT-JUSTIFIED . RIGHT-JUSTIFIED . CENTERED . Making a mask output . USING EDIT MASK mask . USING NO EDIT MASK . CURRENCY v2 . (Enter the field description) after the output attribute . COLOR n (or COLOR OFF) . INVERSE (or INVERSE OFF) . INTENSIFIED (or INTENSIFIED OFF) . INPUT (or INPUT OFF) . HOTSPOT . Symbols, Ikons, Windows as print output . Symbol (From 3.0) . Icon (From 3.0) . Line (From 3.0) . Checkbox . WRITE format v1 print option output colour . WRITE format v1 print option output colour . Example-1: . Example-2: . Example-3: . WRITE . Format specification (/, n, (n) ) . Format details (/, n, (n) ) in whole numbers . Example . Short information . / = new print line . nnn = print position within the list line . (nnn) = Length of the output field in the list line . Format specification via variables “WRITE AT v1(v2)” . Example . Short information . / = new print line . v1 = Variable to the specification of the print . v2 = Variable to the length spec. of the output . v1 (Variable or Literal) . print options to enter after the output field . Date specification . DD/MM/YYYY . MM/DD/YYYY . DD/MM/YY . MM/DD/YY . DDMMYY . MMDDYY . numeric editing . NO-ZERO . DECIMALS n . ROUND n . NO-SIGN . EXPONENT e . Position of the output field . NO-GAP . UNDER v2 . Mask output . USING EDIT MASK mask . MINI example . USING NO EDIT MASK . CURRENCY v2 . Enter the output colour (after output field) . COLOR n (or COLOR OFF) . INVERSE (or INVERSE OFF) . INTENSIFIED (or INTENSIFIED OFF) . INPUT (or INPUT OFF) . HOTSPOT . Symbols, Ikons, Windows as print output . Symbol (from 3.0) . Icon (from 3.0) . Line (from 3.0) . Checkbox . WRITE output … . A short description . WRITE fmt v1 drOpt Colour . fmt = Format details (vor the enter Output field “v1” ) . The Control elements “/ n (n)” . Field description “v1” (symb. or relative Address) . Enter drOpt = Print options (to the Output field “v1” ) . Date formats . Number formats . Relative Position of the Output fields . Alignment of the Output fields . Mask output . colour = The attribute for presenting the output fields . Print output control from Symbols, Icons, Windows etc. . The key word “WRITE …” . Format details in front of the field name . Indirect Format control (from 3.0) . Direct Format control (still valid) . Format details before the Field names: ” /, n, (n)” . New Line = “/” . Print position entry = nnn . Variable Position entries . Print output without entering the Print position . Seperate entries to the Print position . Details of output length = “(nnn)” . Relative Adressing of the Data fields . Fixing the output length in the WRITE-command . To small a print area for an output field . Incomplete Print output from I, P, F-Fields . Cut off Field contents (C, N, D, T, X) . Print position und Print length as a Variable (from 3.0) . The Output field v1 (Variable or Literal) . Data type – Length of the print output . Additional characters within the Output fields . Data types I, P and F . Data types C, N, X . Data types D, T . Empty Output fields . Field strings und Table header strings . Field symbol . A special application possibility . Literal . The output of Report Text Elements . Direct input of text elements . Indirect (language controlled) output of . Date-/computational item print options . Date declaration . Report-Example . Date entry with break character . DD/MM/YYYY . MM/DD/YYYY . DD/MM/YY . MM/DD/YY . Date entry without break character . DDMMYY . MMDDYY . YYMMDD . Number editing . NO-ZERO . Report-Example . DECIMALS n . ROUND n . NO-SIGN . UNIT . EXPONENT e . Print option (Position change) . NO-GAP . UNDER v2 . print option (alignment of the output field) . General function . Der Field contents within the Variable . The seperate details of output length in the . The instruction supplement “WRITE … alignment” . LEFT-JUSTIFIED . RIGHT-JUSTIFIED . CENTERED . Print option (Mask output) . USING EDIT MASK mask . Available mask characters . Selection character . Control characters . Print length and field length observation by . Fixed specification of the editing character . Indirect specification of the output template . A formal example: . USING NO EDIT MASK . Print option “…CURRENCY v1” . WRITE output and examples … . PRINTING WITHOUT POSITION PARAMETERS . PRINT WITH POSITION PARAMETERS . PRINT-WITHOUT-POSITION-EMPTY ? . Character fields with SPACE as original value . Character field with “0” as the original value . I-Fields (Integer field) . P-Field (packed data format) . F-field (Floatingpoint) . D-field (DATE) . T-field (TIME) . X-field (HEXADEZIMAL) . PRINT WITH POSITION STATEMENT . PRINT POSITION SHORTER LENGTH . General editing characteristics . A C-field with a print length that is to short. . An N-field with to shorter print length. . A I-field with to short a print length. . A P-field with to short a print length. . An F-field with to short a print length. . A D-field with to short a print length. . A T-field with to short a print length . A X-field with to short a print length . PRINT WITH POSITION STATEMENT . PRINT POSITION LENGTH GREATER . A C-field with a greater print length. . An N-field with a greater print length . An I-field with greater print length. . A P-field with greater print length. . An F-field with greater print length. . A D-field with greater print length. . A T-field with greater print length . An X-field with greater print length. . The last field in the print area. . REPORT-WRITE4 . PRINT WITHOUT POSITION STATEMENT . PRINT POSITION FIELD STRINGS . PRINT WITHOUT POSITION STATEMENT . PRINT POSITION FIELD SYMBOLS . PRINT CHARACTER FIELDS . PRINT WITHOUT POSITION STATEMENT . PRINT-OUTPUT-RELATIVE . PRINT-COMPUTATIONAL-ITEM-CUT . PRINT WITHOUT POSITION STATEMENT . PRINT-DATE2. . PRINT-DATE3. . PRINT WITHOUT POSITION STATEMENT . WRITE-CUR-DEC-ROUND-1 . WRITE-CUR-DEC-ROUND-2 . PRINT WITHOUT POSITION STATEMENT . WRITE-DECIMALS-IFELD-1 . WRITE-DECIMALS-IFELD-2 . WRITE-UNIT . PRINT WITHOUT POSITION STATEMENT . PRINT WITH POSITION STATEMENT . WRITE-NO-ZERO . WRITE-NO-SIGN . WRITE-EXPONENT . PRINT WITHOUT POSITION STATEMENT . WRITE-NO-GAP . WRITE-UNDER . PRINT WITHOUT POSITION STATEMENT . WRITE-USING-EDIT-MASK . WRITE-EDIT-CONVERT . WRITE-EDIT-CONVERT-INDIREKT