Warning: include_once(http://erpgenie.com/_borders/topabap.htm) [function.include-once]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/vhosts/erpgenie.com/httpdocs/abaptips/templates/rhuk_solarflare_ii/index.php on line 52

Warning: include_once() [function.include]: Failed opening 'http://erpgenie.com/_borders/topabap.htm' for inclusion (include_path='.:') in /var/www/vhosts/erpgenie.com/httpdocs/abaptips/templates/rhuk_solarflare_ii/index.php on line 52
Home arrow Sample Code arrow ABAP Reports arrow Send an EMail in your ABAP
Send an EMail in your ABAP PDF Print E-mail
User Rating: / 1
PoorBest 
Written by Kevin Wilson   
Saturday, 20 January 2007

Pre-Requisites

SAP Exchange Connector needs to be configured or another email service.

See http://groups.yahoo.com/group/erpgenie/files/EMailing%20with%20SAP/ for a document describing this installation procedure.

* Email ITAB structure
DATA: BEGIN OF EMAIL_ITAB OCCURS 10.
        INCLUDE STRUCTURE SOLI.
DATA: END OF EMAIL_ITAB.
 
DATA: T_EMAIL LIKE SOOS1-RECEXTNAM.  "EMail distribution list
CONSTANTS: C_EMAIL_DISTRIBUTION LIKE SOOS1-RECEXTNAM VALUE
           ‘ This e-mail address is being protected from spam bots, you need JavaScript enabled to view it , This e-mail address is being protected from spam bots, you need JavaScript enabled to view it ’.
 
* Initialization
REFRESH EMAIL_ITAB.
 
* Populate data
EMAIL_ITAB-LINE = ‘Email body text 1’.
APPEND EMAIL_ITAB.
EMAIL_ITAB-LINE = ‘Email body text 2’.
APPEND EMAIL_ITAB.
 
T_EMAIL = C_EMAIL_DISTRIBUTION.
 
* --- EMAIL FUNCTION ---------------------------------------------------
* REQUIRMENTS:
* 1) The user running the program needs a valid email address in their
*    address portion of tx SU01 under external comms -> SMTP -> internet
*    address.
* 2) A job called SAP_EMAIL is running with the following parameters:
*    Program: RSCONN01  Variant: INT   User: XXX
*    This program moves mail from the outbox to the mail server using
*    RFC destination: SAP_INTERNET_GATEWAY_SERVER
* INTERFACE:
* 1) APPLICATION: Anything
* 2) EMAILTITLE:  EMail subject
* 3) RECEXTNAM:   EMail distribution lists separated by commas
* 4) TEXTTAB:     Internal table for lines of the email message
* EXCEPTIONS:
* Send OK = 0 otherwise there was a problem with the send.
* ----------------------------------------------------------------------
    CALL FUNCTION 'Z_SEND_EMAIL_ITAB'
         EXPORTING
              APPLICATION = 'EMAIL'
              EMAILTITLE  = 'Email Subject'
              RECEXTNAM   = T_EMAIL
         TABLES
              TEXTTAB     = EMAIL_ITAB
         EXCEPTIONS
              OTHERS      = 1.
Function Z_SEND_EMAIL_ITAB
*"*"Local interface:
*"       IMPORTING
*"             VALUE(APPLICATION) LIKE  SOOD1-OBJNAM
*"             VALUE(EMAILTITLE) LIKE  SOOD1-OBJDES
*"             VALUE(RECEXTNAM) LIKE  SOOS1-RECEXTNAM
*"       TABLES
*"              TEXTTAB STRUCTURE  SOLI
*"------------------------------------------------------------------
 
*- local data declaration
  DATA: OHD    LIKE SOOD1,
        OID    LIKE SOODK,
        TO_ALL LIKE SONV-FLAG,
        OKEY   LIKE SWOTOBJID-OBJKEY.
  DATA: BEGIN OF RECEIVERS OCCURS 0.
          INCLUDE STRUCTURE SOOS1.
  DATA: END OF RECEIVERS.
 
*- fill odh
  CLEAR OHD.
  OHD-OBJLA    = SY-LANGU.
  OHD-OBJNAM   = APPLICATION.
  OHD-OBJDES   = EMAILTITLE.
  OHD-OBJPRI   = 3.
  OHD-OBJSNS   = 'F'.
  OHD-OWNNAM   = SY-UNAME.
 
*- send Email
  CONDENSE RECEXTNAM NO-GAPS.
  CHECK RECEXTNAM <> SPACE AND RECEXTNAM CS '@'.
 
