Analýza struktury souborů VSAM pro modernizaci dat

Analýza struktury souborů VSAM pro projekty modernizace dat

Migrace dat nemůže probíhat izolovaně, musí se vyvíjet paralelně s aplikacemi v COBOLu, které tyto datové sady čtou a zapisují. Toto omezení definuje celou výzvu modernizace VSAM. VSAM (Virtual Storage Access Method) není jen formát souboru. Je to datová smlouva mezi programy, implicitní specifikace, definovaná nikde kromě položek FD a klauzulí SELECT, která řídí, jak každý program v podnikovém systému vytváří a spotřebovává svá nejdůležitější obchodní data. Změna rozvržení jediného záznamu, která se neprojeví v každém programu, který tento záznam čte, způsobí poškození dat, které se nemusí projevit, dokud nebude spuštěna regulační zpráva o datech, která již neznamenají to, co program, který je používá, očekával.

Organizace, které uspějí v modernizaci dat VSAM, nejsou ty, které začínají s cílovým schématem. Jsou to ty, které začínají s úplným, na důkazech založeným pochopením toho, co soubory VSAM obsahují, jak jsou strukturovány, které programy k nim přistupují, v jakých vzorcích a jaké implicitní smlouvy existují mezi producenty a spotřebiteli. Toto pochopení, analýza struktury souborů VSAM, je předpokladem pro každé následné rozhodnutí: které datové sady VSAM se mapují na relační tabulky, které vyžadují různé cílové architektury, která rozvržení záznamů vyžadují konverze datových typů zachující přesnost a které sdílené datové sady musí migrovat jako koordinované jednotky, nikoli nezávisle.

Sdílené datové sady vyžadují koordinovanou migraci

SMART TS XL automaticky extrahuje všechny detaily rozvržení záznamů, které cílový návrh schématu vyžaduje.

ZJISTĚTE VÍCE…

Čtyři organizace VSAM a co každá z nich vyžaduje

Datové sady VSAM se dodávají ve čtyřech odlišných organizacích. Každá z nich má jinou strukturální charakteristiku, jiný typický přístupový vzorec a jiné přirozené mapování na moderní cílové architektury. Identické zacházení se všemi datovými sadami VSAM, hromadné převedení každé z nich do relační tabulky, vede k cílům, které fungují pro některé datové sady, ale pro jiné fungují špatně nebo funkčně selhávají.

KSDS, Key-Sequenced Data Set (datová sada uspořádaná podle klíčů) , je nejběžnější organizací VSAM. Záznamy jsou fyzicky seřazeny podle primárního klíče (prime key), což umožňuje jak přímý přístup podle klíče, tak sekvenční přístup v pořadí podle klíčů. Soubory KSDS mají volitelně alternativní indexy, cesty sekundárních klíčů, které umožňují vyhledávání podle jiných polí než je primární klíč. Přirozeným cílem pro KSDS je relační tabulka, kde se primární klíč stává primárním klíčem a alternativní indexy se stávají indexy SQL.

ESDS, Entry-Sequenced Data Set (datová sada řazená podle záznamů), ukládá záznamy v pořadí, v jakém byly zapsány. Neexistuje žádný klíč, záznamy jsou adresovány podle jejich fyzického bajtového posunu (RBA: Relative Byte Address). Soubory ESDS se obvykle používají pro data podobná protokolům: auditní záznamy, transakční deníky, proudy událostí. Přirozeným cílem pro ESDS je relační tabulka pouze pro přidávání, proud událostí (téma Kafka) nebo databáze časových řad, v závislosti na tom, jak spotřebovávající programy přistupují k datům.

RRDS, Relative Record Data Set (Relativní datová sada záznamů), ukládá záznamy s pevnou délkou adresované relativním číslem záznamu. Každý slot v souboru odpovídá číslu záznamu; sloty mohou být prázdné (smazané). Soubory RRDS se používají pro scénáře s přímým přístupem, kde je číslo záznamu pro aplikaci smysluplné, často se používají jako jednoduché vyhledávací tabulky nebo úložiště založené na haši. Přirozeným cílem je relační tabulka s číselným identifikátorem sekvence nebo vyhledávací struktura v paměti, pokud je datová sada malá a často se k ní přistupuje.

