Line size field SY-LINSZ during spool processing
It’s well known that the line size of the report program is defined at beginning of the report program with LINE-SIZE addition of the statement REPORT.
The introduction of field SY-LINSZ at SAP help is:
The line width of the list Without further influence this is the standard window width: If SY-SCOLS >= 84, SY-LINSZ = SY-SCOLS; if SY-SCOLS < 84, SY-LINSZ = 84.
To change the width of the output list, use the LINE-SIZE option of the REPORT or NEW PAGE statement.
LINE-SIZE in the statements REPORT, PROGRAM, FUNCTION POOL sets SY-LINSZ for the current program.
LINE-SIZE in the SUBMIT statement sets SY-LINSZ for the called program.
It’s crystal-clear with front-end processing, but be cautious when it comes to background processing with the spool as SY-LINSZ can be overwritten when the list is created using the addition LINE-SIZE of the statement new-page. It could cause some issues for example if the WRITE statement based on the calculation involving SY-LINSZ.
The place where the field SY-LINSZ been changed for me is the TOP-OF-PAGE event of ‘REUSE_ALV_GRID_DISPLAY’ at including standard program LKKBLF98.
At ‘new-page print on parameters rs_pri_params‘, the line size has been changed at FM: RSPO_GET_SIZE_OF_LAYOUT which impacts PRI_PARAMS-LINSZ.
Here the line size SY-LINSZ is not LINE-SIZE addition of the statement REPORT at report program, but the list width of the spool which is dynamically changed based on the result of the report. Check here for more print parameter definitions used by Spool as well.
Number of characters per list line. This field has the same effect as the LINE-SIZE option of the REPORT statement. The maximum number in this field depends on the contents of the Format field.
(Default value: Set internally).
Nice quick tip.
Keep them coming!
(This is technical article. But nice to see it where ever you decide to post it. Your assigned tags helped me find it.)