Marc's Place

E$FOPER - Bestandsoperaties




Aanroep
 
xcall e$foper (vlag, {bestand_in | FDF-nummer_in}[, {bestand_nw | FDF-nummer_nw}])
 
Common velden vóór aanroep
*N/A
Parameters te vullen bij aanroep
vlag (d1)
Uit te voeren bestandsoperatie.
  • 1 = Verwijderen.
  • 2 = Hernoemen.
  • 3 = ISAM creëren.
bestand_in (a*)
Een bestandsspecificatie van:
  • Een te verwijderem bestand (vlag = 1)
  • Een te hernoemen bestand (vlag = 2)
  • Een bestandsspecificatie van een bestandsbeschrijving waarmee een ISAM gemaakt kan worden. Dit kan een PAR zijn of een FDL (alleen onder VMS) (vlag = 3)
FDF-nummer_in (d*)
Een bestandsnummer (=recordnummer) in de File Definition File (FDF) waarvan de bestandsnaam uitgewerkt moet worden tot een bestandsspecificatie van:
  • Een te verwijderem bestand (vlag = 1)
  • Een te hernoemen bestand (vlag = 2)
bestand_nw (a*)
Een bestandsspecificatie van:
  • De nieuwe naam voor het te hernoemen bestand (vlag = 2)
  • De naam voor het te maken ISAM-bestand (vlag = 3)
FDF-nummer_nw (d*)
Een bestandsnummer (=recordnummer) in de File Definition File (FDF) waarvan de bestandsnaam uitgewerkt moet worden tot een bestandsspecificatie van:
  • De nieuwe naam voor het te hernoemen bestand (vlag = 2)
  • De naam voor het te maken ISAM-bestand (vlag = 3)
Parameters gevuld bij terugkeer
*N/A
Common velden gevuld bij terugkeer
e$_err
De opgetreden foutcode. 0 = Geen fout .
De volgende fouten worden door de routine zelf gegenereerd:
  • 999
    Vlag bevat een onjuiste waarde of de benodigde derde parameter is niet meegegeven.
e$_lin
Het regelnummer waar de fout optrad.
Voorbeelden
 

Eerst een definitie van een bestand in de FDF:



We werken met terminalnummer 001 en onder administratie 001.


Verwijderen van objecten van schijf


De volgende twee voorbeelden hebben hetzelfde resultaat, namelijk dat het bestand E$TEST:FILE001.001 wordt gewist:

    xcall e$foper (1, 'e$test:file001.001')
    xcall e$foper (1, '001')

In de tweede xcall wordt de bestandsspecificatie via de FDF opgebouwd.


Hernoemen van objecten


In de nu volgende voorbeelden gaan we een bestand A.A hernoemen naar bovengenoemd bestand FILE001.001:

    xcall e$foper (2, 'e$test:a.a', 'e$test:file001.001')
    xcall e$foper (2, 'e$test:a.a', '001')

Wat ook kan, is dat het te hernoemen bestand ook via de FDF wordt gevonden:

    xcall e$foper (2, '001', '002')


Het maken van een ISAM bestand


Het maken van een ISAM geschiedt door een SPAWN uit te voeren met de betreffende maak-opdracht (BLDISM als DBL/ISAM en CREATE/FDL als RMS/ISAM onder VMS).


Aangezien een PAR bestand voor DBL/ISAM de bestandsspecificatie op de tweede regel heeft staan, is het onmogelijk om direct een ISAM te maken met een andere naam of op een andere plek dan wat de specificatie toelaat. Hieronder een voorbeeld:

    ; Synergy ISAM PAR File created Fri Mar 05 23:03:06 1999
    ISAM001.ISM
    30 ;record size
    1 ;number of keys
    ...
    ...

Daarom wordt de PAR ingelezen, op de tweede regel wordt de nieuwe bestandsnaam geplaatst en op de logical TEMP wordt de aangepaste PAR weggeschreven en vanaf die plaats aan BLDISM aangeboden.


Hieronder een voorbeeld om een ISAM maken:

    xcall e$foper (3, 'bst:isam.par', 'e$test:isam001.ism')
    xcall e$foper (3, 'bst:isam.par', '002')

Het voordeel van deze werkwijze is dat je niet voor elk bestand een eigen PAR hoeft te hebben.

© 1997- Marc Vos (and others)   -   Privacy Statement   -    Contact Me

On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts.
Privacy Statement