× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I hope the following, excerpted from our Introduction to AS/400 Journaling
session, helps and is not too big:

Copyright 1991-2001 MPH, Inc., Okemos, MI USA, All Rights Reserved

** RECEIVE JOURNAL ENTRY

 RCVJRNE JRN($JRNLIB/$JRN) EXITPGM(PGMLIB/PGMNAME)
             FILE(FILELIB/FILENAME) ENTTYP(PT UP DL)
             DELAY(60)


** SPECIFIED EXIT PROGRAM RECEIVES NEW JOURNAL RECEIVER ENTRIES ONE AT A
TIME EVERY 60 SECONDS FROM JOURNAL $JRN IN LIBRARY $JRNLIB

 ** DEFAULT IS EVERY 30 SECONDS


** TWO PARAMETERS PASSED

 ** JOURNAL ENTRY FIRST PARAMETER

 ** SINGLE CHARACTER FLAG SECOND PARAMETER

** SIMILAR TO FORMAT OF QADSPJRN

FORMAT OF STATUS FLAG PARAMETER 2

9 RCVJRNE ENDS IF PROGRAM SETS TO 9
0 RCVJRNE SETS TO 0 IF NO NEW JOURNAL ENTRIES TO PASS
1 RCVJRNE SETS TO 1 IF NEW JOURNAL ENTRY PASSED

** PROGRAM CALLED WITH PARM 2 = '1' IF NEW JOURNAL RECEIVER ENTRY

** PROGRAM CALLED WITH PARM 2 = '0' IF NO MORE JOURNAL RECEIVER ENTRIES

** PROGRAM SETS PARM 2 = '9' TO END CL PROGRAM

** FILE OPTIONAL

 ** FILE(*ALL) IS DEFAULT


** ENTRY TYPE OPTIONAL

 ** ENTTYP(*ALL) DEFAULT

 ** PT = RECORD ADDED

 ** UP = RECORD UPDATED

 ** DL = RECORD DELETED

 ** ENTTYP(*RCD) ALSO SENDS UB (BEFORE IMAGE)


** NUMEROUS OTHER SELECTION CRITERIAL ALSO AVAILABLE

/*                                                                  */
/* STRJPGMC - START JOURNAL PROCESSING PROGRAM                      */
/* 12 JUL 92 - CHARLES L. MASSOGLIA                                 */
/*                                                                  */
/* COPYRIGHT 1992, MPH, INC., OKEMOS, MICHIGAN, ALL RIGHTS RESERVED */
/*                                                                  */
             PGM

/* DECLARE PROGRAM VARIABLES  */
             DCL        VAR(&JOBTYPE)  TYPE(*CHAR) LEN(1)
             DCL        VAR(&JOB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&USER) TYPE(*CHAR) LEN(10)
             DCL        VAR(&NBR) TYPE(*CHAR) LEN(6)
             DCL        VAR(&STATUS) TYPE(*CHAR) LEN(1)

