*DECK SSICNAM 
USETEXT TEXTATS 
USETEXT TEXTIPL 
      PROC SSICNAM; 
*CALL COPYRITE
# TITLE SSICNAM - CONNECT TO NAM                                       #
  
      BEGIN                            # SSICNAM                       #
# 
****  SSICNAM  CONNECT TO NAM 
* 
*     THIS PROCEDURE ESTABLISHES A CONNENTION BETWEEN *ATF* AND *NAM*.
* 
*     PROC SSICNAM
* 
*     ENTRY 
* 
*     EXIT     NETINIT = TRUE IF APPLICATION CONNECTED. 
* 
*     METHOD   A DAYFILE MESSAGE IS ISSUED TO INFORM OPERATOR OF THE
*              CURRENT ATTEMPT TO CONNECTED TO *NAM*.  *IPPBEGN*
*              IS USED TO ACTUALLY ISSUE THE *NETON* REQUEST.  IF THE 
*              REQUEST WAS SUCCESSFUL A DAYFILE MESSAGE IS ISSUED TO
*              INDICATE *ATF* HAS NETTED ON, OTHERWISE *SSIAEPR* IS 
*              CALLED TO TERMINATE THE APPLICATION. 
# 
  
# 
****  PROC SSICNAM - XREF LIST
# 
      XREF
        BEGIN 
        PROC IPPBEGN;    # BEGIN NETWORK                               #
        PROC MESSAGE;    # ISSUE DAYFILE MESSAGE                       #
        PROC SSIAEPR;    # ATS ERROR PROCESSING ROUTINE                #
        END 
# 
**
# 
      ITEM I                        I; # LOOP CONTROL                  #
      ITEM NETSTATUS   S:NETON$STATUS; # NETON STATUS                  #
  
      ITEM ATSNAME              C(10); # APPLICATION NAME              #
  
# 
****  THIS ARRAY DEFINES THE MESSAGE FOR ATTEMPTING NETON.
# 
      ARRAY TRYMSG [00:00] S(3);
        BEGIN 
        ITEM TRY$TEXT    C(00,00,21) = ["ATF-ATTEMPTING NETON."]; 
        ITEM TRY$ZBYTE   U(02,06,54) = [0]; 
        END 
  
# 
****  THIS ARRAY DEFINES THE MESSAGE FOR A SUCCESSFUL NETON.
# 
  
      ARRAY OKMSG [00:00] S(3); 
        BEGIN 
        ITEM OK$TEXT     C(00,00,21) = ["ATF-NETON SUCCESSFUL."]; 
        ITEM OK$ZBYTE    U(02,06,54) = [0]; 
        END 
      CONTROL EJECT;
# 
****  START MAIN PROCEDURE
# 
  
      NET$INIT = FALSE;                # NOT NETTED ON                 #
      ATSNAME = APPLNAM$;              # INITIALIZE NAM APPL NAME      #
  
      MESSAGE (TRYMSG [0],0);          # DAYFILE ATTEMPTING NETON      #
  
      FOR I=0 WHILE NOT NET$INIT
      DO
        BEGIN                          # NETON LOOP                    #
        IPPBEGN (ATSNAME, MC, TCPUN, NETSTATUS);# ACTIVATE APPLICATION #
  
        SWITCH NETON$:NETON$STATUS  NETON$SUC:SUCCESS,
                                    NETON$UNA:UNAVAILABLE,
                                    NETON$DUP:DUPLICATE,
                                    NETON$DIS:DISABLED, 
                                    NETON$HST:HSTNOTFOUND;
  
        GOTO NETON$ [NETSTATUS];
          BEGIN # NETON STATUS #
  
      NETON$SUC:  
          MESSAGE (OKMSG, 0); 
          NET$INIT = TRUE;
          TEST I; 
  
      NETON$UNA:  
          TEST I; 
  
      NETON$DUP:  
          SSIAEPR (APPLDUP$);          # TERMINATE APPLICATION         #
  
      NETON$DIS:  
          SSIAEPR (APPLDI$);           # TERMINATE APPLICATION         #
  
      NETON$HST:  
          SSIAEPR (HOSTNF$);           # TERMINATE APPLICATION         #
  
          END # NETON STATUS #
        END # NETON LOOP #
  
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # SSICNAM                       #
  
      TERM
