Below is an overview of the compilation options and parameters that have an influence on how the completed source code is checked by the compiler and how it is generated into Natural internal object code that can be interpreted and executed by the Natural runtime system.
Compilation options can be specified at the following levels:
in the Natural parameter module by specifying the
by specifying the profile parameters
by specifying
one or multiple OPTIONS statements 
                           
SET
                                    						GLOBALS statement (only session parameters
                              						LS,
                              						PS,
                              						ZP)
                           
The settings of the following profile or session parameters are considered during compilation and may give rise to an error message in case the source code contains different settings:
| Parameter Name | Short Description | Comment | 
|---|---|---|
 CFICU 
                         |  
                        					 
                        Unicode and Code Page Support | Output of Unicode constants in I/O
                           						statements (for example, WRITE U'ABC') is allowed only when
                           						CFICU=ON.
                         |  
                        				  
                     
CP |  
                        					 
                        Default Code Page Name | Specifies the code page of the source. | 
 DC 
                         |  
                        					 
                        Character for Decimal Point Notation | Character used for separating integer/precision digits when defining fields of format N or P and constants. | 
 FS 
                         |  
                        					 
                        Format Specification | Allows or disallows the use of variables that were not defined before. | 
 ID 
                         |  
                        					 
                        Input Delimiter Character | For example, to delimit values in an
                           						INIT clause.
                         |  
                        				  
                     
 LS 
                         |  
                        					 
                        Line Size | Specifies the default size for a print
                           						line in a report (0 - 31). The setting can be overwritten by specifying an
                           						explicit FORMAT
                           						statement in the source code.
                         |  
                        				  
                     
 PS 
                         |  
                        					 
                        Page Size | Maximum number of lines that may be
                           						output by a single I/O statement (for example,
                           						WRITE).
                           						Non-compliance with the basic setting will cause an error. The setting can be
                           						overwritten by specifying an explicit FORMAT statement in the source
                           						code.
                         |  
                        				  
                     
 SF 
                         |  
                        					 
                        Spacing Factor | Number of spaces to be inserted between
                           						field settings of columns on Natural reports created using a
                           						DISPLAY statement.
                           						The setting can be overwritten by specifying an explicit
                           						FORMAT statement in
                           						the source code.
                         |  
                        				  
                     
SOSI |  
                        					 
                        Shift-Out/Shift-In Codes for Double-Byte Character Set | Specifies the shift characters to identify a double-byte character set (DBCS) string. | 
 ZP 
                         |  
                        					 
                        Zero Printing | Output of blanks or zeros for a numerical
                           						constant which contains a value of all zeros. The setting can be overwritten by
                           						specifying an explicit FORMAT statement in the source
                           						code.
                         |