autor: Vlastimil Čevela, doslovný přepis originálního textu, publikovaného ve sborníku "Programování Ostrava - 1989"

   Obsahem předkládaného příspěvku jsou částečně zobecněné zkušenosti ze zásadního inovačního vývoje a navazující realizace projektu zpracování dat materiálové oblasti ve VS Ingstav Brno. Konkretně šlo o přechod z magnetopáskově orientovaného počítače Tesla 200 na diskově orientovaný a terminálově přístupný EC 1026, se snahou o účelné využití jeho nových možností (8x100 MB disky, 10 terminálů).

material 1989   Předmětem řešení projektu je asi 10 druhů prvotních dokladů v celkovém rozsahu až 80.000 řádků obratových záznamů měsíčně, které vznikají na více než 300 skladech po celé ČSR. Kompletovány jsou na 10 závodech (Brno-5, Hradec Králové, Ostrava, Opava, Kojetín, Uh. Hradiště) a centrálně na počítači zpracovávány v Brně.

   K oceňování dokladů slouží průběžně udržovaný vnitropodnikový ceník materiálu, náhradních dílů a DKP, obsahující asi 120.000 záznamů. Aktuální stav ceníků je pravidelně měsíčně vydáván na mikrofiších pro přibližně 100 vybraných pracovišť závodů a velkých skladů. Hlavní kartotéka stavu a pohybu průměrně obsahuje cca 150.000 skladových karet.

   Počítačové zpracování zahrnuje pořízení a kontrolu dat, vedení skladové evidence, měsíční závěrky, agregace do sledovaných skupin a jejich vývoj v průběhu roku, časové řady spotřeby nosných materiálů a předávání podkladů pro účetnictví a další agendy. Na tento základ pak navazují přímé interaktivní přístupy uživatelů ke kartotékám a poskytování různých výběrů a výpočtů, operativně zprostředkovávaných programátorsky.

 

Charakteristika přechodu Tesla/EC

   Výchozí základnou pro přechod bylo poměrně ustálené dávkové zpracování, které na počítači Tesla 200 představovalo asi 33 pravidelně měsíčně realizovaných výpočtových chodů. Nároky těchto chodů na strojový čas v 1. pololetí roku 1986 představovaly průměrně 100 hod měsíčně, tj. asi 20% všech rutinních prací výpočetního střediska. Režim počítače byl 2-programový, s pevným rozdělením paměti a periferií.

   Časový průběh přechodu, který byl analyticko-programátorsky zajišťován průměrným počtem asi 1,5 pracovníka, vypadal následovně:

  • v červnu 1986 byla zahájena analýza nového projektu
  • koncem r. 1986 byl na EC převeden položkový soupis zásob a skladová regleta, tj. rozpis počátečních stavů, všech obratů a konečných stavů na jednotlivých skladech
  • v průběhu 1. pololetí 1987 bylo na EC realizováno nové řešení kontrol VS, zahrnující ověření a příp. opravy správnosti záhlaví dokladů (vlastní deník a většina chodů závěrky stále zůstávaly na Tesle)
  • počínaje platností 06/87 je na EC provozován deník (týdně, v závěru měsíce každý den)
  • od platnosti 08/87 jsou na EC nové souhrny obratu a převod do účetnictví
  • platností 12/87 bylo zrušeno veškeré zpracování na Tesle
  • v průběhu 1. pololetí 1988 bylo dořešeno zpracování sledovaných materiálů v agregacích pro potřeby MTZ a výkaznictví
  • od července 1988 mají útvary MTZ a matriční místo ceníku na PŘ se svými dotazy přímý terminálový přístup ke všem skladovým kartám podniku a do ceníku materiálu
  • počátkem roku 1989 byly veškeré přepočty cen a úpravy ceníku v souvislosti s přestavbou velkoobchodních cen realizovány bez datastanice, tj. přes terminál

   Analyticko-programátorské práce a vlastní realizace výpočtů v přechodovém období probíhaly pod důrazným tlakem na omezování provozu počítače Tesla a jeho přenášení na EC. Samozřejnou podmínkou pak byla nutnost, za všech okolností zajistit plynulost průběžného zpracování, což při denních přísunech až tisícovky prvotních dokladů nebylo ani zdaleka jednoduché. V rámci přechodu bylo z toho důvodu především potřebné, vytvářet řadu provizorních programových prostředků pro oboustranné přenosy dat mezi starým a novým počítačem v různých fázích zpracování. Nejobtížnější však bylo domýšlení a organizační zvládnutí všech důsledků, vyplývajících z průběžně se měnících toků dat a způsobu zpracování vůbec.

   Poměrně ustálené dávkové zpracování materiálové oblasti na počítači EC 1026 nyní (bez jednorázových akcí) představuje asi 16 pravidelně měsíčně realizovaných chodů. Jejich nároky na strojový čas při víceprogramovém režimu ve virtuální paměti činí asi 75 hodin měsíčně, tj asi 15% všech rutinních dávkových prací VS. Kromě toho jsou denně v době od 8 do 14 hod. dle potřeby spouštěny interaktivní dávky (asi 50 hodin měsíčně), které běžně vyřizují desítky až stovky dotazů na kartotéky.

   Hovoříme-li o zásadní inovaci projektu v průběhu přechodu z počítače Tesla 200 na EC 1026, máme na mysli především inovaci vnitřní. Formuláře vstupních dat i výstupní sestavy totiž až na některé výjimky (agregace sledovaných materiálů) zůstaly zachovány. Uživatelé tedy prakticky nezaznamenali výrazné rozdíly, avšak nynější řešení umožňuje nejen kvalitativně nové interaktivní přístupy, ale i podstatně rychlejší odezvu na další požadavky.

   Hlavní změnou je zcela nová organizace dat, s maximálním využitím možností indexsekvenčních diskových souborů a důsledné využívání nových metod programování a dokumentace, které umožňují podstatně pružnější reakce na uživatelské potřeby. (Bližší podrobnosti jsou uvedeny dále).

 

