Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

EMAIL

P311729
Explorer
0 Likes
511

i have submitted a report in the back groud. the out put is in the spool.

But my requirement is to send a mail that the out put has been stored with the respective spool number.

How is this done?

2 REPLIES 2
Read only

Former Member
0 Likes
484

'SO_NEW_DOCUMENT_SEND_API1' will be useful.

Pelase reward if useful

reagrds

Read only

Former Member
0 Likes
484

Hi,

  • After running the background jobs, send the spool to the SAP users Office Mail Box.

REPORT ZMAILSPOOL. 

INCLUDE LBTCHDEF. 
* 
* Include the Business Object Repository object 
INCLUDE <CNTN01>. 

DATA ABAPNM LIKE SY-REPID. 

DATA BEGIN OF LOCAL_JOB. 
INCLUDE STRUCTURE TBTCJOB. 
DATA END OF LOCAL_JOB. 

DATA BEGIN OF LOCAL_STEP_TBL OCCURS 10. 
INCLUDE STRUCTURE TBTCSTEP. 
DATA END OF LOCAL_STEP_TBL. 

* 
* Data declarations for the mail recipient 
DATA RECIPIENT TYPE SWC_OBJECT. 
DATA RECIPIENT_OBJ LIKE SWOTOBJID. 
SWC_CONTAINER CONTAINER. 

* Data declarations for the background job 
PARAMETERS ABAPNAME(20) DEFAULT 'ZTEST1'. 
PARAMETERS EMPFNAME LIKE SY-UNAME DEFAULT SY-UNAME. 

ABAPNM = ABAPNAME. 
LOCAL_JOB-JOBNAME = ABAPNAME. 
* Generate recipient object (see report RSSOKIF1 for an example) 
*** 1. Create the recipient: 

IF EMPFNAME <> SPACE. 
"** 1.1 Generate an object reference to a recipient object 
SWC_CREATE_OBJECT RECIPIENT 'RECIPIENT' SPACE. 

"** 1.2 Write the import parameters for method 
"** recipient.createaddress into the container 
"** and empty the container 
SWC_CLEAR_CONTAINER CONTAINER. 
"** Set address element (internal user 'JSMITH') 
SWC_SET_ELEMENT CONTAINER 'AddressString' EMPFNAME. 
"** Set address type (internal user) 
SWC_SET_ELEMENT CONTAINER 'TypeId' 'B'. 

"** 1.3 Call the method recipient.createaddress 
SWC_CALL_METHOD RECIPIENT 'CreateAddress' CONTAINER. 
"** Issue any error message generated by a method exception 
IF SY-SUBRC NE 0. 
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO. 
ENDIF. 
SWC_CALL_METHOD RECIPIENT 'Save' CONTAINER. 
SWC_OBJECT_TO_PERSISTENT RECIPIENT RECIPIENT_OBJ. 
ENDIF. 
*** Recipient has been generated and is ready for use in a 
*** background job 

CALL FUNCTION 'JOB_OPEN' 
     exporting 
*      DELANFREP              = ' ' 
*      JOBGROUP               = ' ' 
       jobname                = LOCAL_JOB-JOBNAME 
*      SDLSTRTDT              = NO_DATE 
*      SDLSTRTTM              = NO_TIME 
     IMPORTING 
       JOBCOUNT               = LOCAL_JOB-JOBCOUNT 
     EXCEPTIONS 
       CANT_CREATE_JOB        = 1 
       INVALID_JOB_DATA       = 2 
       JOBNAME_MISSING        = 3 
       OTHERS                 = 4 
             . 
   if sy-subrc <> 0. 
      WRITE: / 'JOB_OPEN PROBLEM ', SY-SUBRC. 
   ELSE. 
      WRITE: / 'JOB OPEN SUCCESS', 
                                  LOCAL_JOB-JOBNAME, LOCAL_JOB-JOBCOUNT. 
   endif. 

CALL FUNCTION 'JOB_SUBMIT' 
     exporting 
*      ARCPARAMS                         = 
       authcknam                         = SY-UNAME 
