gelöst APPEND line TO itab funktioniert nicht


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

gelöst APPEND line TO itab funktioniert nicht

Beitragvon Dyrdek » 19.12.2017, 13:34

Hallo,

Ich will eine Mail versenden die ihren Text aus der SO10 zieht. Den Ablauf habe ich zuvor bereits verwendet und funktioniert.
Habe den gleichen Code identisch in einem Testreport verbaut und getestet. Funktioniert. Einziger Unterschied ist, dass bei den REPLACE Statements
konstante Texte mitgegeben werden.

Wenn der APPEND nicht funktioniert wird die Methode über eine FPM Anwendung aufgerufen. Weiß nicht ob das oder die Variablen bei REPLACE einen Einfluss haben kann.

Aus welchem Grund könnte die line nicht angehängt werden?

Es tritt zudem kein Fehler o.ä. auf. Beim Debuggen wird nur die Tabelle nicht mit dem Wert aus der Line gefüllt.
Geprüft und aktiviert ist alles. FPM-Anwendung habe ich nach der Anpassung des APPEND ebenfalls neu gestartet.

Danke und Grüße

Code: Alles auswählen
*---Text aus SO10 lesen----------------------------------------------*
  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      id                      = 'PAMA'
      language                = 'D'
      name                    = 'ZMAIL_I2001_LFZED'
      object                  = 'TEXT'
    TABLES
      lines                   = lt_so10_text
    EXCEPTIONS
      id                      = 1
      language                = 2
      name                    = 3
      not_found               = 4
      object                  = 5
      reference_check         = 6
      wrong_access_to_archive = 7
      OTHERS                  = 8.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.

*---Platzhalter ersetzen---------------------------------------------*
 LOOP AT lt_so10_text INTO DATA(ls_so10_text).
    IF ls_so10_text-tdformat = '/'.
      ls_text-line = '<br>' &amp;&amp; ls_so10_text-tdline.
    ELSE.
      ls_text-line = ls_so10_text-tdline.
    ENDIF.
    REPLACE ALL OCCURRENCES OF '&amp;P0002-VORNA&amp;' IN ls_text-line WITH ls_mail_data-vorna.
    REPLACE ALL OCCURRENCES OF '&amp;P0002-NACHN&amp;' IN ls_text-line WITH ls_mail_data-nachn.
    REPLACE ALL OCCURRENCES OF '&amp;P0001-PERNR&amp;' IN ls_text-line WITH mv_pernr.
    REPLACE ALL OCCURRENCES OF '&amp;P0001-WERKS&amp;' IN ls_text-line WITH ls_mail_data-werks.
    REPLACE ALL OCCURRENCES OF '&amp;P0001-ORGEH&amp;' IN ls_text-line WITH ls_mail_data-orgeh.
    REPLACE ALL OCCURRENCES OF '&amp;P2001-LFZED&amp;' IN ls_text-line WITH ls_mail_data-lfzed.
    REPLACE ALL OCCURRENCES OF '&amp;T500P-NAME1&amp;' IN ls_text-line WITH ls_mail_data-werkstext.
    REPLACE ALL OCCURRENCES OF '&amp;PR50D-ZZ_ORGTX&amp;' IN ls_text-line WITH ls_mail_data-orgehtext.
    APPEND ls_text TO lt_text.
  ENDLOOP.
Dyrdek
Specialist
 
Beiträge: 306
Registriert: 06.02.2014, 11:06
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: APPEND line TO itab funktioniert nicht

Beitragvon a-dead-trousers » 19.12.2017, 13:50

Das Feld TDLINE hat eine maximal Länge von 132 Zeichen. Bist du dir sicher, dass mit dem Replace diese Länge nicht vielleicht überschritten wird?

EDIT:
Auf der sicheren Seite wärest du mit dem Funktionsbaustein TEXT_SYMBOL_REPLACE bzw. den darin verwendeten Funktionsbausteinen (*TEXTSYMBOL*).
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 2996
Registriert: 07.02.2011, 13:40
Dank erhalten: 743 mal
Ich bin: Entwickler/in

Re: APPEND line TO itab funktioniert nicht

Beitragvon ralf.wenzel » 19.12.2017, 14:17

Die Antwort ist korrekt - ich möchte sie mit dem Hinweis anreichern, dass man diesen Funktionsbaustein nicht in Klassen verwenden sollte, da er mit Dirty Assigns arbeitet. Da kommt man um eine FORM-Routine nicht drumrum (man kann das aber gescheit verschalen, hab ich schon gemacht).


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3094
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 176 mal
Ich bin: Freiberufler/in

Re: APPEND line TO itab funktioniert nicht

