Troubleshooting
Problem
This document describes the behavior of the FTP (client or server) when allocating storage for a new file that could cause the transfer to be slow.
Symptom
Cause
Environment
Diagnosing The Problem
Resolving The Problem
Important Note: Only applies to release R545 and below. This is no longer an issue at R610.
When a new file is transferred by the iSeries FTP code, the job first allocates/writes the data to temporary
storage. Once the full file is received, the target file is then created and the data written to the file. This is
due to FTP having to receive the full file before it knows what the maximum record length is within the file.
On later sends to this same file, the record length is already established and, as a result the data is written
directly to the file.
To prevent the initial transfer from taking longer, the file can be pre-created with the CORRECT record length
either interactively or using FTP subcommands. The file must be created on the system receiving the data
using the following methods:
1. Use CRTPF from an interactive session and ensure that the record length (xyz in the commands below)
is correct for the file being transferred.
CRTPF FILE(MYLIB/MYFILE) RCDLEN(xyz) MAXMBRS(*NOMAX) SIZE(*NOMAX)
OR
When doing a PUT to an iSeries FTP server:
quote rcmd CRTPF FILE(MYLIB/MYFILE) RCDLEN(xyz) MAXMBRS(*NOMAX) SIZE(*NOMAX)
2. When doing a GET using the iSeries FTP client:
Add the following CL command to the CL program before calling FTP:
CRTPF FILE(MYLIB/MYFILE) RCDLEN(xyz) MAXMBRS(*NOMAX) SIZE(*NOMAX)
When a new file is transferred by the iSeries FTP code, the job first allocates/writes the data to temporary
storage. Once the full file is received, the target file is then created and the data written to the file. This is
due to FTP having to receive the full file before it knows what the maximum record length is within the file.
On later sends to this same file, the record length is already established and, as a result the data is written
directly to the file.
To prevent the initial transfer from taking longer, the file can be pre-created with the CORRECT record length
either interactively or using FTP subcommands. The file must be created on the system receiving the data
using the following methods:
1. Use CRTPF from an interactive session and ensure that the record length (xyz in the commands below)
is correct for the file being transferred.
CRTPF FILE(MYLIB/MYFILE) RCDLEN(xyz) MAXMBRS(*NOMAX) SIZE(*NOMAX)
OR
When doing a PUT to an iSeries FTP server:
quote rcmd CRTPF FILE(MYLIB/MYFILE) RCDLEN(xyz) MAXMBRS(*NOMAX) SIZE(*NOMAX)
2. When doing a GET using the iSeries FTP client:
Add the following CL command to the CL program before calling FTP:
CRTPF FILE(MYLIB/MYFILE) RCDLEN(xyz) MAXMBRS(*NOMAX) SIZE(*NOMAX)
[{"Product":{"code":"SWG60","label":"IBM i"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Communications-TCP","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]
Historical Number
514454437
Was this topic helpful?
Document Information
Modified date:
12 May 2023
UID
nas8N1013197