*- for every individual recipient send an Email
* (see OSS message 0120050409/0000362105/1999)
  WHILE RECEXTNAM CS ','.
    PERFORM INIT_REC TABLES RECEIVERS.
    READ TABLE RECEIVERS INDEX 1.
    RECEIVERS-RECEXTNAM = RECEXTNAM+0(SY-FDPOS).
    ADD 1 TO SY-FDPOS.
    SHIFT RECEXTNAM LEFT BY SY-FDPOS PLACES.
    MODIFY RECEIVERS INDEX 1.
    PERFORM SO_OBJECT_SEND_REC
     TABLES TEXTTAB RECEIVERS
      USING OHD.
  ENDWHILE.
 
*- check last recipient in recipient list
  IF RECEXTNAM <> SPACE.
    PERFORM INIT_REC TABLES RECEIVERS.
    READ TABLE RECEIVERS INDEX 1.
    RECEIVERS-RECEXTNAM = RECEXTNAM.
    MODIFY RECEIVERS INDEX 1.
    PERFORM SO_OBJECT_SEND_REC
     TABLES TEXTTAB RECEIVERS
      USING OHD.
  ENDIF.
 
ENDFUNCTION.
 
*---------------------------------------------------------------------*
*       FORM SO_OBJECT_SEND_REC                                       *
*---------------------------------------------------------------------*
FORM  SO_OBJECT_SEND_REC
TABLES  OBJCONT      STRUCTURE SOLI
        RECEIVERS    STRUCTURE SOOS1
USING   OBJECT_HD    STRUCTURE SOOD1.
 
  DATA:   OID     LIKE SOODK,
          TO_ALL  LIKE SONV-FLAG,
          OKEY    LIKE SWOTOBJID-OBJKEY.
 
  CALL FUNCTION 'SO_OBJECT_SEND'
       EXPORTING
            EXTERN_ADDRESS             = 'X'
            OBJECT_HD_CHANGE           = OBJECT_HD
            OBJECT_TYPE                = 'RAW'
            OUTBOX_FLAG                = 'X'
            SENDER                     = SY-UNAME
       IMPORTING
            OBJECT_ID_NEW              = OID
            SENT_TO_ALL                = TO_ALL
            OFFICE_OBJECT_KEY          = OKEY
       TABLES
            OBJCONT                    = OBJCONT
            RECEIVERS                  = RECEIVERS
       EXCEPTIONS
            ACTIVE_USER_NOT_EXIST      = 1
            COMMUNICATION_FAILURE      = 2
            COMPONENT_NOT_AVAILABLE    = 3
            FOLDER_NOT_EXIST           = 4
            FOLDER_NO_AUTHORIZATION    = 5
            FORWARDER_NOT_EXIST        = 6
            NOTE_NOT_EXIST             = 7
            OBJECT_NOT_EXIST           = 8
            OBJECT_NOT_SENT            = 9
            OBJECT_NO_AUTHORIZATION    = 10
            OBJECT_TYPE_NOT_EXIST      = 11
            OPERATION_NO_AUTHORIZATION = 12
            OWNER_NOT_EXIST            = 13
            PARAMETER_ERROR            = 14
            SUBSTITUTE_NOT_ACTIVE      = 15
            SUBSTITUTE_NOT_DEFINED     = 16
            SYSTEM_FAILURE             = 17
            TOO_MUCH_RECEIVERS         = 18
            USER_NOT_EXIST             = 19
            X_ERROR                    = 20
            OTHERS                     = 21.
  IF SY-SUBRC <> 0.
    RAISE OTHERS.
  ENDIF.
ENDFORM.
 
*---------------------------------------------------------------------*
*       FORM INIT_REC                                                 *
*---------------------------------------------------------------------*
FORM INIT_REC TABLES RECEIVERS STRUCTURE SOOS1.
  CLEAR RECEIVERS.
  REFRESH RECEIVERS.
  MOVE SY-DATUM  TO RECEIVERS-RCDAT .
  MOVE SY-UZEIT  TO RECEIVERS-RCTIM.
  MOVE '1'       TO RECEIVERS-SNDPRI.
  MOVE 'X'       TO RECEIVERS-SNDEX.
  MOVE 'U-'      TO RECEIVERS-RECNAM.
  MOVE 'U'       TO RECEIVERS-RECESC.
  MOVE 'INT'     TO RECEIVERS-SNDART.
  MOVE '5'       TO RECEIVERS-SORTCLASS.
  APPEND RECEIVERS.
ENDFORM.

 
< Prev

Google Search

Google Ads


Warning: include(http://erpgenie.com/_borders/bottom.htm) [function.include]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/vhosts/erpgenie.com/httpdocs/abaptips/includes/footer.php on line 22

Warning: include() [function.include]: Failed opening 'http://erpgenie.com/_borders/bottom.htm' for inclusion (include_path='.:') in /var/www/vhosts/erpgenie.com/httpdocs/abaptips/includes/footer.php on line 22