Copyright 2024 - BV TallVision IT

SAP has this simple short and sweet function module called STRING_CENTER which does what it's name implies. Center a string, align in the middle. However: the function module is marked as obsolete and I can't find it's replacement/successor.. So here's the coding.

CLASS-METHODS:
    string_center changing str type any.

The method implemented:

  METHOD string_center.
    DATA: lv_len type SY-FDPOS,
          lv_len2 type SY-FDPOS,
          lv_str type string.

    FIELD-SYMBOLS: <fs> type any.

    lv_str = str.
    lv_len = STRLEN( str ).
    move space to str.
    IF lv_len > 0.
      DESCRIBE FIELD str LENGTH lv_len2 in character mode.

      lv_len2 = ( lv_len2 - lv_len ) / 2.
      ASSIGN str+lv_len2(lv_len) TO <fs>.
      MOVE lv_str TO <fs>.
    ENDIF.
ENDMETHOD.

Quite an ingenious bit of coding really... Thanks SAP !