com.ibm.eNetwork.ECL
Class ECLXfer
java.lang.Object
|
+--com.ibm.eNetwork.ECL.ECLXfer
- public class ECLXfer
- extends java.lang.Object
ECLXfer allows the transfer of files to and from a 3270 or 5250 host,
over an established session. ECLXfer supports the 3270 Host File Transfer
Program IND$FILE (for SBCS) or APVUFILE (for DBCS) transfer protocols,
which can be controlled by means of the standard IND$FILE or
APVUFILE send and receive options. ECLXfer also supports 5250 File Transfer,
which can be controlled by means of the send and receive options specific
to OS/400.
Common Parameters (valid for send or receive)
- ASCII
- When used with SBCS session, it causes ASCII to
EBCDIC translation on a send and EBCDIC to ASCII
translation on a receive.
When used with Taiwan or Korean DBCS session, it
causes 1-byte code to 1-byte code and 2-byte code
to 2-byte code translation according to host and
PC code pages. It inserts SO/SI characters into the
DBCS field on send and removes SO/SI on receive.
- JISCII
- This is valid for Japanese DBCS sessions only.
Causes 1-byte code to EBCDIC and 2-byte code to
IBM Kanji on a send and reverse translation on a
receive. Inserts SO/SI characters into the DBCS
field on send and removes SO/SI on receive.
- CRLF
- Strips carriage return/line feed characters on
a send and adds carriage return/line feed to
each record on a receive.
- NOSO
- This option is valid only for DBCS when used with
the JISCII or ASCII option on send. It does not
convert SO (hex 0E) and SI (hex 0F) before and after
the DBCS field or RS (hex 1E) and
US (hex 1F) to SO (hex 0E) and SI (hex 0F).
- SO
- This option is valid only for DBCS when used with
the JISCII or ASCII option on receive. It converts
SO (hex 0E) and SI (hex 0F) to RS (hex 1E) and
US (hex 1F).
- USER
- This option is valid only for DBCS and only when
used with ASCII (JISCII) and SO options on receive.
If USER is specified, SO (x'0E') and SI (x'0F')
will not be converted to RS(x'1E') and US (x'1F').
- APPEND
- The source file will be appended to the target file.
If APPEND is not specified, the target file
will be replaced. APPEND is not supported for members
of an MVS partitioned data set.
- NEW
- The transfer will abort if the target file exists.
This option may be used to protect against accidental
erase of an existing target file.
Additional Send Parameters for MVS only
- LRECL(n)
- n is the logical record length of host file.
- BLKSIZE(n)
- n is the block size of the host file.
- RECFM x
- Recording mode for the host file. Values for
x are F (fixed length), V (variable length), and U
(undefined record type)
- SPACE(quantity[,increment])
- Amount of space to be allocated
for a new TSO data set.
- Quantity
- Units of space to be allocated
initially. This must be specified when
the SPACE parameter is specified.
- Increment
- Units of space to be added each
time new space is required.
The following parameters are only valid when the SPACE parameter is
specified, and are mutually exclusive of each other.
- AVBLOCK(n)
- Average block length used as the unit size by the
SPACE parameter. The (n) is block length in bytes.
- TRACKS
- Specifies that the unit of space is a track.
Only valid with the SPACE parameter.
- CYLINDERS
- Specifies that the unit of space is a cylinder.
Only valid with the SPACE parameter.
Additional Send Parameters for VM only
- LRECL n
- n is the logical record length of host file.
- RECFM x
- Recording mode for the host file. Values for
x are F (fixed length) and V (variable length).
Additional Parameters for OS/400 only
- DSTADDR(dstaddr)
- This option specifies the destination address of the
host to be used for the file transfer. The host name of the
current session will be used as the default destination address.
There is no need to specify this option when the host name
is same as the actual final destination address of the host.
Also, when you are using Proxy Server support, this option should
specify the AS/400 name or the destination address reachable
from the Proxy Server.
- PROXYADDR(proxyaddr)
- This option specifies the destination address of the
Proxy Server to be used for the file transfer. This option needs to
be specified, only if the user wants to use the Proxy Server support.
The default port of the Proxy Server is 3470. However, this can
be changed using the the option PROXYPORT(proxyport).
- PROXYPORT(proxyport)
- This option specifies the destination port of the
Proxy Server to be used for the file transfer. The default port
of the Proxy Server is 3470. This option needs to be specified,
only if the user wants to use the Proxy Server support.
- USERID(usr)
- This option specifies the user ID to be used for
the file transfer. There is no need to specify this
option when it is invoked from the Host On Demand session.
This option is provided for developing HACL applications
without a GUI. Also, there is no need to specify it more
than once per session.
- PASSWORD(pwd)
- This option specifies the password to be used for
the file transfer. There is no need to specify this option
when it is invoked from Host On Demand session. This option
is provided for developing HACL applications without a GUI.
Use this option along with the PASSWORD option.
- UNICODE(encoding)
- When used with an SBCS/DBCS session, it causes UNICODE
to EBCDIC translation on a send and EBCDIC to UNICODE
translation on a receive. You can specify either UCS2 or
UTF8 as the encoding option; if neither is specified,
UCS2 is the default encoding used for the transfer.
- SRC
- The option specifies the AS/400 file type to be
used for the file send. If the host file does not exist,
a new file is created with the file type
"AS/400 Source physical file". This option is applicable
only for files under the QSYS library-file system.
- DTA
- The option specifies the AS/400 file type to be used
for the file send. If the host file does not exist,
a new file is created with the file type
"AS/400 Physical data file". This option is applicable
only for files under the QSYS library-file system.
- SAVF
- The option specifies the AS/400 file type to be
used for the file send. If the host file does not exist,
a new file is created with the file type
"AS/400 save file". If this option is specified, then the
transfer mode must be BINARY. Also, this option is applicable
only for files under the QSYS library-file system.
- LRECL(n)
- Logical record length. This option is applicable only for
files under the QSYS library-file system.Valid values are as follows:
-
- Any integer within the range 1 to 32766 for the filetype DTA
-
- Any integer within the range 1 to 32754 for the filetype SRC
-
- This option is ignored for the file type SAVF.
For OS/400, VM/CMS and CICS, the first option must be preceded
by an open parenthesis '('.
Also, none of the aforesaid transfer options are mandatory. When
the options are specified, the corresponding action is taken during
the transfer.
The MVS host file name can be specified in any of the following formats:
-
- dataSetName
-
- dataSetName(memberName)
The VM/CMS host file name can be specified in any of the following formats:
-
- fileName fileType
-
- fileName fileType fileMode
The OS/400 host file name can be specified in any of the following formats:
-
- LibraryName/FileName
-
- LibraryName/FileName(MemberName)
-
- /Dir1/.../DirX/FileName
This class cannot be constructed by the user, but an instance
of it can be obtained through the ECLSession object.
Method Summary |
void |
Cancel()
Cancels a file transfer which is in progress. |
ECLXferBIDIServices |
GetECLXferBIDIServices()
Returns the ECLXferBIDIServices object associated with the ECLXfer
instance. |
int |
GetMTUSize()
Returns the current MTU Size used for file transfers. |
ECLSession |
GetParent()
Get the parent of this ECLXfer which is an instance of ECLSession. |
java.lang.String |
GetPCCodePage()
Returns the code page currently in use by file transfer. |
int |
GetTimeout()
Returns the current time out value used for file transfers. |
java.lang.Integer |
getTraceLevel()
|
boolean |
IsClear()
Returns the clear flag which indicates whether a clear is sent to the
host before a file transfer occurs. |
java.lang.String[] |
ListPCCodePages()
Returns a list of valid code pages which can be used by file transfer. |
void |
ReceiveFile(java.lang.String srcName,
java.lang.String targName,
java.lang.String options)
Receives a file from the host using the specified transfer options. |
void |
RegisterXferEvent(ECLXferListener listener)
Registers an ECLXferListener for ECLXferEvents. |
void |
SendFile(java.lang.String srcName,
java.lang.String targName,
java.lang.String options)
Sends a file to the host using the specified transfer options. |
void |
SetClear(boolean sendClear)
Sets whether a clear is sent to the host before the file transfer
is initiated. |
void |
SetMTUSize(int value)
Sets the file transfer mtuSize to the specified value. |
void |
SetPCCodePage(java.lang.String codepage)
Sets the file transfer code page to the specified code page. |
void |
SetTimeout(int value)
Sets the file transfer time out to the specified value. |
void |
UnregisterXferEvent(ECLXferListener listener)
Unregisters an ECLXferListener that was previously registered with
the RegisterXferEvent() method. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SendFile
public void SendFile(java.lang.String srcName,
java.lang.String targName,
java.lang.String options)
throws ECLErr
- Sends a file to the host using the specified transfer options.
- Parameters:
srcName
- Local file nametargName
- Host file nameoptions
- Send transfer options
The local file name will be automatically set in enclosing double quotes
before it is passed to the operating system.
- Throws:
ECLErr
- Thrown if the file transfer is unsuccessful.
ReceiveFile
public void ReceiveFile(java.lang.String srcName,
java.lang.String targName,
java.lang.String options)
throws ECLErr
- Receives a file from the host using the specified transfer options.
- Parameters:
srcName
- Host file nametargName
- Local file nameoptions
- Send transfer options
The local file name will be automatically set in enclosing double quotes
before it is passed to the operating system.
- Throws:
ECLErr
- Thrown if the file transfer is unsuccessful.
Cancel
public void Cancel()
- Cancels a file transfer which is in progress. If no transfers are
in progress this method just returns.
RegisterXferEvent
public void RegisterXferEvent(ECLXferListener listener)
- Registers an ECLXferListener for ECLXferEvents.
- Parameters:
listener
- ECLXferListener object which is notified when
events occur.- See Also:
UnregisterXferEvent(com.ibm.eNetwork.ECL.event.ECLXferListener)
,
ECLXferListener
UnregisterXferEvent
public void UnregisterXferEvent(ECLXferListener listener)
- Unregisters an ECLXferListener that was previously registered with
the RegisterXferEvent() method. If the listener is not
currently registered, this method does nothing.
- Parameters:
listener
- ECLXferListener object which should be
unregistered.- See Also:
RegisterXferEvent(com.ibm.eNetwork.ECL.event.ECLXferListener)
,
ECLXferListener
getTraceLevel
public java.lang.Integer getTraceLevel()
SetPCCodePage
public void SetPCCodePage(java.lang.String codepage)
- Sets the file transfer code page to the specified code page.
The host code page in use by the session is not affected.
- Parameters:
codepage
- code page to be set. The value is ignored if it
is not valid.
GetPCCodePage
public java.lang.String GetPCCodePage()
- Returns the code page currently in use by file transfer.
- Returns:
- The code page currently in use by file transfer.
ListPCCodePages
public java.lang.String[] ListPCCodePages()
- Returns a list of valid code pages which can be used by file transfer.
- Returns:
- String array of valid code pages.
SetTimeout
public void SetTimeout(int value)
- Sets the file transfer time out to the specified value.
- Parameters:
value
- Timeout value used during transfers (seconds)
GetTimeout
public int GetTimeout()
- Returns the current time out value used for file transfers.
- Returns:
- The time out value used during transfers (seconds)
SetMTUSize
public void SetMTUSize(int value)
- Sets the file transfer mtuSize to the specified value. This call is valid
only for 3270 File Transfer.
The packet size is the maximum size that the client can use for inbound
and outbound messages during host file transfer. The client notifies the
host of this value. This value is also known as MTU file buffer size.
In general a larger value will increase the speed of file transfers.
However, if the host is configured to use a smaller packet size than the
client, then increasing the client's packet size will not improve the speed
of file transfers, unless the host's packet size is also increased.
The valid range of values for packet size is 256 to 32767. The default is 2500.
A value smaller than 256 will be changed to 256.
A value larger than 32767 will be changed to 32767.
An invalid value, such as a character string, will be changed to 2500.
- Parameters:
value
- MTU Size used during transfers- See Also:
GetMTUSize()
GetMTUSize
public int GetMTUSize()
- Returns the current MTU Size used for file transfers. This applies
to 3270 File transfer only. A value of 0 is returned if this is
not a valid call.
- Returns:
- The MTU Size used during transfers
- See Also:
SetMTUSize(int)
GetECLXferBIDIServices
public ECLXferBIDIServices GetECLXferBIDIServices()
- Returns the ECLXferBIDIServices object associated with the ECLXfer
instance. (Bi-directional sessions only)
- Returns:
- ECLXferBIDIServices instance for BIDI sessions,
null otherwise.
SetClear
public void SetClear(boolean sendClear)
- Sets whether a clear is sent to the host before the file transfer
is initiated.
- Parameters:
sendClear
- Boolean to indicate whether to send a clear
IsClear
public boolean IsClear()
- Returns the clear flag which indicates whether a clear is sent to the
host before a file transfer occurs.
- Returns:
- Whether a clear is sent before file transfer
GetParent
public ECLSession GetParent()
- Get the parent of this ECLXfer which is an instance of ECLSession.
- Returns:
- The parent ECLSession.