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:
- DECIMAL
- MONEY
- NUM
- NUMC
- PACF
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:
- NUM and PACF default to F.
- NUMC, DECIMAL, and MONEY default to C.
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.