/* VERIFY THAT JOB IS NOT ALREADY ACTIVE */
             RTVDTAARA  DTAARA(KWAJP (27 1)) RTNVAR(&STATUS)
             IF         COND(&STATUS *EQ 'A') THEN(DO)
             SNDPGMMSG  MSG('Journal processing program +
                          already active') MSGTYPE(*COMP)
             RETURN
             ENDDO

/*  SUBMIT JOB TO BATCH IF RUNNING INTERACTIVELY  */
             RTVJOBA    TYPE(&JOBTYPE)  /* '1'=INTERACTIVE */
             IF         COND(&JOBTYPE *EQ '1') THEN(DO)
             SBMJOB     CMD(CALL PGM(STRJPGMC)) JOBQ(QS36EVOKE)
             SNDPGMMSG  MSG('Journal processing program +
                          has been submitted') MSGTYPE(*COMP)
             RETURN
             ENDDO

/* RETRIEVE JOB NAME */
             RTVJOBA    JOB(&JOB) USER(&USER) NBR(&NBR)

/* PUT JOBNAME AND ACTIVE FLAG IN KWAJP DTAARA */
             CHGDTAARA  DTAARA(KWAJP (1 27)) VALUE(&JOB *CAT +
                          &USER *CAT &NBR *CAT 'A')
/* START JOURNAL PROCESSING PROGRAM  */
             RCVJRNE    JRN($JRNLIB/$JRN) EXITPGM(EIRUKW) +
                          FILE((STUDNAME) (CUSTMAST)) ENTTYP(DL PT UP)
             MONMSG     MSGID(CPF7062) /* CPF7062=No entries +
                          converted or received */

END:         ENDPGM

** CL PROGRAM SUBMITS ITSELF IT RUNNING INTERACTIVELY

** DATA AREA USED TO CONTROL WHETHER JOB ALREADY RUNNING

     F*
     F*  EIRUKW - UPDATE KEYWORD/SOUNDEX FROM JOURNAL RECEIVER
     F*  19 JUL 92 - CHARLES L. MASSOGLIA
     F*
     F*  COPYRIGHT 1992, MPH, INC., OKEMOS, MICHIGAN ALL RIGHTS RESERVED
     F*

     IDsname....NODsExt-file++.............OccrLen+...............
     I*
     I* EXTERNALLY DEFINED DATA STRUCTURE TO RECEIVE RECEIVER IMAGE
     I* (NOTE LENGTH 4221 TO OVERCOME JOESD LENGTH OF 100.  POSITIONS
     I* 1-125 DEFINE JOURNAL FIELDS, DATA IN POSITIONS 126-4221 = 4096.)
     I*
     IJRNRCV    E DSQADSPJRN                   4221
     I                                      126 381 DATA
     I*
     I* EXTERNALLY DEFINED DATA STRUCTURE TO RECEIVE CUSTMAST IMAGE
     I*
     IFILECM    E DSCUSTMAST
     I*
     I* EXTERNALLY DEFINED DATA STRUCTURE TO RECEIVE STUDNAME IMAGE
     I*
     IFILESN    E DSSTUDNAME     I*
     I* NAMED DATA AREA TO TRACK JOB NAME AND STATUS
     I*
     IDsname....NODsExt-file++.............OccrLen+...............
     IKWAJP      UDS                            256
     I                                       27  27 @STAT

     CSRn01n02n03Factor1+++OpCdeFactor2+++ResultLenDHHILOEQComment
     C*
     C***  ENTRY PARAMETER LIST
     C*
     C           *ENTRY    PLIST
     C                     PARM           JRNRCV            EXT DEF DS
     C                     PARM           $$FLAG  1         CONTROL FLAG
     C*
     C***  RETURN IF ENDJOB, PWRDWNSYS, ENDSYS, OR ENDSBS
     C***  IN PROGRESS WITH *CTRLD OPTION SPECIFIED
     C*
     C                     SHTDN                     50    GT ON IF ENDxxx
B001 C           *IN50     IFEQ *ON                         OR PWRDWNSYS
 001 C                     MOVE '9'       $$FLAG  1         END RCVJRNE CMD
 001 C                     MOVE 'I'       @STAT             DTAARA STATUS
 001 C                     MOVE *ON       *INLR             END RPG PGM
 001 C                     RETRN                            RETURN TO CL PGM
E001 C                     ENDIF
     C*
     C***  RETURN IF NO NEW ENTRIES OR INCORRECT ENTRY TYPE
     C*
B001 C           $$FLAG    IFEQ '0'                        IF NO NEW ENTRIES
 001 C           JOENTT    ORNE 'DL'                       OR NOT DELETE
 001 C           JOENTT    ANDNE'PT'                        AND NOT ADD
 001 C           JOENTT    ANDNE'UP'                        AND NOT UPDATE
 001 C                     RETRN                            RETURN TO CL PGM
E001 C                     ENDIF
     C*
     C***  PROCESS FILES
     C*
B001 C           JOOBJ     CASEQ'CUSTMAST'@@UPCM           PROCESS CUSTMAST
 001 C           JOOBJ     CASEQ'STUDNAME'@@UPSN           PROCESS STUDNAME
E001 C                     ENDCS
     C*
     C***  DONE
     C*
     C                     RETRN                           RETURN TO CL PGM
*----------------------------------------------------------------
      * Subroutine @@UPCM - UPDATE CUSTMAST KEYWORD/SOUNDEX FILES
      *----------------------------------------------------------------
     C           @@UPCM    BEGSR
     C*
     C***  MOVE RECEIVER DATA IMAGE (DATA) INTO EXTERNALLY DEFINED
     C***  DATA STRUCTURE (FILECM) TO GET CUSTMAST CMxxxx FIELDS
     C*
     C                     MOVELDATA      FILECM
     C*
     C***  CALL UPDATE PROGRAM
     C*
     C                     CALL 'KWRUKW'
     C                     PARM CMID      $ID     90       ID NUMBER
     C                     PARM           JOENTT           ENTRY TYPE
     C                     PARM CMNAME    $IN   128        NAME
     C                     PARM 'CM'      $DSG    2        FILE DESIGNATOR
     C                     PARM           $ERR    1        ERROR FLAG
     C                     ENDSR
      *----------------------------------------------------------------
      * Subroutine @@UPSN - UPDATE STUDNAME KEYWORD/SOUNDEX FILES
      *----------------------------------------------------------------
     C           @@UPSN    BEGSR
     C*
     C***  MOVE RECEIVER DATA IMAGE (DATA) INTO EXTERNALLY DEFINED
     C***  DATA STRUCTURE (FILESN) TO GET STUDNAME SNxxxx FIELDS
     C*
     C                     MOVELDATA      FILESN
     C*
     C***  CALL UPDATE PROGRAM
     C*
     C                     CALL 'KWRUKW'
     C                     PARM SNID      $ID     90       ID NUMBER
     C                     PARM           JOENTT           ENTRY TYPE
     C                     PARM SNNAME    $IN   128        NAME
     C                     PARM 'SN'      $DSG    2        FILE DESIGNATOR
     C                     PARM           $ERR    1        ERROR FLAG
     C                     ENDSR
** PROGRAM RECEIVES JOURNAL ENTRIES, CHECKS FILE, AND CALLS ANOTHER PROGRAM
TO PROCESS ENTRIES/*
*/
/* ENDJPGMC - END JOURNAL PROCESSING PROGRAM                        */
/* 30 JUL 92 - CHARLES L. MASSOGLIA                                 */
/*                                                                  */
/* COPYRIGHT 1992, MPH, INC., OKEMOS, MICHIGAN, ALL RIGHTS RESERVED */
/*                                                                  */
             PGM

/* DECLARE PROGRAM VARIABLES  */
             DCL        VAR(&JOB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&USER) TYPE(*CHAR) LEN(10)
             DCL        VAR(&NBR) TYPE(*CHAR) LEN(6)
             DCL        VAR(&STATUS) TYPE(*CHAR) LEN(1)

/*  DETERMINE WHETHER JOURNAL PROCESSING JOB IS ACTIVE  */
             RTVDTAARA  DTAARA(KWAJP (27 1)) RTNVAR(&STATUS)
             IF         COND(&STATUS *NE 'A') THEN(DO)
             SNDPGMMSG  MSG('Journal processing +
                          program is not active.') MSGTYPE(*COMP)
             RETURN
             ENDDO

/*  RETRIEVE JOURNAL PROCESSING JOB NAME AND END IT  */
             RTVDTAARA  DTAARA(KWAJP (1 10)) RTNVAR(&JOB)
             RTVDTAARA  DTAARA(KWAJP (11 10)) RTNVAR(&USER)
             RTVDTAARA  DTAARA(KWAJP (21 6)) RTNVAR(&NBR)
             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Ending +
                          journal processing program.  Please wait +
                          1.5 minutes') TOPGMQ(*EXT) MSGTYPE(*STATUS)
             ENDJOB     JOB(&NBR/&USER/&JOB) DELAY(60)

/*  IF JOB HAS COMPLETED, DISPLAY MESSAGE AND CLEAR DATA AREA  */
             MONMSG     MSGID(CPF1321 CPF1362) EXEC(DO) /* +
                          CPF1321-JOB NOT FOUND, CPF1362-JOB +
                          COMPLETED */
             CHGDTAARA  DTAARA(KWAJP (27 1)) VALUE('I') /* CHANGE +
                          STATUS TO INACTIVE */
             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Journal +
                          processing program not active.  +
                          OK to restart') MSGTYPE(*COMP)
             RETURN
             ENDDO

/*  WAIT FOR JOURNAL PROCESSING PROGRAM TO SHUTDOWN  */
             DLYJOB     DLY(75)

/*  DETERMINE WHETHER JOURNAL PROCESSING JOB IS STILL ACTIVE  */
             RTVDTAARA  DTAARA(KWAJP (27 1)) RTNVAR(&STATUS)
             IF         COND(&STATUS *EQ 'A') THEN(DO)
             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Could +
                          not end journal processing program') +
                          MSGTYPE(*ESCAPE)
             RETURN
             ENDDO

/*  SEND SUCCESSFUL CANCEL MESSAGE  */
             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Journal +
                          processing program ended') MSGTYPE(*COMP)

             ENDPGM

** CL PROGRAM EXECUTES A CONTROLLED END JOB OF JOURNAL PROCESSING PROGRAM

** JOURNAL PROCESSING PROGRAM EXECUTED SHTDN COMMAND TO CHECK FOR END JOB



Charles L.Massoglia, President
Massoglia Technical Consulting, Inc.
cmassoglia@voyager.net
In MI 517-676-9700 or in NC 919-363-9395


----- Original Message -----
From: "Chris Beck" <CBeck@good-sam.com>
To: <MIDRANGE-L@midrange.com>
Sent: Monday, 13 August, 2001 14:45
Subject: Receive journal exit program


> Has anyone got any examples of using the exit program on the RCVJRNE
command
> that they are willing to share, or know where I can find some.
>
>
> Thanks
>
> Chris Beck




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.