Monday, December 5, 2011

Copy source member from one machine to another...

In preparation for an upgrade from I5 V5R4 to V6R1 I needed to remotely apply PTF's and then apply permanently. The system I am currently working on only has Twinax Console which prevents me from running a Full System Save remotely. Once I finish the upgrade I will change the console to be LAN driven and resolve the issue. For now I have the need to do a couple of Full Saves and be able to accomplish this via remote.

I found an article a year or so back that provided example CL code on how to perform a full system save via remote or on a schedule.

Due to only having a Logmein connection to the Iseries I'm upgrading, I rather finish fine tuning the code using WDSC 6.0. I have a VPN connection to another client I recently upgraded so I developed the code on their machine and then needed to transfer to the machine I'm working on.

Here are the steps I used to transfer the code:

Modified source code to work for my scenario.

Create save file containing the source code.

        CRTSAVF FILE(QGPL/FULLSAV)

Save object source file to save file.
     
        SAVOBJ OBJ(QCLSRC) LIB(RBTEST) DEV(*SAVF) OBJTYPE(*FILE) 
          SAVF(QGPL/FULLSAV) TGTRLS(V5R4M0) FILEMBR((QCLSRC (FULLSAV))) 

Copy save file to IFS.

      CPYTOSTMF FROMMBR('/qsys.lib/qgpl.lib/fullsav.file') 
           TOSTMF(fullsav.savf) STMFOPT(*REPLACE)

Open iSeries Navigator and drag the save file to my desktop.

Using LogmeIn, I access a remote PC at the client site and transfer the save file to the PC with LogmeIn file manager.

FTP the save file to client iSeries using Windows command line FTP.

        Windows start / run type CMD enter.
         FTP XXX.XXX.XXX.XXX
         User name
         Password
         BIN
         CD QGPL
         PUT FULLSAV.SAVF

I like to play it safe so I will create a temporary hold library to restore the QCLSRC file and member.

      CRTLIB LIB(HOLD)

Restore object.

      RSTOBJ OBJ(QCLSRC) SAVLIB(RBTEST) DEV(*SAVF) SAVF(QGPL/FULLSAV)         FILEMBR((QCLSRC (FULLSAV))) MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(HOLD)

I then copy the source member to my testing library to complete the finishing touches and compile.

More on the code in the next blog.

~Richard




     

     

No comments:

Post a Comment