*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 CTEM$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