We help IT Professionals succeed at work.

Lotus Notes Domino - dbProfile

wzm
wzm asked
on
1,448 Views
Last Modified: 2013-11-16
Hi Experts,
 I hv one old program which I don't understand how does this dbprofile works. Please explain. Next please help me to solve this old codes, it is giving this error - "Server Error : Entry not found in Index" and here is the codes..

F :="names.nsf";
S :=@GetProfileField("(dbProfile)";"pAddressServer");

ENVIRONMENT DocType :=

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"ZPClaim" ; "Members"); @Name([CN];@UserName));
"Claims Requisition" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APMovex(Post Sales)" ; "Members"); @Name([CN];@UserName));
"Movex(Post Sales) Claims Requisition" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APMovex(GrpA)" ; "Members"); @Name([CN];@UserName));
"Movex(Pre Sales) Claims Requisition" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPSystem" ; "Members"); @Name([CN];@UserName));
"System Claims Requisition" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPEPronto" ; "Members"); @Name([CN];@UserName));
"Pronto Claims Requisition (GrpE)" ;

@If( @Contains( @DbLookup( ""; S : F;"Groups";"APClmAccounts" ; "Members"); @Name([CN];@UserName));
"Accounts Claims Requisition" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APBI(GrpA)" ; "Members"); @Name([CN];@UserName));
"BI Claims Requisition(GrpA)" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APBI(GrpB)" ; "Members"); @Name([CN];@UserName));
"BI Claims Requisition(GrpB)" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPAPronto" ; "Members"); @Name([CN];@UserName));
"Pronto Claims Requisition (GrpA)" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPBPronto" ; "Members"); @Name([CN];@UserName));
"Pronto Claims Requisition (GrpB)" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPCPronto" ; "Members"); @Name([CN];@UserName));
"Pronto Claims Requisition (GrpC)" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPDPronto" ; "Members"); @Name([CN];@UserName));
"Pronto Claims Requisition (GrpD)" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"LAPEPronto" ; "Members"); @Name([CN];@UserName));
"Pronto Claims Requisition (GrpE)" ;
@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APManagement" ; "Members"); @Name([CN];@UserName));
"Management Claims Requisition" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APMovex" ; "Members"); @Name([CN];@UserName));
"Movex Claims Requisition" ;


@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APSLRetail(GrpA)" ; "Members"); @Name([CN];@UserName));
"SLRetail Claims Requisition(GrpA)" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APSLRetail(GrpB)" ; "Members"); @Name([CN];@UserName));
"SLRetail Claims Requisition(GrpB)" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APBI(GrpA1)" ; "Members"); @Name([CN];@UserName));
"BI Claims Requisition (GrpA1)" ;

@If( @Contains( @DbLookup( ""; S : F ;"Groups";"APMovex(SE)" ; "Members"); @Name([CN];@UserName));
"Movex(SE) Claims Requisition" ;

Null
)))))))))))))))))));


@If( DocType = Null ;
@Prompt([Ok];"Reminder";"Please contact your administrator to ensure that you are assigned to your division group.");
@PostedCommand([Compose]; DocType))

Please help, Thank you.
Comment
Watch Question

ZvonkoSystems architect
CERTIFIED EXPERT
Top Expert 2006

Commented:
The code lookups a searies of Groups from names.nsf to find the CommonName of the actual user as member in one of those groups. When one membership is found then is DocType set according to group name. For example when user is memeber in group ZPClaim then is DocType set to "Claims Requisition".
The variable F is the file name of names.nsf and the variable S is the server name where that names.nsf is located.
But that all works only when in the DB where upper @Formula is executed is a profile document is created.
Create a profile document once by executing this @Formula:
@SetProfileField(("(dbProfile)";"pAddressServer","YourDominoSrv");
ZvonkoSystems architect
CERTIFIED EXPERT
Top Expert 2006

Commented:
Normaly do the developer place the upper @Formula that I have suggested in a Form that is opened to configure the application. search that configuration form or Document and adjust your server name information in that profile document.
Additional note: If you have a form with the name "(dbProfile)" then is that the profile setting document. That say: the form name is also the profile name when opened with command:
@Command( [EditProfileDocument] ; "(dbProfile)" );



wzm

Author

Commented:
Hi Zvonko,
 Can go to dummies level, I don't understand...
 and where should I place that code ? - "@SetProfileField(("(dbProfile)";"pAddressServer","YourDominoSrv");"
ZvonkoSystems architect
CERTIFIED EXPERT
Top Expert 2006
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
wzm

Author

Commented:
yes.. as attached..
dbprofile-form.JPG
ZvonkoSystems architect
CERTIFIED EXPERT
Top Expert 2006

Commented:
OK, then create an Agent with this one @Formula:
@Command( [EditProfileDocument] ; "(dbProfile)" );

And enter your Domino server name at field labeled: 4) Address database location

I assume the other DB and server fields need also to be filled but for membership lookup is Address server the first one needed.
wzm

Author

Commented:
1) create an Agent with @Formula:
@Command( [EditProfileDocument] ; "(dbProfile)" - done
2) Run the Agent from the Menu-Triggered command, and Key in the server name - done.

ZvonkoSystems architect
CERTIFIED EXPERT
Top Expert 2006

Commented:
Wonderful!
Now should upper macro work. Check it.
wzm

Author

Commented:
pls help .. yaips nope still the same ...
wzm

Author

Commented:
I checked the Domino Directory from Address Book (names.nsf) there's no names in the Member List, could this be the problem? wonder why...
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
wzm

Author

Commented:
No Solution
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.