Marc's Place

IDXRD - ISAM: Positioneren via een opgegeven sleutel




Aanroep
 
xcall idxrd (kanaal, record, sleutelwaarde, sleutel)
 
Common velden vóór aanroep
mhmde
Manier van lezen uit het bestand:
    '02' = Lezen en record gelocked houden.
    '12' = Lezen en een unlock uitvoeren.
    '22' = Lezen en alleen een unlock uitvoeren na een error 53.
mhnrt
Aantal seconden dat gewacht moet worden bij een leesactie op een bestand dat voor update is geopend voordat fout 40 (lock) wordt teruggegeven. De routine blijft steeds 1 seconde wachten op vrijgave van het gewenste record. Tijdens het wachten wordt onderaan het beeldscherm de tekst 'Gegevens bezet....' getoond.
Indien NUL, wordt fout 40 nooit teruggegeven en blijft de routine proberen het record te lezen.
Parameters te vullen bij aanroep
kanaal (d3)
Het kanaalnummer waarop een ISAM-bestand geopend moet zijn.
sleutelwaarde (a*)
De waarde waarmee een record gezocht gaat worden.
sleuitel (a*)
Het sleutelnummer waarop met sleutelwaarde gezocht moet worden. Sleutels beginnen te tellen bij 0. KEY 0 is altijd de primaire sleutel.
Parameters gevuld bij terugkeer
record (a*)
Het gelezen record volgens de regels van het READ statement. Maximale recordgrootte is 8192 tekens. Echter, bij een fout:
  • 053
    Dan bevat record het record met de eerstvolgende sleutelwaarde die volgt op de meegegeven sleutelwaarde.
  • Anders
    Dan blijft record onveranderd.
Common velden gevuld bij terugkeer
mherc
Foutcode van de eventueel opgetreden fout.
mhlin
Een regelnummer in het programma waar de eventueel opgetreden fout is ontstaan.
Voorbeelden
 

mhmde = 2
xcall idxrd (ch014, klant, postcode, 1)


Hier word het record KLANT gelezen op KEY 1 (secundaire sleutel) met als waarde de inhoud van een postcode veld.


Na een IDXRD kan gewoon met de XISM routines verder gewerkt worden om volgende records te lezen of bij te werken.

© 1997- Marc Vos (and others) Contact Me