LDS, lineární datová sada (Linear Data Set) , je bajtově adresovatelné úložiště bez viditelné struktury záznamů pro VSAM. Používají ho aplikace (obvykle DB2, Java workloads nebo vlastní programy), které spravují svůj vlastní interní formát v rámci bajtového rozsahu VSAM. Soubory LDS nelze analyzovat pomocí standardních položek COBOL FD, jejich struktura existuje pouze v aplikační vrstvě, která je zapisuje.

Výstup analýzy pro každou datovou sadu musí identifikovat, jakou organizaci používá, protože organizace určuje vše v následných fázích: cílovou architekturu, přístupový vzorec a specifickou analýzu potřebnou k pochopení její struktury.

Problém analýzy rozvržení záznamu

Rozvržení záznamů je analyticky nejsložitější dimenzí strukturní analýzy VSAM. Na rozdíl od relačního schématu, kde má každý sloupec definovaný typ, název a omezení vynucované databázovým enginem, záznamy VSAM nemají žádnou samopopisnou strukturu. Rozvržení existuje výhradně v položce FD v COBOLu a položky FD jsou zřídkakdy jednoduché.

Záznamy FD a členové COPY

Struktura záznamů datové sady VSAM je definována v položce FILE DESCRIPTION (FD) v COBOL DATA DIVISION. V dobře udržovaných kódových bázích položka FD odkazuje na člen COPY, sdílený kopírovací sešit, který definuje rozvržení záznamů a je zahrnut každým programem, který k datové sadě přistupuje:

cobol

       FILE SECTION.
       FD  CUSTOMER-FILE
           LABEL RECORDS ARE STANDARD
           RECORD CONTAINS 250 CHARACTERS.
       01  CUSTOMER-RECORD.
           COPY CUSTMSTR.

Člen COPY CUSTMSTR definuje skutečné rozložení pole. Pokud 47 programů obsahuje CUSTMSTR, pak 47 programů sdílí závislost na rozvržení záznamu, které definuje. Přejmenování pole v CUSTMSTR ovlivňuje všech 47. Toto je problém propojení sešitů aplikovaný na data: rozvržení záznamu VSAM je sdílená závislost, kterou nelze změnit bez koordinace každého programu, který ji používá.

Pro analýzu migrace musí být každá položka FD vysledována k jejímu sešitu a každý sešit musí být namapován na každý program, který jej obsahuje. Graf závislostí sdíleného rozvržení je základem pro pochopení rozsahu migrace.

NOVÉ DEFINICE: Více rozvržení, jeden záznam

Jedno REDEFINES V klauzuli REDEFINES se analýza záznamů VSAM stává skutečně složitou. Funkce REDEFINES umožňuje překrýt stejné fyzické úložiště různými interpretacemi polí. Záznam VSAM, který obsahuje kód typu transakce, může pomocí funkce REDEFINES interpretovat zbývající bajty odlišně v závislosti na tomto kódu:

cobol

       01  TRANSACTION-RECORD.
           05  TXN-TYPE        PIC X(2).
           05  TXN-COMMON-DATA PIC X(48).
           05  TXN-DETAIL      REDEFINES TXN-COMMON-DATA.
               10  TXN-PAYMENT.
                   15  PAY-AMOUNT     PIC S9(11)V99 COMP-3.
                   15  PAY-CURRENCY   PIC X(3).
                   15  PAY-METHOD     PIC X(2).
                   15  FILLER         PIC X(28).
           05  TXN-WITHDRAWAL  REDEFINES TXN-COMMON-DATA.
               10  WDR-AMOUNT     PIC S9(11)V99 COMP-3.
               10  WDR-ACCOUNT    PIC 9(12).
               10  WDR-BRANCH     PIC 9(5).
               10  FILLER         PIC X(18).

