cdc:nos2.source:nam5871:nvftpsv
Table of Contents
NVFTPSV
Table Of Contents
- [00007] PROC NVFTPSV1)
- [00008] NVFTPSV - PROCESS SUCCESSFUL VALIDATION
- [00012] PROCESS SUCCESSFUL VALIDATION.
- [00056] PROC NVFTDAD
- [00057] PROC NVFTDSP
- [00058] PROC NVFTIAM
- [00059] PROC NVFTILP
- [00060] PROC NVFUMQE
- [00061] PROC SSTAQE
- [00062] PROC SSTETS
Source Code
- NVFTPSV.txt
- *DECK NVFTPSV
- USETEXT TEXTNVF
- USETEXT TEXTSS
- USETEXT TXTANVF
- USETEXT TXTAPSS
- USETEXT TXSMNVF
- PROC NVFTPSV((PT));
- # TITLE NVFTPSV - PROCESS SUCCESSFUL VALIDATION #
- BEGIN # NVFTPSV #
- #
- ** NVFTPSV - PROCESS SUCCESSFUL VALIDATION.
- *
- * E. THAVIKULWAT 81/10/19
- *
- * THIS PROCEDURE'S MAIN FUNCTION IS TO UPDATE *PTAC* ENTRY UPON A
- * SUCCESSFUL USER OR APPLICATION VALIDATION. IT IS CALLED INTO
- * EXECUTION BY THE FOLLOWING PROCEDURES:
- * *NVFTETI* *NVFTVAA* *NVFTVVD*
- *
- * PROC NVFTPSV((PT))
- *
- * ENTRY:
- * PT = POINTER TO *PTAC* ENTRY
- *
- * EXIT:
- * *PTAC* TABLE UPDATED TO REFLECT SUCCESSFUL USER OR APPLICATION
- * VALIDATION.
- *
- * NOTES:
- * INCREMENT FAMILY COUNT IS SET ONLY FOR INITIAL USER VALIDATION.
- * USER VALIDATION DUE TO A CR/RCN REQUEST IS NOT CONSIDERED
- * INITIAL AND FAMILY COUNT IS NOT INCREMENTED.
- *
- * METHOD:
- * FOR APPLICATION VALIDATION, CALL *NVFTDSP* TO DETERMINE IF
- * SWITCH IS POSSIBLE. FOR INITIAL USER VALIDATION, CALL *NVFTIAM*
- *TEXT
- * TO ISSUE *ABUN* AND *ABIC* ACCOUNT MESSAGE, AND
- * DETERMINE IF THERE IS AN IMPLIED MANDATORY
- * APPLICATION FROM THE *VALIDUS* FILE. IF THERE
- *ENDTEXT
- * IS AN IMPLIED MANDATORY APPLICATION, SET STATE OF TERMINAL TO
- * AWAIT VALIDATE APPLICATION ACCESS. OTHERWISE, CALL *NVFTILP* TO
- * ISSUE APPLICATION PROMPT. ON AN INTIAL LOGIN IF THE USER IS
- * NOT ALLOWED MULTIPLE CONCURRENT LOGINS, CREATE AN ENTRY IN THE
- * *RML* TABLE INORDER TO RESTRICT THE USER.
- #
- #
- **** PROC NVFTPSV - XREF LIST.
- #
- XREF
- BEGIN
- PROC NVFTDAD; # DETERMINE ADDITIONAL DIALOGUE #
- PROC NVFTDSP; # DETERMINE SWITCH POSSIBILITY #
- PROC NVFTIAM; # ISSUE ACCOUNTING MESSAGE #
- PROC NVFTILP; # ISSUE LOGIN PROMPT #
- PROC NVFUMQE; # MAKE QUEUE ENTRY #
- PROC SSTAQE; # ACCEPT QUEUE ENTRY #
- PROC SSTETS; # ENLARGE TABLE SPACE #
- END
- #
- ****
- #
- DEF LENGTH$ #10#; # NUMBER OF CHARACTERS IN CLRSCRN ARRAY #
- ITEM BPOS I; # BIT POSITN WITHIN WORD (COMPASS NOTATN) #
- ITEM COUNT I; # COUNT OF THE NUMBER OF 1'S BITS #
- ITEM I I; # LOOP VARIABLE #
- ITEM INUSERV B; # INITIAL USER VALIDATIONS FLAG #
- ITEM MATCH B; # EXIT LOOP VARIABLE #
- ITEM NENTRY I; # NUMBER OF ENTRIES IN TABLE #
- ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC #
- ITEM RM I; # SUBSCRIPT FOR ARRAY RML #
- #
- * CLRSCRN - A "MESSAGE" SENT TO THE TERMINAL TO CLEAR THE SCREEN.
- #
- ARRAY CLRSCRN [00:00] S(1);
- BEGIN
- ITEM CLRWORD C(00,00,01) = ["1"];
- ITEM CLRZERO U(00,06,54) = [0];
- END
- IF PTA$PROMPT[PT] EQ AWTAPP$
- THEN # SUCCESSFUL APPL VALIDATION #
- BEGIN
- PTA$APPLCT[PT] = 0; # CLEAR APPLICATION RETRY COUNT #
- PTA$AFF[PT] = FALSE; # CLEAR APPLICATION FAILED FLAG #
- NVFTDSP(PT,0); # DETERMINE SWITCH POSSIBILITY #
- END
- ELSE # SUCCESSFUL USER VALIDATION #
- BEGIN
- PTA$USERCT[PT] = 0; # CLEAR USER RETRY COUNT #
- INUSERV = PTA$IUVF[PT];
- IF INUSERV
- THEN # INITIAL USER VALIDATION #
- BEGIN
- PTA$CNTIME[PT] = CTM$PDT[0]; # SAVE CONNECTION TIME #
- NVFTIAM(PT,ABUN$); # ISSUE *ABUN* ACCOUNTING MSG #
- IF PTA$CHGNUM[PT] NQ NULL$ # CHARGE NUMBER EXISTS #
- THEN
- BEGIN
- NVFTIAM(PT,ABIC$); # ISSUE *ABIC* MESSAGE #
- END
- IF PTA$PID[PT] NQ NULL$ # PERSONAL IDENTIFIER EXISTS #
- THEN
- BEGIN
- NVFTIAM(PT,SIPI$); # ISSUE *SIPI* MESSAGE #
- END
- PTA$IUVF[PT] = FALSE;
- END
- #
- * IF MULTIPLE CONCURRENT LOGINS ARE PROHIBITED, CHECK THE *RML*
- * TABLE FOR A DUPLICATE USER. IF A DUPLICATE IS FOUND CALL
- * *NVFTDAD* AND END THE CONNECTION. IF NO DUPLICATE, CREATE A
- * TABLE ENTRY IN THE *RML* TABLE TO RESTRICT THE USER.
- #
- IF INUSERV AND (NOT PTA$CACA[PT])
- THEN
- BEGIN # INTIAL LOGIN, RESTRICTED USER #
- FOR I = 0 STEP 1 UNTIL (RMLLNGTH - 1)
- DO
- BEGIN
- IF (RML$UIDX[I] EQ PTA$UIDX[PT]) AND
- (RML$FNAM[I] EQ PTA$FNAM[PT])
- THEN
- BEGIN # MULTIPLE CONCURRENT LOGINS #
- NVFTDAD(PT,ECCANA$); # ISSUE ERROR AND END CONNECT #
- RETURN;
- END
- END
- RM = RMLLNGTH; # CREATE NEW *RML* TABLE ENTRY #
- SSTETS (P<RML>,RM,RMLSIZ$);
- RML$UIDX[RM] = PTA$UIDX[PT];
- RML$FNAM[RM] = PTA$FNAM[PT];
- END
- #
- * SEARCH APPLICATION BITS FIELD OF *AAWC* TO DETERMINE IF A
- * MANDATORY APPLICATION IS SPECIFIED IN THE *VALIDUS* FILE FOR
- * THIS USER (ONLY ONE BIT SET).
- #
- COUNT = 0;
- FOR I = 12 STEP 1 WHILE (COUNT LS 2 AND I LQ 59)
- DO
- BEGIN
- IF B<I,1>PTA$AAVW[PT] EQ 1
- THEN
- BEGIN
- COUNT = COUNT + 1; # INCREMENT NUMBER OF 1'S #
- BPOS = 59 - I; # BIT POSITION WITHIN WORD(CMP) #
- END
- END
- IF COUNT EQ 1
- THEN # MANDATORY APPL IN VALIDUS #
- BEGIN
- #
- * IMPLIED MANDATORY APPLICATION IS SPECIFIED IN THE *VALIDUS*
- * FILE. HAVE TO FURTHER CHECK IF BIT IS UNIQUE TO THIS
- * APPLICATION. IF BIT IS NOT UNIQUE, APPLICATION IS NOT
- * CONSIDERED A MANDATORY APPLICATION.
- #
- MATCH = FALSE;
- NENTRY = ASTLNGTH / ASTSIZ$;
- FOR I = 0 STEP 1 WHILE (NOT MATCH AND I LS NENTRY)
- DO
- BEGIN
- IF AST$AWBP[I] EQ BPOS
- THEN # FOUND APPLICATION #
- BEGIN
- IF NOT AST$BNUF[I]
- THEN # APPLICATION BIT IS UNIQUE #
- BEGIN
- PTA$VDSAPP[ PT] = AST$ANAM[I]; # SAVE APPL NAME #
- PTA$VDSF[ PT] = TRUE; # SET VALIDUS APPL FLAG #
- END
- MATCH = TRUE; # SET EXIT LOOP CONDITION #
- END
- END
- END
- #
- * FOR BOTH INITIAL AND NON-INITIAL USER VALIDATION, DETERMINE IF
- * USER NEEDS TO BE PROMPTED FOR AN APPLICATION NAME. NO PROMPT
- * IS REQUIRED IF THERE IS AN IMPLIED MANDATORY APPLICATION NAME
- * OR IF USER HAS ALREADY SUPPLIED THE APPLICATION NAME.
- #
- PTA$PROMPT[PT] = AWTAPP$;
- IF ((PTA$VAF[PT]) AND (PTA$APPIND[PT] NQ PRIMARY$))
- OR (PTA$VDSF[PT])
- THEN # NO APPLICATION PROMPT #
- BEGIN
- PTA$STATE[PT] = PTACST"AWTVAA"; # AWAIT VALIDAT APPL ACCESS #
- END
- ELSE # APPLICATION PROMPT REQUIRED #
- BEGIN
- NVFTILP(PT); # ISSUE APPLICATION PROMPT #
- END
- END
- END # END NVFTPSV #
- TERM
1)
PT
cdc/nos2.source/nam5871/nvftpsv.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator