Any program written in the ABAP programming language. Generally, there are two kinds of ABAP programs: Dialog programs: These are the actual R/3 programs (Basis system and applications). Dialog programs are transactions which conduct a dialog with the user across one or more screens. Depending on what the user enters, the dialog program reacts by presenting the next screen, displaying list output, modifying database tables, etc. Report programs (ABAP reports): Report programs read and evaluate data in database tables. When you execute a report program, the output can either be displayed on the screen or sent to a printer.