Tato deska nemá jedno rozvržení, ale tři, v závislosti na TXN-TYPEV cílovém relačním schématu to obvykle vyžaduje buď polymorfní návrh tabulky (jedna široká tabulka s nulovatelnými sloupci pro každou variantu), normalizovaný návrh (nadřazený řádek plus typově specifické podřízené řádky) nebo sloupec JSON obsahující data variant. Žádné z těchto rozhodnutí nelze učinit bez analýzy toho, co... TXN-TYPE hodnoty existují v datech a které varianty REDEFINES se skutečně používají.

Kompletní analýza rozvržení záznamu musí:

  • Identifikujte každou hierarchii REDEFINES v každém záznamu FD
  • Určit, která varianta REDEFINES je aktivní za jakých podmínek (vyžaduje analýzu programové logiky, nikoli pouze analýzu FD)
  • Zdokumentujte typy polí, délky a přesnost na zabalené desetinné číslo pro každou variantu.
  • Doporučte vhodnou strategii normalizace pro cílové schéma

COMP-3 a numerická přesnost

COBOL PIC S9(11)V99 COMP-3 (zabalené decimalní číslo) má specifické charakteristiky přesnosti a škálování, které nemají přímý ekvivalent ve standardních datových typech SQL. V označuje implicitní desetinnou čárku, hodnota je uložena jako celé číslo s implicitní stupnicí 2 desetinná místa. COMP-3 obsahuje dvě desetinná místa na bajt, přičemž poslední půlbajt obsahuje znaménko.

Při migraci tohoto pole do relační databáze je správný cíl SQL DECIMAL(13, 2), Ne FLOAT, což by zavedlo chyby zaokrouhlování, a ne INTEGER, což by ztratilo desetinná místa. U finančních systémů, kde pole COMP-3 obsahují peněžní částky, není požadavek na přesnost vyjednávací. Migrace, která převádí PIC S9(11)V99 COMP-3 na typ s plovoucí desetinnou čárkou v cílovém schématu zavádí chyby zaokrouhlování, které se hromadí v dávkových běhech a mohou ovlivnit regulační reporting.

Každé pole COMP-3 v každém záznamu FD musí být před zahájením návrhu cílového schématu zdokumentováno s přesnou přesností, měřítkem a konvencí znamének.

Analýza přístupových vzorů VSAM ve zdrojovém kódu COBOLu

Záznam FD popisuje, co se v záznamu nachází. Záznam COBOL PROCEDURE DIVISION popisuje, jak jej program používá. Obojí je nezbytné pro úplnou strukturální analýzu. Analýza přístupových vzorů zkoumá každý příkaz pro přístup k souboru v každém programu, který se dotýká datové sady.

Klauzule SELECT: První signál

Klauzule SELECT v ENVIRONMENT DIVISION určuje, jak bude program v COBOLu přistupovat k souboru VSAM:

cobol

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CUSTOMER-FILE
               ASSIGN TO CUSTFILE
               ORGANIZATION IS INDEXED
               ACCESS MODE IS DYNAMIC
               RECORD KEY IS CUST-PRIME-KEY
               ALTERNATE RECORD KEY IS CUST-ALT-KEY
                   WITH DUPLICATES
               FILE STATUS IS WS-CUST-STATUS.

Tato klauzule SELECT odhaluje:

  • ORGANIZATION IS INDEXED → KSDS
  • ACCESS MODE IS DYNAMIC → program používá sekvenční i náhodný přístup
  • ALTERNATE RECORD KEY IS CUST-ALT-KEY WITH DUPLICATES → existuje alternativní index a tento program ho používá

Dynamický režim přístupu je obzvláště významný: program, který přistupuje k KSDS v DYNAMICKÉM režimu, může používat READ s klíčem pro přímý přístup a READ NEXT pro sekvenční skenování z pozičního bodu. Oba přístupové vzory musí být v cíli replikovány, což může vyžadovat podporu jak přímého vyhledávání (dotaz primárního klíče), tak i skenování rozsahu (uspořádaný průchod) v relačním schématu.

