IBM Support

GUI FTP Clients Not Properly Handling PDS/E Data Sets

Troubleshooting


Problem

When using a workstation FTP client that provides a graphical user interface (GUI), it normally recognizes z/OS FTP servers and expands displays of partitioned data sets (PDS, DSORG PO) to show the individual members. However, if the data set uses the extended format (PDS/E, DSORG PO-E), the client does not provide the same functions.

Symptom

These results will vary depending on the client being used. Typically it will not expand a PDS/E data set to list the members. Also any attempts to perform transfers involving this data set will end with an error.

Cause

z/OS 1.13 and above (and 1.10-1.12 with the PTF for APAR PM19545 applied) added the capability for a directory listing to distinguish between a PDS and a PDS/E in the DSORG column of the output. If that option is enabled (with a LISTLEVEL 1 statement in the server's FTP.DATA configuration input), the client program might not recognize the new response (PO-E instead of PO).

Diagnosing The Problem

You can use one of the following methods to verify whether the LISTLEVEL option has been enabled:

  • If the client supports sending an arbitrary command, issue a STAT (LISTLEVEL command. The following response indicates that the LISTLEVEL option has been enabled; any other response indicates that the old behavior (listing PO for both PDS and PDS/E) is used.

  •    211-Server site variable LISTLEVEL is set to 1
       211 *** end of status ***
  • Use a line-mode FTP command to access the server. Issuing a DIR command for a data set name qualifier that includes a PDS/E data set will show PO-E in the DSORG column (just before the unqualified name).
  • You can also issue the STAT (LISTLEVEL command as shown above. Note that some clients (such as the one that comes with Microsoft ® Windows systems) will require prefixing this command with the QUOTE keyword.

Resolving The Problem

Contact the client software vendor to request a change to recognize PO-E and treat it the same as it would a PO data set. Pending that update, there are two options available:

  • If the client software supports sending an arbitrary command to the server, issue a SITE LISTLEVEL=0 command to reset the option for this session (might require prefixing with the QUOTE command). Then refresh the data set list.
  • Contact the server's administrator to change the configuration to set LISTLEVEL 0 or remove the statement to let it default. Those users who want the distinction for their processes can issue a SITE LISTLEVEL=1 command for their sessions.
  • An alternative is to have two FTP servers running on the system, one with LISTLEVEL 0 configured and the other with LISTLEVEL 1. The servers can be distinguished by their listening port or by having one associated with a specific IP address (using the BIND keyword on the PORT statement for that started task). Users can then select which server to specify, depending on the behavior they want.

[{"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":"--","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"1.10;1.11;1.12;1.13;2.1;2.2;2.3","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
15 June 2018

UID

swg21468733