Skip to Content
0
Former Member
Feb 26, 2009 at 01:47 PM

exception systu00E8me ERROR_MESSAGE - job cancelled

106 Views

Hi,

We have developped a specific program to search for words in logfile. This program was added to a step after the program for which we want to search the logfile. When running the job, the step containing the specific program abended (see above for message). Nothing found in OS Log, ST22 or SM21.

This program run after one, which automatically starts several jobs at the same time (it simulates the processing of the FPCOPARA transaction). Is there any restriction to it ? Could memory be the reason ?

Thank you for your help

Sincerely

Dominique Charlier

Please use code tags when posting code.

P.S. : the program code :

*-----------------------------------------------------------------------
* Swisscom
*
* PROJEKT:
*-----------------------------------------------------------------------
* SAP-RELEASE:            7.00
*-----------------------------------------------------------------------
* DOKUMENTATION ZUM PROGRAMM:
*
* NAME:                   ZZCAJOBSTEPCHECKER
*
* ZWECK:                  Das Programm überprüft das aktive Job-Log
*                         auf bestimmte Muster und bricht im Erfolgsfall
*                         die weitere Verarbeitung ab und versendet ein
*                         Email mit dem Job-Log an eine Email-Adresse.
*
* VERWENDET:              FuBa für Job-Log
*                         FuBa zum Versenden von Emails
*
* INPUT:                  Aktives Job-Jog
*
* OUTPUT:                 E-Mail's
*-----------------------------------------------------------------------
* DOKUMENTATION ZU ERSTELLUNG/AENDERUNGEN:
*
* ERSTELLUNG:
*
* tturo    21.01.2009      Martin Rohrer by Matthias Bhend
* tfrchdo1 19.02.2009      Anpassung von Mail Meldung
*
* AENDERUNGSKONTROLLE:
*-----------------------------------------------------------------------
REPORT  ZZRMCA_JOBSTEPCHECKER.

*-----------------------------------------------------------------------
*   Tables
*-----------------------------------------------------------------------
  TABLES TBTCM.

*----------------------------------------------------------------------*
*    Define Global Variables
*----------------------------------------------------------------------*
  DATA: BEGIN OF T OCCURS 20.
          INCLUDE STRUCTURE TBTC5.
  DATA END OF T.
  DATA ALRT_TXT(100) TYPE C. "#EC *
  DATA  YES_NO TYPE C VALUE ' '.

*----------------------------------------------------------------------*
*   Selection
*----------------------------------------------------------------------*
  SELECTION-SCREEN BEGIN OF BLOCK ALERTPA WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS ALRT_LST FOR (ALRT_TXT) LOWER CASE.
  SELECTION-SCREEN END   OF BLOCK ALERTPA.

  SELECTION-SCREEN BEGIN OF BLOCK EMAILCON WITH FRAME TITLE TEXT-002.
    PARAMETERS: EMAIL_AD(100) TYPE C.
    PARAMETERS: ID_MELD(20) TYPE C OBLIGATORY LOWER CASE.
  SELECTION-SCREEN END OF BLOCK EMAILCON.

  SELECTION-SCREEN BEGIN OF BLOCK ADDTEXT WITH FRAME TITLE TEXT-003.
    PARAMETERS: EMAIL_L1(100) TYPE C LOWER CASE,
                EMAIL_L2(100) TYPE C LOWER CASE,
                EMAIL_L3(100) TYPE C LOWER CASE.
  SELECTION-SCREEN END OF BLOCK ADDTEXT.

  PERFORM CHECK_JOB_ERROR.

*&---------------------------------------------------------------------*
*& CHECK_JOB_ERROR                                                     *
*&---------------------------------------------------------------------*
*& Aktives Job-Jog auf Muster überprüfen                               *
*&---------------------------------------------------------------------*
  FORM CHECK_JOB_ERROR.

    CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
         IMPORTING
              EVENTID                 = TBTCM-EVENTID
              EVENTPARM               = TBTCM-EVENTPARM
              EXTERNAL_PROGRAM_ACTIVE = TBTCM-XPGACTIVE
              JOBCOUNT                = TBTCM-JOBCOUNT
              JOBNAME                 = TBTCM-JOBNAME
              STEPCOUNT               = TBTCM-STEPCOUNT
         EXCEPTIONS
              NO_RUNTIME_INFO         = 01.

    IF SY-SUBRC NE 0.
      MESSAGE TEXT-100 TYPE 'E'.
    ELSE.
      WRITE : / TBTCM-EVENTID, ' ',
                TBTCM-EVENTPARM, ' ',
                TBTCM-XPGACTIVE, ' ',
                TBTCM-JOBCOUNT, ' ',
                TBTCM-JOBNAME, ' ',
                TBTCM-STEPCOUNT.

      COMMIT WORK.
      CALL FUNCTION 'BP_JOBLOG_READ'
           EXPORTING
                CLIENT                = SY-MANDT
                JOBCOUNT              = TBTCM-JOBCOUNT
                JOBNAME               = TBTCM-JOBNAME
           TABLES
                JOBLOGTBL             = T
           EXCEPTIONS
                CANT_READ_JOBLOG      = 01
                JOBCOUNT_MISSING      = 02
                JOBLOG_DOES_NOT_EXIST = 03
                JOBLOG_IS_EMPTY       = 04
                JOBLOG_NAME_MISSING   = 05
                JOBNAME_MISSING       = 06
                JOB_DOES_NOT_EXIST    = 07.

      IF SY-SUBRC NE 0.
        MESSAGE TEXT-101 TYPE 'E'.
      ELSE.
       LOOP at alrt_lst.
           if yes_no EQ ''.
              loop at t.
                 FIND alrt_lst-low in t-text.
                 if sy-subrc = 0.
                    if yes_no EQ ''.
                       yes_no = 'X'.
                       exit.
                    endif.
                 endif.
              endloop.
           else.
             exit.
           endif.
        ENDLOOP.
