Anfang des Inhaltsbereichs

Hintergrunddokumentation Ausgabe von Listen Dokument im Navigationsbaum lokalisieren

 

  1. Nachträgliches überschreibendes Positionieren von SY-VLINE

    Schlechtes Coding:
  2. WRITE / AT 2 '℥℥℥'.
    WRITE AT 1  sy-vline.
    WRITE AT 4  sy-vline.
    WRITE AT 7  sy-vline.
    WRITE AT 10 sy-vline.


    Empfohlene Lösung:

    WRITE AT 1  sy-vline.
    WRITE AT 2 '
    '.
    WRITE AT 4  sy-vline.
    WRITE AT 5 '
    '.
    WRITE AT 7  sy-vline.
    WRITE AT 8 '
    '.
    WRITE AT 10 sy-vline.

     

  3. Rechtsbündige Ausgabe mit RIGHT-JUSTIFIED:

    Schlechtes Coding:
  4. DATA text(10) TYPE c.
    text = '
    ℥℥℥'.
    WRITE text TO text RIGHT-JUSTIFIED.
    WRITE text.

    Empfohlene Lösung:

    DATA text(10) type c.
    text = '
    ℥℥℥'.
    WRITE text RIGHT-JUSTIFIED.

     

  5. Ausgabe des vollständigen Inhaltes

    Schlechtes Coding:
  6. DATA text(10) TYPE c.
    text = 'OTTOS MOPS'.
    WRITE / text.
    text = '
    ℥℥℥℥℥℥℥℥℥℥'.
    WRITE / text.

    Empfohlene Lösung:

    DATA text(10) TYPE c.
    text = 'OTTOS MOPS'.
    WRITE / (*) text.
    text = '
    ℥℥℥℥℥℥℥℥℥℥'.
    WRITE / (*) text.

     

  7. Blättern:

    Schlechtes Coding:
  8. TYPES t_line(100)   TYPE c.
    DATA: line          TYPE t_line,
          tab           TYPE table of t_line.
    PARAMETERS scrolcol TYPE i DEFAULT 14.


    line = '℥℥℥℥℥℥℥℥℥℥℥℥℥℥'.
    APPEND line TO tab.
    line = '
    ℥℥℥℥℥℥℥℥℥℥℥℥℥℥'.
    APPEND line TO tab.

    LOOP AT tab INTO line.
      WRITE / line+scrolcol.
    ENDLOOP.


    Empfohlene Lösung:

    TYPES t_line(100)   TYPE c.
    DATA: line          TYPE t_line,
          tab           TYPE table of t_line.
    PARAMETERS scrolcol TYPE i DEFAULT 14.


    line = '
    ℥℥℥℥℥℥℥℥℥℥℥℥℥℥'.
    APPEND line TO tab.
    line = '
    ℥℥℥℥℥℥℥℥℥℥℥℥℥℥'.
    APPEND line TO tab.
    LOOP AT tab INTO line.
      WRITE / line.
    ENDLOOP.
    SCROLL LIST TO COLUMN scrolcol.

     

  9. Vermischen von Ausgabe- und Pufferlänge
  10. Das Beispiel bezieht sich auf die Datenbanktabelle ZCHNUMBERS im ABAP Dictionary, die als Inhalt die Bezeichnungen der Zahlen 1 bis 5 in Englisch und Koreanisch enthalten soll.

    Schlechtes Coding:

    SELECT * FROM zchnumbers INTO wa ORDER BY num lang.
      WRITE wa-lang  TO line(2).
      WRITE sy-vline TO line+2(1).
      WRITE wa-name  TO line+3(5).
      WRITE sy-vline TO line+8(1).
      WRITE wa-num   TO line+9(3) RIGHT-JUSTIFIED.
      WRITE / line.
    ENDSELECT.

    Empfohlene Lösung:

    DATA: offset_tab TYPE abap_offset_tab.

    APPEND 3 TO offset_tab.
    APPEND 8 TO offset_tab.
    SELECT * FROM zchnumbers INTO wa.
      WRITE wa-lang  TO line(2).
      WRITE sy-vline TO line+2(1).
      WRITE wa-name  TO line+3(5).
      WRITE sy-vline TO line+8(1).
      WRIE  wa-num   TO line+9(3) RIGHT-JUSTIFIED.
      CALL METHOD cl_abap_list_utilities=>memory_to_display
        EXPORTING memory_data  = line
                  offset_tab
        = offset_tab
        IMPORTING display_data = disp_line.
      WRITE / disp_line.
    ENDSELECT.

     

  11. Misbrauch des Systemfeldes SY-CUCOL als Puffer-Offset

    Schlechtes Coding:

DATA: off type i.

AT LINE-SELECTION.
  off = sy-staco + sy-cucol – 3.
  sy-lisel+off(1) = '-'.
  MODIFY CURRENT LINE.

START-OF-SELECTION.
  WRITE / '
'.
  WRITE at 50(14) '
℥℥℥℥℥'.
  SCROLL LIST TO COLUMN 20.

Empfohlene Lösung:

DATA:
  f  TYPE string,
  mo TYPE i.

AT LINE-SELECTION.
  GET CURSOR FIELD f MEMORY OFFSET mo.
  sy-lisel+mo(1) = '-'
.
  MODIFY CURRENT LINE.

 

Anmerkung:
Das Zeichen
wird als Platzhalter für die Darstellung ostasiatischer Zeichen verwendet.

Ende des Inhaltsbereichs