E$LIB - Login- en gebruikers-instellingen
Wanneer E$LIB voor de eerste keer wordt geïnstalleerd, moeten de volgende zaken worden aangepast:
- Bij Microsoft Windows
- In de SYNERGY.INI moeten de paden naar E$SYS en E$LIB worden opgenomen.
- Bij VMS
- Daar moet de procedure SETTINGS.COM in E$SYS in de VMS-startup procedure worden opgenomen met als parameter een schijfnaam waarop E$LIB is geïnstalleerd, bijvoorbeeld DD1$DIA1.
- Bij UNIX
- In de .profile de UNIX-versie van SETTINGS.COM opnemen.
E$PCLOSE = <editor naam>
E$ERRLOG = <logfile naam>
E$PAGESIZE = <beeldscherm hoogte>
Waar ze worden gemaakt is niet van belang, als ze er maar zijn.
Voor de overige logicals en aan te roepen programma's tijdens het aanmelden, zie hieronder hoe deze moeten worden ingesteld.
TERMINAL
Bevat het unieke terminalnummer, welke ook als een soort sessienummer fungeert.
Elke gebruiker krijgt bij het voor de eerste keer aanmelden automatisch een range van 10 nummers toegewezen. Dit wordt gedaan door het programma E$SYS:TERM_SET.EXE, dat bij het aanmelden moet worden aageroepen. Dit wil zeggen dat elke gebruiker 10 unieke E$LIB terminalnummers krijgt. De eerste die zich aanmeldt krijgt 1 t/m 9, de volgende 10 t/m 19, de volgende gebruiker 20 t/m 29. Bij elke aanmelding wordt het nummer met 1 opgehoogd en na 9 wordt weer begonnen bij 0 (of 1 bij de eerste gebruiker).
Met deze toegewezen range kan de gebruiker zich maximaal 10 keer op het zelfde moment onder dezelfde username hebben aangemeld. Bij elke aanmelding wordt namelijk het terminalnummer met 1 opgehoogd. Wordt het einde van de range bereikt, dan wordt weer aan het begin van de range begonnen. Dit terminalnummer kan niet met XCALL TNMBR te worden opgevraagd, het bevindt zich in e$usr_term (altijd een positieve waarde). De modus waarin het programma draait bevindt zich in e$usr_mode. Deze modus-tekst is dezelfde als verkregen wordt met de VMS lexical-functie F$MODE().
Wanneer bij het starten van een programma deze logical niet is gevuld en/of NUL als resultaat heeft, dan wordt e$usr_term gevuld met 999.
- Instellen
- Bij Microsoft Windows
- Hier kan je volstaan met de definitie TERMINAL = <nummer> in de in gebruik zijnde SYNERGY.INI of in de AUTOEXEC.BAT. Dit is per PC in te richten. Zorg ervoor dat elke PC waarop de software draait een uniek terminalnummer krijgt. Zie bijgeleverde SYNERGY.INI.
-
- Aanmelden bij VMS
- De LOGIN.COM met extra's voor E$LIB bevindt zich in E$SYS:. De beste plaats om deze extra's in op te nemen is in SYS$MANAGER:SYLOGIN.COM.
-
- Aanmelden bij Unix
- De .profile met extra's voor E$LIB bevindt zich in E$SYS:. Het makkelijkst is om deze direct vanuit de .profile van een gebruiker aan te roepen.
TERMINAL_MODE
Bevat de modus waarin de gebruiker werkt.
Er zijn twee modi:
- INTERACTIVE
- BATCH
Indien bij het starten van een programma deze logical niet is gevuld, wordt e$usr_mode gevuld met de tekst BATCH.
- Instellen
- Bij Microsoft Windows
- In de in gebruik zijnde SYNERGY.INI opnemen:
TERMINAL_MODE = INTERACTIVE
- Bij de overige
- Wordt tijdens het aanmelden ingesteld en op runtime-niveau door de routine e$init in de variabele e$usr_mode opgeslagen zodat het ter beschikking van het programma staat. Zie de bijgeleverde SYLOGIN.COM.
- Testen
- In EARTH.H zijn twee literals opgenomen waarmee de modus in een programma getest kan worden:
i_proc = INTERACTIVE
b_proc = BATCH
- Een typische test is deze:
- In EARTH.H zijn twee literals opgenomen waarmee de modus in een programma getest kan worden:
if e$usr_mode.eq.i_proc begin ; interactief?
- ...
- ...
- end
- ...
TERMINAL_USER
Bevat de naam van de gebruiker.
De naam van een gebruiker kan maximaal 15 tekens beslaan. Tussenliggende spaties zijn toegestaan. Deze naam is tevens de sleutel waarmee het record uit E$SYS:TERMINAL.ISM wordt gelezen om het terminalnummer te bepalen en uit E$SYS:USRS[_<pkg>].ISM gelezen wordt waar zich de gebruikers-instellingen bevinden.
- Indien bij het starten van een programma deze logical geen waarde bevat, worden de instellingen van de gebruiker NOENV (No Environment) ingelezen en krijgt e$usr_name de tekst NOENV.
- Instellen
- Bij Microsoft Windows
- In de in gebruik zijnde SYNERGY.INI opnemen:
TERMINAL_USER=Jouw Naam
- Bij de overige moet deze tijdens het aanmelden gemaakt worden:
- VMS
define TERMINAL_USER 'f$getjpi("", "USERNAME")'
ofdefine TERMINAL_USER "Jouw Naam"
- Unix
setenv TERMINAL_USER $user
ofset TERMINAL_USER=$user
ofTERMINAL_USER=$user; export TERMINAL_USER
E$USR
Leest gebruikersgegevens in een common record in.
E$LIB werkt met instellingen die per pakket, per gebruiker kunnen worden ingericht. Deze worden vastgelegd in het bestand E$SYS:USRS_<pkg>.ISM of E$SYS:USRS.ISM. Deze instellingen worden door middel van de routine e$term ingelezen en in e$usr opgeslagen.
Dit common record bevindt zich in e$lib:earth.h en bevat de volgende gegevens:
-
E$INIT code e$usr_stat Administratienummer e$usr_admn Printernummer e$usr_prtn Internationalen e$usr_intl - pos 1: Scheidingsteken voor duizendtallen (.)
- pos 2: Scheidingsteken voor decimalen (,)
- pos 3: Scheidingsteken voor datumweergave (-)
- pos 4: Scheidingsteken voor tijdsweergave (:)
Taalcode e$usr_lang Administratiebestand e$usr_admf DBL Flags e$usr_flag
(zie: DBL FLAGS subroutine)Functietoetsen toestaan e$usr_fkys - 0 = Nee
- 1 = Ja
Attributen voor e$fatal e$usr_fatt Het woord JA in de taal van Taalcode e$usr_ywrd Het woord NEE in de taal van Taalcode e$usr_nwrd 14 reserve posities e$usr_fill - Instellen
- Als een pakket voor het eerst gebruikt gaat worden moeten er minstens twee records aanwezig zijn in E$SYS:USRS[_pkg].ISM, te weten één met de gebruikersnaam DEFAULT en één met de gebruikersnaam NOENV. Zie e$term.
- Instellingen zijn toe te voegen en te onderhouden met het onderhouds-programma E$SYS:EDTUSR.EXE. Let er op dat de gebruikersnaam DEZELFDE is als gedefinieerd in de logical TERMINAL_USER.