How can I display the minus sign on the left of a number with VISION:Report?
VISION:Report does not have an edit pattern to insert a sign byte preceding the first significant digit of an edited field.
However, this can be accomplished by using an edit pattern that generates the sign byte following the last digit of the edited output and logic in the sample code below:
EQU FILLER WST
EQU FLDA (2)-B X'FEDC' /* -292 in binary
MOVE FLDA TO PRT20 C /* convert to edited format
PRINT
IF PRT26 = C'-' /* negative number ?
MOVE BLANK TO PRT26 /* remove trailing negative sign
IF PRT19-25 INCLUDES BLANK REVERSE /* scan for a leading blank
MOVE C'-' TO PTR1 /* insert leading negative sign
ENDIF
ENDIF
PRINT
9999 END
The sample code generates an edited number in PRT20-26 using edit mask "C" (C'bbb292-').
If a minus sign is present in the last byte of the output, PRT26, it is blanked out.
Then the output field and a preceding blank in front of the output field are scanned from right to left for the first blank byte (C'bbbb292-').
The sign byte is inserted their, yielding the desired format of C'bbb-292b'.