It's not very clearly defined, but the idea is that the number should be left-justified, and if it is zero, the zero digit should be displayed. You mention that you saw this in a report, presumably as part of a PRINT statement. You could easily explore what it does with the DISPLAY statement (outside a report):
MAIN
DEFINE i INTEGER
FOR i = -10 TO 1000 STEP 5
DISPLAY "==", i USING "<<<&", "==" # Optionally drop the "==" strings
END FOR
END MAIN
You could experiment with alternative formats to see what the differences are, such as:
"<<<<"
"-<<<"
"-<<&"
"####"
"###&"
"---&"
"-##&"
"-&&&"
"-###"
- etc.
You could try them all at once with a single DISPLAY statement, or compile the program repeatedly, or pass the format string to a function which does the display work, or …
If you must do it with a report, then you can write a simple report and test it:
MAIN
DEFINE i INTEGER
START REPORT test_formats
FOR i = -10 TO 1000 STEP 5
OUTPUT TO REPORT test_formats(i)
END FOR
FINISH REPORT test_formats
END MAIN
REPORT test_formats(i)
DEFINE i INTEGER
OUTPUT
TOP MARGIN 0
BOTTOM MARGIN 0
LEFT MARGIN 0
PAGE LENGTH 1
ON EVERY ROW
PRINT COLUMN 1, "==", i USING "<<<&", "==",
COLUMN 11, "==", i USING "-<<<", "==",
COLUMN 21, "==", i USING "-<<&", "==",
COLUMN 31, "==", i USING "####", "==",
COLUMN 41, "==", i USING "###&", "==",
COLUMN 51, "==", i USING "---&", "==",
COLUMN 61, "==", i USING "-##&", "==",
COLUMN 71, "==", i USING "-###", "=="
END REPORT
Warning: No I4GL compiler was consulted about the validity of any of the code shown!