*        Loop at t.
*          write : / t-text.
*        endloop.
*        loop at alrt_lst.
*            write : / alrt_lst.
*        endloop.
        "LOOP AT alrt_lst.
"            FIND ALRT_LST-LOW in T.
"            IF sy-subrc = 0.
"               IF YES_NO EQ ''.
"                  YES_NO = 'X'.
"               ENDIF.
"            ENDIF.
"        ENDLOOP.
*        LOOP AT T WHERE TEXT IN ALRT_LST.
*          IF YES_NO EQ ''.
*            YES_NO = 'X'.
*          ENDIF.
*        ENDLOOP.

        IF YES_NO = 'X'.
          PERFORM WRITE_EMAIL.
          MESSAGE T-TEXT TYPE 'E'.
        ENDIF.
      ENDIF.

    ENDIF.

ENDFORM.

*&---------------------------------------------------------------------*
*& WRITE_EMAIL                                                         *
*&---------------------------------------------------------------------*
*& Email über SAP Business Workplace versenden                         *
*&---------------------------------------------------------------------*
  FORM WRITE_EMAIL.

    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.

    EMAIL_DATA-OBJ_NAME = 'MESSAGE'.
      CONCATENATE ID_MELD TEXT-M01 TBTCM-JOBNAME '!'
        INTO EMAIL_DATA-OBJ_DESCR SEPARATED BY ' '.
    EMAIL_DATA-DOC_SIZE = 1.

    EMAIL_SEND-RECEIVER = EMAIL_AD.
    EMAIL_SEND-REC_TYPE = 'U'.
    EMAIL_SEND-EXPRESS = 'X'.
    APPEND EMAIL_SEND.

    EMAIL_TEXT-LINE = TEXT-M10. APPEND EMAIL_TEXT.
    EMAIL_TEXT-LINE = ''. APPEND EMAIL_TEXT.
    CONCATENATE TEXT-M11 TBTCM-JOBNAME TEXT-M12
      INTO EMAIL_TEXT-LINE SEPARATED BY ''. APPEND EMAIL_TEXT.

    EMAIL_TEXT-LINE = ''. APPEND EMAIL_TEXT.
    LOOP AT T.
      CONCATENATE T-ENTERDATE+6(1) '.' T-ENTERDATE+4(2) '.' T-ENTERDATE+0(4) '-'
        T-ENTERTIME+0(2) ':' T-ENTERTIME+2(2) ':' T-ENTERTIME+4(2)
        INTO EMAIL_TEXT-LINE.
      CONCATENATE EMAIL_TEXT-LINE T-TEXT INTO EMAIL_TEXT-LINE SEPARATED BY ' '.
      APPEND EMAIL_TEXT.
    ENDLOOP.
    EMAIL_TEXT-LINE = ''. APPEND EMAIL_TEXT.

    IF EMAIL_L1 NE ''.
      EMAIL_TEXT-LINE = EMAIL_L1. APPEND EMAIL_TEXT.
    ENDIF.
    IF EMAIL_L2 NE ''.
      EMAIL_TEXT-LINE = EMAIL_L2. APPEND EMAIL_TEXT.
    ENDIF.
    IF EMAIL_L3 NE ''.
      EMAIL_TEXT-LINE = EMAIL_L3. APPEND EMAIL_TEXT.
    ENDIF.
    EMAIL_TEXT-LINE = ''. APPEND EMAIL_TEXT.

    EMAIL_TEXT-LINE = TEXT-M50. APPEND EMAIL_TEXT.
    EMAIL_TEXT-LINE = TEXT-M51. APPEND EMAIL_TEXT.
    EMAIL_TEXT-LINE = TEXT-M52. APPEND EMAIL_TEXT.

    CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
      EXPORTING
           DOCUMENT_DATA = EMAIL_DATA
           DOCUMENT_TYPE = 'RAW'
           PUT_IN_OUTBOX = 'X'
           COMMIT_WORK = 'X'
       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.

    IF SY-SUBRC NE 0.
      MESSAGE TEXT-102 TYPE 'E'.
    ENDIF.

  ENDFORM.

Edited by: Rob Burbank on Feb 26, 2009 10:21 AM

Added code tags