Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-04 - decus/20-0109/adres.rnm
There are 2 other files named adres.rnm in the archive. Click here to see a list.
.left margin 5
.variable english E S
.variable help H M
.variable comment Q Z
.if comment
How to run runoff on this file:
either:
ADRES.HLP=ADRES.RNM/VARIANT:HELP/NOPAGING/VARIANT:ENGLISH

or:
ADRES.MAN=ADRES.RNM
Skicka kopia till Gunnar Tidner, finansdepartementet
Datainspektionsans`kan, bifoga
.endif comment
.if help
.paper size 19,72
.endif help
.nojustify;.nofill
.ifnot help
.paper size 58,65
.left margin 5
.title ADRES - A PROGRAM FOR HANDLING ADDRESS FILES
.endif help
.ifnot help
.left margin 0
Swedish National Defense Research Institute     FOA 1 Report
Department of Planning and Operations Research  D10009-M3(E5)
S-104 50 Stockholm 80                           March 1976
.skip 2
ADRES - A PROGRAM FOR HANDLING ADDRESS FILES
.skip
BY JACOB PALME
.skip
ABSTRACT:
.fill;.left margin 5
.skip
The ADRES program is suitable for handling small address
registers with between 10 and 2000 addresses. The program
runs on a DECsystem-10 computer.
.skip
The program contains facilities for reformatting the addresses
to fit any kind of adhesive labels, with any number of labels
across the width of the form. Labels can be printed on a line
printer or on a typewriter terminal.
.skip
There are also facilities for selecting certain labels from
an address file using Boolean search conditions like
"SWEDEN+DENMARK_&COPENHAGEN". There is a field in each
address for storing information which is not to be printed
on the labels, e.g_. an interest profile to be used in
the selection.
.skip
Addresses can be sorted on any line in the address.
.skip
The program can easily, without reprogramming,
be made to fit a new task, e.g_. a new way of
selecting addresses for distributions.
.ifnot english
.skip
As an appendix is included an example of how you write to the swedish
DATAINSPEKTIONEN to apply for the right to use an address register.
.endif english
.ifnot help
.p -5,1,5
SEARCH KEY:
.skip
Computer, Digital Equipment, DECsystem-10, Address,
Search, Selection, Mailing, Label.
.ifnot english
.page
.indent -5
SWEDISH ABSTRACT:
.skip
ADRES-programmet {r l{mpligt f`r hantering av sm} adressregister
p} mellan 10 och 2000 adresser. Programmet k`rs p, en DEC-system-10
dator, men {r skrivet i SIMULA och konverterbart till annan dator.
.skip
Programmet kan formattera om adresserna f`r att passa varje typ
av adressetiketter med en eller flera etiketter i bredd p}
etikettarken. Etiketterna kan skrivas ut p} radskrivare eller
skrivmaskinsterminal.
.skip
Programmet g`r det m`jligt att med Booleska s`kformler av typen
"SVERIGE+DANMARK_&K@PENHAMN" v{lja vissa adresser. Varje adress
har ett f{lt av variabel l{ngd som inte skrivs ut vid utskrift,
och d{r t.ex. en intresseprofil kan lagras.
.skip
Adresserna kan sorteras.
.skip
Programmet kan l{tt, utan omprogrammering, f}s att passa en
ny uppgift, t.ex_. en ny metod att v{lja ut adresser.
.skip
Som appendix bifogas ett exempel p} hur man skriver till
datainspektionen om tillst}nd till ett adressregister.
.endif english
.ifnot help
.page
.indent -5
SUMMARY OF INPUT COMMAND FORMAT AND SWITCHES
.skip
.endif help
.left margin 26
.INDENT -26
outfil=infil/switch1/switch2...
.INDENT -26
SWITCH## DEFAULT IN# OUT-EXTENSIONS# /MEANING
.INDENT -26
/NOLABEL LABEL .ADR .LAB# Output for adhesive labels
.INDENT -26
/LIST###### NO .ADR .LST# Output for TTY or LPT-listing
.INDENT -26
/FILE###### NO .ADR .ADR# Output for .ADR file
.INDENT -26
/PRESORT### NO .ADR .USR# Output for sorting
.INDENT -26
/ASORT##### NO .SRT .ADR# After sorting to .ADR file
.INDENT -26
/OUT1###### NO .ADR# ?### Output line 1 as part of label
.INDENT -26
/SELECT#### NO .ADR# ?### Select only certain addresses
.INDENT -26
/NOCASESHIFT CASESHIFT### Upper and lower case equal when selecting
.INDENT -26
/LINES:N#### 5########### Number of lines per label
.INDENT -26
/LABELS:N### 3########### Number of labels horizontally
.INDENT -26
/LEFT:N##### 0########### Left margin
.INDENT -26
/WIDTH:N### 36########### Max number of chars in a line on one label
.INDENT -26
/TAB:N##### 41########### Horizontal spacing between labels
.INDENT -26
/LINE1:N## 300########### Max length of first line in input address
.INDENT -26
/LINE2:N### 80########### Max length of other lines in input address
.INDENT -26
/NOTABS## TABS########### Set and use built-in tabs on GNT terminal
.INDENT -26
/SINGLE#### NO########### LABELS:1/LEFT:1/WIDTH:48
.left margin 0
.ifnot help
.left margin 5
.endif help
.fill
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
FORMAT OF ADDRESS FILE
.skip
The input file to ADRES is normally
an address file consisting of one record for each address.
The records are separated by FORM FEED characters.
Each address can contain up to 16 lines, separated by
CARRIAGE RETURN + LINE FEED.
IMPORTANT: The input records should not contain any TAB characters.
.skip
The number of lines in an input record need #n#o#t# be
the same as the number of lines on the adhesive labels.
The ADRES program will automatically reformat the input
addresses to fit any kind of adhesive label.
.skip
The first line (immediately after the FORM FEED)
in each address can contain special information which you
do not want to print on the adhesive labels, e.g_.
an interest profile or internal information.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
INSERTION, REMOVAL AND UPDATING OF ADDRESSES
.skip
The ADRES package contains no program to correct
individual addresses or to insert or delete
addresses, since this kind of updating is easy to do
with a text editor such as TECO or SOS or EDITS.
.skip
Example: You first find the adresses to be updated with
a search command across pages (such as the N command of TECO)
and then correct it or remove it (e.g_. with the Y command of TECO).
.skip
Do not forget to insert a FORM FEED in front of new addresses added
to the file.
.ifnot help
.skip
At the QZ computing center in Stockholm, you can order forms with adhesive
labels in a format suitable for GNT, Terminet and
similar terminals, from the computer centre.
.p 0,1,12
Example of a simple address file (<FF> means FORM FEED):
.skip
.nofill
<FF>government research
F`rsvarets Forskningsanstalt
FACK
104 50 Stockholm 80
<FF>government computer centre IBM CDC DEC Digital
Stockholms Datamaskincentral
f`r h`gre utbildning och forskning
FACK
104 50 Stockholm 80
.fill
.endif help
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
OUTPUT ON ADHESIVE LABELS
.skip
Unless you specify otherwise, the output from ADRES is prepared in
a format suitable for direct printing on adhesive labels.
.skip
Each address is reformatted to fit into a given label size, with
given number of lines and given number of characters per line.
.skip
You can choose the number of labels from left to right
in the output, and the spacing between the labels.
.skip
The algorithm for fitting an address into a label accepts
addresses with too many lines, too few lines,
too long lines or too short lines, and tries to
get a neat label. This works better if the input file
has many short lines than few long lines.
.skip
The input address is never shortened. If it is too large,
an error message is given on the terminal, and this address
is not output.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
INSERTING LABEL FORMS INTO A TERMINAL
.skip
When you have processed your address file with ADRES to get
a .LAB file, you can insert a form with adhesive labels into
a terminal (e.g. a GNT terminal). First type "TTY#NO#CRLF"
on the terminal and then move the
paper so that you are on the first line of a label. Then
type "COPY#TTY:=#FILE.LAB" where "FILE.LAB" is your
label file, and push the RETURN key on your terminal.
.skip
The labels will now be printed on your terminal.
.skip
You can also insert the label form into the GNT terminal
directly when running the ADRES program, and type the
input command "TTY:=filename" where filename is your address
file, to get the addresses printed directly from the
ADRES program to the label form.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /LIST
.skip
Exactly the same output is produced as with ordinary label output,
except that:
.skip
1) The default extension of the output file is .LST instead of .LAB.
.skip
2) The output file is divided into pages of suitable size.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /FILE
.skip
The output file has the same format, with formfeed characters
between each address, as the input file. Usually used in
combination with /SELECT.
.skip
The default extension of the output file with /FILE is .ADR.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /PRESORT
.skip
The output file is produced in a suitable format for sorting.
Each address becomes one long record, with <CR><LF> instead of
<FF> between records, and each line
in the input file is expanded
with blanks to its maximum length within this record.
This means that the same input line always gets the
same position in the presort record.
.skip
You may often want to modify the input file slightly
with TECO or a simple program before and after sorting,
to get the sort field first in a line.
.skip
If you want to reduce the length of the sort records, then
carefully choose values for the input switches
/LINE1:n and /LINE2:n.
The default values for these switches may often give
unneccesary long sort records.
.skip
The output file with /PRESORT has the default extension .USR.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /ASORT
.skip
The input file is in the format produced
as output with the switch /PRESORT.
.skip
The default extension of the input file with the switch
/ASORT is .SRT.
.skip
A typical sort operation involves:
.skip
1) Run ADRES with /PRESORT to convert a .ADR file to a .USR file
suitable for sorting.
.skip
2) Run SORT to produce a sorted file with extension .SRT from
the unsorted file with extension .USR.
.skip
3) Run ADRES again to convert the sorted file with extension
_.SRT to a .ADR, .LAB or .LST file.
.if help
.page
INPUTTING OR OUTPUTTING FILES TO OTHER PROGRAMS
.endif help
.skip
The switch /ASORT is useful to simplify input of files produced
in other programs, written in, e.g_. COBOL, FORTRAN or SIMULA. In the same
way /PRESORT may simplify output of data to programs in other languages.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /OUT1
.skip
Normally the first line of each input address is not output
on labels or listings. This line is assumed to contain
a selection key or other internal information not to be printed.
With this switch however, you can get the whole input record
output on labels and listings.
.skip
When this switch is set, the maximum length of all lines
is set to the largest of the switch values /LINE1:n and /LINE2:n.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /SELECT
.skip
When this switch is set, you can use a Boolean condition to
select only certain addresses for output.
.skip
A typical such Boolean condition might be:
.break
#########SWEDEN+(DENMARK+NORWAY)_&-UNIVERSITY
.break
meaning that you want to select all addresses containing
the word "SWEDEN" and also all addresses containing
the words "DENMARK" or "NORWAY" except those containing the word
"UNIVERSITY".
.if help
.skip
[Help on /SELECT continues on the next page]
.page
COMMAND SWITCH: /SELECT CONTINUED
.endif help
.skip
Priority of operator characters:
.break
1) "(" and ")"
.break
2) -
.break
3) _&
.break
4) _+
.skip
You will be asked for two Boolean conditions, one for
the first line in the address, one for the other lines.
If you input both conditions, only those lines will be
output which satisfy both conditions.
.skip
Selection is faster if you only input a Boolean condition
for the first line. You can also make selection faster with
the /NOCASESHIFT switch.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /NOCASESHIFT
.skip
This switch is only meaningful combined with the /SELECT
switch. If this switch is not given, the word
e.g_. "SWEDEN" or "sweden" in a Boolean condition are
identical in meaning, and will recognize any address
containing "SWEDEN" or "sweden" or "Sweden".
.skip
When the /NOCASESHIFT switch is set, the word
"SWEDEN" in a Boolean condition will only recognize
exactly this text without case shifts. This
will make selection somewhat faster.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /LINES:N
.skip
This switch is used to tell the system the size of
your adhesive labels. Substitute for N the
number of lines on a label.
.skip
COMMAND SWITCH: /WIDTH:N
.skip
This switch inputs the number of characters on one
line on an adhesive label.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /LABELS:N
.skip
Forms with adhesive labels often contain several
labels in the breadth. This switch input the number
of labels in the breadth.
.skip
.ifnot help
.indent -5
.endif help
COMMAND SWITCH: /LEFT:N
.skip
The number of characters in
left margin before the first label in the breadth.
.skip
.ifnot help
.indent -5
.endif help
COMMAND SWITCH: /TAB:N
.skip
The horizontal spacing between labels in the breadth
(including the label width).
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /LINE1:N
.skip
The maximum length of the first line in the input
address. If you try to input a larger address, an error
will occur.
If such an error occurs, you can type proceed to continue
execution.
You will then be allowed to conversationally
input a shorter line instead of the too long line.
.skip
.ifnot help
.indent -5
.endif help
COMMAND SWITCH: /LINE2:N
.skip
The maximum length for all input address
lines except the first line. See above.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /NOTABS
.skip
If you have more than one label in the breadth of the
output form, the program will normally output one tab
to skip from one label to the next. With /NOTABS,
a number of blanks will be used instead.
.skip
Note that since only one tab is used to space between
labels, the tab settings on the terminal must be set
to the start of each label. Standard tab settings
every eight characters will not do.
If your terminal has no tabs which can easily be set,
you can avoid this problem by using the switch /NOTAB.
.skip
If you do not write /NOTABS, the output will also
include device control characters to set the tab
settings according to the standard used on
GNT, Terminet etc_. terminals.
.if help
.page
.endif help
.ifnot help
.p -5,1,10
.endif help
COMMAND SWITCH: /SINGLE
.skip
This is just a shorter way of writing
/LABELS:1/LEFT:1/WIDTH:48,
which is suitable for certain forms with just one
adhesive label across the breadth of the form.
.if help
.skip
More information is given in ADRES.MAN.
.endif help
.ifnot help
.p -5,2,24
FILES ON THE ADRES DISTRIBUTION TAPE
.skip
.left margin 22
.tab stops 13,21
.p -17,0,0
ADRES	SIM##42##Main source program
.p -17,0,0
ADRES	RNM##32##Runoff file for ADRES.MAN and ADRES.HLP(with /variant:help)
.p -17,0,0
ADRES	HLP##16##Help file, also used by the selective
help facility within the ADRES program
.p -17,0,0
ADRES	MAN##31##This manual
.p -17,0,0
ADRES	OVH##29##Overhead picture texts on ADRES, type with /p
.p -17,0,0
ADRES	SAV##89##Executable core image of ADRES
.p -17,0,0
SQHELP	SIM##11##Source program of help facility module
.p -17,0,0
SQHELP	RNH###5##Runoff description of help facility module
.p -17,0,0
DECOM	SIM###9##Source program of command interpreter
.p -17,0,0
DECOM	HLP##13##Description of command interpreter
.p -17,0,0
SELECT	SIM##13##Source#program of Boolean selection facility (/SELECT)
.p -17,0,0
SELECT	RNH##13##Runoff description of SELECT
.p -17,0,0
SIMR21	SHR##47##Simula run time system part 1. Must be stored on SYS:
.p -17,0,0
SIMR22	SHR##37##Simula run time system part 2. Must be stored on SYS:
.p -17,0,0
SIMDDT	ABS##44##Simula debugging system. Must be stored on SYS:
.left margin 5
.skip
In addition to the files listed above, you need the SIMULA compiler
(DECUS ORDER NO 10-223A), if you want to recompile modules within ADRES.
.ifnot help
.ifnot english
.subtitle APPENDIX A: AN EXAMPLE OF HOW TO WRITE TO DATAINSPEKTIONEN
.page
.indent -5
APPENDIX A: AN EXAMPLE OF HOW TO WRITE TO DATAINSPEKTIONEN
.skip
Datainspektionen
.break
Fack
.break
103 60 Stockholm 3
.skip 5
ANS@KAN OM TILLST$ND
.skip
Registret avses tas i drift den 1.7.76.
.skip
Tidigare tillst}nd har ej meddelats.
.skip
Registeransvarig: Kungliga Myndigheten, Avdelning D,
111#11#Stockholm#11, tel#08-11#11#11.
.skip
Kontaktman: Sven Svensson.
.skip
Registrets ben{mning: KONTKT.ADR.
.skip
 _#ndam}let med registret: F`rteckning `ver vetenskapliga kontakter
vid Kungliga Myndigheten, Avdelning D.
Uts{ndning av forskningsrapporter.
Personliga kontakter. Information om myndighetens
verksamhet. Adressering av brev.
.skip
Forts{ttning se bilaga 1.
.skip
Kungliga Myndigheten
Avdelning D
.skip 2
Sven Svensson
.skip
Bilagor: 1-11
.page
.indent -5
BILAGA 1
.skip
.indent -5
_#NDAM$L
.skip
Registret upptar s}dana personer, f`retag och institutioner som
Kungliga Myndigheten, Avdelning D, har utbyte av erfarenheter med.
.skip
Avdelning D handhar datorverksamheten inom
Kungliga Myndigheten.
.skip
Registret anv{nds i s}dana fall, d} avdelningen beh`ver kontakt
med personer med intresse f`r dess verksamhet. Exempel:
.skip
1) Uts{ndning av vetenskapliga rapporter.
.skip
2) Kallelse till kurser och konferenser.
.skip
3) Meddelande om nya resultat eller f`rfr}gan om synpunkter.
.skip
4) F`rfr}gan om den kontaktade `nskar kvarst} i registret.
.skip
Man kan s{ga att registret p} m}nga s{tt anv{nds p} samma s{tt
som en s}dan adressbok, som m}nga m{nniskor har `ver v{nner
och bekanta.
.p -5,2,8
UTBYTE AV INFORMATION MED UTLANDET
.skip
Delar av inneh}llet i adressregistret rapporteras
till Kungliga Myndighetens motsvarighet Kongelige Institutt
i Danmark. D{r anv{nds adresserna p} ett likartat s{tt som
hos oss i ett likartat datorregister.
.p
UPPGIFTER SOM ING$R I DEN AUTOMATISKA DATABEHANDLINGEN
.skip
Varje post best}r av namn, adress och intresseprofil.
.skip
Intresseprofilen grundas p} uppgifter fr}n den registrerade
personen, och anger vilken del av Kungliga Myndighetens
verksamhet som personen {r intresserad av. Vid datork`rningar
kan vi d{rigenom selektera vilka som skall f} viss information
p} grundval av mottagarens intresseprofil.
.p
VEM SOM L_#MNAR UPPGIFTERNA
.skip
Uppgifter till registret inf`res n{r en person tar kontakt
med Kungliga Myndigheten, vilket kan ske per telefon,
per brev eller via den blankett som bifogas som bilaga 1b.
.p
SAMK@RNING MED ANDRA REGISTER
.skip
Ut`ver det informationsutbyte med Danmark som beskrivs ovan
sker ingen samk`rning med andra personregister.
.p
BILAGA 2: BEARBETNING
.skip
Uts`kning av personer genom s`km`nster i form av Booleskt uttryck.
.skip
Halvmanuellt urval av personer i dialog vid terminal.
.skip
Utskrift av namn och adress p} etiketter.
.skip
Utskrift av registret eller delar d{rav p} magnethband, skivminne,
h}lremsa, h}lkort eller lista.
.p
BILAGA 3: UTDATA
.skip
a) Namn och adress.
.skip
b) Hela postens inneh}ll.
.skip
Eftersom registret utg`r offentlig handling, har varje svensk
medborgare r{tt att ta del av registrets inneh}ll.
.p
BILAGA 4: TEKNISK UTRUSTNING
.skip
Dialogdator DECsystem-10 Vid Stockholms Datamaskincentral f`r
h`gre utbildning och forskning. Datorn
har ett v{l fungerande skyddssystem f`r att f`rebygga att obeh`riga
tar del av eller {ndrar register. Skyddsystemet {r godk{nt av FOA
f`r bearbetning av milit{rt hemliga data. Backup tas varje dag som
registrens inneh}ll har {ndrats.
.p
BILAGA 5: UTTAG P$ BEG_#RAN AV DEN REGISTRERADE
.skip
Om en s}dan f`rfr}gan inkommer, s} kommer den att besvaras inom
tv} veckor (undantag: semestertider).
.p
BILAGA 6: R_#TTELSE AV ORIKTIG UPPGIFT
.skip
S} fort meddelande inkommit om oriktig uppgifter, kommer denna
att r{ttas f`re n{sta datork`rning med registret.
.p
BILAGA 7: GALLRING AV REGISTRET
.skip
Sm{rre gallring g`rs fortl`pande. St`rre gallring sker genom
brev till alla registrerade med f`rfr}gan om de vill vara kvar
i registret. I vissa fall sparas en backup av registret f`re
gallringen p} magnetband.
.p
BILAGA 9: REKONSTRUKTIONSM@JLIGHETER
.skip
Backup tas p} s}dant s{tt, att registret alltid kan }terst{llas
till sitt utseende p} kv{llen n{rmast f`reg}ende
arbetsdag.
.p
BILAGA 10: ANDRA S_#KERHETS$TG_#RDER
.skip
Vi tror att datainspektionen {r v{l medveten om de
datas{kerhets}tg{rder som vidtas vid Stockholms Datamaskincentral
f`r h`gre utbildning och forskning.
.p
BILAGA 11: LOGGNING
.skip
Varje k`rning p} s}dant projektnummer, inom vilket datorns operativsystem
till}ter access till registret, loggas. Varje montering av
magnetband loggas.