The Save and Receive Library with FTP command is designed to simplify
receiving a library from another i5 System. The SAVRCVL command
saves the library to a save file in QTEMP and transmits the save file
using FTP.
A separate command SBMSAVRCVL should be used to submit the SAVRCVL
command to batch (see the later discussion).
FTP requires the proper TCP/IP connections and configuration.
SAVRCVL differs from the system SAVRSTLIB command in that TCP/IP is
used. SAVRSTLIB uses APPN.
The SAVRCVL function is a simple front end to the TAA FTP2 command.
It is designed for transferring a library.
When using SAVRCVL, you must identify the remote system, a user
profile on that system, and the password for the profile.
Some FTP connections may hang if either or both of the user ID or
password exceeds the maximum size supported by the FTP server.
A typical command on the source system would be:
SAVRCVL LIB(ABC) RMTSYS(xxx) RMTUSER(uuu) PASSWORD(ppp)
A save file named ABC would be created in QTEMP for the FTP job
running on the remote system. The library ABC would be saved to the
save file and transmitted to the local system.
By default, a save file by the name of ABC would be created in the
TAAWORK library on the local system. TAAWORK is shipped with the TAA
Productivity Tools product and is used for temporary objects. If the
save file already exists, it is cleared first.
You may then use the RSTSNDL command (part of the SAVSNDL tool) to
restore the library. A typical command would be:
RSTSNDL LIB(ABC)
By default, it would restore from the ABC save file in TAAWORK. If
the ABC library already exists, you must specify DLTLIB(*YES). By
default, the ABC save file is deleted from TAAWORK.
RSTSNDL is designed to work with save files created by either SAVSNDL
or SAVRCVL. RSTSNDL can be used with any save file, but the data
within the save file must have been saved by a SAVLIB command.
RSTSNDL does not have all the parameters of the RSTLIB command. If
you need the additional function, use the RSTLIB command.
SAVRCVL uses the TAA Tool FTP2.
SBMSAVRCVL Command
------------------
The command SBMSAVRCVL is intended for use when you want to submit
the SAVRCVL command.
SBMJOB can be used to submit the SAVRCVL command, but the value of
the RMTPWD parameter is left in the job log of the user that did
SBMJOB. To avoid leaving the password in the clear, you should use
SBMSAVRCVL.
All the parameters of SAVRCVL exist on the SBMSAVRCVL command plus
the JOB, JOBD, and JOBQ parameters. The additional parameters all
have default values.
The password value does not appear in the job log of the current user
if SAVRCVL is used interactively or SBMSAVRCVL is used. If SAVRCVL
is submitted to batch by either SBMJOB or SBMSAVRCVL, the password
value does not appear in the job log of the submitted job.
Typical use of SAVRCVL and RSTSNDL
----------------------------------
The need to transfer objects between systems is a fairly typical
requirement. In many cases, the objects to be transferred may be
part of a large library, but only a few need to be replaced on any
one transfer.
This can be accomplished by having work libraries on the source and
target system such as TMPTFR. You would perform the following steps
on the target system:
CLRLIB LIB(TMPTFR)
MOVOBJ ... TOLIB(TMPTFR)
On the local system, you would enter:
RSTSNDL LIB(TMPTFR)
By using the defaults, a save file by the name of TMPTFR is created
in QTEMP library of the job running on the target system and
transferred to the local system. It is placed (by default in the
TAAWORK) library.
On the local system, you would enter:
RSTSNDL LIB(TMPTFR)
This would restore the TMPTFR library from the TMPTFR save file in
TAAWORK and then delete the save file.
You would then enter the commands to move or copy the objects from
TMPTFR to the large library.
Error handling
--------------
SAVRCVL invokes the TAA FTP2 command.
FTP2 provides for a log of the FTP operations. If the SAVRCVL
command is run interactively, the log may be displayed using:
DSPPFM QTEMP/FTPOUT
If the SAVRCVL command is run in batch, a spooled file of the log is
created.
Why is a save file used
-----------------------
FTP only sends files. Therefore, other object types such as programs
or data areas cannot be sent directly. By saving a library to a save
file, there are essentially no restrictions.
If FTP is used to send a file, the unique AS/400 attributes will be
lost. This includes such attributes as the text of the file or
members and the source type. These problems are avoided by saving a
library to a save file.
Note that the text description of the save file is lost, but not the
attributes of the objects within the save file.
Using a CL program
------------------
A CL program may be used to include one of the SAVRCVL commands. The
disadvantage of this approach is that you must include your password
in the source.
If you are going to call the program in an interactive session, you
could use the selective prompting function such as:
SBMSAVRCVL ??LIB(x) ?*RMTSYS(y) ?*RMTUSER(z) +
??RMTPWD()
MONMSG MSGID(CPF6801) EXEC(DO) /* User cancelled */
/* Your code for cancel */
ENDDO /* User cancelled */
When the CL program is run, the SBMSAVRCVL command prompt would
appear with the values as specified and you must enter a password.
The other parameters on the command (eg TGTRLS) would not appear.
The selective prompting functions are as follows:
??LIB(x) The prompt appears with the library name, but can be
changed.
?*RMTSYS(y) The prompt appears with the remote system name and
cannot be changed.
?*RMTUSER(z) The prompt appears with the remote user name and
cannot be changed.
?*RMTPWD() The prompt appears and must be entered.
If you want to run a SAVRCVL command without prompting for the
password, you could hard code the password or use a validation list.
A validation list allows you to store an encrypted password. An API
will allow you to retrieve the password as a variable.
SAVRCVL escape messages you can monitor for
-------------------------------------------
TAA9877 FTP failed - see the log
Escape messages from based on functions will be re-sent.
SAVRCVL Command parameters *CMD
--------------------------
LIB The library on the remote system to save and send to
the local system. The library is saved to an
internal save file and then FTPed to the local
system.
RMTSYS The remote system which has the library to be saved
and received. Either a name or an IP address must
be entered. The proper TCP/IP connections and
configuration must exist.
RMTUSER The name of the user on the remote system that will
be used for the job to be run on the remote system.
Up to 100 characters may be entered.
RMTPWD The password of the user on the remote system. Up
to 100 characters may be entered.
If SAVRCVL is entered interactively, the password is
not displayed and will not appear in the joblog.
If SBMJOB is used for SAVRCVL, the password as keyed
will appear will appear in the command prompt and in
the current job log. It will not be in the batch
job log.
See the SBMSAVRCVL command which removes the
password from current job log.
LCLSAVF The save file to be created on the local system.
The default file name is is *LIB meaning the same
name as the library on the remote system. The
default library is TAAWORK.
TGTRLS The target release to save the library for on the
remote system. The default is *CURRENT.
Use the prompter to see the other values which have
the same definition as the TGTRLS parameter on
SAVLIB.
If the target system is at the same or a lower
release, you may take the default and be able to
transmit and restore properly. For example, if the
target system is on V5R2 and the local system is on
V5R3, the default may be used.
However, if the target system is at a higher release
you may must specify a value.
For example, if the target system was on V5R3 and
the local system is on V5R2, you must specify a
value such as *PRV or V5R2M0. You must ensure that
all objects in the library to be transferred will be
restorable to the release of the local system. Most
non-program objects (such as data base files) will
be restorable, but programs must have been created
with the appropriate TGTRLS parameter.
UPDHST A *YES/*NO parameter for whether the save history
information should be updated. The default is *NO.
*YES may be specified to update the save history
information.
SBMSAVRCVL Command parameters *CMD
-----------------------------
LIB The library on the remote system to save and send to
the local system. The library is saved to an
internal save file and then FTPed to the local
system.
RMTSYS The remote system which has the library to be saved
and received. Either a name or an IP address must
be entered. The proper TCP/IP connections and
configuration must exist.
RMTUSER The name of the user on the remote system that will
be used for the job to be run on the remote system.
Up to 100 characters may be entered.
RMTPWD The password of the user on the remote system.
If SAVRCVL is entered interactively, the password is
not displayed and will not appear in the joblog.
If SBMJOB is used for SAVRCVL, the password as keyed
will appear will appear in the command prompt and in
the current job log. It will not be in the batch
job log.
See the SBMSAVRCVL command which removes the
password from current job log.
LCLSAVF The save file to be created on the local system.
The default file name is is *LIB meaning the same
name as the library on the remote system. The
default library is TAAWORK.
TGTRLS The target release to save the library for on the
remote system. The default is *CURRENT.
Use the prompter to see the other values which have
the same definition as the TGTRLS parameter on
SAVLIB.
If the target system is at the same or a lower
release, you may take the default and be able to
transmit and restore properly. For example, if the
target system is on V5R1 and the local system is on
V5R2, the default may be used.
However, if the target system is at a higher release
you may must specify a value.
For example, if the target system was on V5R2 and
the local system is on V5R1, you must specify a
value such as *PRV or V5R1M0. You must ensure that
all objects in the library to be transferred will be
restorable to the release of the local system. Most
non-program objects (such as data base files) will
be restorable, but programs must have been created
with the appropriate TGTRLS parameter.
UPDHST A *YES/*NO parameter for whether the save history
information should be updated. The default is *NO.
*YES may be specified to update the save history
information.
JOB The job name assigned to the batch job. The default
is SAVRCVL. *JOB may be entered to mean the name of
the job description used.
JOBD The qualified name of the job description. The
default is *USRPRF meaning the job description
assigned to the current user profile.
If a specific job description is entered, a library
qualifier may be entered or the special values *LIBL
or *CURLIB.
JOBQ The qualified name of the job queue to be used. The
default is *JOBD meaning the job queue defined for
the job description specified for the JOBD
parameter.
Restrictions
------------
The proper TCP/IP connections and configuration must exist.
Some FTP connections may hang if either or both of the user ID or
password exceeds the maximum size supported by the FTP server.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHKOBJ3 Check object 3
EDTVAR Edit variable
FTP2 Start TCP/IP file transfer 2
RTVDAT Retrieve date
SNDCOMPMSG Send completion message
SNDESCINF Send escape information
SNDESCMSG Send escape message
SNDSTSMSG Send status message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
SAVRCVL *CMD TAAFTPC QATTCMD
SBMSAVRCVL *CMD TAAFTPC2 QATTCMD
TAAFTPCC *PGM CLP TAAFTPCC QATTCL
TAAFTPCC2 *PGM CLP TAAFTPCC2 QATTCL
Structure
---------
SAVRCVL Cmd
TAAFTPCC CL pgm
SBMSAVRCVL Cmd
TAAFTPCC2 CL pgm - Submits the SAVRCVL command to batch
|