Skip to main content
 
developerWorks
AIX and UNIX
Information Mgmt
Lotus
New to Lotus
Products
How to buy
Downloads
Live demos
Technical library
Training
Support
Forums & community
Events
Rational
Tivoli
WebSphere
Java™ technology
Linux
Open source
SOA and Web services
Web development
XML
My developerWorks
About dW
Submit content
Feedback



developerWorks  >  Lotus  >  Forums & community  >  Notes/Domino 4 and 5 Forum

Notes/Domino 4 and 5 Forum

developerWorks

  

Sign in to participate PreviousPrevious NextNext

Agent - Doc opens several tabs and Code Made Easier
Nadeem Shaikh 28.Apr.04 11:51 AM a Web browser
Domino Designer -- LotusScript 5.0.1a Windows NT

Hi,

I have 2 problems

1) I have the following code which creates documents by going through 2 views, getting certain field values and
then create some documents

But as you can see below..my code seems very repetitive, is their an easier way of putting my code so that it can
be easily understood


2) and the part where it reads:

While Not (doc Is Nothing)

'SySDets Doc Refresh with environment variable+++++++++++++
currDivTeam$ = doc.divname(0)
Call session.SetEnvironmentVar( "ESMCurrDivTeam", currDivTeam )
Call session.SetEnvironmentVar( "ESMSite", doc.DivACPOSite(0) )

Call workspace.EditDocument(True, SysDetsDoc)
Set sysuidoc = workspace.CurrentDocument
Set sysdetsdoc = sysuidoc.Document
Call sysuidoc.Refresh
sysuidoc.save
Call sysuidoc.Close
Call sysdetsdoc.Save( True, True )
'SySDets Doc Refresh with environment variable+++++++++++++


is causing me problems in that when the agent finishes
many sysdetsdocs start appearing on the tabs under the smarticons pane..what am i doing wrong..
i have to open sysdetsdoc...so that some fields can be refreshed...as my agent then uses these updated fields
but i thought by closing them they wont apppear on the tab.

I guess by putting the above code within the while loop is not a good idea (as it goes through the loop..its
opening the sysdetsdoc and then closing it and doing the same over and over again) but what other solution can i use.

Thanks in advance

My full code:

Sub Initialize
Dim session As New notessession
Set Agent = session.currentAgent
AgentName = Agent.Name

''Print starting Agent to NotesLog
Print "Starting Process All Staff Agent at: " & Str$(Now())

Set UnicornDb = session.currentdatabase
server = Unicorndb.server
Set view = UnicornDb.getview("DivisionsV")
Set SysDetsView = UnicornDb.GetView("SysDetsV")
Set SysDetsDoc = SysDetsView.GetDocumentByKey("A",True)



Call TeamviewChangeDoc
End Sub

++++++++++++++++++++++++++++++++
Sub TeamViewChangeDoc
Dim session As New notessession
Dim workspace As New NotesUIWorkspace
Dim sysuidoc2 As NotesUIDocument


On Error Goto ProcessError

Set UnicornDb = session.currentdatabase
server = Unicorndb.server
Set view2 = UnicornDb.getview("AllLiveTeamsByDivV")

Set doc2 = view2.getfirstdocument
count2 = 0
While Not (doc2 Is Nothing)

'SySDets Doc Refresh with environment variable+++++++++++++
var3 = Evaluate({@Right(TeaDivision;".")}, doc2)
currDivTeam$ = var3(0)
Call session.SetEnvironmentVar( "ESMCurrDivTeam", currDivTeam )
Call session.SetEnvironmentVar( "ESMSite", doc2.DivACPOSite(0) )

Call workspace.EditDocument(True, SysDetsDoc)
Set sysuidoc2 = workspace.CurrentDocument
Set sysdetsdoc = sysuidoc2.Document
Call sysuidoc2.Refresh
sysuidoc2.save
Call sysuidoc2.Close
Call sysdetsdoc.Save( True, True )
'SySDets Doc Refresh with environment variable+++++++++++++

