Interner Error bei Email Versand

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Interner Error bei Email Versand

Beitrag von tom12 (ForumUser / 2 / 0 / 0 ) »
Hallo Community,

ich habe eine Frage bezüglich automatischer Emailversendung mit der SAP-Standard Methode 'SO_NEW_DOCUMENT_SEND_API1'.
Trotz Debugging und intensivem ausprobieren, werden die Emails einfach nicht versandt (Landen nicht in sost). Ich bekomme keine Fehlermeldung, allerdings ist sy-subrc = 5, somit handelt es sich um irgendeinen Internen Fehler.
Ich vermute, dass irgendwelche Parameter den falschen Datentyp haben. Hoffe jemand kann mir helfen :).
Info am Rande, alles in OOP Programmiert.

Code: Alles auswählen.

DATA: entries LIKE sy-tabix.
DATA content     TYPE STANDARD TABLE OF solisti1.
DATA: emailaddress TYPE c,
      subjectline  TYPE c,
      mailtyp      TYPE c,
      returncode   LIKE sy-subrc,
      document     TYPE sodocchgi1,
      lcontents    TYPE STANDARD TABLE OF solisti1,
      contents1    LIKE LINE OF content,
      recvlist     TYPE STANDARD TABLE OF somlreci1,
      recvlist1    LIKE LINE OF recvlist,
      fieldlen     TYPE p,
      tablines     TYPE p.

  METHOD emailsender.
    CLEAR: content, document, recvlist, contents1.
    REFRESH: content, recvlist.
    returncode = 12.
    contents1 = 'Missing Document with Barcode:." '." && h-barcode && ' please Scan!'.
    APPEND contents1 TO content.

    document-obj_name = 'EMAIL'.
    document-obj_descr = 'test'.
    document-obj_langu = sy-langu.
    document-obj_expdat = loesch_datum.
    document-sensitivty = 'F'.
    document-obj_prio = 3.
    document-no_change = 'X'.
    document-priority = 3.
    document-expiry_dat = loesch_datum.
    DESCRIBE TABLE content LINES entries.
    READ TABLE content INDEX entries TRANSPORTING NO FIELDS.
    document-doc_size = ( entries - 1 ) * 255 + strlen( contents1 ).

    CLEAR recvlist.
    recvlist1-rec_type = 'B'.
    recvlist1-express = 'X'.
    APPEND recvlist1 TO recvlist.
    CLEAR recvlist.
    recvlist1-receiver = h-smtp_addr.
    APPEND recvlist1 TO recvlist.

    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
      EXPORTING
        document_data              = document
        document_type              = 'INT'
       commit_work                = 'X'
      TABLES
        object_content             = content
        receivers                  = recvlist
      EXCEPTIONS
        too_many_receivers         = 1
        document_not_sent          = 2
        document_type_not_exist    = 3
        operation_no_authorization = 4
        parameter_error            = 5
        x_error                    = 6
        enqueue_error              = 7
        OTHERS                     = 8.
    IF sy-subrc = 0.
      WRITE 'sent email'.
    ENDIF.
  ENDMETHOD.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Interner Error bei Email Versand

Beitrag von a-dead-trousers (Top Expert / 4274 / 213 / 1140 ) »
Hast du den Baustein schon mal gedebugged?
Normalerweise solltest du auf diesem Weg schneller zum problematischen Parameter finden, als wenn wir hier statisch dein Coding analysieren.
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.18
Basis: 7.50

Re: Interner Error bei Email Versand

Beitrag von tom12 (ForumUser / 2 / 0 / 0 ) »
a-dead-trousers hat geschrieben:Hast du den Baustein schon mal gedebugged?
Normalerweise solltest du auf diesem Weg schneller zum problematischen Parameter finden, als wenn wir hier statisch dein Coding analysieren.
Ja, habe ich. In den unendlichen Methoden der API ist ein paar mal sy-subrc = 4. Allerdings finde/sehe ich da keinen Zusammenhang mit meinen Parametern. Bin noch ziemlich neu in der ABAP Programmierung.

Re: Interner Error bei Email Versand

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Also mir springt da sofort der folgende Teil ins Auge:

Code: Alles auswählen.

CLEAR recvlist.
recvlist1-rec_type = 'B'.
recvlist1-express = 'X'.
APPEND recvlist1 TO recvlist.
CLEAR recvlist.
recvlist1-receiver = h-smtp_addr.
APPEND recvlist1 TO recvlist.
Du definierst einen Empfängertyp und fügst die Zeile dann an, ohne die Empfängeradresse anzugeben. Anschließend gibt Du eine Empfängeradresse an und fügst diese als zweite Zeile an, ohne einen Typ anzugeben. Ich würde behaupten, das ergibt zwei ungültige Empfängerzeilen.

Das

Code: Alles auswählen.

APPEND recvlist1 TO recvlist.
CLEAR recvlist.
in der Mitte muss also ersatzlos weg.

Ob das schon alles ist, weiß ich nicht, aber das ist mir auf die Schnelle aufgefallen.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1355
Views
2
Antw.
1265
Views
Workflow: eMail Versand
von bapimueller » 21.08.2019 18:04 • Verfasst in ABAP® Core
2
Antw.
416
Views
Email versand geht nur manuell
von mano79 » 03.02.2021 22:56 • Verfasst in ABAP® für Anfänger
1
Antw.
9569
Views
Email versand bei Auftragsbestätigung (Kunde)
von markus86 » 26.10.2011 08:24 • Verfasst in ABAP® Core
1
Antw.
695
Views

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 4 Tagen von jocoder 2 / 69
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 71

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 4 Tagen von jocoder 2 / 69
Etikettendruck mit SmartForms
vor einer Woche von a-dead-trousers 2 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Wochen von Lucyalison 1 / 129
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 165