si crea un archivio .sav, lo si copia con FTP, lo si estrae sulla macchina remota
SAVOBJ salva in lib QGPL o QTMP unità: *savf opzione 'G' per sovrascrivere RSTOBJ opzione membro DB: *all o *match
RSTOBJ OBJ(SRCTMP) SAVLIB(LA_SRC) DEV(*SAVF) SAVF(QGPL/SRCTMP)
scaricare una libreria sorgente dall'As400 - da terminale, creare un file di salvataggio in linea: - salvare la libreria sorgente dentro il file di salvataggio - FTP Da linux a AS400
CRTSAVF SAVF(QGPL/MySrcLib) SAVLIB LIB(MySrcLib) SAVF(QGPL/MySrcLib) TGTRLS(*CURRENT) DTACPR(*YES)
target release: uguale a quello presente sul ricevente, se inferiore al datore; corrente, se il ricevente è uguale o superiore al datore.
FTP $servername bin get /QSYS.lib/QGPL.lib/MySrcLib.savf /var/as400/MySrcLib.savf quit
Il file PC che si ottiene può essere conservato o elaborato. Inutile invece tentare di visionarlo sul PC causa il formato binario dei dati salvati e la codifica ASCII-EBCDIC.
script che crea un SAVF e salva una lib in IFS, sostituisce una lib essitente con un savf preso da IFS
CRTSAVF FILE(QGPL/xxx) SAVLIB LIB(xxx) DEV(*SAVF) SAVF(QGPL/xxx) CPYTOSTMF FROMMBR('/qsys.lib/qgpl.lib/xxx.file') TOSTMF('/home/xxx.savf') CVTDTA(*NONE) ENDLINFMT(*FIXED) CRTSAVF QGPL/yyy CPYFRMSTMF FROMSTMF('/home/xxx.savf') TOMBR('/qsys.lib/qgpl.lib/yyy.file') MBROPT(*REPLACE) CVTDTA(*NONE) ENDLINFMT(*FIXED) TABEXPN(*NO) CRTLIB yyy RSTLIB SAVLIB(xxx) DEV(*SAVF) SAVF(QGPL/yyy) MBROPT(*ALL) ALWOBJ DIF(*ALL) RSTLIB(yyy)
il procedimento per spostare un file o una libreria è molto simile:
CRTSAVF FILE(QGPL/xmlservice) CRTSAVF SAVF(QGPL/MySrcLib) /QSYS.lib/QGPL.lib/MySrcLib.savf # SAVOBJ in alternativa
ftp 192.168.0.1 Connected to 192.168.0.1. 220-QTCP at 192.168.0.1. 220 Connection will close if idle more than 5 minutes. Name (192.168.0.1:taz): qsecofr 331 Enter password. Password: 230 QSECOFR logged on. Remote system type is . ftp> cd qgpl 250 "QGPL" is current library. ftp> binary 200 Representation type is binary IMAGE. ftp> put xmlservice.sav xmlservice quit
RSTLIB SAVLIB(XMLSERVICE) SAVF(QGPL/XMLSERVICE) DEV(*SAVF) RSTLIB SAVLIB(MySrcLib) SAVF(QGPL/MySrcLib) RSTLIB(MyRestoredSrcLib) # RSTOBJ in alternativa
CPYTOSTMF + FROMMBR('$mbr_path') + TOSTMF('$ifs_path') + STMFCODPAG(*PCASCII) STMFOPT(*REPLACE); CPYFRMSTMF + FROMSTMF('$ifs_path') + TOMBR('$mbr_path') + STMFCODPAG(819) DBFCCSID(37) + MBROPT(*REPLACE) ENDLINFMT(*FIXED) TABEXPN(*NO);