Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Ausgabe von Listen  Dokument im Navigationsbaum lokalisieren

 

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

Schlechtes Coding:

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.

·                            

2.       Rechtsbündige Ausgabe mit RIGHT-JUSTIFIED:

Schlechtes Coding:

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.

 

3.       Ausgabe des vollständigen Inhaltes

Schlechtes Coding:

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.

 

4.       Blättern:

Schlechtes Coding:

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.

 

5.       Vermischen von Ausgabe- und Pufferlänge

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.

 

6.       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