Code: Alles auswählen.
FORM GEWICHT_ERMITTELN.
TABLES: MARM.
DATA: I_DOCUMENT_DATA LIKE SODOCCHGI1,
I_OBJECT_HEADER TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
I_CONTENT TYPE TABLE OF SOLISTI1 WITH HEADER LINE,
I_RECEIVERS TYPE TABLE OF SOMLRECI1 WITH HEADER LINE.
select single * from marm
where matnr = t_avor-matnr and meinh = 'LE'.
if marm-brgew NE ''.
t_avor-gewicht = marm-brgew.
else.
I_DOCUMENT_DATA-OBJ_NAME = 'Gewicht nicht gepflegt'.
I_RECEIVERS-RECEIVER = 'test@firma.de'.
APPEND I_RECEIVERS.
I_OBJECT_HEADER-LINE = 'Zusatzfeld Gewicht für Material nicht gepflegt.'.
APPEND I_OBJECT_HEADER.
CONCATENATE 'Das Zusatzfeld "Gewicht" ist für das Material:' SPACE marm-matnr 'nicht gepflegt.' INTO I_CONTENT.
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = I_DOCUMENT_DATA
DOCUMENT_TYPE = 'HTM'
* COMMIT_WORK = 'X'
* PUT_IN_OUTBOX = ''
* IMPORTING
* SENT_TO_ALL =
* NEW_OBJECT_ID =
TABLES
OBJECT_HEADER = I_OBJECT_HEADER
OBJECT_CONTENT = I_CONTENT
* CONTENTS_HEX =
* OBJECT_PARA =
* OBJECT_PARB =
RECEIVERS = I_RECEIVERS
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.
endif.
ENDFORM.
Eingerichtet ist der E-Mail Versand, und der funktioniert auch aus andere Programmen heraus.a-dead-trousers hat geschrieben: ↑08.01.2020 09:50COMMIT WORK sollte helfen.
Und der Job für den E-Mail Versand muss eingerichtet sein.
https://rz10.de/sap-basis/sap-email-kon ... nd-testen/
Direkt nach dem Aufruf des Funktionsbaustein den Befehl ausführen.
Code: Alles auswählen.
FORM send_mail_when_brgew_zero RAISING cx_bcs
CHANGING send_sucessfully TYPE os_boolean.
DATA: gross_weight TYPE brgew,
request TYPE REF TO cl_bcs.
SELECT brgew FROM marm INTO gross_weight WHERE
matnr = t_avor-matnr AND meinh = 'LH'.
IF gross_weight IS INITIAL.
PERFORM create_mail_request CHANGING request.
send_sucessfully = request->send( ).
ENDIF.
ENDFORM.
FORM create_mail_request USING matnr TYPE matnr
CHANGING request TYPE REF TO cl_bcs.
DATA: body_line TYPE soli,
body_complete TYPE soli_tab.
request = cl_bcs=>create_persistent( ).
DATA(recipient) = cl_cam_address_bcs=>create_internet_address( 'test@email.com' ).
request->add_recipient( i_recipient = recipient
i_express = abap_true ).
CONCATENATE 'Das Zusatzfeld "Gewicht" ist für das Material:' matnr 'nicht gepflegt' INTO body-line SEPARATED BY SPACE.
APPEND body_line TO body_complete.
DATA(document) = cl_document_bcs=>create_document(
i_subject = 'Gewicht nicht gepflegt'
i_type = 'TXT'
i_text = body_complete ).
request->set_document( document ).
ENDFORM.