SAP ABAP is not a module of SAP but it is programming language which was initially used to develop platform for SAP R/2 and now it is used as a report generating tool. It is easy to be used by programmers but not by non programmers. Good programming skills and knowledge of relational database and object oriented programming allows customers to develop enhanced SAP applications, reports and new interfaces with SAP. It's latest platform Netweaver supports ABAP and Java.
SAP ABAP has three layers GUI or graphic user interface (presentation layer), application layer where ABAP programs run and database layer where all the data is stored, indexed and retrieved according to the requirement of the program written by the programmer. The key component of ABAP is its database interface which can turn open SQL commands into native SQL commands which means that programmers are allowed to write commands in database independent syntax which are turned in proper commands understood by the used database by database interface, this makes programming and data retrieval easy and smooth. SAP ABAP programs reside in database and need not to have separate external files.
SAP basis contains ABAP language environment as its component, code generation, syntax checking and runtime system are components of SAP basis. This provides technological platform for all SAP applications to run including transactions developed and incorporated in SAP ABAP module. The online access to ABAP web based servers can be done only via SAPGUI which is a proprietary graphical interface of SAP.
ABAP has seven different types of programs. Report programs, online programs, subroutine pools, functional pools, type pools, class pools and interface pools. All of these programs are utilized in SAP ABAP module to provide enhanced features to the user. The SAP terminology uses word transaction for execution of any program, there are different types of transactions that ABAP module provides with their own functionality. These transactions can be accessed through either user defined, system defined or role based menus but assigning transaction codes is the easiest and convenient way of executing them. The transaction codes can be a string of up to 20 characters entered in the command screen present in every SAP screen.
Dialog transactions are set of commands called as dynpro in SAP ABAP terminology which means dynamic program and basically online programs of ABAP. The dynpro are combination of online program screens and their flow logic which is called through transaction codes assigned in SAP to carry out or call a particular screen. Many transaction codes can be assigned to one dynpro in SAP.
Report transactions are executed for reporting purposes in SAP ABAP module which calls upon report programs of ABAP. These ABAP programs run with a set of parameters and return the output in the form of list. These lists are interactive and further processing can de invoked or more detailed view can be seen by clicking on the grids of the list.
Object oriented transactions are latest in ABAP module, these are linked with a method of local or global class.