How to free an FTP allocated Dataset in TCPaccess using ACTEST XFTP?

Document ID : KB000054062
Last Modified Date : 14/02/2018
Show Technical Document Details

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.

  1. 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

  • Determine which dataset needs to be freed.
       In this instance, to free AUCM0.CSNM3.TESTEXEC, the command          PDETACH 2E0EDF80    would be issued to free the dataset.     Do not Detach the PTA unless you are sure the Dataset is hung.

  • 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

    1. Change the IJTCFGxx
      In the IFSPARM, the APPS statement must contain
         APPS (FTP,STACK,TELNET)
      This allows the STELNET module to function.

    2. Change the APPCFGxx

      1. 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)
      2. 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.