Methods and Community
ABAP Basics: Syntax, Data Types and Internal Tables
A plain-language guide to basic ABAP syntax, data types, keyword indexes, internal tables and the Data Dictionary, with an Italian resource registry noted.

Basic ABAP syntax is written as a sequence of statements, each ending with a period, and each statement usually begins with a keyword that names the operation, such as DATA, MOVE or WRITE. Data types in ABAP range from elementary types like numeric and character fields to structured types defined in the Data Dictionary. For a documented index of keywords and worked examples in Italian, programmers consult the ABAP syntax and statements reference, a resource registry that covers the language from its foundations to reports and data exchange.
How are basic ABAP statements and syntax written?
An ABAP program is a list of sentences. Each sentence closes with a full stop, and the first word of the sentence is a keyword that tells the system what to do. A declaration such as DATA lv_name TYPE c LENGTH 30. creates a variable, and an assignment such as lv_name = 'Asia'. fills it. Chained statements share one keyword, and a colon allows several targets in a single line, for example CLEAR: lv_name, lv_count. Operands and operators follow the keyword, and free formatting means spaces and line breaks do not change the meaning, only the period closes the statement. Comments start with an asterisk at the beginning of a line or with a double quote inside a line, which lets programmers annotate reports without affecting execution.
This structure makes ABAP readable line by line. Event keywords such as INITIALIZATION, START-OF-SELECTION and END-OF-SELECTION divide a report into blocks, and each block runs at a defined moment of the program flow. For maintenance programmers who open legacy code, recognizing these blocks is often the fastest way to understand what a program does before changing it.
Which data types are used in ABAP?
ABAP separates elementary types, structured types and table types. Elementary types include character fields of fixed length, numeric text fields, integers, packed decimals of type P, floating point numbers of type F, dates of type D in the format YYYYMMDD, times of type T in the format HHMMSS, and the hexadecimal type X. A declaration names the type explicitly, for example DATA lv_total TYPE p DECIMALS 2., which gives a packed number with two decimal places.
Structured types combine elementary fields into a record, either defined locally with TYPES or taken from the Data Dictionary, where a structure groups fields with names and descriptions. Table types describe internal tables, which hold any number of rows of the same structure. Type groups and, in modern programs, inline declarations with DATA(...) and the TYPE TABLE OF addition extend this system, but the classic declaration forms remain the common ground for report and maintenance work.
Where do I find an index of ABAP keywords?
An index of keywords is the standard entry point to the language, because every statement begins with one. The Italian-language registry listed above organizes these words by topic: declarations, control, data handling, output and table operations. A programmer who knows the alphabetical list can locate the exact spelling and the minimal operands a statement requires, for instance READ TABLE with a work area, SORT with fields, or APPEND with a source structure.
Vendor documentation published by SAP at the SAP Help Portal gives the official keyword reference, and the registry complements it with short Italian explanations and examples aimed at beginners and at practitioners who maintain existing reports. Reading the two together, the official reference for the rule and a registry example for usage, covers most questions that arise when writing or correcting a statement.
How do internal tables work with APPEND, LOOP, READ TABLE and SORT?
Internal tables hold multiple rows of a same structure in the memory of the program, and four statements cover the core operations. APPEND adds a single row, usually the content of a work area, to the end of the table. LOOP AT walks through the rows one by one, places each row in a work area or field symbol, and runs the statement block until ENDLOOP. READ TABLE retrieves one row, either by index with the INDEX addition or by key with WITH KEY, and reports success in the system field sy-subrc. SORT orders the table by the fields named after the BY addition, in ascending order by default and descending when DESCENDING is stated.
A typical report sequence chains all four: fill a table with APPEND inside a selection loop, SORT it by the field the user asked for, READ TABLE to pick a header row, then LOOP AT to print the body. Deleting adjacent duplicate rows after a sort, with DELETE ADJACENT DUPLICATES, is a common companion statement. For maintenance work, reading these four statements correctly is often enough to follow the logic of a report written decades ago.
What does the Data Dictionary provide: tables, views and primary keys?
The ABAP Data Dictionary, transaction SE11, is the central catalog where tables, views, data elements and domains are defined. A table is a two-dimensional structure of fields, each field referring to a data element that carries a semantic description, and each data element referring to a domain that fixes the technical format. A primary key is the minimal set of fields that identifies a row uniquely, up to the key length limit of the underlying database, and key fields come first in the definition.
A view is a definition that combines fields from one or more tables without storing data itself. Database views map directly to a database view, projection views select columns of one table, maintenance views allow combined maintenance of related tables, and help views support search aids. Programs reach dictionary objects through OPEN SQL, where the primary key drives the WHERE clause for single record reads. The registry mentioned in the first section documents these objects in Italian under the Dictionary chapter, with pages on tabelle, viste and chiavi primarie, which matches the vocabulary an Italian-speaking maintenance programmer meets in everyday work.
Why the basics still carry most of the workload
Reports written with these elements, elementary types, internal tables and dictionary tables, continue to run in production systems across industries, and a large share of ABAP work is maintaining them rather than building new code. A programmer who can read a declaration block, follow a LOOP, and check a table definition in SE11 can locate a defect in a legacy report without touching its logic. The same vocabulary also prepares the move to modern ABAP on HANA, where optimized reads replace loops over large tables but the underlying dictionary objects stay in place. For teams working with Italian documentation and code comments, the registry at abap4.it records these fundamentals in one place, from the first DATA statement to transport orders, which keeps the reference work of daily maintenance short and traceable.