Pořizování a kontrola dat s využitím OCR

   Jak již bylo řečeno výše, prvotní doklady vznikají na přibližně 300 místech po celé ČSR. Většinou jde o staveništní sklady s několika desítkami či stovkami skladových karet. Pouze několik desítek hlavních skladů závodů a velkých staveb jich má více než tisíc.

   Pro uvedené podmínky není zatím dost dobře možné zajistit sběr dat pomocí decentralizované výpočetní techniky přímo v místě jejich vzniku. Proto bylo již asi před 7 lety rozhodnuto o centrálním pořizování dat pomocí optického snímání. Postupně byly pro snímání ručně psaných dokladů využívány externí snímače Laser-one, Scandata 1250 v kombinaci s ADT a nyní Laser-three. Pro úplnost je třeba poznamenat, že materiálové doklady (asi 20.000/měsíc), spolu s rovněž opticky snímanými dopravními záznamy vyplňovanými řidiči (asi 18.000/měsíc), tvoří více než polovinu vstupních dat VS Ingstav.

   Vstup dat pomocí ručně psaných, opticky snímaných dokladů má své výhody, ale i problémy. Tak především není pravda, že by šlo o automaticky zajištěné kvalitní pořízení dat. Musíme si totiž uvědomit, že správný přenos údajů z dokladu na magnetické médium závisí na mnoha faktorech. Konkretně na způsobu psaní, používaném psacím prostředku, na kvalitě papíru dokladů i jejich tisku a v neposlední řadě na manipulaci s doklady i na pečlivosti obsluhy snímače.

   Celkově lze konstatovat, že optické snímání sice výrazně zrychlí pořízení dat, avšak chybovost je stejná nebo spíše větší, než při ručním pořizování, takže důsledné počítačové kontroly jsou nezbytně nutné. Dále je třeba též počítat s tím, že některé doklady na OCR formulářích mohou být nesnímatelné v důsledku nedostatečně formálně přesného způsobu psaní, a proto musí být pořizovány ručně.

   Otevřeně je nutno přiznat, že vyplňování provotního dokladu na OCR formuláři je podstatně pracnější, než psaní běžným způsobem. U materiálových dokladů, které musí být vystaveny v několika kopiích, pak přistupuje další zvýšená námaha pro zajištění čitelného propsání - snímače vyžadují silnější papír.

   Optické snímání velkého objemu ručně psaných dat je tedy reálné. Umožnilo výrazně snížit počet lidí, zabývajících se pořizováním dat (asi na 1/3) a vzhledem k obtížnosti získávání a udržení pracovnic této profese se předpokládá jeho další rozšiřování. Na druhé straně však stále přetrvávají některé problémy s kvalitou pořizování takových dat a výhrady proti zvýšené pracnosti při vyplňování materiálových dokladů. V té souvislosti se na velkých skladech výhledově předpokládá nasazení malých počítačů kategorie PC, které by doklady tiskly a data předávaly na disketách.

 