Přístupová slovesa a jejich důsledky pro migraci

Každý příkaz pro přístup k souboru odhaluje jiný rozměr interakce programu s datovou sadou VSAM:

ČTENÍ (přímé): READ CUSTOMER-FILE KEY IS WS-CUST-KEY, přímé vyhledávání klíče. Mapuje na SELECT ... WHERE primary_key = ?Většina programů KSDS používá tento vzorec; překládá se přímo do relačního indexovaného vyhledávání.

ČTENÍ (sekvenční): READ CUSTOMER-FILE NEXT RECORD, sekvenční skenování z aktuální pozice. Mapuje se na SELECT ... ORDER BY primary_key s polohováním kurzoru. Implicitní závislost řazení, programy, které se pro sekvenční zpracování spoléhají na přirozené pořadí klíčů VSAM, musí být v cíli explicitně zachována.

START: START CUSTOMER-FILE KEY >= WS-SEARCH-KEY následuje READ NEXT, skenování rozsahu z částečné klíčové pozice. Mapuje se na dotaz rozsahu: SELECT ... WHERE primary_key >= ? ORDER BY primary_keyProgramy používající příkaz START stanovují dolní hranici pro sekvenční skenování; jedná se o kritický přístupový vzorec pro soubory KSDS, který nemá jednoduchý ekvivalent, pokud cílová tabulka nemá stejné pořadí klíčů.

NAPSAT: Vloží nový záznam podle klíče. Mapuje na INSERT INTOPokud má soubor VSAM alternativní indexy, musí zápis zachovat konzistenci s těmito indexy. Ve VSAM je to automatické; v relační databázi je pro udržování ekvivalentních sekundárních indexových tabulek vyžadován buď databázový trigger, nebo kód na úrovni aplikace.

PŘEPSAT: Aktualizuje záznam na místě. Záznam musí být aktuálně uložen (po operaci READ s úmyslem pozastavení). Mapuje na UPDATE ... WHERE primary_key = ?REWRITE je vzor čtení-úprava-zápis; migrace musí zachovat transakční integritu napříč operacemi čtení i zápis.

SMAZAT: Odstraní záznam podle klíče. V souborech KSDS je DELETE fyzické smazání. Programy, které očekávají, že smazaný slot nebude k dispozici pro budoucí sekvenční skenování, se na tomto chování fyzického mazání spoléhají, měkké smazání (příznak logického smazání) v cíli neprodukuje ekvivalentní chování, pokud není každý program, který záznam smazal, aktualizován tak, aby filtroval logicky smazané záznamy.

Alternativní použití indexu: Skrytá závislost

Alternativní indexy v souborech KSDS patří k nejčastěji přehlíženým závislostem při migraci VSAM. Alternativní index umožňuje programu přístup k KSDS pomocí jiného pole než je primární klíč. Alternativní index je sám o sobě samostatnou datovou sadou VSAM (PATH), která musí být udržována synchronizovaná se základním clusterem.

Program, který přistupuje k CUSTOMER-FILE prostřednictvím alternativního klíče CUST-ALT-KEY má závislost, která je neviditelná, pokud se analyzuje pouze položka FD základního clusteru. Migrace musí:

  1. Určete, které programy používají které alternativní klíče (viditelné v klauzuli SELECT) ALTERNATE RECORD KEY prohlášení)
  2. Namapujte každý alternativní klíč na ekvivalentní index SQL v cílové tabulce.
  3. Zajistěte, aby operace INSERT a DELETE v cílové tabulce automaticky udržovaly ekvivalent alternativního indexu, obvykle prostřednictvím jedinečných nebo nejedinečných indexů SQL, které databázový engine transparentně udržuje.

Analýza musí vyjmenovat všechny alternativní indexy pro každou datovou sadu KSDS a namapovat každý na programy, které jej využívají.

Problém sdílené datové sady: Implicitní datové smlouvy