Beitragvon Dyrdek » 20.12.2017, 09:29

Guten Morgen,

Habe mir das Thema gerade nochmal angeschaut und getestet nachdem ich gestern keine Zeit mehr hatte.
Nach den ersten Tests scheint der Append nun zu funktionieren... ohne eine weitere Anpassung.

Danke aber für eure Hinweise! Das untersuche ich gleich mal, nicht dass das bei mir jetzt oder später mal auftritt.
Sicher hilfreich für kommende Themen. ;)

Danke und Grüße
Dominic
Dyrdek
Specialist
 
Beiträge: 306
Registriert: 06.02.2014, 11:06
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: APPEND line TO itab funktioniert nicht

Beitragvon DeathAndPain » 20.12.2017, 12:48

Mir ist sowieso nicht klar, was die REPLACEs mit einem nicht funktionierenden APPEND zu tun haben sollten. Selbst wenn die 132 Zeichen Maximallänge überschritten werden oder die REPLACEs aus anderen Gründen nicht funktionieren, muss der APPEND doch auf jeden Fall klappen.

Ein Problem, das ich hier sehe, ist - wieder einmal - unvollständig wiedergegebener Code. Wir sollen beurteilen, weshalb ein APPEND von ls_text an lt_text nicht funktioniert und wissen noch nicht einmal, wie ls_text und lt_text überhaupt definiert sind.
DeathAndPain
Expert
 
Beiträge: 710
Registriert: 05.05.2006, 10:14
Dank erhalten: 168 mal
Ich bin: Entwickler/in

Re: APPEND line TO itab funktioniert nicht

Beitragvon Dyrdek » 22.12.2017, 15:19

Hallo DeathAndPain,

Da hast du natürlich recht. :/ Die Typisierung habe ich in diesem Fall schändlicher Weise vergessen.
Der Append hat einem Tag später, vielleicht durch meinen Neustart von SAP Logon o.ä. funktioniert.
Daher schließe ich das Thema mal.

Die Tipps mit der Länge der Zeile finde ich aber trotzdem hilfreich und werde ich mit Sicherheit nutzen können.


Danke, frohe Weihnachten und einen guten Rutsch!

Grüße
Dyrdek
Specialist
 
Beiträge: 306
Registriert: 06.02.2014, 11:06
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: APPEND line TO itab funktioniert nicht

Beitragvon ralf.wenzel » 22.12.2017, 16:13

Dyrdek hat geschrieben:Der Append hat einem Tag später, vielleicht durch meinen Neustart von SAP Logon o.ä. funktioniert.
Daher schließe ich das Thema mal.


Ich will ja keinem zu nahe treten, aber ein Entwickler, der sich mit DER Begründung zufrieden gibt, würde meine Reaktion nicht erleben wollen ;)


Ralf

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
DeathAndPain
ralf.wenzel
Top Expert
 
Beiträge: 3094
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 176 mal
Ich bin: Freiberufler/in

Re: APPEND line TO itab funktioniert nicht

Beitragvon Dyrdek » 05.01.2018, 10:20

Habe die Anmerkung bzgl. der Textlänge nach dem REPLACE eingefügt und das Ganze seither
mehrfach getestet und debuggt. :)
Das Problem konnte ich seither nicht mehr nachstellen. :/
Ist nicht so dass ich das Thema anschließend nicht ausführlich untersucht habe, falls das so leichtfertig rüber kam nach dem Motto "wird schon nicht mehr vorkommen".
Dyrdek
Specialist
 
Beiträge: 306
Registriert: 06.02.2014, 11:06
Dank erhalten: 0 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
gelöst Nachricht nach Beendigung der Verbuchung
Gestern von ewx 2 Antw.
BCS sendet Mails immer als express?
Gestern von Legxis 2 Antw.
Zuordnung in Grid (Screen)
vor 2 Tagen von HH_ABAP 0 Antw.
FBL3N ---> FB60
vor 2 Tagen von HH_ABAP 2 Antw.
Klasse zum lesen der Adressdaten
vor 2 Tagen von AdrianSchm 2 Antw.

  Ähnliche Beiträge beta
LOOP funktioniert nicht
07.01.2011, 15:17 von zzcpak 1 Antw.
BAPI_PTMGRATTABS_MNGCREATION funktioniert nicht
29.08.2011, 10:36 von ChrisB 5 Antw.
LOOP funktioniert nicht :(
28.03.2013, 15:57 von Duong 6 Antw.
gelöst Inner Join funktioniert nicht
15.05.2014, 14:03 von Bugfix13 6 Antw.
SEL LANGUAGE 'EN' funktioniert nicht
28.12.2016, 10:07 von komel 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]