Základní karotéky a interaktivní přístup - viz přiložené schema

   Vstupní doklady,  pořizované optickým snímáním a přes diskety v centrální datastanici jsou průběžně bez třídění ukládány do diskového souboru Pořízené pohyby M01066. Soubor je organizován indexsekvenčně, primárním klíčem je pořadové identifikační číslo (ID) dokladu, přidělené počítačem. O ukládání dokladů je tištěn protokol, který je především u opticky snímaných dokladů kontrolován na uživatelské průvodky a s využitím DL-dávek (dispečerského lístku) jsou opravovány chyby, zjištěné v záhlaví dokladů (závod, sklad, druh dokladu, číslo dokladu). KONTROLNÍ CHOD se zpracovává průběžně i vícekrát denně, sestavy slouží pouze pro VS. ID-čísla, doplněná číslem řádku na dokladu jsou též klíčem pro případné opravy ze strany uživatelů, prováděné v chodu DENÍK - viz dále.

   Nejdůležitější částí celého zpracování je měsíční kartotéka Stav a pohyb materiálu M01001. Je vytvářena vždy na začátku měsíce, jako seznam všech skladových karet s nenulovým stavem. Soubor je aktualizován chodem DENÍK, který se zpracovává týdně a v závěru měsíce denně.

   V rámci deníku se sekvenčně přečte pořízený pohyb M01066 a provádějí se všechny potřebné konktroly, včetně dotazů na ceník. Správné řádky pohybu se i s případnými reprodukcemi  přesunou na příslušné skladové karty stavu a pohybu M01001 a do kartotéky M01066 se vrátí pouze řádky se zjištěnými chybami. Na konci měsíce se pak dosud neopravené řádky z dalšího zpracování vyřadí.

   Záznamy o počátečním stavu, všech pohybech příslušného měsíce a právě dosaženém konečném stavu na každé z cca 150.000 skladových karet jsou tak stále pohromadě a i během měsíce k dispozici. Tím je vytvářen hlavní předpoklad pro zodpovězení interaktivních dotazů a provádění různých výběrů dle potřeby.

   Stav a pohyb materiálu je indexsekvenční soubor s primárním klíčem, který identifikuje skladovou kartu (závod, sklad, materiálový účet, číslo materiálu, kód opotřebení). Pro dotazy na výskyt materiálu v rámci podniku dále obsahuje sekundární klíč ve skladbě materiálový účet, číslo materiálu, závod, sklad.

   Interaktivní využívání kartotéky stavu a pohybu spočívá především v dotazech na aktuální stav zásoby určitého druhu materiálu, resp. místo jeho uložení (závod, sklad) v rámci podniku. Dalším požadavkem může být výběr stavu na skladových kartách zvoleného skladu, příp. i detail pohybu běžného měsíce. Základní poskytovanou informací je číselná a textová identifikace materiálu, hodnota v Kčs a množství na stavu, datum posledního nákupu a spotřeby na příslušné skladové kartě.

   Pevná část věty souboru (95 bajtů) zahrnuje údaje o stavu včetně většiny ceníkových údajů (název atd.), variabilní část (45 bajtů) pak představuje jednotlivé pohyby, kterých může být max 680. Délka věty tedy je až 30.695 bajtů, takže při zápisu na pásku jsou takto dlouhé i fyzicky zapisované bloky. Velká délka bloku je výhodná jak pro ekonomii prostoru na magnetické pásce, tak pro rychlost čtení. Při hustotě zápisu 1600 bpi se soubor vejde asi na polovinu velké pásky a jeho přečtení s jednodušším zpracováním vyžaduje cca 10 min CPUT, tj. 15-20 minut trvání.

   Měsíční závěrkové zpracování v podrobnosti jednotlivých čísel materiálu a jejich souhrnů je pak pouze množinou součtovaných výběrů z kartotéky stav a pohyb na magnetické pásce, a může být stavebnicově rozšiřováno dle potřeby. Další výstupy jsou uvedeny na přiloženém schematu.

   Materiál je oceňovaný přes samostatně udržovaný vnitropodnikový Ceník materiálu M00560. Jde opět o indexsekvenční soubor s primárním klíčem materiálový účet, číslo materiálu, kód opotřebení. Aktualizace probíhá týdně dávkově, interaktivně je zatím využíváno prohlížení, údržba se připravuje.

   Terminálový přístup k ceníku byl velice výhodně využit v rámci prací na přestavbě velkoobchodních cen na počátku roku 1989. Prakticky jedním, stavebnicově uspořádaným a dle potřeby operativně doplňovaným programem byly provedeny všechny práce, spojené s vytvořením nového ceníku. Konkretně šlo jak o změny jednotlivých údajů ve větě a o doplňování dalších vět, tak o skupinové přepočty pomocí koeficientů dle řady různých algoritmů.

   Celková filozofie tvorby popisovaného dávkově-interaktivního projektu vycházela z několika základních myšlenek:

  • interakce je nadstavba, tj. především musí být zajištěna dávková aktualizace zpracovávaných dat
  • při kombinovaném zpracování je základním požadavkem průchodnost počítače, tj. interakce nesmí být náročná na zdroje operačního systému
  • užavatele zajímá především obsah zpracování, takže není ani tak důležitá vybroušená forma, jako spíš rychlá reakce na jeho náměty k obsahové stránce.

   Programová realizace interaktivních přístupů je řešena běžnými programy v jazyku Cobol, pomocí příkazů "accept from console, display upon console, příp. accept from console wrin". Programy umožňují přístup více uživatelů k jedné kartotéce pomocí příkazů UFO ("Use For the Object program" = úsek strojového kódu) dle popisu jazyka Cobol Dos-4/JS, vydání 1986.

   Důležitým uživatelským požadavkem je, aby programy měly pracovní paměť, kterou lze jedním příkazem vypsat na tiskárnu (realizováno jako opis obrazovky). Důvodem je možnost výběru informací dle konkretní potřeby, příp. ve více výtiscích tak, aby mohly být využívány v písemné formě (při návštěvách závodů a skladů, na různých operativních jednáních atd.).

   Jedním z nejvážnějších problémů při zavádění interaktivního přístupu ke kartotékám byla celková organizace kombinovaného provozu na počítači EC 1026. Ten totiž převážně funguje dávkově a programátoři s víceuživatelským editorem LUISA a ověřováním většinou rovněž v dávkách, nejsou chápáni jako uživatelé v tom smyslu, že by musely být jejich potřeby respektovány.

   Přijmout představu, že uživatel musí mít k dispozici nasazený disk a možnost spustit z terminálu bez domlouvání a v rozumné prioritě svoji dávku tehdy, kdy on to potřebuje a ne pouze kdy se to výpočetnímu středisku hodí, je pro řadu pracovníků velice obtížné. Samozřejmě, že zde hraje roli i poměrně malá výkonnost počítače EC 1026, ale pokud má interaktivní systém úspěšně plnit svoji funkci, musí být vytvoření takových podmínek nekompromisně dodržováno.

   Konkretní realizace vypadá tak, že uživatelé mají 2 terminály s tiskárnami (MTZ + údržba ceníku) a v době od 8 do 14 hod. mají k dispozici 2 dávky v interaktivní třídě. Na 100 MB diskovém stojanu je pak v tomto čase nasazen svazek,který obsahuje Stav-pohyb a ceník. Frekvence přímých dotazů je závislá na potřebách informací a pohybuje se od nuly, až po několik stovek denně. Dávková aktualizace kartoték s následným zabezpečovacím kopírováním na pásky probíhá v odpoledních hodinách.

 

