*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