*DECK FFSCRTO 
USETEXT TEXTFFS 
      PROC FFSCRTO; 
*CALL COPYRITE
# TITLE FFSCRTO - *RNTO* PROTOCOL ELEMENT PROCESSOR.                   #
  
      BEGIN                            # FFSCRTO                       #
# 
**    FFSCRTO  *RNTO* PROTOCOL ELEMENT PROCESSOR. 
* 
*     A. LIM                           88/02/18 
* 
*     THIS PROCEDURE PROCESSES A *RNTO* PROTOCOL ELEMENT. 
* 
*     PROC FFSCRTO
* 
*     ENTRY    PAR     = CHANGE_PARAMETERS. 
* 
*     EXIT     RNTOFN  = NEW PFN. 
* 
*     METHOD   SAVE NEW PFN IN COMMON BLOCK.
*              CALL PFM *CHANGE* ROUTINE TO PERFORM FILE NAME 
*              AND ATTRIBUTES CHANGE. 
*              IF PFM COMPLETES SUCCESSFULLY: 
*                SEND 250 - REQUESTED FILE ACTION OKAY. 
*              ELSE:  
*                SEND 550 - FILE UNAVAILABLE. 
* 
# 
  
# 
****  PROC FFSCRTO - XREF LIST
# 
      XREF
        BEGIN 
        PROC CHANGE;                   # PFM CHANGE                    #
        FUNC FFSUPCP B;                # PROCESS COMMAND PARAMETERS    #
        END 
# 
****
# 
  
      ITEM PFMST     U;                # PFM RETURN STATUS             #
      ITEM ETEXT     U;                # ADDRESS OF PFM ERROR TEXT AREA#
  
CONTROL EJECT;
  
# 
**    START MAIN PROCEDURE. 
# 
      IF NOT FFSUPCP
      THEN
        BEGIN                          # ERROR IN CHANGE PARAMETERS    #
        RETURN;                        # EXIT(FFSUPCP ALREADY SENT MSG)#
        END 
  
      RNTOFN = PAR$VALUE[1];           # GET RENAME TO FILE NAME       #
      MBT$LFN[0] = RNFRFN;             # LFN = OLD FILE NAME           #
      MBT$PFN[0] = RNFRFN;             # PFN = OLD FILE NAME           #
      MBT$NFN[0] = RNTOFN;             # NFN = NEW FILE NAME           #
  
      CHANGE(MBT, PFMST, ETEXT, RNTOFN);  # CHANGE FILE NAME/ATTRIBUTES#
# 
*     SET UP SEND DATA REQUEST TO SEND EITHER A 250 OR 550 MESSAGE. 
# 
  
      REQ$RCODE[RFTPCM$] = RCM"RCSENDAT";  # SEND DATA REQUEST         #
      REQ$CTYPE[RFTPCM$] = RSPCT;          # SET C/N TYPE TO SEND DATA #
      REQ$LEN[RFTPCM$]   = FTPMSGL$;       # DATA LENGTH               #
      IF PFMST EQ NEC 
      THEN
        BEGIN                              # PFM COMPLETE WITH NO ERROR#
        REQ$ADDR[RFTPCM$] = LOC(FTPRMSG[MSG$250]);   # 250 MESSAGE     #
        END 
      ELSE
        BEGIN                              # PFM UNSUCCESSFUL          #
        REQ$ADDR[RFTPCM$] = LOC(FTPRMSG[MSG$550]);   # 550 MESSAGE     #
        END 
  
# 
*     CLEAN UP OLD AND NEW FILE NAME IN COMMON BLOCK. 
# 
      RNFRFN     = 0; 
      RNTOFN     = 0; 
  
      RETURN;                            # RETURN TO CALLER            #
  
      END                                # FFSCRTO                     #
  
      TERM
