wiedermal: pdf versenden

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

wiedermal: pdf versenden

Beitrag von mawi (ForumUser / 61 / 0 / 1 ) »
Ich komme nicht weiter, vielleicht habt ihr einen Tip:

Ich habe einen Report geschrieben, der Daten eines Smartforms als PDF in einem Control auf dem Bildschirm darstellt. Dieses PDF soll außerdem automatisch durch denselben Report nach extern gemailt werden.

Zur Kontrolle:
(1) PDF-Erzeugung funktioniert, da die Daten ja angezeigt werden
(2) Versenden der korrekten PDF-Daten funktioniert intern ebenfalls, d.h. mit rec_type 'B' an meinen User innerhalb von SAP erhalte ich die Mails und kann auch das Attachment korrekt öffnen
(3) Ich habe die Berechtigung, externe Mails zu versendet, kann ich kontrollieren im SAP Office beim händischen Neuanlegen einer Mail.
(4) Es wird kein Sendeauftrag an externe Emailadresse erzeugt, kann ich sehen mit TA: SODO

Habt ihr eine Idee, wie ich checken kann, warum die externe Email nicht losgeht? Ich war mit dem Debuggen schon ziemlich tief im Code, aber da verstehe ich nur Bahnhof; Fehlermeldungen kommen ja auch keine :o(

Hier mein Code:

Code: Alles auswählen.

DATA: e_document_data LIKE sodocchgi1,
        t_packing_list  LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
        t_receivers     LIKE somlreci1  OCCURS 0 WITH HEADER LINE,
        t_object_header LIKE solisti1   OCCURS 0 WITH HEADER LINE,
        l_pdf_tab       LIKE solix      OCCURS 0,
        tab_lines       LIKE sy-tabix,
        l_line          TYPE SO_RAW255,
        l_line_cont     TYPE SOLIX,
        subjekt         TYPE SO_OBJ_DES,
        body            LIKE solisti1   OCCURS 0 WITH HEADER LINE,
        attachment_name TYPE SO_OBJ_DES.

* ----- Texte Aus der Customizing-Tabelle ----- *
  subjekt = 'Subjekt'.

  body = 'Sehr geehrte Damen und Herren'.
  APPEND body.
  CLEAR body.
  Append body.
  body = 'Mit freundlichen Grüßen!'.
  APPEND body.

  attachment_name = 'attachment.pdf'.


* ----- Daten für Mail ----- *
  tab_lines = lines( body ).
  READ TABLE body INDEX tab_lines.

  e_document_data-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( body ).
  e_document_data-obj_name  = subjekt.
  e_document_data-obj_descr = subjekt.

* ----- Textteil der Mail verpacken ----- *
  t_packing_list-head_start = 1.
  t_packing_list-head_num   = 0.
  t_packing_list-body_start = 1.
  t_packing_list-body_num   = tab_lines.
  t_packing_list-doc_type   = 'RAW'.
  APPEND t_packing_list.

* ----- PDF-Teil der Mail erzeugen und verpacken ----- *
  LOOP AT g_pdf_data_tab INTO l_line.
    l_line_cont-LINE = l_line.
    APPEND l_line_cont TO l_pdf_tab.
  ENDLOOP.
  tab_lines = lines( l_pdf_tab ).

  t_packing_list-transf_bin = 'X'.
  t_packing_list-head_start = 1.
  t_packing_list-head_num   = 1.
  t_packing_list-body_start = 1.
  t_packing_list-body_num   = tab_lines.
  t_packing_list-doc_type   = 'PDF'.
  t_packing_list-obj_name   = 'ANLAGE'.
  t_packing_list-doc_size   = tab_lines * 255.
  t_packing_list-obj_descr  = attachment_name.
  APPEND t_packing_list.


* ----- Empfänger-Adresse ----- *
  t_receivers-receiver = 'SAP_USER'.  "zu löschen, wenn produktiv
  t_receivers-rec_type = 'B'.        "zu löschen, wenn produktiv
  APPEND t_receivers.                "zu löschen, wenn produktiv
  t_receivers-receiver = ''MeineAdresse@test.de'.
  t_receivers-rec_type = 'U'.
  APPEND t_receivers.


* ----- MAILEN ----- *
  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
      document_data                    =  e_document_data
    TABLES
      packing_list                     = t_packing_list
      object_header                    = t_object_header
      contents_hex                     = l_pdf_tab
      contents_txt                     = body
      receivers                        = t_receivers
    EXCEPTIONS
      OTHERS                           = 4.


* ----- Auswertung der Ereignisse ----- *
  CASE SY-SUBRC.
    WHEN 0.
      LOOP AT t_receivers.
        IF t_receivers-RETRN_CODE <> 0.
          DATA out TYPE string.
          CONCATENATE text-120 '(an' t_receivers-RECEIVER ')'
            INTO out SEPARATED BY SPACE.
          MESSAGE out TYPE 'I'.
        ENDIF.
      ENDLOOP.
    WHEN OTHERS.
      MESSAGE text-120 TYPE 'I'.
  ENDCASE.

ENDFORM.

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


Beitrag von edwin (Specialist / 306 / 11 / 68 ) »
Hallo,

setze das explizite COMMIT_WORK ='X'

Gruss Edwin

Beitrag von mawi (ForumUser / 61 / 0 / 1 ) »
sowasaberauchneinneinnein.

FUNKTIONIERT!!! Danke!!!

Beitrag von resource_sik (ForumUser / 8 / 0 / 0 ) »
wie kriege ich denn das pdf hin?

Seite 1 von 1

Vergleichbare Themen

7
Antw.
5737
Views
PDF-Datei mit FTP versenden
von Bitfummler » 15.10.2009 16:40 • Verfasst in ABAP® Core
2
Antw.
3052
Views
4.7 Mail versenden
von Baltasa » 06.03.2006 10:33 • Verfasst in ABAP® Core
5
Antw.
4756
Views
Funktionsbaustein zum Versenden von SMS
von Steffi221185 » 11.05.2006 14:39 • Verfasst in ABAP® Core
0
Antw.
1308
Views
htm- Emails versenden?
von Davor » 27.02.2008 14:27 • Verfasst in Basis
5
Antw.
4385
Views
E-Mail versenden aus PBO / PAI
von drkasper » 24.04.2007 11:20 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


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

Aktuelle Forenbeiträge

IF mit AND und OR
vor 9 Stunden von wreichelt 2 / 210
PCL2 Cluster auslesen
vor 13 Stunden von DeathAndPain 2 / 304
FUBA 'HR_INFOTYPES_OPERATION'
vor 15 Stunden von Bright4.5 3 / 4521

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.