|
|
Zeile 10: |
Zeile 10: |
| # 1 * nach unten bis zur Eigenschaft "Bevorzugte Adresse | Preferred Address" blättern | | # 1 * nach unten bis zur Eigenschaft "Bevorzugte Adresse | Preferred Address" blättern |
| # den Wert auf 3=SMTP-Name ändern | | # den Wert auf 3=SMTP-Name ändern |
− | | + | # call [[hsdstclear]] |
− | <pre><code>
| |
− | /******************************************************************************/
| |
− | /* */
| |
− | /* Programm bereinigt alle SNADS-Verteilungen eines USERS (Parameter/Aufrufer)*/
| |
− | /* Wenn Limit von 9999 erreicht wurde schlug Fehler CPD90B1 auf */
| |
− | /* */
| |
− | /* Wegen Berechtigung muss Job mit Benutzernamen als SBMJOB gestartet werden */
| |
− | /* */
| |
− | /******************************************************************************/
| |
− | DCL VAR(&PUSER) TYPE(*CHAR) LEN(10)
| |
− | DCL VAR(&USER) TYPE(*CHAR) LEN(10)
| |
− | DCL VAR(&MYLIB) TYPE(*CHAR) LEN(10)
| |
− | DCL VAR(&MYTYPE) TYPE(*CHAR) LEN(1)
| |
− | DCL VAR(&MYDATE) TYPE(*CHAR) LEN(8) VALUE('20621231')
| |
− | DCL VAR(&SDDATE) TYPE(*CHAR) LEN(8)
| |
− |
| |
− | DCLF FILE(QSYS/QAOSILIN) RCDFMT(OSLIN) OPNID(MYINP)
| |
− | DCLF FILE(QSYS/QAOSILOT) RCDFMT(OSLOUT) OPNID(MYOUT)
| |
− |
| |
− | CHGVAR VAR(&USER) VALUE(&PUSER)
| |
− | MONMSG MSGID(MCH3601) EXEC(RTVJOBA USER(&USER))
| |
− |
| |
− | RTVJOBA TYPE(&MYTYPE)
| |
− | IF COND(&MYTYPE *EQ '0') THEN(DO)
| |
− | CHGVAR VAR(&MYLIB) VALUE(QTEMP)
| |
− | CHGVAR VAR(&MYLIB) VALUE(SPONA)
| |
− | CALLSUBR SUBR(DLTDSTIN)
| |
− | CALLSUBR SUBR(DLTDSTOUT)
| |
− | DSPJOBLOG OUTPUT(*PRINT)
| |
− | SNDM FROM('horst.spona@kunert.de') +
| |
− | TO(('horst.spona@kunert.de')) +
| |
− | FILE(&MYLIB/QCLSRC) +
| |
− | MBR(HSDSTCLEA#) +
| |
− | SUBJECT('HSDstClear')
| |
− | ENDDO
| |
− | ELSE DO
| |
− | SBMJOB CMD(CALL PGM(SPONA/HSDSTCLEAR) +
| |
− | PARM(&USER)) +
| |
− | JOB(HSDSTCLEAR) +
| |
− | JOBQ(*LIBL/QBATCH) +
| |
− | USER(&USER) +
| |
− | SYSLIBL(*SYSVAL) +
| |
− | CURLIB(*CRTDFT) +
| |
− | INLLIBL(*SYSVAL) +
| |
− | LOG(4 99) +
| |
− | LOGCLPGM(*YES) +
| |
− | HOLD(*NO)
| |
− | ENDDO
| |
− | /******************************************************************************/
| |
− | /*** END **********************************************************************/
| |
− | END9999: DLTOVR FILE(*ALL)
| |
− | RCLRSC
| |
− |
| |
− | /******************************************************************************/
| |
− | /**subroutine *****************************************************************/
| |
− | SUBR SUBR(DLTDSTIN)
| |
− | QRYDST OPTION(*IN) USRID(*CURRENT) OUTFILE(&MYLIB/MYDSTIN)
| |
− | OVRDBF FILE(QAOSILIN) TOFILE(&MYLIB/MYDSTIN)
| |
− | DOWHILE cond(1 = 1)
| |
− | RCVF RCDFMT(OSLIN) OPNID(MYINP)
| |
− | MONMSG MSGID(CPF0864) EXEC(LEAVE)
| |
− | CHGVAR VAR(&SDDATE) VALUE(%SST(&MYINP_LINSDT 1 8))
| |
− | IF COND(&SDDATE *GT &MYDATE) THEN(ITERATE)
| |
− |
| |
− | DLTDST DSTID(&MYINP_LINDID) OPTION(*IN) USRID(*CURRENT) +
| |
− | DSTIDEXN(&MYINP_LINDEX) OBJ(*ALL)
| |
− | MONMSG MSGID(CPF0000)
| |
− | ENDDO
| |
− | ENDSUBR
| |
− |
| |
− | /******************************************************************************/
| |
− | /**subroutine *****************************************************************/
| |
− | SUBR SUBR(DLTDSTOUT)
| |
− | QRYDST OPTION(*OUT) USRID(*CURRENT) OUTFILE(&MYLIB/MYDSTOUT)
| |
− | OVRDBF FILE(QAOSILOT) TOFILE(&MYLIB/MYDSTOUT)
| |
− | DOWHILE cond(1 = 1)
| |
− | RCVF RCDFMT(OSLOUT) OPNID(MYOUT)
| |
− | MONMSG MSGID(CPF0864) EXEC(LEAVE)
| |
− | CHGVAR VAR(&SDDATE) VALUE(%SST(&MYOUT_OUTSDT 1 8))
| |
− | IF COND(&SDDATE *GT &MYDATE) THEN(ITERATE)
| |
− |
| |
− | DLTDST DSTID(&MYOUT_OUTDID) OPTION(*OUT) USRID(*CURRENT) +
| |
− | DSTIDEXN(&MYOUT_OUTDEX) OBJ(*ALL)
| |
− | MONMSG MSGID(CPF0000)
| |
− | DLTDST DSTID(&MYOUT_OUTDID) OPTION(*ERR) USRID(*CURRENT) +
| |
− | DSTIDEXN(&MYOUT_OUTDEX) OBJ(*ALL)
| |
− | MONMSG MSGID(CPF0000)
| |
− | ENDDO
| |
− | ENDSUBR
| |
− | /******************************************************************************/
| |
− | /******************************************************************************/
| |
− | ENDPGM
| |
− | </code></pre>
| |
In der Verteilerschlange eines Users ist mit 9999 Verteilungen (Nachrichten) die Obergrenze erreicht. Eine Nachricht mit SNDDST senden wirft die Fehlermeldung:
auf.