Hi all,
I have an old lotus application. It was designed in lotus 6.5.
I use Lotus Designer 8.5 to modify it. There is an author field in its form. Its value is a formula. I modified it, but when it runs, the new formula does not take effect, its old formula still remains.
I search the Internet and find this: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Reader_and_Author_Field_Troubleshooting
It says that: “Changing the form design does not affect access to pre-existing documents. Their access is controlled based on what values were written into the Reader/Author fields at the time they were last saved. You would have to write an agent or otherwise update the documents to correct the field values”.
So, what can I do to make the new formula take effect?
I greatly appreciate your help.
Thank you very much!
Subject: Pretty much what it is telling you to do…
Namely, write an agent. Assuming your authors field is Computed, you could just use the ToolsRefreshSelectedDocs command to do a one-off change to those existing documents that requrie the new value.
Subject: More details about my problem
Hi!
I tell you more details about my problem.
The author field 's formula in that form get value from wrong column in a view. I modified it to get value from the correct column. But when I run the application, it still gets value from wrong column, my modified code does not take affect.
So, what can I do to make my modified code take effect?
This post (http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Reader_and_Author_Field_Troubleshooting) tells me to write an agent to update the value of that author field. But I want to modifiy the author field’s formula and my modified code take effect.
I greatly appreciate your help.
Thank you very much!
Subject: Wayne is right
Wayne explains what you need to do. The field contains a value. That is is based on a formula is not relevant.
When you change the formula, that field on all new documents will contain a value computed from the new formula, but all old documents will still contain the values from the old formula.
You must learn to differentiate between the formula used to compute the value of a field and the field itself.
For example:
The authors field is calculated to “Admin”, but you change the formula to calculate it to “SysAdmin”. All old documents will still contain the value “Admin”.
You must write an agent to go back and update all old documents.
Subject: That field on all new documents does not contain a value computed from the new formula
Hi!
When I change the formula, that field on all new documents does not contain a value computed from the new formula, it still contains the value from the old formula.
So, what can I do to make that field on all new documents contain a value computed from the new formula?
Thanks a lot!
Subject: more info please
Hi,Can you post your old formula and your new formula please, and I’ll see if there’s an obvious error.
Phil
Subject: More details about the formula
The old formula:Srv:=gSRV;
Db:=gCFG;
Vw := “view”;
Key := “key”;
Ret := “LVL”+ LVL +“_LST_na”;
@If(CURR_STS=“Closed”;@DbManager;@DbLookup(“Notes”:“NoCache”;Srv:Db;Vw;Key;Ret))
I just change the Ret to:
Ret := “LVL”+C_LVL+“_LST_na”;
This field on all new and old documents returns the wrong value.
I create a new field with my modified formula. When I run the application, this new field returns the correct value.
I deleted that author field and added a new one. But when I run the application, it notices “You are not authorized to perform the operation”.
Thank you!
Subject: not authorized…
According to this pagehttp://www-01.ibm.com/support/docview.wss?uid=swg21084493
your error message is issued when " a background macro attempts to perform an @Db function against a non-local database (not on the same server)."
I don’t see anything wrong with your formula (presuming all the db, server, view and key values are valid), so maybe this will help?
Phil