READ TEXT: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
Zeile 16: Zeile 16:
   IF sy-subrc = 0 AND lines( lt_text_lines ) > 0.
   IF sy-subrc = 0 AND lines( lt_text_lines ) > 0.
     LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(<text_line>).
     LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(<text_line>).
       IF <text_line>-tdformat EQ '*'.
       IF <text_line>-tdformat EQ '*' AND sy-tabix > 1.
         rv_result = |{ rv_result }{ cl_abap_char_utilities=>cr_lf }{ <text_line>-tdline }|.
         rv_result = |{ rv_result }{ cl_abap_char_utilities=>cr_lf }{ <text_line>-tdline }|.
       ELSEIF <text_line>-tdformat EQ '='.
       ELSEIF <text_line>-tdformat EQ '=' OR sy-tabix = 1.
         rv_result = |{ rv_result }{ <text_line>-tdline }|.
         rv_result = |{ rv_result }{ <text_line>-tdline }|.
       ELSE.
       ELSE.

Version vom 13. August 2021, 09:42 Uhr

Mit diesem FuBa können die Texte aus Stammsätze und Belege ermittelt werden.

Wie die Parameter für die verschiedenen Texte zusammengesetzt werden müssen, kann man hier auf einen Blick sehen:
=> Texte in Stammsätze und Belege

Der Text wird in eine simple internen Tabelle mit Typ "TLINE" geschrieben. Oft ist es das Ziel die Inhalte in einem String zu speichern.

Zum Beispiel könnte der Inhalt der interne Tabelle so aussehen:

READ TEXT Output Table.png

Die Verkettung abhängig vom TDFORMAT:

  IF sy-subrc = 0 AND lines( lt_text_lines ) > 0.
    LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(<text_line>).
      IF <text_line>-tdformat EQ '*' AND sy-tabix > 1.
        rv_result = |{ rv_result }{ cl_abap_char_utilities=>cr_lf }{ <text_line>-tdline }|.
      ELSEIF <text_line>-tdformat EQ '=' OR sy-tabix = 1.
        rv_result = |{ rv_result }{ <text_line>-tdline }|.
      ELSE.
        rv_result = |{ rv_result } { <text_line>-tdline }|.
      ENDIF.
    ENDLOOP.
  ENDIF.