It is well documented that an ABAP program is more than just a piece of source code. Let's wrap up some facts.
In most programming languages, a program is merely a text written in a programming language that is compiled and linked into an executable file or that can be directly interpreted. In ABAP, a program consists of a text plus program attributes. You must maintain the program attributes, when you create a program or you can look up the program attributes for any existing program by choosing Goto--Attributes in the ABAP Editor.Program Attributes
There are a lot of program attributes that are relevant for the program development. For example the program's Title that can be translated into another language, the program's Original language that steers the translation process for program texts, the Package of a program that steers its transportation and visibility, and so on.
But there are also program attributes that influence the execution of a program in the ABAP runtime environment. Those attributes affect the compiler, the semantics of ABAP statements, and the allowed contents of a program. Such important program attributes are:Type
Each program has a program type. The program type defines, which building block a program might contain, how it can be executed, and if it supports screens.Fixed point arithmetic
This attribute defines, whether for numerical data objects of data type p (packed numbers) is the decimal point is relevant in calculations or assignments or if it is omitted. Normally, this attribute is always switched on and you might ask, why it can be switched off at all. Well, in very ancient times packed numbers had no real decimal point. It was taken into account only for presentation purposes. In order to stay downward compatible, for the introduction of fixed point arithmetic this switch was needed. In fact there are still programs that switch fixed point arithmetic off ¨C for example financial programs that calculate on the basis of cents instead of dollars.Unicode checks active
This attribute defines, whether the stricter syntax and semantics rules that are needed in Unicode systems are applied to a program. In Unicode systems it is mandatory to switch it on. In non Unicode systems it is highly recommended to do so. Unicode programs are better programs. Many dangerous and error prone programming styles are not possible any more - for example, structures that contain numerical components are not treaded as one large character field any more but its fragment view is taken into account.
Horst Keller is a developer in the department 'NetWeaver Development Tools ABAP' of SAP.
Click here to read ABAP Geek 2 -- ABAP program types
This weblog originally appeared in the SAP Developer Network. To view original weblog click here.The SAP Developer Network is the central hub for the SAP technology community and is SAP's new collaborative community portal for developers, administrators and consultants. Registration to the SDN community at http://sdn.sap.com is free.