An ABAP program follows the following structure.
- Header
- Global Declarations
- Processing Block
- Subroutine definitions

Header Area

It follows a standard template and includes information about the development and important comments.
Global Declaration

In the Global declaration section, we define types, and data objects which are global and can be accessed from anywhere in the program.
Processing Block

Processing Block is to implement the Business logic.
Subroutine Definitions

Subroutines are reusable components and effective in modularization of ABAP programs. No executable statements can be accessed after the definition of subroutines.