positiveSignIndicator

The positiveSignIndicator build descriptor option is used only in iSeries® environments to improve performance.
When you generate a COBOL program for iSeries, the positiveSignIndicator build descriptor option specifies the character that the iSeries-based ILE COBOL compiler uses as the positive sign for zoned and packed decimal data. The following types of numeric data are affected: A potential problem is that the COBOL compiler uses the specified positive-sign character for all these data types. In contrast, EGL by default uses a mixture of characters, as follows:

If the COBOL compiler sets all the positive-sign characters to C, EGL typically changes all the NUM and PACF variables to F at run time. Similarly, if the compiler sets all the characters to F (the default), EGL changes all the NUMC, DECIMAL, and MONEY variables to C.

Therefore, the typical purpose of specifying the positiveSignIndicator build descriptor option is to increase performance. If your code includes more occurrences of NUMC, DECIMAL, and MONEY variables (as compared to NUM and PACF variables), you can improve performance by setting positiveSignIndicator to C. In this case, EGL will generate less code because it will have fewer variables to change at run time.

Two additional values are available to override the default EGL behavior. Setting positiveSignIndicator to F-ALL keeps EGL from changing all the NUMC, DECIMAL, and MONEY variables to C. Likewise, C-ALL keeps EGL from changing NUM and PACF variables to F.

If your code is exclusively NUM and PACF variables, or you want all variables to have an F positive sign, a significant performance benefit can be obtained by selecting F-ALL. This prevents the generation of any of the EGL runtime calls to change the sign. Similarily, if your code is exclusively NUMC, DECIMAL and MONEY variables, or you want all variables to have an C positive sign, a significant performance benefit can be obtained by selecting C-ALL.

Values

F (the default value)
This specifies that the COBOL compiler should preset all DECIMAL, MONEY, NUM, NUMC, and PACF variables to use "F" as the positive sign character. EGL changes the sign for NUMC, DECIMAL, and MONEY variables to C at run time.
C
This specifies that the COBOL compiler should preset all DECIMAL, MONEY, NUM, NUMC, and PACF variables to use "C" as the positive sign character. EGL changes the sign for NUM and PACF variables to F at run time.
F-ALL
This specifies that the COBOL compiler should preset all DECIMAL, MONEY, NUM, NUMC, and PACF variables to use "F" as the positive sign character. EGL does not change any positive signs to C at run time.
C-ALL
This specifies that the COBOL compiler should preset all DECIMAL, MONEY, NUM, NUMC, and PACF variables to use "C" as the positive sign character. EGL does not change any positive signs to F at run time.

Feedback