Hulkortafdeling

Fra DDHFwiki
Spring til navigation Spring til søgning

I 1950’erne og 1960’erne frem til IBM’s introduktion af System/360, der gjorde databehandling mere elektronisk og generel, benyttede man hulkort som databærende medie og databehandlede dem på en række forskellige maskiner med hver sin funktion, samlet i en hulkortafdeling eller hulkortcentral.

Det var typisk pengeinstitutter, forsikringsselskaber, større handelsvirksomheder og benzinselskaber der havde egne hulkortafdelinger. Andre virksomheder kunne anvende servicebureauer til løsning af deres opgaver.

F.eks. havde ICL (International Computers, Ltd.) servicebureau i Bredgade i København og Siemens havde tilsvarende ikke langt derfra ved Kongens Have. Og der var naturligvis andre rundt om i landet.

Drift af en hulkortafdeling med IBM maskiner

Men hvor og hvordan startes og afvikles en administrativ opgave i en hulkortafdeling – i denne beskrivelse baseret på IBM’s 80 kolonners hulkort og IBM’s hulkortmaskiner? Drift i en hulkortafdeling kræver flere forskellige maskiner, da den enkelte maskine kun kan udføre et begrænset antal funktioner. Nogle af maskinerne er lidt mere "intelligente" end andre; de kan programmeres ved brug af en koblingstavle, hvor man ved brug af ledninger forbinder og aktiverer funktioner som mellemlagre, tælleværker, hulle- og printfunktioner – og meget andet.   Maskinparken ser typisk sådan ud[1]:

  • Hulle- og kontrolhullemaskiner
  • Sortermaskine
  • Collator (skille / samle)
  • Reproducer (fremstille basis hulkort / sum punche)
  • Akkumulator (regnemaskine)
  • Tabulator (optælle, printe)

… hvor til kommer

  • Koblingstavler med programmet til den enkelte maskine og den aktuelle opgave, f.eks. koblingstavler til de daglige kørsler og koblingstavler til forskellige periodekørsler.
  • Plukkekartotek med forud hullede kort med basisoplysninger, f.eks. varenumre, rabatkort, transportoplysninger – og meget andet.

I det følgende gennemgås vejen gennem en produktionsopgave i en hulkortafdeling. Der er vedhæftet (lignende) dokumentation fra det virkelige liv i 1965 hos firmaet Brødrene Justesen.

Data skal overføres til hulkort

Informationer i form af bilag f.eks. fra varesalg skulle overføres til hulkort inden de kunne behandles maskinelt.

Større virksomhede havde egen hullestue med et antal hullemaskiner af typen IBM 026 eller IBM 029, hvor man som en slags skrivemaskine ’skriver’ informationer, der her overføres til et hulkort.

Informationerne/data skal (naturligvis) stå i bestemte kolonner i IBM’s 80-kolonners hulkort, så der er udarbejdet et programkort/styrekort til hullemaskinen, hvor tabulering/hop til næste flet styres i takt med at data indtastes. Programkortet udskiftes i takt med de hulleopgaver der skulle løses, f.eks. om det var varekort der skulle hulles, navnekort osv.

Eksempel på kort layout:

Kol. 01-10 Kundenummer
Kol. 29-34 Varenummer
Kol. 35-36 Antal enheder
Kol. 40-45 Pris per enhed
Kol. 45-52 Samlet pris

Havde man ikke egen hullestue eller manglede kapacitet kunne man benytte hullebureauer, som klarede sagen.

Naturligvis kunne man hulle forkert, hvilket hurtigt kunne skabe problemer, f.eks. ved fejlhulning af information er i eksemplet. Derfor kontrolhullede man kortene – dvs. at alt blev ’hullet’ igen – denne gang på en kontrolhullemaskine af typer IBM 056 eller IBM 129.

Var de uoverensstemmelser mellem første og anden ’hulning’ ville hullemaskinen markere dette med et lille U-formet hak i overkanten af kortet i pågældende kolonne.

Var der ingen forskelle, og dermed (sandsynligvis) ingen fejl blev det markeret med et lille U-formet hak i enden af det pågældende hulkort. Det var derfor let at identificere kort med fejl i et større bundt og plukke kortet med fejl ud til rettelse/genhulning.

Her ses en liste over IBM's hullemaskiner og kontrolhullemaskiner.

Der skal sorteres på specifikke data

For at kunne viderebehandle informationerne skulle hulkortene typisk sorteres med maskiner med numre som 080, 082, 083, 084 m.fl.

Hulkortene sorteres på én kolonne ad gangen. En lille kobber læsebørste blev justeret så den slæber hen over kolonnepositionen. Kortene falder ud i hvert sit rum fra 0 – 9; eventuel fejllæste kort kan falde ud i rum 12.

Skulle der f.eks. sorteres på varenummeret (jf. eksemplet) f.eks. til et lagerregnskab, sorterede man først på kolonne 34, samlede kortene, sorterede igen på kolonne 33 osv.

