[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2004
    Beiträge
    178

    REORG einer LIB

    Hallo,

    ich erstelle über ein CL jede nacht folgende Sicherungen:

    BHSAVE/S8080422
    BHSAVE/S8080423
    BHSAVE/S8080424
    .....
    BHSAVE/S8080801
    BHSAVE/S8080802
    BHSAVE/S8080803
    BHSAVE/S8080804
    ...

    Jetzt möchte ich in diesem CL alle Dateien löschen die älter als 2 Monate sind.

    dh. alle S80806*

    Hat jemand nen Tipp für mich wie ich das in einem CL löse ?

    Ideal wäre wenn ich mit
    RTVJOBA CYMDDATE(&DATUM)
    holen könnte und "einfach" 2 Monate abziehen könnte.

    Vielen Dank. Christian

  2. #2
    Registriert seit
    Jan 2007
    Beiträge
    189
    Haven't had time to build the command wrapper and to check for object locks yet. Will be doing so soon. In the mean time - this should help you ( sorry but the formatting has disappears when pasting).
    Code:
    
    /*******************************************************************/
    /* System - System Tools */
    /* Owner- EcofIT Ltd */
    /* AUTHOR - Deon A von Blerk */
    /* DATE - 09/07/08 */
    /* Description - Delete any work files if */
    /* older than 2 months */
    /* */
    /* Modification History */
    /* ==================== */
    /* Date No By/Reason */
    /* ==== == ========= */
    /*******************************************************************/
    PGM
    DCLVAR(&WORK1)TYPE(*CHAR)LEN(8)
    DCLVAR(&DLTDATE)TYPE(*CHAR)LEN(6)
    DCLVAR(&LILIAN)TYPE(*CHAR)LEN(4)
    DCLVAR(&WORK1)TYPE(*CHAR)LEN(8)
    DCLVAR(&WORK2)TYPE(*CHAR)LEN(23)
    DCLVAR(&WDATE)TYPE(*CHAR)LEN(8)
    DCLVAR(&SQLS)TYPE(*CHAR)LEN(50)
    DCLVAR(&CMD)TYPE(*CHAR)LEN(150)
    DCLVAR(&LEN)TYPE(*DEC)LEN(155)VALUE(150)
    DCLVAR(&FOUND)TYPE(*LGL)LEN(1)VALUE('0')
    DCLFFILE(DACCLEANP)OPNID(A)
    DCLFFILE(DACDELETE)OPNID(B)
    /* Get local time from system */
    CALLPRCPRC(CEELOCT)PARM(&LILIAN&WORK1&WORK2*OMIT)
    /* Subtracting 70 from &LILIAN will produce about 2 months ago */
    CHGVARVAR(%BIN(&LILIAN))VALUE(%BIN(&LILIAN)-61)
    CALLPRCPRC(CEEDATE)PARM(&LILIAN'YYYYMMDD'&WDATE*OMIT)
    CHGVARVAR(&DLTDATE)VALUE(%SST(&WDATE36))
    /* Get the names of the files to delete */
    START:RCVFOPNID(A)
    MONMSGMSGID(CPF0000)EXEC(DO)
    IFCOND(&FOUND='0')THEN(GOTO CMDLBL(EOJ))
    ELSE
    GOTOCMDLBL(DELETE)
    ENDDO
    /* display the relative types */
    CHGVARVAR(&CMD)VALUE('DSPFD FILE('*CAT+
    &A_LIBANDNME*CAT') TYPE(*MBRLIST) +
    OUTPUT(*OUTFILE) OUTFILE(QTEMP/DACDELETE) +
    OUTMBR(*FIRST *ADD)')
    CALLPGM(QCMDEXC)PARM(&CMD&LEN)
    MONMSGMSGID(CPF0000)EXEC(GOTO CMDLBL(START))
    CHGVARVAR(&FOUND)VALUE('1')
    GOTOCMDLBL(START)
    /* Now read the records */
    DELETE:RCVFOPNID(B)
    MONMSGMSGID(CPF0000)EXEC(GOTO CMDLBL(EOJ))
    /* delete if date < limit */
    IFCOND(&B_MLCHGD<&DLTDATE*AND&FOUND='1')+
    THEN(DO)
    CHGVARVAR(&SQLS)VALUE('drop table '*CAT&B_MLFILE)
    RUNSQLSQLSTMT(&SQLS)
    MONMSGMSGID(CPF0000)EXEC(GOTO CMDLBL(ERROR))
    ENDDO
    GOTOCMDLBL(DELETE)
    ERROR:DMPCLPGM
    EOJ:ENDPGM
    

Similar Threads

  1. Automatische Sicherung einer Lib
    By oj0169 in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 18-06-08, 10:08
  2. Objekte in einer Lib
    By USDAVIS in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 07-12-07, 14:44
  3. STMF - LIB von CD auf AS/400
    By alexander may in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 31-10-05, 11:48
  4. RGZPFM über ganze LIB
    By linguin in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 31-03-05, 16:27
  5. fehlende Lib qsql
    By delphix in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 03-12-01, 18:20

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •