Quantcast
Channel: SCN: Message List - ABAP Development
Viewing all articles
Browse latest Browse all 10425

Re: Failure Mail Alert

$
0
0

Hi Nair,

 

I think the code is ok! just modified as per the second situation!

 

TYPES:BEGIN OF TY_JOB,

LOG_ID type  RSPC_LOGID,

TYPE   type  RSPC_TYPE,

EVENT_START type BTCEVENTID,

JOB_COUNT type BTCJOBCNT,

BATCHDATE  type BTCRELDT,

BATCHTIME type BTCRELTM,

VARIANTE type RSPC_VARIANT,

INSTANCE type RSPC_INSTANCE,

STATE type RSPC_STATE,

ACTUAL_STATE type RSPC_STATE,

STARTTIMESTAMP type RSTIMESTMPL,

ENDTIMESTAMP type RSTIMESTMPL,

end of ty_job,

BEGIN OF TY_JOBNAME,

       CHAIN_ID TYPE RSPC_CHAIN,

       LOG_ID  TYPE RSPC_LOGID,

       DATUM   TYPE SYDATUM,

       ZEIT    TYPE SYUZEIT,

       MANUAL_ABORT  TYPE RSPC_MANUAL_ABORT,

END OF TY_JOBNAME.

 

 

data: gt_job type table of ty_job,

       gt_jobb type table of ty_job,

       gt_jobname type table of  ty_jobname,

       gs_job type ty_job,

       gs_jobname type ty_jobname,

       gs_maildata type SODOCCHGI1,

       mailtxt type table of SOLISTI1 with header line,

       mailrec type table of SOMLRECI1 with header line,

       OBJPACK   LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE,

       OBJBIN    LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE,

       ls_log_id type RSPC_LOGID,

       ls_date type sydatum,

       ls_time type sy-uzeit,

       ls_params like pri_params,

       ls_jobcount like tbtcjob-jobcount,

       ls_jobname like tbtcjob-jobname,

       gt_JOB_LOG type TABLE OF RSPC_S_MSG,

       gs_job_log type rspc_s_msg,

       TAB_LINES LIKE SY-TABIX.

*   DATA L_NUM(3).

 

*constants: cv_1 value 'G',

*            cv_2 value 'A',

*            cv_3 value 'F',

*            cv_4 value 'P'.

 

 

start-of-selection.

wait until gs_job-actual_state <> 'G'.

ls_date = sy-datum.

ls_date = ls_date - 1.

 

 

 

select LOG_ID

        TYPE

        EVENT_START

        JOB_COUNT

        BATCHDATE

        BATCHTIME

        VARIANTE

        INSTANCE

        STATE

        ACTUAL_STATE

        STARTTIMESTAMP

        ENDTIMESTAMP

        from RSPCPROCESSLOG

        into table gt_job

        where state not in ('F','G','A','P',' ')

        and batchdate between ls_date and sy-datum.

check sy-subrc = 0.

 

 

loop at gt_job into gs_job.

   SELECT SINGLE log_id

          from RSPCPROCESSLOG

          into ls_log_id

          WHERE log_id = gs_job-log_id

          AND type = gs_job-type

          and job_count = gs_job-job_count

          and state in  ('A','F','G').

 

     if sy-subrc ne 0.

       CONTINUE.

       else.

         DELETE gt_job from gs_job.

         endif.

         CLEAR gs_job.

   ENDLOOP.

 

* if two entries are exists - need to send one mail only

DELETE ADJACENT DUPLICATES from gt_job comparing type job_count.....

 

IF GT_JOB[] IS NOT INITIAL.

select  CHAIN_ID

         LOG_ID

         DATUM

         ZEIT

         MANUAL_ABORT

         from RSPCLOGCHAIN

         into table gt_jobname

         for all entries in gt_job

         where log_id = gt_job-log_id.

ENDIF.

loop at gt_jobname into gs_jobname.

  mailtxt-line = gs_jobname-chain_id.

  append mailtxt.

endloop.

loop at gt_job_log into gs_job_log.

   if gs_job_log-msgv4 = text-004.

   CONCATENATE gs_job_log-msgv1

               gs_job_log-msgv2

               gs_job_log-msgv4 into mailtxt SEPARATED BY space.

  append mailtxt.

  endif.

ENDLOOP.

clear: gs_maildata,mailrec,mailtxt.

gs_maildata-obj_name = text-002.

gs_maildata-obj_descr = text-001.

gs_maildata-obj_langu = sy-langu.

mailrec-receiver = 'ZAPO_JOBS'.

mailrec-rec_type = 'C'.

append mailrec.

 

 

 

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'

   EXPORTING

     DOCUMENT_DATA                    = gs_maildata

    DOCUMENT_TYPE                    = 'RAW'

    PUT_IN_OUTBOX                    =  'X'

    COMMIT_WORK                      = 'X'

* IMPORTING

*   SENT_TO_ALL                      =

*   NEW_OBJECT_ID                    =

   TABLES

    OBJECT_HEADER                    = mailtxt

    OBJECT_CONTENT                   = mailtxt

*   CONTENTS_HEX                     =

*   OBJECT_PARA                      =

*   OBJECT_PARB                      =

     RECEIVERS                        = mailrec

  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

           .

IF SY-SUBRC <> 0.

  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.


Viewing all articles
Browse latest Browse all 10425

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>