*      COMMANDNAME                       = ' ' 
*      OPERATINGSYSTEM                   = ' ' 
*      EXTPGM_NAME                       = ' ' 
*      EXTPGM_PARAM                      = ' ' 
*      EXTPGM_SET_TRACE_ON               = ' ' 
*      EXTPGM_STDERR_IN_JOBLOG           = 'X' 
*      EXTPGM_STDOUT_IN_JOBLOG           = 'X' 
*      EXTPGM_SYSTEM                     = ' ' 
*      EXTPGM_RFCDEST                    = ' ' 
*      EXTPGM_WAIT_FOR_TERMINATION       = 'X' 
       jobcount                          = LOCAL_JOB-JOBCOUNT 
       jobname                           = LOCAL_JOB-JOBNAME 
*      LANGUAGE                          = SY-LANGU 
*      PRIPARAMS                         = ' ' 
       REPORT                            = ABAPNM 
*      REPORT                            = 'ZTEST1' 
*      VARIANT                           = ' ' 
*    IMPORTING 
*      STEP_NUMBER                       = LOCAL_JOB-STEPCOUNT 
     EXCEPTIONS 
       BAD_PRIPARAMS                     = 1 
       BAD_XPGFLAGS                      = 2 
       INVALID_JOBDATA                   = 3 
       JOBNAME_MISSING                   = 4 
       JOB_NOTEX                         = 5 
       JOB_SUBMIT_FAILED                 = 6 
       LOCK_FAILED                       = 7 
       PROGRAM_MISSING                   = 8 
       PROG_ABAP_AND_EXTPG_SET           = 9 
       OTHERS                            = 10 
             . 
   if sy-subrc <> 0. 
      WRITE: / 'JOB_SUBMIT PROBLEM ', LOCAL_JOB-JOBCOUNT, 
               LOCAL_JOB-JOBNAME, ABAPNAME, SY-SUBRC. 
   endif. 

IF EMPFNAME <> SPACE. 
CALL FUNCTION 'JOB_CLOSE' 
  exporting 
*   AT_OPMODE                         = ' ' 
*   AT_OPMODE_PERIODIC                = ' ' 
*   CALENDAR_ID                       = ' ' 
*   EVENT_ID                          = ' ' 
*   EVENT_PARAM                       = ' ' 
*   EVENT_PERIODIC                    = ' ' 
    jobcount                          = LOCAL_JOB-JOBCOUNT 
    jobname                           = LOCAL_JOB-JOBNAME 
*   LASTSTRTDT                        = NO_DATE 
*   LASTSTRTTM                        = NO_TIME 
*   PRDDAYS                           = 0 
*   PRDHOURS                          = 0 
*   PRDMINS                           = 0 
*   PRDMONTHS                         = 0 
*   PRDWEEKS                          = 0 
*   PREDJOB_CHECKSTAT                 = ' ' 
*   PRED_JOBCOUNT                     = ' ' 
*   PRED_JOBNAME                      = ' ' 
*   SDLSTRTDT                         = NO_DATE 
*   SDLSTRTTM                         = NO_TIME 
*   STARTDATE_RESTRICTION             = BTC_PROCESS_ALWAYS 
    STRTIMMED                         = 'X' 
*   TARGETSYSTEM                      = ' ' 
*   START_ON_WORKDAY_NOT_BEFORE       = SY-DATUM 
*   START_ON_WORKDAY_NR               = 0 
*   WORKDAY_COUNT_DIRECTION           = 0 
    RECIPIENT_OBJ                     = RECIPIENT_OBJ 
*   TARGETSERVER                      = ' ' 
*   DONT_RELEASE                      = ' ' 
* IMPORTING 
*   JOB_WAS_RELEASED                  = 'X' 
  EXCEPTIONS 
    CANT_START_IMMEDIATE              = 1 
    INVALID_STARTDATE                 = 2 
    JOBNAME_MISSING                   = 3 
    JOB_CLOSE_FAILED                  = 4 
    JOB_NOSTEPS                       = 5 
    JOB_NOTEX                         = 6 
    LOCK_FAILED                       = 7 
    OTHERS                            = 8 
          . 

IF ( SY-SUBRC <> 0 ). 
  WRITE: / 'Job_Close Problem:', ABAPNAME, SY-SUBRC. 
ELSE. 
  WRITE: / 'Job_Close done'. 
ENDIF. 

ELSE. "no empfname 
... 
ENDIF.

Regards

Sudheer