Her er supplerende information om IBM Sorters.

Koblingstavler (melleminformation)

Mange af hulkortmaskinernes funktioner kunne styres / programmeres i en koblingstavle til den pågældende maskine.

Inde i maskinen sidder en ’væg’ med forbindelsespinde til maskinens forskellige funktioner som tælleværk, mellemlager, datoimpulser og andet.

Koblingstavlen er en tavle med en række huller i markerede grupper, f.eks. for indlæsning af kortene, for lagring af data i et mellemlager, for udtræk af datoimpulser og måske for hulle- eller printpositioner.

Ved at placere ledninger i hullerne kunne man forbinde og aktivere de mange funktioner; stikkene stak ud på bagsiden af koblingstavlen og ved indsættelse i maskinen vil stikkene forbindes med forbindelsespindene, og ’programmet’ kunne så afvikles.

For daglige kørselsopgaver og periodekørsler havde man færdigkoblede tavler stående, men periodisk kom der ønsker om særlige kørsler, måske statistikker eller særlige udtræk, og så måtte der udarbejdes en koblings-instruktion, som operatørerne kunne koble tavlerne efter.

I forbindelse med f.eks. en faktureringskørsel, skulle der gerne stå den korrekte udskrivningsdato på fakturaen, og så måtte operatøren inden start af kørslen lige flytte en ledning eller to i koblingstavlen, der hvo man kunne trække datoimpulser fra.

Er du interesseret i koblingstavler, så se mere på Glenn's Computer Museum.  

Beregninger indenfor det enkelte hulkort

Skulle kortene jvf. eksemplet bruges i en fakturering skulle kortet gennem en ’regnemaskine’, f.eks. en IBM 602, som via en koblingstavle blev programmeret til at udføre de ønskede beregninger i stil med dagens regneark, hvor indholdet af forskellige kolonner f.eks. multipliceres. I eksemplet skal indholdet af kol. 35-36 multipliceres med indholdet i kol. 40-45 og resultatet hulles ud i kolonnerne 45-52.

Supplerende information om IBM 602 og andre calculators: Columbia University Computing History.

Detailkort skulle blandes med navnekort

Til brug for fakturering havde man en ’stamme’ af navnekort bestående af 3 kort per kunde, navn, adresse, post nummer & by, og for at navnesættet kunne ligge i korrekt orden per kunde havde hvert af de 3 kort en kortart, f.eks. i kol. 79-80, eksempelvis 01 for navnelinjen, 02 for adresselinjen og 03 for postnummer & by linjen.

Kort fra kundekartoteket skulle så blandes med detailkort, altså varekort med køb fra den enkelte kunde. For at det kunne lade sig gøre skulle varekortene sorteres i kundenummer orden, således at de kunne parres med navnekortene.

Det foregik i en såkaldt ”Collator”, som kunne være en IBM 077’er, som har to ’hoppere’ hvor hver af de to kortbunker skulle placeres, og kriterierne for blandingen af kortene blev programmeret på en koblingstavle til maskinen.

Ved kørslen ville navnekort + varekort med samme kundenummer fald ud i en ’stacker’, navnekort uden varekort (de fleste) ville falde ud i en anden ’stacker’ og eventuelle varekort med forkert kundenummer, så de ikke kunne parres ville falde ud i en 3. ’stacker’.

Bunken af blandede hulkort kunne nu bringes til en anden maskine hvor fakturaerne kunne sammentælles og udskrives.

Mere om IBM's forskellige Collators : Columbia University Computing History.

Optælling, udskrivning mv. på en tabulator

Tabulatoren er maskine der runder hele processen af med eksempelvis udskrivning af kontorudskrifter, forsikringspapirer eller fakturaer.

Denne maskine har den største koblingstavle, næsten 4 gange så stor som hver af de øvrige maskiners koblingstavler, og her man typisk har færdigkoblede tavler stående til de mange faste kørsler.

Eksempelvis vil en faktureringskørsel køres ved indlæsning af bunken med navnekort + varekort.

Tabulatoren er sat op med den korrekte formular, sandsynligvis fortrykt med firmanavn og hvad der ellers hører til af felter og kolonner, så den færdig udskrevne formular ser pæn og præsentabel ud.

Formularfremføringen styres af en ’carriagetape’ – et papirkodebånd med kanaler og huller der via programmet på koblingstavlen styrer hop til start af ny formular (på den endeløse papirbane), til print af detaillinjer, total-linjer mv.

I kortbunken ligger navnelinjerne foran varelinjerne og data fra hulkortene printes, styret via koblingstavlen, i de rette positioner og kolonner på formularen.

At varenummeret i kortene står i kol. 29-34 betyder ikke at de også skal printes i disse positioner. Der vil typisk være 120 printpositioner på en linje, og via koblingstavlen har man f.eks. trukket ledninger fra læseposition 29-34 over til print i positionerne 110-115.

