Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Sample Code arrow ABAP Reports arrow Sending EMail via ABAP
Sending EMail via ABAP PDF Print E-mail
User Rating: / 2
PoorBest 
Written by Kevin Wilson   
Monday, 26 February 2007
This sample function module provides an easy interface to SO_OBJECT_SEND enabling an easy emailing solution in ABAP. 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    =3D SY-LANGU.
  OHD-OBJNAM   =3D APPLICATION.
  OHD-OBJDES   =3D EMAILTITLE.
  OHD-OBJPRI   =3D 3.
  OHD-OBJSNS   =3D 'F'.
  OHD-OWNNAM   =3D 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 =3D 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 =3D 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             =3D 'X'
            OBJECT_HD_CHANGE           =3D OBJECT_HD
            OBJECT_TYPE                =3D 'RAW'
            OUTBOX_FLAG                =3D 'X'
            SENDER                     =3D SY-UNAME
       IMPORTING
            OBJECT_ID_NEW              =3D OID
            SENT_TO_ALL                =3D TO_ALL
            OFFICE_OBJECT_KEY          =3D OKEY
       TABLES
            OBJCONT                    =3D OBJCONT
            RECEIVERS                  =3D RECEIVERS
       EXCEPTIONS
            ACTIVE_USER_NOT_EXIST      =3D 1
            COMMUNICATION_FAILURE      =3D 2
            COMPONENT_NOT_AVAILABLE    =3D 3
            FOLDER_NOT_EXIST           =3D 4
            FOLDER_NO_AUTHORIZATION    =3D 5
            FORWARDER_NOT_EXIST        =3D 6
            NOTE_NOT_EXIST             =3D 7
            OBJECT_NOT_EXIST           =3D 8
            OBJECT_NOT_SENT            =3D 9
            OBJECT_NO_AUTHORIZATION    =3D 10
            OBJECT_TYPE_NOT_EXIST      =3D 11
            OPERATION_NO_AUTHORIZATION =3D 12
            OWNER_NOT_EXIST            =3D 13
            PARAMETER_ERROR            =3D 14
            SUBSTITUTE_NOT_ACTIVE      =3D 15
            SUBSTITUTE_NOT_DEFINED     =3D 16
            SYSTEM_FAILURE             =3D 17
            TOO_MUCH_RECEIVERS         =3D 18
            USER_NOT_EXIST             =3D 19
            X_ERROR                    =3D 20
            OTHERS                     =3D 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.

Related Items:

 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 330
Sample Code: 164
Total Contributions: 545

Member Activity
Members: 6061 since 2/1/2007!
New: 0 since yesterday!
Visitors: 959233
We have 3 guests online

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor