Application Delivery Management
Application Modernization & Connectivity
CyberRes
IT Operations Management
The print file is opened to do some write statements to print part of the report then use this code to get the write-cursor's current position:
INITIALIZE WPRTDATA-DRAW.
MOVE WPRTUNITS-PIXELS TO WPRTDATA-DRAW-UNITS.
MOVE 1 TO WPRTDATA-DRAW-SHAPE.
CALL "WIN$PRINTER" USING
WINPRINT-SET -CURSOR,
WINPRINT-DAT A
GIVING CALL-RESULT.
The documentation says a non-zero value (in this case a 1) in wprtdata-draw-shape simply inquires the current cursor position and will return the X and Y coordinates.
However when checking WPRTDATA-DRAW-START-X and WPRTDATA-DRAW-START-Y there values are always zero.
The winprint-set-cursor operation uses these data items, defined in winprint.def:
01 WINPRINT-DATA.
03 WPRTDATA-SET-STD-FONT.
03 WPRTDATA-DRAW REDEFINES WPRTDATA-SET-STD-FONT.
05 WPRTDATA-DRAW-START-X P IC 9(7)V99 COMP-5.
05 WPRTDATA-DRAW-START-Y P IC 9(7)V99 COMP-5.
05 WPRTDATA-DRAW-STOP-X &n bsp;PIC 9(7)V99 COMP-5.
05 WPRTDATA-DRAW-STOP-Y &n bsp;PIC 9(7)V99 COMP-5.
05 WPRTDATA-DRAW-UNITS &nb sp; UNSIGNED-SHORT.
05 WPRTDATA-DRAW-SHAPE &nb sp; UNSIGNED-SHORT.
After the call to get the cursor position the X and Y values are stored in WPRTDATA-DRAW-STOP-X and WPRTDATA-DRAW-STOP-Y, not in the ...START-X and START-Y items.