Send email to many users
REPORT Z_SEND_EMAIL_to_Users.
TABLES: USR02.
DATA: C(15).
DATA: SENT LIKE SONV-FLAG.
DATA: EMAIL_ID LIKE SOFOLENTI1-OBJECT_ID.
DATA: BEGIN OF EMAIL_DATA.
INCLUDE STRUCTURE SODOCCHGI1.
DATA: END OF EMAIL_DATA.
DATA: BEGIN OF EMAIL_SEND OCCURS 10.
INCLUDE STRUCTURE SOMLRECI1.
DATA: END OF EMAIL_SEND.
DATA: BEGIN OF EMAIL_TEXT OCCURS 10.
INCLUDE STRUCTURE SOLISTI1.
DATA: END OF EMAIL_TEXT.
****************************************************
PARAMETERS: ALL__CLI RADIOBUTTON GROUP RADI.
PARAMETERS: THIS_CLI RADIOBUTTON GROUP RADI.
PARAMETERS: SELECT__ RADIOBUTTON GROUP RADI.
SELECT-OPTIONS SEND_TO FOR C NO INTERVALS.
SELECTION-SCREEN SKIP.
PARAMETERS: SUBJECT(30).
SELECTION-SCREEN SKIP.
SELECTION-SCREEN COMMENT /1(20) TEXT-999.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L1(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L2(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L3(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L4(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L5(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L6(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L7(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L8(84).
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: L9(84).
SELECTION-SCREEN END OF LINE.
***********************************************
EMAIL_TEXT-LINE = L1.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L2.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L3.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L4.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L5.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L6.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L7.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L8.
APPEND EMAIL_TEXT.
EMAIL_TEXT-LINE = L9.
APPEND EMAIL_TEXT.
EMAIL_DATA-OBJ_NAME = ‘MESSAGE’.
EMAIL_DATA-OBJ_DESCR = SUBJECT.
EMAIL_DATA-OBJ_LANGU = ‘E’.
EMAIL_DATA-SENSITIVTY = ‘P’.
EMAIL_DATA-OBJ_PRIO = ‘1′.
EMAIL_DATA-NO_CHANGE = ‘X’.
EMAIL_DATA-PRIORITY = ‘1′.
IF SELECT__ = ‘X’.
LOOP AT SEND_TO.
EMAIL_SEND-RECEIVER = SEND_TO-LOW.
EMAIL_SEND-REC_TYPE = ‘U’.
EMAIL_SEND-EXPRESS = ‘X’.
APPEND EMAIL_SEND.
ENDLOOP.
ELSEIF THIS_CLI = ‘X’.
SELECT * FROM USR02.
IF USR02-USTYP = ‘A’ AND USR02-BNAME NE ‘SAP*’
AND USR02-BNAME NE ‘DDIC’.
EMAIL_SEND-RECEIVER = USR02-BNAME.
EMAIL_SEND-REC_TYPE = ‘U’.
EMAIL_SEND-EXPRESS = ‘X’.
APPEND EMAIL_SEND.
ENDIF.
ENDSELECT.
ELSEIF ALL__CLI = ‘X’.
SELECT * FROM USR02 CLIENT SPECIFIED.
IF USR02-USTYP = ‘A’ AND USR02-BNAME NE ‘SAP*’
AND USR02-BNAME NE ‘DDIC’.
EMAIL_SEND-RECEIVER = USR02-BNAME.
EMAIL_SEND-REC_TYPE = ‘U’.
EMAIL_SEND-EXPRESS = ‘X’.
APPEND EMAIL_SEND.
ENDIF.
ENDSELECT.
ENDIF.
WRITE:/ ‘End of program’.
*****************************************************
CALL FUNCTION ‘SO_NEW_DOCUMENT_SEND_API1‘
EXPORTING
DOCUMENT_DATA = EMAIL_DATA
DOCUMENT_TYPE = ‘RAW’
PUT_IN_OUTBOX = ‘X’
IMPORTING
SENT_TO_ALL = SENT
NEW_OBJECT_ID = EMAIL_ID
TABLES
OBJECT_CONTENT = EMAIL_TEXT
RECEIVERS = EMAIL_SEND
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.
Source: Planet sap
If you like this post, you may as well like these too:
- Sizing by Users and by Throughput After this session you should be able to: Tell the different scopes of user and throughput sizing Know when to use which approach Understand the basic sizing algorithms for both...
- ABAP Programs: Selection screen events REPORT ZSOURCE1603 MESSAGE-ID SU. * Worka area TABLES CUSTOMERS. * Selection criteria PARAMETERS PCODE LIKE CUSTOMERS-POSTCODE. SELECT-OPTIONS S_NAME FOR CUSTOMERS-NAME. * Variables DATA: PARAMETER_LENGTH TYPE I, NUMBER_OF_SELECTIONS TYPE I....
- ABAP Programs:Dynamic Open SQL Commands: table name REPORT ZSOURCE2305. PARAMETERS TABLENAME(10) DEFAULT 'CUSTOMERS'. DATA COUNT_ROWS TYPE I. SELECT COUNT( * ) FROM (TABLENAME) INTO COUNT_ROWS. WRITE: TABLENAME, COUNT_ROWS. DATA WHERE_TAB(80) OCCURS 10 WITH HEADER LINE. APPEND 'name...
- ABAP Programs:Displaying the selection screen REPORT ZSOURCE1803. * Work area TABLES CUSTOMERS. * Selection criteria SELECT-OPTIONS S_NAME FOR CUSTOMERS-NAME. * running chap1801 and displaying the selection screen SUBMIT CHAP1801 VIA SELECTION-SCREEN WITH P_DATE =...
- ICON in Selection-Screen How to write the ICON in the selection screen. In the selection screen definition add the below code selection-screen comment 40(20) icon1. Now in event of at selection-screen output add...

















Leave a Reply