Email mit attachment senden

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

Email mit attachment senden

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Hallo Abapmitglieder,

ich habe ein Programm, mit welchem ich eine CSV Datei erstelle und als anhang in Email verschicke.
Ich habe Problem, wenn ich die Datei mit Email sende und zwar es kommen alles in einer Zeile. Ich möchte aber in Datei 3 Spaltenüberschriften.
Mein COde sieht so aus:

Code: Alles auswählen.

FORM daten_senden.

  DATA: l_init(1) TYPE c.

* Daten für Mail
  e_document_data-obj_name = 'Auswertung'.
  e_document_data-obj_descr = 'Anzahl berechnen'.

  t_contents_txt = 'Hallo, im Anhang finden Sie ........................'.
  APPEND t_contents_txt.

  DESCRIBE TABLE t_contents_txt LINES tab_lines.
  READ TABLE t_contents_txt INDEX tab_lines.
  e_document_data-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( t_contents_txt ).


  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.

* Daten für Anhang
  LOOP AT t_out INTO w_out.

    clear w_daten.
    write w_out-anzahl to g_zahl.
    concatenate w_out-blart ';' w_out-prctr ';' g_zahl into w_daten-outstr.
    append w_daten to t_daten.

    IF l_init IS INITIAL.
      l_init = 'X'.
    CONCATENATE 'Beleg' 'Profit' 'Summe'
    INTO t_contents_bin SEPARATED BY ';'.
    ELSE.
      MOVE w_daten-outstr TO t_contents_bin.
    ENDIF.
    APPEND t_contents_bin.

  ENDLOOP.

  DESCRIBE TABLE t_contents_bin LINES tab_lines.

  t_packing_list-transf_bin = 'X'.
  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 = 'CSV'.
  t_packing_list-obj_name = 'BELEG'.
  t_packing_list-doc_size = tab_lines * 255.
  t_packing_list-obj_descr = Anzahl_.csv'.
  APPEND t_packing_list.


  t_receivers-receiver = empf. "testtest@test.de"
  t_receivers-rec_type = 'U'.
  APPEND t_receivers.

 if p_send = 'X'.
   CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
      document_data              = e_document_data
      put_in_outbox              = 'X'
      commit_work                = 'X'
    TABLES
      packing_list               = t_packing_list
      object_header              = t_object_header
      contents_bin               = t_contents_bin
      contents_txt               = t_contents_txt
      receivers                  = t_receivers
    EXCEPTIONS
      too_many_receivers         = 1
      document_not_sent          = 2
      operation_no_authorization = 4
      OTHERS                     = 99.
  else.
Warum kommen die Spaltenin gleicher Zeile? Woran kann dies liegen bitte?
ich bitte um dringende Hilfe.

Guß,
jeyloeso

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


Re: Email mit attachment senden

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo jeyloeso,

da fehlt womöglich ein CRLF zwischen den einzelnen Zeilen (Stichwort CL_ABAP_CHAR_UTILITIES=>CR_LF). Schau mal hier: http://scn.sap.com/message/491591
und hier http://www.sapdev.co.uk/reporting/email ... xlsmod.htm
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Email mit attachment senden

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Hallo Alexander,

mit deiner Hilfe habe ich das Problem behoben, aber ich habe jetzt ein anderes Problem.
Ich möchte in der Datei in ersten Zeile die Spaltenüberschriften schreiben. Wenn ich das mache, wird die Spalten auf 1. Satz der Ausgabe überschrieben.Also die Ausgabe beginnt mit dem 2 Satz.
Ich habe es so geschrieben.

Code: Alles auswählen.

if a_line  is INITIAL.   
      a_line = 'X'.
      CONCATENATE 'Spalte1 'Spalte2' 'Spalte3' INTO t_contents_bin SEPARATED BY ';'.
      else.
     CONCATENATE w_out-blart  w_out-prctr g_zahl INTO t_contents_bin SEPARATED BY ';'.
endif.

    CONCATENATE cl_abap_char_utilities=>cr_lf t_contents_bin  INTO t_contents_bin.
    append t_contents_bin.
  ENDLOOP.
Wie kann ich in erster Zeile die Überschriften aufnehmen?

Ich bitte um Rückmeldungen,

Schöne Grüße,

Re: Email mit attachment senden

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »

Code: Alles auswählen.

if a_line  is INITIAL.  
      a_line = 'X'.
      CONCATENATE 'Spalte1 'Spalte2' 'Spalte3' INTO t_contents_bin SEPARATED BY ';'.
      CONCATENATE cl_abap_char_utilities=>cr_lf t_contents_bin  INTO t_contents_bin.
     append t_contents_bin.
ENDIF

CONCATENATE w_out-blart  w_out-prctr g_zahl INTO t_contents_bin SEPARATED BY ';'.
CONCATENATE cl_abap_char_utilities=>cr_lf t_contents_bin  INTO t_contents_bin.
append t_contents_bin.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Seite 1 von 1

Vergleichbare Themen

6
Antw.
4391
Views
Email mit attachment senden
von jeyloeso » 14.09.2012 12:38 • Verfasst in ABAP® für Anfänger
1
Antw.
1326
Views
Senden eines Attachment
von Madalena » 11.02.2005 08:46 • Verfasst in ABAP® Core
4
Antw.
2110
Views
Send query as attachment by email
von Fistandantilus » 24.07.2013 08:33 • Verfasst in ABAP® für Anfänger
4
Antw.
2816
Views
PDF-Attachment komprimieren für Versendung als EMAIL
von hezi » 13.06.2005 11:21 • Verfasst in ABAP® Core
4
Antw.
4086
Views
email sofort senden
von mawi » 19.06.2007 16:43 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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.