Mon Site SAP Accueil Forum ABAP Weblog Liens ABAPs Livres Humour A propos...
*----------------------------------------------------------------------*
* 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.