Soubory VSAM jsou často sdíleny mezi více programy a více kroky JCL úloh. Toto sdílení vytváří implicitní datové kontrakty, dohody mezi programy o rozvržení záznamů, rozsazích klíčů a přístupových vzorcích, které neexistují nikde jinde než v samotném kódu.

Závislost sdílené datové sady má dva rozměry:

Vztahy mezi producentem a spotřebitelem. Program A zapisuje záznamy, které program B čte. Rozložení záznamů, klíčové hodnoty a pořadí, které program A vytváří, musí přesně odpovídat tomu, co program B očekává ke konzumaci. Pokud jsou programy A a B migrovány nezávisle do různých cílových schémat bez koordinace kontraktu sdílených dat, výsledkem je tiché poškození dat: čtení programem B v cílové databázi proběhne úspěšně, ale vrátí data ve formátu, který logika programu B nezpracovává správně.

Souběžný přístup napříč kroky úlohy. Tok úloh JCL může mít více kroků, z nichž každý spouští jiný program na stejné datové sadě VSAM v pořadí. Krok 1 zapisuje, krok 2 čte a transformuje, krok 3 zapisuje výsledky. Migrace musí zachovat tuto sekvenční závislost, pořadí, ve kterém programy přistupují ke sdílené datové sadě a upravují ji, je součástí specifikace chování systému.

Kompletní analýza sdílené datové sady musí:

  • Vyjmenujte každou datovou sadu VSAM a každý program, který k ní přistupuje
  • Klasifikujte přístup každého programu jako producentský (WRITE/REWRITE/DELETE), spotřebitelský (READ) nebo obojí.
  • Zdokumentujte kontext úlohy JCL, ve kterém každý program běží, v jakém kroku, v které úloze a v jakém řetězci závislostí plánovače.
  • Identifikujte páry producent-konzument, kde výstupní formát producenta musí přesně odpovídat očekávanému vstupnímu formátu konzumenta.

Tuto analýzu nelze provést izolovaným zkoumáním jediného programu. Vyžaduje strukturální analýzu napříč programy a napříč JCL.

Výsledky před migrací: Co musí analýza přinést

Strukturální analýza VSAM dostatečná pro plánování modernizace dat vede k šesti výsledkům:

Výstup 1: Inventarizace datové sady VSAM

Každá datová sada VSAM v prostředí s uvedením: organizace datové sady (KSDS/ESDS/RRDS/LDS), průměrné a maximální délky záznamu, odhadovaného počtu záznamů (z parametrů JCL SPACE nebo položek katalogu), struktury klíče (posun primárního klíče, délka; alternativní struktury klíčů) a toho, zda má datová sada alternativní indexy.

Výstup 2: Katalog rozvržení záznamů

Pro každou datovou sadu, každou položku FD a sešity, na které odkazuje, včetně: všech definic polí včetně hierarchií REDEFINES, každého pole COMP-3 s jeho přesnou přesností a měřítkem, každého binárního pole (COMP/COMP-5) s jeho bajtovou délkou, každého prvku s proměnnou délkou (VYSKYTUJE SE V ZÁVISLOSTI NA s jeho řídicím polem) a každé podmíněné varianty nebo varianty rozvržení implikované REDEFINES.

Výstup 3: Klasifikace přístupových vzorů pro každý program

Pro každý program, který přistupuje k dané datové sadě: charakteristiky klauzule SELECT (organizace, režim přístupu, použití alternativního klíče), kompletní sada použitých přístupových sloves (READ/START/WRITE/REWRITE/DELETE), zda program používá sekvenční přístup a závisí na pořadí klíčů, které alternativní indexy program používá a zda má program vzory pro čtení-úpravu-zápis (implicitní požadavky na transakce).

Výstup 4: Mapa sdílené datové sady

Orientovaný graf, kde uzly představují datové sady a programy VSAM a hrany představují přístupové vztahy s jejich typem (čtení/zápis). Graf zobrazuje každého producenta, každého spotřebitele, páry producent-spotřebitel a kontext sekvence úloh JCL pro každý přístup.