Tabulatoren kan sammentælle beløbende fra de enkelte varekort i en lagerenhed og når der ikke er flere varekort og næste kort er et navnekort så udskrives totallinjen for pågældende faktura.

Formularen springer nu via ’carriage tapen’ og koblingsinstruktionerne til ny formular på papirbanen, og næste print af kundens navn, adresse osv. kan starte.

Mere om IBM's Tabulatorer og også andre producenters: Wikipedia.

Status fra nu til næste kørsel

IBM 519 kunne fungere som ’sum-punch’ maskine f.eks. i forbindelse med lagerregnskaber. Nå tabulatoren havde optalt og sandsynligvis printet resultaterne for et givent varenummer skulle saldoen – aktuelt antal på lager – gemmes og danne udgangspunkt for næste lageropgørelse.

Tabulatoren (f.eks. IBM 421) var forbundet med et tykt kabel hen over gulvet (dobbeltgulve var ikke så almindeligt) til IBM 519 som var fodret med blanke hulkort.

Ved varenummerskift i tabulatoren blev varestatus med varenummer, antal og anden relevant information sendt til IBM 519 som hullede et sum-kort som start-kort til næste lagerkørsel.

Funktionen krævede, som alt andet, at man havde programmeret det i maskinens koblingstavle. Denne tavle stod typisk fastkoblet til den periodiske faste kørsel.

Lidt mere om IBM 519 Reproducer: Wikipedia.

Klargøring f.eks. af varekort til et plukkekartotek

IBM 519 var egentlig en ’reproducer’, hvilket vil sige at den på basis af en koblingstavle kunne reproducere et færdighullet hulkort x antal gange over på en stak nye hulkort, og samtidig kunne den på tværs over de sidste kolonner udføre ’end-print’, f.eks. printe et varenummer læsbart på kortet.

Eksempelvis skulle de mange kundebilag til faktureringskørsler hulles med de specifikke varekøb, kundenummer o.a., men for at spare hulletid af felterne varenummer og stykpris kunne man forud reproducere et stort antal varekort per vare og placere dem i et plukkekartotek. På basis af købsbilaget blev alle varekort til en given lunde samlet inkl. eventuelle ’reproducerede’ rabatkort mv. og lagt sammen med bilaget.

I hulleprocessen, styret af et programkort i hullemaskinen, kunne man nu nøjes med at hulle kundenummer i alle de kort som fulgte bilaget, samt det købte antal i de enkelte varekort.  

Hulkort gjort ’læsbare’

Som udgangspunkt er der ingen tekst på hulkortet der indikerer hvad hulkombinationerne i de enkelte kolonner repræsenterer. Det er derfor lidt vanskeligt at identificere en bestemt kunne ved at bladre hulkort kundekartoteket igennem.

Dette kunne naturligvis også løse ved at få hulkortkoden printet i overkanten af kortet over hver enkelt kolonne. Dette kunne udføres på maskiner af typen ’interpreters’ – oversættere.  

Hulkort er ikke ’bare’ hulkort

... og det fremgår tydeligt af den store Wikipedia.

IBM’s 80 kolonners hulkort blev brugt i flere udgaver – og til forskellige formål:

Standard hulkortet

Til alle typer administrative opgaver.

'Hulrik’ – dansk udtryk

Standard hulkortet blev i en periode brugt som benzin-checks, hvor den højre tredjedel (ca.) af kortet (’hulrikken’) kunne rives af og afleveres til ekspedienten på tankstationen, som kunne prikke det købte antal liter mv. kunne prikkes ud. (Port-a-Punch). Herefter kunne ’hulrikken’ sendes ind til benzinselskabets hulkortafdeling, som så kunne samkøre dem med kundekartoteket og udfærdige en faktura på månedens brændstofkøb.

Port-a-Punch

En type hulkort hvor alle hullepositioner er perforeret med henblik på at man f.eks. i en lageroptælling kan gå rundt med hulkortet i en lille metal-plade og ’prikke’ hullerne ud for at registrere varenummer, antal osv.

Mark Sensing

Som navnet angiver: Føling af et mærke.

Med en jernholdig blyantsstift kunne man, f.eks. ved optællinger o.lign. markere et område på hulkortet – typisk hen over 3 kolonner og lidt skråt.

Hulkortet kunne senere aflæses maskinelt ved at læsestationens strømførende valse sender strøm ned gennem de 2 yderste børster (kolonner af de 3), og hvor der så skabes elektrisk forbindelse gennem markeringen sendes strømmen op gennem den midterste børste og markeringen registreres. Alt styres via programmet på koblingstavlen.

Links

Supplerende dokumentation der følger hovedpunkterne i artiklen

Driftsdokumentation fra 'det virkelige liv i 1965' hos Brødrene Justesen

BILAG til dokumentationen fra Brødrene Justesen


  1. Her ses en liste over IBM's mange hulkortmaskiner m.fl.