The Output Specification Fields (Cont) [ HP RPG/iX Reference Manual ] MPE/iX 5.0 Documentation
HP RPG/iX Reference Manual
The Output Specification Fields (Cont)
Field Description Fields (Columns 32-70)
The field description fields describe the data fields within the records
defined by the Record Description Fields (columns 7-31).
Enter fields on separate lines, starting with the line following the
Record Description line. Leave columns 7-22 blank. You only need to
define those fields that you want to write in the program. See Figure
9-2 for an example of how to enter Field Description Fields.
You can enter indicators in the Output Indicators Field (columns 23-31)
to condition individual fields in the output record.
Field Name (Columns 32-37).
This field contains the name of the field, table, array, or array element
to be written.
--------------------------------------------------------------------------------------------
| | |
| Columns 32-37 | Description |
| | |
--------------------------------------------------------------------------------------------
| | |
| Field name previously defined in the program. (A | The name of the output field. |
| name of up to six characters, beginning with a | |
| letter or @, $, or #. The remaining characters can | |
| be letters, digits, or @, $, or #. Embedded blanks | |
| are not allowed.) | |
| | |
| Table name. (A name of up to six characters, | The name of the output table. |
| beginning with TAB. The remaining characters can be | |
| letters, digits, or @, $, or #. Embedded blanks | |
| are not allowed.) | |
| | |
| Array name. (A name of up to six characters, | The name of the output array. |
| beginning with a letter or @, $, or #. The | |
| remaining characters can be letters, digits, or @, | |
| $, or #. Embedded blanks are not allowed.) | |
| | |
| Array name, comma, and index. The array name | The name and index of the output |
| follows the rules for array names defined above. | array element. |
| The index is either a number or the name of a field | |
| (see Field name above) that contains a number. The | |
| array name/comma/ind combination is limited to six | |
| characters. | |
| | |
| EXCPT (Exception) Name. The name used in the | The name that identifies this |
| Result Field of an EXCPT Calculation Specification | exception record line. |
| operation. EXCPT Names follow the rules for Field | |
| names (see above). They cannot be the same as: an | |
| array, data structure, field, file label, | |
| subroutine, or table name. | |
| | |
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
| | |
| Columns 32-37 | Description |
| | |
--------------------------------------------------------------------------------------------
| | |
| PAGE, PAGE1-PAGE7 | A predefined field that contains |
| | the current page number for print |
| | files. |
| | |
| *PLACE | A predefined field that repeats |
| | the output fields defined |
| | previously within the record |
| | description. |
| | |
| UDATE | A predefined field that contains |
| | the current date. |
| | |
| UDAY | A predefined field that contains |
| | the current day of the month. |
| | |
| UMONTH | A predefined field that contains |
| | the current month. |
| | |
| UYEAR | A predefined field that contains |
| | the current year. |
| | |
| *ERROR | A predefined field used for |
| | run-time error codes. |
| | |
| blank | A value is entered in the |
| | Constant/Edit Word Field (columns |
| | 45-70). |
| | |
--------------------------------------------------------------------------------------------
Field Name, Table Name, Array Name, EXCPT Name
Except for update files, you must name each field that you want to write.
For update files, you do not have to name fields that are unchanged from
their input records. Do not use this field if you enter a constant in
the Constant/Edit Word Field (columns 45-70).
Be sure that the names you enter are defined in a File Description, File
Extension, or Input or Calculation Specification.
You can enter names in any order, since their positions in the output
record are determined by the End Position Field (columns 40-43). Fields
are written in the order of their specifications, so that if one field
overlaps another, the first field is partially or totally overwritten.
For signed numeric fields, the sign is written as part of the low-order
character. Unless you edit the field using the Edit Code Field (column
38), this character is a letter. For instance, -3 is printed as L and +3
is printed as C. An unsigned field that is not a result field, is printed
without a sign.
PAGE
This predefined field contains a number that is written whenever PAGE is
used. You may use PAGE, for example, to print page numbers in a report
heading. You can also use it to stamp records with a number. Normally,
PAGE is set to zero during pre-cycle processing and incremented by one
before it is used in an Output Specification.
PAGE is a four-digit field with no decimal positions. You can redefine
it so that is contains from 1-15 digits, if you wish. Do this by
entering PAGE in an Input Specification and defining it with a different
field length in the From Field Position and To Field Position Fields. In
Calculation Specifications, use an End Position value that reflects this
new size. When you redefine PAGE, do not specify decimal positions.
Whether or not you redefine PAGE, leading zeros are suppressed and no
arithmetic sign appears unless you use an edit word or edit code when
printing.
You can reset the page number to 1 by using the Blank After Field (column
39) with PAGE. You can restart the page-numbering sequence by
conditioning the PAGE specification with an indicator (when the indicator
is turned ON, PAGE is set to zero, then incremented by one before
printing). To start paging with a value other than 1, define PAGE in an
input record and ensure that the field contains the starting page number
minus 1.
PAGE1-PAGE7
These predefined fields provide up to seven additional PAGE fields (PAGE1
through PAGE7). Normally, you use only one PAGE field per file. If you
use the same PAGE field for more than one file, be sure that it will
produce the correct numbers for all of them.
*PLACE
*PLACE repeats one or more fields in a record. This lets you output the
fields one or more times but code them only once in the program. Put
*PLACE after the fields you want to repeat on output. Enter the last
position to be occupied by the repeated fields in the End Position Field
(columns 40-43). The last position must be at least twice the value of
the end position of the last repeated field. If you do not allow enough
space, some or all of the previous fields are overlaid.
When *PLACE is encountered, all of the preceding fields in the record are
written until the character position specified by the End Position Field
(columns 40-43) is reached. The fields are written starting with their
beginning positions. All characters are written in the same relative
positions.
Each time you want a field or group of fields repeated, you must enter
*PLACE in a separate specification. Two consecutive *PLACE entries
repeat the initial fields four times.
You can condition *PLACE specifications with one or more output
indicators (see the Output Indicators Field, columns 23-31).
Example
The contents of four output fields (DATA1, DATA2, DATA3, and DATA4) are
shown below (the character _ is a blank):
Field Name: Contents:
DATA1 __AAA
DATA2 __BBB
DATA3 __CCC
DATA4 __DDD
Figure 9-6 shows how to use *PLACE to produce the output shown below.
The fields, DATA1, DATA2, and DATA3 are repeated in the output record.
Since DATA4 follows *PLACE, it is not repeated.
__AAA__BBB__CCC__AAA__BBB__CCC__DDD
___________________________________________________________________________________
| |
| 1 2 3 4 5 6 7 |
| 678901234567890123456789012345678901234567890123456789012345678901234|
| _______________________________________________________ |
| |
| OPRINTR H 4 01 |
| O 60 "SPECIAL REPORT" |
| O |
| O D 1 02 |
| O DATA1 5 |
| O DATA2 10 |
| O DATA3 15 |
| 1 O *PLACE 30 |
| O DATA4 B 35 |
| |
| |
___________________________________________________________________________________
Figure 9-6. Using *PLACE
UDATE, UDAY, UMONTH, and UYEAR
These fields let you include the current date, in various formats, in the
utput record. Table 9-3 shows what each of the formats look like.
Table 9-3. Editing Date Fields
----------------------------------------------------------------------------------------------------
| | | | | |
| Field | Contents | Unedited | Edited | Description |
| Name | | Example | Example | |
| | | | | |
----------------------------------------------------------------------------------------------------
| | | | | |
| UDATE | Current date. | 101188 | 10/11/88 | October 11, 1988 |
| | | | | (Domestic Format) |
| | | | | |
| | | 111088 | 11/10/88 | October 11, 1988 |
| | | | | (United Kingdom Format) |
| | | | | |
| | | 111088 | 11.10.88 | October 11, 1988 |
| | | | | (European Format) |
| | | | | |
| UDAY | Current day of | 11 | 11 | 11th day |
| | month. | | | |
| | | | | |
| UMONTH | Current month. | 10 | 10 | October |
| | | | | |
| UYEAR | Current year. | 88 | 88 | 1988 |
| | | | | |
----------------------------------------------------------------------------------------------------
The date that UDATE produces depends on the entry in the Inverted Print
Field (column 21) of the Header Specification. You can produce the date
in European, United Kingdom, and Domestic formats. Additionally, you can
further edit the date by entering Y in the Edit Code Field. This edit
code inserts slashes or periods (see the fourth column in Table 9-3 ).
Unedited, the UDATE field is 6 characters long; edited, it is 8.
You cannot change the contents of any of these date fields. Their values
are set during pre-cycle processing and are not altered during program
execution. The date comes from the operating system unless the UDATE
Source Field (column 17) of the Header Specification contains an F. In
this case, the date comes from the RPGUDATE file.
*ERROR
When the H0 indicator is turned ON, RPG places a unique character that
corresponds to the error in the field *ERROR. (See Appendix B for the
values that are placed in *ERROR for various run-time errors.) *ERROR is
predefined as a 1-character alphanumeric field.
When an error does not terminate the program, you can interrogate *ERROR
to determine the cause for the error. If you want to use *ERROR as a
normal data field, enter it in the Field Name Field of an Input
Specification defining it as a 1-character field. You can use *ERROR in
the Factor 1, Factor 2, and Result Fields of a Calculation Specification.
When you use *ERROR with the RLABL Calculation Specification operation,
the name passed to the subroutine is ERROR, not *ERROR (you must use
ERROR when referencing it).
Edit Code (Column 38).
The edit code field lets you edit numeric output fields. You can
suppress leading zeros and arithmetic signs and you can insert
characters.
---------------------------------------------------------------------------------------------
| | |
| Column 38 | Description |
| | |
---------------------------------------------------------------------------------------------
| | |
| 1 | Insert commas and do not zero suppress. |
| | |
| 2 | Insert commas and zero suppress. |
| | |
| 3 | Do not insert commas or zero suppress. |
| | |
| 4 | Zero suppress and do not insert commas. |
| | |
| A | Insert commas and do not zero suppress. For negative fields, append |
| | the CR (credit) sign. |
| | |
| B | Insert commas and zero suppress. For negative fields, append the CR |
| | (credit) sign. |
| | |
| C | Do not insert commas or zero suppress. For negative fields, append |
| | the CR (credit) sign. |
| | |
| D | Zero suppress and do not insert commas. For negative fields, append |
| | the CR (credit) sign. |
| | |
| J | Insert commas and do not zero suppress. For negative fields, append |
| | the - (negative) sign. |
| | |
| K | Insert commas and zero suppress. For negative fields, append the - |
| | (negative) sign. |
| | |
| L | Do not insert commas or zero suppress. For negative fields, append |
| | the - (negative) sign. |
| | |
| M | Zero suppress and do not insert commas. For negative fields, append |
| | a - (negative) sign. |
| | |
| X | Remove the plus sign from the units position of the field; do not |
| | remove a minus sign or suppress leading zeros; do not print decimal |
| | points. If the Sign Processing Field (column 40) of the Header |
| | Specification is blank or contains an S, the plus sign is suppressed. |
| | |
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
| | |
| Column 38 | Description |
| | |
---------------------------------------------------------------------------------------------
| | |
| Y | Insert slashes or periods into numeric fields (normally used for date |
| | fields). |
| | |
| | Slash marks can be used with fields having three to six digits as |
| | follows: |
| | |
| | Field length: Edited output: |
| | |
| | 3 nn/n |
| | 4 nn/nn |
| | 5 nn/nn/n |
| | 6 nn/nn/nn |
| | |
| | If the first digit is zero, it is suppressed. If the Inverted Print |
| | Field (column 21) of the Header Specification contains an I or J, a |
| | period is inserted instead of a slash. |
| | |
| Z | Suppress leading zeros and do not print a decimal point (if |
| | specified). Remove the arithmetic sign in the units position. |
| | |
| blank | No edit code applies. |
| | |
---------------------------------------------------------------------------------------------
1-4, A-M
These edit codes insert characters, such as a comma and the CR (credit)
sign, into numeric fields. For example, if you enter the edit code A and
the field is negative, a CR (for credit) is appended to it. If you enter
the edit code J, a minus sign is appended.
All of the edit codes suppress leading zeros (zeros to the left of the
decimal point, preceding non-zero digits) unless you enter a J in the
Inverted Print Field (column 21) of the Header Specification. J
specifies that the edited result is in European Format; zero suppression
stops with the units position of the number. For example, the number .04
is shown as 0,04 and a zero is shown as 0,00 (the comma is the decimal
position).
If the edit code specifies zero suppression and the field contains
decimals and is not zero, the decimal point is printed. If the field is
zero, it is suppressed to blanks.
If the edit code does not specify zero suppression and the field contains
decimals and is equal to zero, the decimal point is printed followed by
the same number of zeros as there are decimal places. If there are no
decimal places, a zero is printed in the units position of the field.
Make sure that you include character positions for the inserted
characters when entering a value in the End Position Field (columns
43-43). If the field is not large enough, it will overlap another field.
You can use a floating dollar sign ($) or asterisk (*) in conjunction
with these edit codes. Include the $ in an edit word (see the
Constant/Edit Word Field, columns 45-70) to print the $ immediately to
the left of the most significant digit. If you're suppressing zeros and
the field is zero, the $ does not print. Include the * (check protection
character) in an edit word to print the * in all zero suppressed
positions to the left of the decimal point. If the number is zero,
asterisks fill the entire field.
When you use an edit code to print an entire array, elements in the array
are separated by two blanks.
Examples
Table 9-4 gives examples of various numbers and the effects that the
edit codes have on them. The character _ represents a blank. The right
brace (}) is a zero with a negative sign.
Table 9-4. Effects of the Edit Codes
---------------------------------------------------------------------------------------------------------
| | | | | | | |
| Edit | Positive | Positve | Negative | Negative | Zero | Zero |
| Code | Number, | Number, | Number, | Number, | Balance, | Balance |
| | Two | No | Three | No | Two | No |
| | Decimal | Decimal | Decimal | Decimal | Deciaml | Decimal |
| | Positions | Positions | Positions | Positions | Positions | Positions |
| | | | | | | |
---------------------------------------------------------------------------------------------------------
| | | | | | | |
| | 1234567 | 1234567 | 00012} | 00012} | 000000 | 000000 |
| | | | | | | |
| 1 | 12,345.67 | 1,234,567 | .120 | 120 | .00 | 0 |
| | | | | | | |
| 2 | 12,345.67 | 1,234,567 | .120 | 120 | | |
| | | | | | | |
| 3 | 12345.67 | 1234567 | .120 | 120 | .00 | 0 |
| | | | | | | |
| 4 | 12345.67 | 1234567 | .120 | 120 | | |
| | | | | | | |
| A | 12,345.67__ | 1,234,567__ | .120CR | 120CR | .00__ | 0__ |
| | | | | | | |
| B | 12,345.67__ | 1,234,567__ | .120CR | 120CR | | |
| | | | | | | |
| C | 12345.67__ | 1234567__ | .120CR | 120CR | .00__ | 0__ |
| | | | | | | |
| D | 12345.67__ | 1,234,567__ | .120CR | 120CR | | |
| | | | | | | |
| J | 12,345.67_ | 1,234,567_ | .120- | 120- | .00_ | 0_ |
| | | | | | | |
| K | 12,345.67_ | 1,234,567_ | .120- | 120- | | |
| | | | | | | |
| L | 12345.67_ | 1234567_ | .120- | 120- | .00_ | 0_ |
| | | | | | | |
| M | 12345.67_ | 1234567_ | .120- | 120- | | |
| | | | | | | |
| X | 1234567 | 1234567 | 00012} | 00012} | 000000 | 000000 |
| | | | | | | |
| Z | 1234567 | 1234567 | 120 | 120 | | |
| | | | | | | |
---------------------------------------------------------------------------------------------------------
The lines below illustrate how the Y edit code works. Assuming that the
number to be edited is 120188, the results for 3, 4, 5, and 6-character
Result Fields are:
12/0, 12/01, 12/01/8, 12/01/88
Blank After (Column 39).
The blank after field resets the contents of a field to blanks or zeros
after it is written.
--------------------------------------------------------------------------------------
| | |
| Column 39 | Description |
| | |
--------------------------------------------------------------------------------------
| | |
| B | Reset the contents of the field after output. Reset numeric |
| | fields to zero and alphanumeric fields to blanks. |
| | |
| blank | Do not reset the contents of the field after output. |
| | |
--------------------------------------------------------------------------------------
This field is often used to clear control totals when control breaks
occur. Subtotals can be cleared after being rolled forward to the next
control level total field. For example, if B is assigned to a field that
is conditioned by control-level indicator L2, it is cleared after being
printed for a level 2 control break.
Do not use B with constants, look-ahead fields or the date fields UDATE,
UDAY, UMONTH, or UYEAR.
If there is an input field with the same name as you enter in this
specification, it is cleared also. If you use the same field name more
than once in the Output Specifications, enter B only on the last one.
Otherwise, the field is reset before all the output is written.
If you enter B for a table, only the entry found in the last LOKUP
operation is reset. If no LOKUP has been performed, the first entry is
reset.
If you enter a B into this field and the Indicator Setting Field (column
42) of the Header Specification is blank or S and you enter an indicator
in the Output Indicators Field (columns 23-31), the indicator is turned
ON after the field is cleared to zeros or blanks.
End Position (Columns 40-43).
The end position field specifies the last position of the output field.
If this specification follows the record description specification for an
RSI WORKSTN file, this field may specify the length of the RSI form name.
-------------------------------------------------------------------------------------
| | |
| Columns 40-43 | Description |
| | |
-------------------------------------------------------------------------------------
| | |
| 1-9999 | The rightmost character position of the output field. |
| (right-justified, leading | |
| zeros are not required) | |
| | |
| blank | The compiler calculates the end position of the |
| | output field. (This is called the relative end |
| | position.) |
| | |
| +- 1-999 | Add or subtract this number from the computed end |
| | position (relative end position) of the output field. |
| | |
| K and RSI form name | The specification contains the name of an RSI WORKSTN |
| length | form. Enter K in columns 40, 41, or 42. Enter the |
| | length (1-8) of the RSI form name in column 43. |
| | |
-------------------------------------------------------------------------------------
1-9999
To explicitly enter the end position yourself, enter a number. The
number is the low-order (rightmost) character position of the field. For
print fields, do not enter an end position that exceeds the printer line
length. For disk files, do not enter an end position that exceeds the
number of characters in the record. A field's length is calculated by
subtracting the previous field's end position from the value entered in
this field. (The first field in a record begins in position one). If
the field is edited, be careful to include enough space for insertion
characters as well as digits.
When entering the end position for *PLACE, use a number that is at least
double the end position of the last field that is repeated. If you do
not, data is lost due to field overlap.
The Packed/Binary Field (column 44) determines how numeric fields are
written. To provide enough space for an output field, follow these
guidelines:
If the format of the field that The output field size should be:
you're writing is:
Alphanumeric. The same as the number of characters in the field.
Unpacked (ASCII) decimal without a The same as the number of digits in the field.
leading or trailing sign.
Unpacked (ASCII) decimal with a One byte longer than the number of digits in the
leading or trailing sign. field. For example, for an 8-digit number, use a
field length of 9.
Packed decimal. One-half the number of digits in the field plus 1.
Binary. The number of digits in the field divided by 2.5.
For example, a 5-digit number requires 2 positions
and a 10 digit number requires 4 positions.
Example
Figure 9-7 shows how to enter end positions for fields in two output
records. The fields in both records are the same. The spacing between
them is different. The fields in the disk record (DISCREC) are adjacent
to each other while the fields in the print record (REPORT) are separated
by intervening spaces.
___________________________________________________________________________________
| |
| 1 2 3 4 5 6 7 |
| 678901234567890123456789012345678901234567890123456789012345678901234|
| _______________________________________________________ |
| |
| ODISCREC D 01 |
| O QTY 5 |
| O PROD 13 |
| O DESC 38 |
| O COST 41P |
| OREPORT D 01 |
| O QTY 1 6 |
| O PROD 18 |
| O DESC 47 |
| O COST J 58 |
| O 63 "***" |
| |
| |
___________________________________________________________________________________
Figure 9-7. Entering End Positions
Blank
The end position of the field is calculated by the compiler. It is
calculated by adding this field's edited length to the previous field's
end position. If the end position is blank, the compiler calculates it.
(The first character of each output record is assumed to be 1.)
You can use the RSPACE option of the $CONTROL compiler subsystem command
to provide fixed spacing between fields.
+- 1-999
When you enter a plus or minus sign followed by a number, you're
specifying the number of spaces between this field and the previous one.
A plus sign adds spaces between fields and a minus sign causes the fields
to overlap. For example, -__3 causes the field to overlap the previous
field by three characters; +002 leaves two spaces between the fields.
This option overrides the RSPACE option of the $CONTROL compiler
subsystem command for this field.
Example
Figure 9-8 shows how to use relative end positions with $CONTROL.
This example produces the same result as the Output Specifications shown
in Figure 9-7 .
___________________________________________________________________________________
| |
| 1 2 3 4 5 6 7 |
| 678901234567890123456789012345678901234567890123456789012345678901234|
| _______________________________________________________ |
| |
| ODISCREC D 01 |
| O QTY |
| O PROD |
| O DESC |
| O COST P |
| $CONTROL RSPACE=4 |
| OREPORT D 01 |
| O QTY 1 |
| O PROD |
| O DESC |
| O COST J |
| O + 2 "***" |
| |
| |
___________________________________________________________________________________
Figure 9-8. Using Relative End Positions with $CONTROL
Figure 9-9 shows what the compiled Output Specifications for Figure
9-8 look like. The compiler prints the end positions as if you
entered them. An R at the end of each line indicates that the End
Position Field is a relative end position; that is, it is calculated by
the compiler. The +002 at the end of the last line indicates that there
are two spaces between the field COST and the last Output Specification
field.
____________________________________________________________________________
| |
| |
| ODISCREC D 01 |
| O QTY 5 R |
| O PROD 13 R |
| O DESC 38 R |
| O COST 41P R |
| $CONTROL RSPACE=4 |
| OREPORT D 01 |
| O QTY 1 6 R |
| O PROD 18 R |
| O DESC 47 R |
| O COST J 58 R |
| O 63 "***" +002|
____________________________________________________________________________
Figure 9-9. How Relative End Positions Appear in a Compiler Listing
K and RSI Form Name Length
Enter a K in columns 40, 41, or 42 to indicate that this specification
names an RSI WORKSTN file. Enter the number of characters (1-8) in the
RSI form file name in column 43.
Enter the actual form name as a constant in the Constant/Edit Word Field
(columns 45-70) or enter a field in the Field Name Field (columns 32-37)
that holds it.
Example
In Figure 9-10 , the form, FM01, is displayed when indicator 61 is ON.
When indicator 62 is ON, the form contained in the field FORM is
displayed.
___________________________________________________________________________________
| |
| 1 2 3 4 5 6 7 |
| 678901234567890123456789012345678901234567890123456789012345678901234|
| _______________________________________________________ |
| |
| OSCREEN E 61 |
| O K4 "FM01" |
| O DATE Y 8 |
| O FLD1 14 |
| O FLD2 20 |
| O E 62 |
| O FORM K8 |
| O DATE Y 8 |
| O FLD3 16 |
| O FLD4 24 |
| |
___________________________________________________________________________________
Figure 9-10. Entering an RSI Form Name
Packed/Binary (Column 44).
The packed/binary field specifies the format in which numeric fields are
written. Do not use this field for fields that you're going to edit.
--------------------------------------------------------------------------------------
| | |
| Column 44 | Description |
| | |
--------------------------------------------------------------------------------------
| | |
| 2 | Write the field in binary format, two bytes long. |
| | |
| 4 | Write the field in binary format, four bytes long.[REV BEG] |
| | |
| 8 | Write the field in binary format, eight bytes long. |
| | |
| B | Write the field in binary format. A field of one to five |
| | digits is written as two bytes, a field of six to ten digits |
| | is written as four bytes, and a field of eleven to fifteen |
| | digits is written as eight bytes.[REV END] |
| | |
| L | Write the field in unpacked format with an arithmetic sign |
| | (plus or minus) preceding the field. |
| | |
| P | Write the field in packed decimal format. |
| | |
| R | Write the field in unpacked format with an arithmetic sign |
| | following the field. |
| | |
| blank | This is an unpacked numeric or alphanumeric field, a numeric |
| | field containing data to be edited or a constant. |
| | |
--------------------------------------------------------------------------------------
[REV BEG]
2, 4, 8
A 2-byte binary field can hold a number up to 215, a 4-byte binary field
can hold a number up to 231, and an 8-byte binary field can hold a number
up to 249.8. The compiler warning 7057W is issued when a 5-digit number
is written to a 2-byte binary field, or when a 10-digit number is written
to a 4-byte binary field.[REV END]
L, R
Enter an L or R for a field when you want the sign to precede or follow
the number. (Normally, the sign appears in the low-order position.) Be
sure to allow room for the sign when you enter the End Position Field
(columns 40-43).
MPE/iX 5.0 Documentation