Metodika programování a dokumentace

   Při veškeré práci na projektu byly důsledně uplatňovány následující zásady:

  • všechny struktury datových souborů i prvotních dokladů jsou popsány a uloženy ve zdrojové knihovně odděleně od programů
  • programovacím jatzykem je Cobol, všechny programy kromě standardních procedur VS jsou psány s využitím generátoru programů Cobol a procedur Dos-4, vytvořeném ve VS Ingstav (viz Programování '85)
  • základním dokumentačním prvkem je funkční popis, který je na úrovni programu též zadáním pro generátor a realizační popis chodu, ze kterého se automaticky odvozuje průvodka pro zpracování na počítači (viz Programování '86)
  • zpracování všech informací číselníkového charakteru je definováno odděleně od programů pomocí jazyka číselníků a realizováno s využitím překladače čísleníkových modulů OKR a dynamického připojování těchto modulů až při spouštění programů (viz Programování '84)
  • v rámci vlastních programových textů jsou využívány pouze konstrukce strukturovaného programování, založené na technologii systémového přístupu (viz Programování '76).

   Dodržování uvedených zásad umožnilo zajistit doboru čitelnost všech programových produktů a tím přispělo k poměrně velice dobré udržovatelnosti celého projektu.

 

Problematika zpracování informací o materiálu

   Spotřeba materiálu ve stavebním podniku představuje více než 60 % nákladů na výrobu. U velké organizace, kdy roční spotřeba materiálu činí třeba i přes 900 milionů Kčs, pak každý zlomek procenta může mít významný dopad do objemových i ekonomických výsledků. Proto je vše, co souvisí s materiálem, předmětem mimořádné pozornosti uživatelských odborných útvarů a požadavky na poskytování informací z počítačových datových fondů jsou průběžně upřesňovány a nově definovány.

   Zdá se, že kompletní kartotéka popisovaného typu s nezávislým uživatelským přístupem, může bez programátorského zprostředkování pro úroveň podnikového ředitelství část těchto požadavků vyřešit. Vzhledem k velkým objemům dat však nelze uchovávat kompletní časové řady, takže zde již nastupuje nutnost hlubší analýzy a odhadu informačních potřeb.

   Pokus o modulární řešení celého projektu, tj. pořízení a kontrola vstupů, aktualizace kartotéky stavu a pohybu, využívání kartotéky stavu a pohybu, umožňuje přizpůsobování projektu různým, nově vznikajícícm požadavkům. Dlouhodobá archivace měsíční kartotéky stavu a pohybu pak umožňuje poměrně pružně získávat i historické informace.

   Ukazuje se však, že projekty tohoto "klasického centrálního typu" již vyčerpávají své možnosti a nestačí pokrýt současné uživatelské potřeby. V našem případě je to především náročnost při vystavování a pořizování dokladů u velkých skladů. Kromě toho existuje i zcela nevhodné duplicitní ruční zpracování prvotních dokladů. Důvodem těchto víceprací jsou požadavky na přehledy o situaci v zásobování a čerpání materiálových nákladů v místě vzniku dokladů. Souvisí to mj. s hlášením různých "očekávaných výsledků". Dále je to též problém decentralizovaného zpracování fakturace dodávek materiálu na závodech, operativní plánování a řada dalších oblastí.

   Zde všude by bylo velice vhodné pole působnosti pro nasazení počítačů kategorie PC, pokud ovšem budou ekonomicky i fyzicky dostupné.

 

Vlastimil Čevela, Modřice 1989