Avatar billede joth Nybegynder
25. september 2002 - 11:55 Der er 7 kommentarer og
1 løsning

tilretining af lotusscript til åbning af fælles mail-in database

jeg er administrator af et domino netværk hvor der via en portal åbnes en mail-in database styret af brugerens tilknyttede OU-niveau. det virker for 2 niveauer, men jeg har nu brug for det 3 OU-niveau. Jeg er ikke lotusscripthaj derfor behøver jeg lidt hjælp.
Lotushotspotscriptet er flg:

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim thisdb As NotesDatabase
    Dim userName As New NotesName(session.UserName)
    Dim CommonMailName As String
    Dim workspace As New NotesUIWorkspace   
   
    Set thisdb = session.CurrentDatabase
   
    If userName.OrgUnit2 <> "" Then
        CommonMailName=userName.OrgUnit2
    Else
        Goto ErrorInName
    End If
   
    If userName.OrgUnit1 <> "" Then
        CommonMailName=CommonMailName + "_" + userName.OrgUnit1
    End If
   
    Call workspace.OpenDatabase ( thisdb.server, "Mail-in\"+CommonMailName + ".nsf", "","", False, False )
   
    Exit Sub
ErrorInName:
    Messagebox "Unable to find common mail database", 32, "Information"
   
End Sub

Hvad skal tilføjes?, og hvor?
Avatar billede cdelicht Nybegynder
25. september 2002 - 12:03 #1
Tjaee, du kan jo prøve med følgende:
    Set thisdb = session.CurrentDatabase
'Ny kode start
    If userName.OrgUnit3 <> "" Then
        CommonMailName=userName.OrgUnit3
    Else
        Goto ErrorInName
    End If
    If userName.OrgUnit2 <> "" Then
        CommonMailName=CommonMailName + "_" + userName.OrgUnit2
    Else
        Goto ErrorInName
    End If
'Ny kode slut   
    If userName.OrgUnit1 <> "" Then
    osv...

Det kræver selvfølgelig, at din navngivning af mailin databaserne følger princippet: Mail-in\Ou3_Ou2_Ou1.nsf, altså som nu bare med en nivesu mere.
Avatar billede joth Nybegynder
25. september 2002 - 14:21 #2
Testet det. Nu virker OU3, men ikke OU2. Ellers godt forsøg
Avatar billede cdelicht Nybegynder
25. september 2002 - 14:45 #3
Hvad mener du med at OU2 ikke virker - har du brugere med kun 2 (og ikke 3) OU's?
Avatar billede joth Nybegynder
25. september 2002 - 15:28 #4
Ja indtil nu har alle kun 2 ou, men der skal oprettes underafdelinger, dvs. endnu et ou-niveau. Hvis jeg bruger portalen med det tilrettede script får ou-2 brugerne fejl, - ou-3 testopsætningen smutter lige ind. Men du bør faktisk have mindst 30 p for dit forslag.
Avatar billede cdelicht Nybegynder
25. september 2002 - 15:53 #5
Nå.. Du skal bare lave flg. rettelse indtil alle har 3 OU's:

If userName.OrgUnit2 <> "" Then
'NY start
    If userName.OrgUnit3 <> "" Then
        CommonMailName=CommonMailName+ "_" + userName.OrgUnit2
    Else
        CommonMailName=userName.OrgUnit2
    End If
'NY slut
Else
    Goto ErrorInName
End If

SÅ, nu ka' du gi' mig 60 point ;-)
Avatar billede joth Nybegynder
26. september 2002 - 10:09 #6
Du skal nok få dem men det virker stadig ikke for OU2 accounts, - her er hele scriptet , - hvad er galt?:
Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim thisdb As NotesDatabase
    Dim userName As New NotesName(session.UserName)
    Dim CommonMailName As String
    Dim workspace As New NotesUIWorkspace

    Set thisdb = session.CurrentDatabase

    If userName.OrgUnit3 <> "" Then
          CommonMailName=userName.OrgUnit3
    Else
          Goto ErrorInName
    End If
    If userName.OrgUnit2 <> "" Then
          If userName.OrgUnit3 <> "" Then
              CommonMailName=CommonMailName+ "_" + userName.OrgUnit2
          Else
              CommonMailName=userName.OrgUnit2
          End If

    Else
          Goto ErrorInName
    End If

    If userName.OrgUnit1 <> "" Then
          CommonMailName=CommonMailName + "_" + userName.OrgUnit1
    End If

    Call workspace.OpenDatabase ( thisdb.server, "Mail-in\"+CommonMailName
+ ".nsf", "","", False, False )

    Exit Sub
ErrorInName:
    Messagebox "Unable to find common mail database", 32, "Information"

End Sub
Avatar billede cdelicht Nybegynder
26. september 2002 - 10:44 #7
Jeg tror det er logikken :-(. Her er et bedre forsøg med følgende logik:
Er OU3 tom?
  Ja: Er OU2 er tom? Ja: Fejl. Nej: mailnavn=OU2+OU1
  Nej: OU3+OU2+OU1
Slut-færdig!

    If userName.OrgUnit3 <> "" Then
          CommonMailName=userName.OrgUnit3 + "_" + userName.OrgUnit2 + "_" + userName.OrgUnit1
    Else
          If userName.OrgUnit2 <> "" Then
              CommonMailName=userName.OrgUnit2 + "_" + userName.OrgUnit1
          Else
              Goto ErrorInName
        End If
    End If
Avatar billede joth Nybegynder
26. september 2002 - 11:30 #8
Smuk enkelt og genialt. Jeg har ændret til 100 p for den kunstneriske kreativitet. Her er hele scriptete hvis andre kan bruge det:
Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim thisdb As NotesDatabase
    Dim userName As New NotesName(session.UserName)
    Dim CommonMailName As String
    Dim workspace As New NotesUIWorkspace
   
    Set thisdb = session.CurrentDatabase
   
    If userName.OrgUnit3 <> "" Then
        CommonMailName=userName.OrgUnit3 + "_" + userName.OrgUnit2 + "_" + userName.OrgUnit1
    Else
        If userName.OrgUnit2 <> "" Then
            CommonMailName=userName.OrgUnit2 + "_" + userName.OrgUnit1
        Else
            Goto ErrorInName
        End If
    End If       
   
    Call workspace.OpenDatabase ( thisdb.server, "Mail-in\"+CommonMailName + ".nsf", "","", False, False )
       
    Exit Sub
ErrorInName:
    Messagebox "Unable to find common mail database", 32, "Information"
   
End Sub

TAKKER
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester