Problem med db.GetProfileDocument

Nedenstående kodestump får fat i et profile dokument i basen – men hvis profil dokumentet ikke findes – så bliver det oprettet.

set profile = db.getProfileDocument( "ProfileName" )

Dette kan give problemer hvis en bruger benytter en lokal replika der ikke er replikeret færdigt. Her vil han få oprettet et nyt profile dokument – som overskriver (sletter) det oprindelige profil dokument næste gang der replikeres. Har selv stødt på dette problem et par gange.

Dermed: Inden du læser fra et profil dokumentet via Lotus Script, så er det god skik at checke om det findes. Dette kan gøres på 2 måder:

v = evaluate( |@GetProfileField( "ProfileName"; "FieldName" )| )

eller

Set coll = db.GetProfileDocCollection("ProfileName")
If coll.Count > 0 Then
   Set profile = db.GetProfileDocument("ProfileName")
End If

I script bibliotektet cls.system (som bl.a. findes i Developer Toolbox) kan du finde funktionen hasProfile( db, profilename ) – denne checker om et givent profil dokument findes i basen.

En tanke om "Problem med db.GetProfileDocument"

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

*