*DECK NVFUGSN 
USETEXT TEXTNVF 
USETEXT TEXTSS
PROC NVFUGSN (AORD);
# TITLE - NVFUGSN - GENERATE SECONDARY APPLICATION NAME. #
      BEGIN # NVFUGSN # 
# 
**    NVFUGSN - GENERATE SECONDARY APPLICATION NAME.
* 
*     C. BRION     83/04/17, 83/06/24.
* 
*     THIS PROCEDURE CONVERTS A PRIMARY APPLICATION NAME AND GENERATES
*     THE SECONDARY APPLICATION NAME. 
* 
*     PROC NVFUGSN (AORD) 
* 
*     ENTRY:  
*       AORD - THE AST ORDINAL OF THE SECONDARY AST ENTRY.
* 
*     EXIT: 
* 
*       THE SECONDARY AST ENTRY WILL CONTAIN THE CONVERTED PRIMARY APPLICATION
*       NAME. 
# 
# 
****  PROC NVFUGSN XREF LIST
# 
      XREF
        BEGIN 
        FUNC XCDD C(10);                 # CONV INT TO DISPLAY CODE # 
        END 
  
# 
****
# 
  
      DEF MAXCCNT$      # 5 #;           # MAX NUM CHARS ALLOWED #
  
      ITEM AORD         I;               # AST ORDINAL #
      ITEM CCNT         I;               # CHAR COUNTERS #
      ITEM INTAN    C(10);               # DISPLAY NAME CELL #
      ITEM STOPX        B;               # LOOP CONTROL VARIABLE #
  
# 
**    TEMPA - TEMPORARY ARRAY.
# 
      ARRAY TEMPA [00:00] S(1); 
        BEGIN 
        ITEM TEM$WORD        U(00,00,60); # WORD REFERENCE             #
        ITEM TEM$NAME        C(00,00,07); # APPLICATION NAME           #
        END 
  
      CONTROL EJECT;
  
# 
*     EXTRACT THE SECONDARY APPLICATION NAME FROM THE AST ENTRY.
*     CHECK FOR FIRST BLANK CHARACTER SIGNALLING END OF NAME. 
*     IF ALL SEVEN CHARACTERS USED, USE ONLY FIRST FIVE CHARACTERS. 
*     CONVERT THE APPLICATION NUMBER TO DISPLAY CODED DECIMAL EQUIVALENT. 
*     APPEND THE CONVERTED APPLICATION NUMBER TO END OF APPLICATION 
*     NAME TO GET SECONDARY NAME. STORE INTO AST ENTRY. 
# 
  
      TEM$WORD[0] = 0;
      TEM$NAME[0] = AST$SANAM[AORD];
      INTAN = "0000000000"; 
      STOPX = FALSE;
      FOR CCNT = 0 STEP 1 WHILE 
        ((CCNT LS 7) AND
          NOT STOPX)
      DO
        BEGIN 
        IF C<CCNT,1>TEM$NAME[0] EQ " "
        THEN
          STOPX = TRUE; 
        END 
      CCNT = CCNT - 1;
      IF NOT STOPX
      THEN
        CCNT = MAXCCNT$;
      INTAN = XCDD(AST$AN[AORD]); 
      IF C<8,1>INTAN EQ " " 
      THEN
        C<8,1>INTAN = "0";
      B<(CCNT * 6),12>TEM$NAME[0] = B<48,12>INTAN ; 
      AST$PANAM[AORD] = TEM$NAME[0];
      END 
 TERM 