Výstup 5: Doporučení pro cílové schéma

Pro každou datovou sadu VSAM je doporučená cílová architektura založená na její organizaci a vzorcích přístupu:

Typ VSAMPrimární přístupový vzorDoporučený cíl
KSDS, pouze přímý přístup s klíčemVyhledávání bodů podle primárního klíčeRelační tabulka, indexovaná
KSDS s funkcí START/ČÍST DALŠÍSkenování rozsahu v klíčovém pořadíRelační tabulka s klastrovaným indexem
KSDS s alternativními indexyVícecestný přístup k klíčůmRelační tabulka s více indexy
ESDS, pouze přidatSekvenční přidávání, bez klíčeTabulka, proud událostí nebo protokol pouze pro přidávání
ESDS s přístupem RBAPozicování s bajtovým posunemÚložiště objektů s indexem metadat
RRDSPřístup k číslu záznamuRelační tabulka se sloupcem sekvence
Velké KSDS (hromadné, analytické)Plné sekvenční skenováníSloupcové úložiště nebo datové jezero
LDSInterní formát spravovaný aplikacíVyžaduje analýzu na aplikační vrstvě

Výstup 6: Přesně citlivý registr terénních dat

Každé pole COMP-3, COMP, COMP-5 a pole s plovoucí desetinnou čárkou v každé datové sadě s definicí v COBOLu, správným mapováním datových typů SQL a příznakem pro každé pole, kde mapování vyžaduje ověření přesnosti před a po migraci.

Čím se VSAM analýza liší od relační schématové analýzy

Týmy, které mají zkušenosti s migrací mezi relačními databázemi, někdy podceňují analýzu VSAM, protože používají mentální model migrace schématu: extrahovat DDL, přepracovat schéma, migrovat data. VSAM nemá DDL v databázovém smyslu. Schéma je distribuováno ve zdrojovém kódu, v položkách FD, v sešitech, v klauzulích SELECT a v logice PROCEDURE DIVISION, která určuje, která varianta REDEFINES je aktivní pro daný záznam.

Tři vlastnosti strukturálně odlišují analýzu VSAM:

Schéma se nachází v kódu. Rozvržení záznamů pro datovou sadu VSAM je definováno ve zdrojovém kódu COBOLu, nikoli v katalogu databáze. Jeho nalezení vyžaduje analýzu zdrojového kódu. Jeho změna vyžaduje koordinaci každého programu, který sdílí daný sešit. Pochopení všech jeho variant vyžaduje analýzu logiky programu, nejen položky FD.

Přístupové vzory jsou implicitně součástí chování programu. Relační databáze zpřístupňuje vzory dotazů prostřednictvím plánů EXPLAIN a protokolů dotazů. Přístupové vzory VSAM jsou viditelné pouze v PROCEDURE DIVISION programů, které k souboru přistupují. Pochopení toho, zda program závisí na řazení klíčů, alternativním přístupu k indexům nebo prohledávání rozsahu, vyžaduje analýzu kódu.

Sdílené datové sady vytvářejí skryté smlouvy. V relační databázi je schéma artefaktem na úrovni databáze, který sdílejí a vidí všichni uživatelé. Ve VSAM je rozvržení záznamů vloženo do sešitu dat každého programu. Dva programy mohou mít odlišné kopie nominálně stejného rozvržení záznamů a odhalení této divergence vyžaduje porovnání definic sešitů dat napříč programy, nikoli kontrolu jedné definice schématu.

Jak SMART TS XL Provádí strukturální analýzu VSAM

SMART TS XLJe statická analýza kódu Analyzuje každý prvek struktury VSAM, který existuje ve zdrojovém kódu COBOL: položky FD, rozšíření členů COPY, deklarace klauzule SELECT (organizace, režim přístupu, specifikace primárního a alternativního klíče) a každý příkaz pro přístup k souborům v PROCEDURE DIVISION. Pro každou datovou sadu VSAM analýza vytváří klasifikaci vzorů přístupu, rozvržení záznamů s plným rozlišením REDEFINES a registr polí COMP-3 s přesnými metadaty.

