*----------------------------------------------------------------------*
* Form : WRITE_CENTERED *
* Writes given strings at the center of screen, with optional new line *
*----------------------------------------------------------------------*
FORM WRITE_CENTERED
USING PI_NEWLINE PI_STR1 PI_STR2.
DATA:
M_STRING(300) TYPE C,
M_CENTER LIKE SY-LINSZ,
M_STRLEN TYPE I.
M_STRING = PI_STR1.
IF NOT PI_STR2 IS INITIAL.
CONCATENATE M_STRING PI_STR2 INTO M_STRING SEPARATED BY SPACE.
ENDIF.
M_CENTER = SY-LINSZ / 2.
M_STRLEN = STRLEN( M_STRING ).
IF PI_NEWLINE = 'X'.
WRITE /.
ENDIF.
IF M_STRLEN > SY-LINSZ.
WRITE AT (M_STRLEN) M_STRING.
ELSE.
M_CENTER = M_CENTER - ( M_STRLEN / 2 ).
WRITE AT M_CENTER(M_STRLEN) M_STRING.
ENDIF.
ENDFORM.