Versionskontrollen er et forsøg på at lave et værktøj til applikationsudviklere i XAL-sproget, som kan hjælpe med at holde styr på hvilke ændringer der er lavet til standardsystemet.
I versionskontrollen kan man køre en såkaldt krydsreference, som opsætter data i databasen anvendt til versionskontrol, som beskriver hvor enkelte programelementer er brugt. Altså f.eks. tabellen DebKart / DebTable. I hvilken programelementer refereres/bruges denne ? Man kan til det enkelte aktuelt valgte element se, hvilke elementer det anvender/kalder, og også hvilke elementer der anvender/kalder det aktuelt valgte element. Det er langt hurtigere end at skal lave scanninger i koden, efter et bestemt element. Dog tager det lidt tid (ca. 1 times tid eller mindre afhængig af din maskines hastighed) at oprette krydsreferencen. Det kan være en stor fordel, hvis man f.eks. skal rette i en makro, som anvendes mange steder i systemet, og man vil finde ud af, hvor rettelsen har indflydelse.
Versionskontroldatabasen er blot en database som man anvender til at oprette de ovennævnte krydsreferencedata i. Typisk anvender man en helt separat database til det formål. (Jeg tror de fleste kalder databasen/regnskabet for VCS).
Du kan udpege den database som du anvender til versionskontrol i: GENERELT / TILPASNING / SYSTEMKONFIGURATION i feltet Versionskontrol. Hvis du samtidig angiver JA i feltet Log information ved ændringer, vil systemet hver gang du retter i et programelement, spørge om en kommentar til rettelsen. Således kan du skrive lidt om, hvad der ligger til grund for de rettelser du har lavet. Dermed har du en logbog over dine ændringer. (Denne kan udskrives i versionkontrollen / LOKALMENU / Udviklingsrapport).
Fejlen "Uoverensstemmelse mellem aktuel database og opsætning af versionskontrolsystem" får du, fordi du i den database der er oprettet til versionskontrollen (VCS-databasen), også skal opsætte et par småting. Du skifter til VCS-regnskabet/databasen. Så vælger du GENERELT / TILPASNING / VEDLIGEHOLDELSE / VERSIONSKONTROL. Nu vælger du lokalmenu / OPSÆTNING.
I feltet Versionsdatabase angiver du hvilket regnskab, der indeholder din versionskontrol (VCS).
I feltet Afviklingsdatabase angiver du så din testdatabase, altså en base med testdata (egentlige data) i.
Hvis du vælger ja til automatisk scan, vil systemet automatisk opdatere krydsreferencen, hver eneste gang du har rettet i et programelement.
Exportpath feltet indeholder den sti hvortil, et element eksporteres, hvis du vælger ALT+X (export) fra versionskontrollen.
Feltet brugernavn indeholder det brugernavn, som bliver sat ind i forbindelse med de notater (nævnt ovenfor) man skriver til hver rettelse i koden.
M.h.t. CM, vil jeg gerne vide lidt mere om, hvor du ser denne betegnelse henne, så skal jeg svare efter bedste evne.
Når du har opdateret, så alle elementer vises, er der en kolonne som hedder fil. Det er noget med placering i C5Util? Der står f.eks. SYS på nogle og USR på andre. Det forstår jeg godt, men hvad betyder værdien CM? Er det forresten muligt via versionskontrollen at foretage en eksport til fil, men hvor man kun medtager elementer som er lagt i USR laget?
Så vidt jeg kan se, dukker CM-markeringen kun op på tabeller (DBD). Jeg vil mene, at det bare er en indikation af, at Kartoteker IKKE er lag-styrede. Kartoteker ligger IKKE i c5UTIL.XXX filerne men i C5direct.sys filen. Dermed kan der ikke versionsstyres v.h.a. af lag ved ændringer i strukturen/koden på kartoteker (DBD-elementer).
Den eksport du efterlyser, kan ikke laves via versionkontrollen i standardsystemet, desværre. Men prøv at kigge lidt på GENERELT / TILPASNING / UDVIKLINGSMENU / MULTI / EKSPORT. Her er der noget bedre muligheder for afgrænsning på hvilke elementer du vil eksportere, bl.a. kan du vælge laget hvorfra du vil eksportere i C_UTIL feltet.
Men HUSK nu, at kartoteksdefinitionerne IKKE ligger i lag.
Lige et par tillægsspgsm., som du nok skal få ekstra point for.
Hvad sker der, hvis man er logget ind i BUS-laget eller et andet af de tilsvarende lag og vil importere et elementnavn som allerede findes i USR laget? Kan man det? Overskrives USR elementet eller hvordan?
Findes der noget sted en bedre beskrivelse af TMP in native og C5 i forhold til SQL og Oracle iøvrigt, end den man finder i online manualen (for det er lidt tyndt)?
Pr. definition: Hvis du er logget ind i et givent lag, så overskriver / opretter du det element, som du importerer i det givne lag.
Så pas på. Hvis du eksporterer noget fra USR, og så senere importerer i BUS, så overskriver du hvad du måtte have i BUS !!!
Hvis du importerer noget i BUS, som også findes i USR, så vil det der ligger i USR-laget stadig gælde, da USR-laget jo ligger "ud over" BUS-laget !!! Så hvis du f.eks. importerer form X i BUS-laget, men den også ligger i USR-laget, vil der egentlig ikke ske noget brugsmæssigt, da USR-laget stadig er yderst, og systemet vil afvikle formen fra USR-laget.
Jeg tvivler på, at der findes bedre beskrivelse af TMP-kartoteker i forhold til SQL/ORACLE end det der findes i manualen. Men dybest set, er tommelfingerregelen at temporærer tabeller, altid lagres på klientens harddisk (i hver fald i versioner fra og med .7 altså 2.7 i XAL 1.7 i C5).
I f.eks. XAL 2.60 og før, mener jeg at temporærer tabeller, var en del af databasen i SQL/ORACLE-versionerne, hvorfor der nogle gange kunne opstå problemer, med at data ikke blev slettet.
OK, hvad er så forskellen på om benytter TMP in native eller ej? Og er der forskel mellem SQL og Oracle? Jeg tænker på, hvor gemmes data i de forskellige situationer? Og er der forskel på, om vi snakker om DAT regnskabet eller andre? Du må gerne forudsætte, at vi taler om version 1.70/2.70 eller nyere.
Data i temporærer tabeller gemmes på klientens harddisk, og har altså ingen indflydelse på databasen som sådan, HVERKEN i native eller SQL-versionerne. Og nej, der er ingen forskel på om det er DAT-regnskabet eller andre regnskaber.
Det du der tænker på, er at man på en tabel, kan vælge at data kun ligger i DAT-regnskabet, og dermed kan "deles" på tværs af alle regnskaber. Men det har intet med temporære tabeller at gøre.
Det aner jeg søreme ikke :(. Men pyt også være med. 30 points er helt fint :).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.