HOME

FORUM

UPLOAD SOURCE

RPGLE/RPG

CLLE

SQLRPGLE

DDS

API

OTHER

JAVA

IFS

HTML

JAVA SCRIPT

PHP

MYSQL

XML

OLE DB








    Creating distribution CD

    This example reads table CRTCD400P which holds groups of libraries to save. Currently you must enter these with a file editor. see figure 1.
    In figure 2. you see the create distribution CD main panel. You may select Tape drive, INZTAP format, Target release and library group code. Once you press enter from this panel the backup starts.

    The API QLPCDRST is called to setup the save environment.
    CALL PGM(QLPCDRST) PARM(' ' + ' ' X'00000000' ' ' + X'00000001' 'SLICSYSTEM' X'00000000' + X'00000000')


    The Program QINSTAPP is created in QTEMP and included in the SAVE. Once the save is complete a file STAPE is created with a member for each library saved. Each member must be sent to the PC in BINARY mode. Then you may use any PC CD burner to copy the files to CD. Thats it ....now you have a distribution CD.

    Figure 3. shows the restore process. This panel is displayed after keying in LODRUN OPT01. Press enter and restore the libraries.

    DOWNLOAD
    Download text files

    Figure 1.

    Figure 2.


    Figure 3.



    The main CLP save program
    /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    /*                                                   */
    /*                                                   */
    /*                                                   */
    /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    /*                                                   */
    /*  Program:  CRTCD01CL                              */
    /*                                                   */
    /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 PGM
    
    
                 DCL        VAR(&STRING) TYPE(*CHAR) LEN(1000)
    
                 DCL        VAR(&DATE) TYPE(*CHAR) LEN(07)
                 DCL        VAR(&TIME) TYPE(*CHAR) LEN(06)
                 DCL        VAR(&USER) TYPE(*CHAR) LEN(10)
                 DCL        VAR(&Count) TYPE(*DEC)
                 DCL        VAR(&WrkCount) TYPE(*DEC) Len(3 0)
    
                 DCLF       FILE(CRTCD01D)
    
                 MONMSG CPF0000
    
    
                 CHGJOB     LOG(*SAME *SAME *SECLVL) LOGCLPGM(*YES)
                 RTVJOBA    USER(&USER) DATE(&DATE)
                 RTVSYSVAL  SYSVAL(QTIME) RTNVAR(&TIME)
    
                 CHGVAR     VAR(&W1DEVICE) VALUE('TAP01')
                 CHGVAR     VAR(&W1DENSITY) VALUE('*FMT5GB')
                 CHGVAR     VAR(&W1TARGET) VALUE('V5R1M0')
                 CHGVAR     VAR(&W1LIB) VALUE('JJFINSTALL')
                 CHGVAR     VAR(&W1PGM) VALUE('*NONE')
                 CHGVAR     VAR(&W1CODE) VALUE('TEST1')
    
     LOOP:       SNDRCVF    RCDFMT(WIN1)
                 MONMSG     MSGID(CPF0000)
    
                 IF         COND(&IN03 *EQ '1' *OR &IN12 *EQ '1') +
                              THEN(GOTO CMDLBL(EXIT))
    
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* inititalize the tape.                   */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 INZTAP     DEV(&W1DEVICE) NEWVOL(WRKTAP) NEWOWNID(OAO) +
                              CHECK(*NO) DENSITY(&W1DENSITY)
    
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* Call API to set up for the save CD      */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                  CALL       PGM(QLPCDRST) PARM('                    ' +
                               '        ' X'00000000' '          ' +
                               X'00000001' 'SLICSYSTEM' X'00000000' +
                               X'00000000')
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* Add library from initial Panel          */
                 /* library must contain source file SOURCE */
                 /* with a CL member QINSTAPP               */
                 /*                                         */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 CRTLIB     LIB(&W1LIB)
                 CRTSRCPF &W1LIB/SOURCE RCDLEN(112)
                 ADDLIBLE   LIB(&W1LIB)
    
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* QINSTAPP must be save from QTEMP and    */
                 /* must be saved on first sequence of      */
                 /* Tape or CD.                             */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 DLTPGM     PGM(QTEMP/QINSTAPP)
                 MONMSG     MSGID(CPF0000)
    
                 CRTCLPGM   PGM(QTEMP/QINSTAPP) SRCFILE(&W1LIB/SOURCE) +
                              TEXT('OAO INSTALLATION PROGRAM') +
                              TGTRLS(&W1TARGET)
    
                 CHGOBJOWN  OBJ(QTEMP/QINSTAPP) OBJTYPE(*PGM) +
                              NEWOWN(QDFTOWN) CUROWNAUT(*SAME)
     /*Sequence 1*/
    
                 SAVOBJ     OBJ(QINSTAPP) LIB(QTEMP) DEV(&W1DEVICE) +
                              OBJTYPE(*PGM) SEQNBR(1) ENDOPT(*LEAVE) +
                              TGTRLS(&W1TARGET) DTACPR(*NO)
    
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* Create the data area with install       */
                 /* information.                            */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 CRTDTAARA  DTAARA(&W1LIB/INSTALL) TYPE(*CHAR) LEN(1000) +
                              TEXT('INSTALL PARAMETERS')
    
    
                 CHGVAR     VAR(&STRING) VALUE(&W1DEVICE || &W1DENSITY +
                              || &W1TARGET || &W1LIB || &W1PGM +
                              || &W1LIB || &USER || &DATE || &TIME +
                              || &W1CODE)
    
                 CHGDTAARA  DTAARA(&W1LIB/INSTALL (1 1000)) VALUE(&STRING)
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* Pass the library save codes to save     */
                 /* Program - must have counter to know     */
                 /* tape sequence numbers.                  */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 CALL       PGM(CRTCD02CL) PARM(&W1CODE &W1DEVICE +
                              &W1TARGET &W1LIB &COUNT)
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* Last save must be the library &W1LIB    */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 SAVLIB     LIB(&W1LIB) DEV(&W1DEVICE) +
                              ENDOPT(*LEAVE) TGTRLS(&W1TARGET)
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* SEQUENCE 1 has our LODRUN program from  */
                 /* QTEMP.                                  */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
                 CRTPF      FILE(&W1LIB/STAPE) RCDLEN(28672) +
                              MAXMBRS(*NOMAX)
    
    
                 RMVM       FILE(STAPE) MBR(*ALL)
    
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
                 /* Here we use the &COUNT field to tell us */
                 /* how many libries have been saved.       */
                 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
    
    
                 CHGVAR     VAR(&COUNT) VALUE(&COUNT + 2)
    
     DOLOOP:     DO
    
                 IF         COND(&WRKCOUNT > &COUNT) THEN(GOTO +
                              CMDLBL(ENDLOOP))
    
    
                 CHGVAR     VAR(&WRKCOUNT) VALUE(&WRKCOUNT + 1)
                 CPYFRMTAP  FROMFILE(QTAPE) TOFILE(&W1LIB/STAPE) +
                              FROMSEQNBR(&WRKCOUNT) TOMBR(*FROMLABEL) +
                              FROMDEV(&W1DEVICE) FROMREELS(*SL) +
                              FROMRCDLEN(28672) FROMENDOPT(*LEAVE) +
                              MBROPT(*ADD) FROMBLKLEN(28672)
    
                 GOTO DOLOOP
                 ENDDO
      ENDLOOP:
    
                 CALL       PGM(CRTCD03CL) PARM(&W1LIB)
     EXIT:
                 ENDPGM
    
    




About Code400.com | resume | Search | Site Map | Suggestions
© Copyright 2003-2008 Code400.com



Wednesday Mar 10, 2010 @ 4:19 AM