Description:
How to use ACTEST XFTP to free datasets hung during FTP processing. It is based on a previous ACTEST procedure but much easier and safer to use.
Solution:
Sometimes during FTP processing, a problem may occur that will cause a dataset to remain allocated to TCPaccess. Generally the only known way to free the dataset has been either to cycle the stack, or use an ACTEST process that was quite cumbersome.
PTF RO22073 introduces a better option called XFTP that runs under ACTEST.
General Information
You can use the ACTEST XFTP command to list active FTP tasks.
Do not detach an FTP task unless you are absolutely sure the task and dataset are hung.
Interactive users may appear to be active for an extended period of time but are actually not holding any resources.
The XFTP command results for interactive FTP users show the last dataset used but the dataset may no longer be allocated.
Basic instructions for implementation and utilization
After applying RO22073, you may need to make some configuration changes depending on what you currently have defined.
- The APPCFGxx for the stack must have a Telnet SERVICE statement using MODULE(STELNET) that is configured for ACTEST. Sample configuration using a non-standard telnet port:
SERVICE NAME(NETSTAT) MODULE(STELNET) PORT(24)
APPL NAME(ACTEST) TERMPROF(*) PORT(24)
- Logon to the port you have configured with ACTEST as the initial command.
Unicenter TCPaccess Telnet Server 6.0.0 (STACK1.CA.COM)
Mon, 23 Mar 2009 10:20:21 EST
Enter "NEWS" for current news.
Enter Command Or 'HELP':
You will be prompted for your userid and password as this is a restricted command.
Requested Service Is Restricted Please Enter Your Userid: And Password: Server Telnet User USER02 Logged In
Please note that until you have completed login, you will not be able to see what you have typed.
- Enter XFTP. This will bring up a screen showing datasets that are allocated by TCPaccess:
xftpXFTP: List of ALL Active FTP TASK XFTP: A Prolonged Running FTP may Indicate an FTP TASK is Hung XFTP: It may be DETACHED to FREE the Dataset. Use Caution. PDETACH nnnnnnnn PTA@ PTAPGM DSN VOLSER USERID Start D/T 2E0EDF80 FTPSFTDR AUCM0.CSNM3.TESTEXEC NMD019 USER03 21May10:58 2E0EECE8 FTPSFTDR USER01 21May11:19
- To end the session, enter
END
Implementation for FTP-only stack
If you are running an FTP-only stack, the implementation will be a bit different.
A stack running FTP-only has no device; it connects to a TCPaccess stack, and the FTP server port listens on the main stack.
However, the dataset is allocated within the FTP stack, so the Telnet port must also be defined within the FTP stack so that the dataset can be freed.
The port for Telnet will also be listening on the main stack.
Changes needed on the FTP stack include
- Change the IJTCFGxx
In the IFSPARM, the APPS statement must contain
APPS (FTP,STACK,TELNET)
This allows the STELNET module to function.
- Change the APPCFGxx
- In the GLOBAL statement
- The ACBNAME must point to the ACB used by the main stack
- The API must point to the SubsysID used by the main stack
So look at the APPCFGxx of the main stack and locate the ACBNAME defined in the GLOBAL statement:
GLOBAL ACBNAME(A03ACC4E) API(*) DNR(* 30)
You can also verify this by looking in the JESMSGLG or T01LOG of the main stack for this message
T01VT004I VTAMappl - initialized VTAM Applid (Plu) = A03ACC4E
Then look in the startup JCL of the main stack for the SSN parameter:
SOUT=X, <DYNAMIC ALLOCATION SYSOUT CLASS> SSN='AC4E', <ADDRESS SPACE SUBSYSTEM NAME> SRC=, <SUBSYSTEM RECOGNITION CHARACTER>
This can also be verified in the JESMSGLG or T01LOG with message
T00IJ067I Lx=5800,Ssnam=AC4E Appl=T01 Sout=X Jobi=SNSWILMA
Now define these parameters in the APPCFGxx for the FTP stack:
GLOBAL ACBNAME(A03ACC4E) API(AC4E)
- Add the TELNET definition
It is defined here under port 24, but you can use any port that is not currently in use on the main stack.
SERVICE NAME(TELNET) MODULE(STELNET) PORT(24)
TELNET PORT(24) PASS(DATA) DEFAULT TERMPROF(GROUP01)
APPL NAME(ACTEST) TERMPROF(*) PORT(24)
Please note the TERMPROF(GROUP1) in the Telnet statement.
You need to copy over all TERMPROF statements for GROUP1 from your APPCFGxx in the main stack to your FTP APPCFG.
- Cycle the FTP stack
Due to the changes in the IJTCFGxx, the FTP stack must be cycled to implement the changes.
When you issue NETSTAT CONN LOCPORT(24) on your main stack, you should now see the Telnet port listening.
To access XFTP, login to port 24 of your main stack as noted in Basic Instructions.
You can now view and free any hung datasets on your FTP stack.
NOTE: These instructions do not apply if the FTP server is running over an IBM stack.