'+++++++++++++
Set item1 = doc2.GetFirstItem( "DivACPO" )
GroupName2 = SysDetsDoc.SysACO
For y = 0 To Ubound(doc2.DivACPO)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivACPO(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item2 = doc2.GetFirstItem( "DivACPOSec" )
GroupName2 = SysDetsDoc.SysACOPA
For y = 0 To Ubound(doc2.DivACPOSec)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivACPOSec(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item3 = doc2.GetFirstItem( "DivAM" )
GroupName2 = SysDetsDoc.SysAM
For y = 0 To Ubound(doc2.DivAM)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivAM(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item4 = doc2.GetFirstItem( "DivAAM" )
GroupName2 = SysDetsDoc.SysAAM
For y = 0 To Ubound(doc2.DivAAM)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivAAM(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item5 = doc2.GetFirstItem( "DivSPO" )
GroupName2 = SysDetsDoc.SysSPO
For y = 0 To Ubound(doc2.DivSPO)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivSPO(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item6 = doc2.GetFirstItem( "DivPO" )
GroupName2 = SysDetsDoc.SysPO
For y = 0 To Ubound(doc2.DivPO)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivPO(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item7 = doc2.GetFirstItem( "DivPSO" )
GroupName2 = SysDetsDoc.SysPSO
For y = 0 To Ubound(doc2.DivPSO)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivPSO(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++
Set item8 = doc2.GetFirstItem( "DivTPO" )
GroupName2 = SysDetsDoc.SysTPO
For y = 0 To Ubound(doc2.DivTPO)
For x = 0 To Ubound(GroupName2)
Set ChangeCDoc2 = UnicornDb.createdocument
ChangeCDoc2.Form = "ChangeControlD"
ChangeCDoc2.ChangeType = "Add"
ChangeCDoc2.ChangeStaff = doc2.DivTPO(y)
ChangeCDoc2.ChangeMailGroup = GroupName2(x)
ChangeCDoc2.ChangeDraft = "Yes"
Call ChangeCDoc2.Save(True,True)
Next
Next
'+++++++++++++++

Set doc2 = view2.getnextdocument(doc2)
count2 = count2 + 1
Wend


Print "No of Team Docs Processed = " & Cstr(count2)

Exit Sub

ProcessError:
' Print message to NotesLog containing error info...
Print "### WMPA Exception Event ###"
Print "### Agent: " & AgentName & " Error Encountered ###"
Print "### Error: " & Str(Err) & " - " & Error$ & " ###"
Print "### Db: " & UnicornDb.FilePath & " ###"
Print "### < " & Str(Erl) " > ###"
Exit Sub
End Sub




Agent - Doc opens several tabs and ... (Nadeem Shaikh 28.Apr.04)
. . RE: Agent - Doc opens several tabs ... (Javier Alvarez 28.Apr.04)






  Document options
Print this pagePrint this page

 Search this forum

  Forum views and search
Date (threaded)
Date (flat)
With excerpt
Author
Category
Platform
Release
Advanced search

 Sign In or Register
Sign in
Forgot your password?
Forgot your user name?
Create new registration

 RSS feedsRSS
All forum posts RSS
All main topics RSS
More Lotus RSS feeds

 Resources
Forum use and etiquette
Native Notes Access
Web site Feedback

  Lotus Support
Lotus Support
Product support pages index
Search knowledge base (Technotes)
Search support downloads
Lotus Support RSS

 Wikis
IBM Composite Applications
IBM Mashup Center
IBM Connections
IBM Docs
IBM Forms
IBM Mobile Connect
IBM Sametime
IBM SmartCloud for Social Business
IBM Web Experience Factory
Lotus Domino
Lotus Domino Designer
Lotus Expeditor
Lotus Foundations
Lotus iNotes
Lotus Instructor Community Courseware
Lotus Notes
Lotus Notes & Domino Application Development
Lotus Notes Traveler
Lotus Protector
Lotus Quickr
Lotus Symphony
IBM Web Content Manager
WebSphere Portal

 Lotus Forums
Notes/Domino 9.0
Notes/Domino 8.5 + Traveler
Notes/Domino XPages development forum
Notes/Domino 8
Notes/Domino 6 and 7
Notes/Domino 4 and 5
IBM Connections
IBM Forms
IBM Mobile Connect
IBM Sametime
IBM SmartCloud Notes
IBM SmartCloud Meetings
IBM Web Content Manager
Lotus Domino Document Manager
Lotus e-learning
Lotus Enterprise Integration
Lotus Expeditor
Lotus Protector
Lotus Quickr
Lotus SmartSuite
Lotus Symphony
Lotus Symphony Developer Toolkit Support
Lotus Workflow