Code: Alles auswählen.
WRITE: / 'Hier steht Code'.
ok. da du es direkt startest wahrscheinlich. Ansonsten könntest du ja nicht so einfach debuggen.yeti1967 hat geschrieben:also im Job-Log steht nichts darüber.
Gefühltes Coding.yeti1967 hat geschrieben:Der Code sollte eigentlich nur eine Mail erzeugen. Im Debugger-Modus läuft es einmal rund und steht dann nochmal am Breakpoint. Gefühlt läuft der Code dann ein zweites Mal.
Das heißt, bei zwei Namen in der Liste kommen nur ZWEI Mails? Nicht Zwei + die unvollständige?yeti1967 hat geschrieben:Die zwei Mails kommen im gleichen Atemzug ohe Zeitverzögerung. Und in der Liste steht zur Zeit nur ein Name. Sind 2 oder mehr Namen in der Verteilerliste ist das Ergebnis gleich (also 2 Mails).
Dann Probiere mal ein Textprogramm, was nur die Mail verschickt.yeti1967 hat geschrieben:Mailanzahl: 2 Namen bekommen 4 Mail, 3 Namen bekommen 6 Mails usw.. Jeder aus der liste bekommt 2 Mails.
Code: Alles auswählen.
CALL METHOD gr_send_request->send(
* EXPORTING
* i_with_error_screen = 'X'
RECEIVING
result = gv_sent_to_all ).
Code: Alles auswählen.
gr_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = gv_text
i_length = '12'
i_subject = 'Betreff.' ).
Code: Alles auswählen.
CLOSE DATASET lv_file.
IF sy-subrc = 0.
IF zaehler > 0.
zaehler_n = zaehler.
TRY.
**-----------Format Mail: Betreff und Body---------------------------------------
* gr_document = cl_document_bcs=>create_document(
* i_type = 'RAW'
* i_text = gv_text
* i_length = '12'
* i_subject = 'Betreff.' ).
*-----------Sendeanfrage erstellen----------------------------------------
gr_send_request = cl_bcs=>create_persistent( ).
*-----------Versender-Email
gr_sender = cl_sapuser_bcs=>create( sy-uname ).
*-----------Fügen Sie den Absender zur Anfrage hinzu
CALL METHOD gr_send_request->set_sender
EXPORTING
i_sender = gr_sender.
*----------- Empfänger erstellen oder an Verteilerliste übergeben -----------------
CALL METHOD cl_distributionlist_bcs=>getu_persistent
EXPORTING
i_dliname = 'LISTE' "Verteilerliste
i_private = space
RECEIVING
result = gr_recipient.
*-----------Empfänger an Sendauftrag hängen
CALL METHOD gr_send_request->add_recipient(
EXPORTING
i_recipient = gr_recipient
i_express = 'X' ).
*------------Email BODY----------------------------------------------------
APPEND 'Für Sie liegen im Verzeichnis F:\fb.....!' TO gv_text.
APPEND ' ' TO gv_text.
APPEND 'Prüfsummen:' TO gv_text.
*------------Datensätze für Mail ausgeben---------------------------------
CONCATENATE zaehler_n 'Datensätze' INTO gesamtanzahl.
APPEND gesamtanzahl TO gv_text.
*------------Gesamtbetrag für Mail ausgeben-------------------------------
CONCATENATE 'Gesamtbetrag in €:' gesamtbetrag INTO gr_betrag SEPARATED BY space.
APPEND gr_betrag TO gv_text.
APPEND ' ' TO gv_text.
*------------Zeitstempel: Datum und Uhrzeit für Mail----------------------
APPEND 'Zeitstempel:' TO gv_text.
WRITE sy-datum USING EDIT MASK '__.__.____' TO lv_datum.
WRITE sy-uzeit USING EDIT MASK '__:__:__' TO lv_time.
CONCATENATE 'Datum: ' lv_datum 'Uhrzeit: ' lv_time INTO zeitangabe SEPARATED BY space.
APPEND zeitangabe TO gv_text.
*-----------Format Mail: Betreff und Body---------------------------------------
gr_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = gv_text
i_length = '12'
i_subject = 'Betreff.' ).
*-------------Add document to send request---------------------------------
CALL METHOD gr_send_request->set_document( gr_document ).
*-------------Send email---------------------------------------------------
CALL METHOD gr_send_request->send(
* EXPORTING
* i_with_error_screen = 'X'
RECEIVING
result = gv_sent_to_all ).
IF gv_sent_to_all = 'X'.
WRITE 'Email sent!'.
ENDIF.
*--------------Commit to send email------------------------------------------
COMMIT WORK.
*--------------Exception handling---------------------------------------------
CATCH cx_bcs INTO gr_bcs_exception.
WRITE:
'Error!',
'Error type:',
gr_bcs_exception->error_type.
ENDTRY.
ENDIF.
ENDIF.