Mapování závislostí aplikací vytváří mapu sdílené datové sady: každý program, který přistupuje ke každé datové sadě VSAM, klasifikovaný podle typu přístupu, s identifikovanými vztahy producent-příjemce a vyřešeným grafem sdílení datové sady. Když 47 programů sdílí datovou sadu, která definuje rozvržení záznamu VSAM, mapa závislostí zviditelní všech 47 programů před provedením jakéhokoli rozhodnutí o migraci, nikoli poté, co změna rozvržení neočekávaným způsobem naruší fungování 47 programů.

Možnost rozšíření JCL poskytuje operační kontext: které kroky úlohy JCL odkazují na které datové sady VSAM ve svých příkazech DD, v jakém pořadí a v kterých streamech úloh. Vztahy producent-příjemce, které existují na úrovni úlohy JCL, kde krok 1 zapisuje do datové sady VSAM, kterou krok 3 čte, jsou viditelné v analýze závislostí JCL, což umožňuje sekvencování migrace, které zachovává závislosti operačního pořadí, které dávkový plán vynucuje.

Funkce analýzy dopadů odpovídá na otázku, která předchází každému rozhodnutí o migraci VSAM: pokud se změní rozvržení této datové sady, které programy budou ovlivněny? Rozsah dopadu, každý program, který sdílí relevantní sadu dat, každý krok JCL, který odkazuje na datovou sadu, je vyjmenován před zahájením jakýchkoli migračních prací, což poskytuje základ pro koordinované plánování migrace, spíše než pro odhalování ovlivněných programů jeden po druhém.

Díky funkci podnikového vyhledávání je možné v rámci modernizačního programu dotazovat celý inventář VSAM: najít každý program, který přistupuje ke konkrétní datové sadě VSAM, každý sešit, který definuje specifické rozvržení záznamů, každý program, který používá vzory START/READ NEXT (označující závislosti pořadí), každé pole definované jako COMP-3 (vyžadující mapování cíle s ohledem na přesnost), a to během několika sekund a napříč miliony řádků jazyka COBOL.

Jak je popsáno v kontextu migrace datových struktur IMS a VSAM spolu s programy v COBOLuMigrace dat a analýza kódu musí probíhat paralelně. SMART TS XLStrukturální analýza VSAM poskytuje inventář, který umožňuje tento paralelismus zvládnout, rozvržení sdílených záznamů, přístupové vzory a vztahy mezi producentem a příjemcem, které určují, zda migrace dat může probíhat nezávisle, nebo musí být koordinována se změnami programu.

Struktura, které rozumíte, je struktura, kterou můžete migrovat

Analýza struktury souborů VSAM není v modernizačním programu režijní zátěží. Je základem pro rozhodování. Cílové schéma nelze navrhnout bez znalosti variant rozvržení záznamů. Migraci nelze sekvenovat bez znalosti vztahů mezi producentem a příjemcem. Přesnost polí COMP-3 nelze zachovat bez znalosti toho, která pole vyžadují cílové typy s desetinným rozlišením.

Každý modernizační program, který tuto analýzu přeskočí, zjistí, co přehlédl během provádění migrace, například když varianta REDEFINES, která nebyla analyzována, vytváří v cíli chybné záznamy, když je sdílená datová sada migrována bez koordinace všech jejích příjemců, když skenování rozsahu, které se spoléhalo na řazení klíčů VSAM, vrátí nedefinované pořadí z cílové tabulky, která nebyla navržena s klastrovaným indexem. Tyto objevy během provádění stojí násobky toho, co by analýza stála během plánování.

Nejprve pochopte strukturu. Poté migrujte data. Sekvence není formalita. Je to rozdíl mezi migrací, která produkuje správné výsledky, a migrací, která produkuje data vypadající správně až do spuštění prvního regulačního auditu.