Very Hard Question To Explain

On my form I have 3 fields
F-> means field name
User                  Date            Action
F->Requester_Name     F->Request_Date     F->ECRFlowState   (each field is computed off a hidden field)

HF->Requester_Name_2  HF->Request_Date_2  HF->ECRFlowState_2  (The way this should behave on the form is when some clicks the approve action button the fields reflect who and when they approved it in the form.  
So if current user is Bob Sock and he clicks approve the history section says

Bob Sock   03/19/03  Approved.  This part was working fine then I was asked to add two more fields

F->Requested_Approver and F->PME_Approver  only the users in these two fields will ever see the approve action, but only after one person from each field approves it can the state change to approved.  I had that working alright.  Then came the part where the history would show when someone in the required field approved it.  I can get the first approve to show up correctly but when the second one approves it does not record the action for that user - it continues with the action and puts the final approve in the history - which I want but I need to see the second approve as well.  Here is the code.

ecr_flow_state := ECRFlowState + @NewLine + @Text("Approved");
ecr_requester_name := Requester_Name + @NewLine + @Name([CN]; @UserName);
ecr_status_date :=  Request_date+ @NewLine + @Text(@Now);

pme_text := ecr_requester_name + " - Acting As PME";
pme_approve := ecr_flow_state + " by PME";

de_text := ecr_requester_name + " - Acting As DE";
de_approve := ecr_flow_state + " by DE";

@If(@IsMember(@Name([CN]; @UserName); PME_Approver);
        @If(PME_Approve_1 != ""; ""; @Do(@SetField("PME_Approve_1";"PME");
            @If(ECRFlowState != ""; @SetField("ECRFlowState_2"; pme_approve); "");
            @If(Requester_Name != ""; @SetField("Requester_Name_2"; pme_text); "");
            @If(Request_Date != ""; @SetField("Request_Date_2"; ecr_status_date); "");"")); "");

@If(@IsMember(@Name([CN]; @UserName); Requested_Approver);
       @If(Approve_Checks != ""; "";@Do(@SetField("Approve_Checks";"DE");
            @If(ECRFlowState != ""; @SetField("ECRFlowState_2"; de_approve); "");
            @If(Requester_Name != ""; @SetField("Requester_Name_2"; de_text); "");
            @If(Request_Date != ""; @SetField("Request_Date_2"; ecr_status_date); "");"")); "");

@SetField("total_check"; Approve_Checks:PME_Approve_1);
@If(@IsMember("DE":"PME"; total_check);""; @Return(@Command([FileCloseWindow])));


@SetField("ECRFlowState_2"; "Approved");
@SetField( "Requester_Name_2"; @Name([CN]; @UserName));
@SetField("Request_Date_2"; @Text(@Today));

@If(ECRFlowState != ""; @Do(@SetField("ECRFlowState_2"; ecr_flow_state); @SetField("ECRFlowState"; "")); "");
@If(Requester_Name != ""; @Do(@SetField("Requester_Name_2"; ecr_requester_name); @SetField("Requester_Name"; "")); "");
@If(Request_Date != ""; @Do(@SetField("Request_Date_2"; ecr_status_date); @SetField("Request_Date"; "")); "");

@SetField("ECRFlowState_3"; "Approved");
@SetField( "Requester_Name_3";@Name([CN]; @UserName));
@SetField("Request_Date_3"; @Text(@Now));
@SetField("ECR_Approver_Name"; ECRApprover);

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Why don't you append instead of concatenating ?

Use something like this

ecr_flow_state := @Text("Approved");
ecr_requester_name := @Name([CN]; @UserName);
ecr_status_date :=  @Text(@Now);

FIELD History := ecr_flow_state : ecr_requester_name : ecr_status_date : History;

THis will append approve action everytime it is clicked.

PS: Make Field History as Multi value


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Hi Jaziar,

If you would like, you can send me the form (copy & paste into a new blank database if your current database design is very large and has many elements unrelated to this question), and I will take a look at it for you as soon as I can. My email address is in my profile. Thanks.


JaziarAuthor Commented:
I ended up rewriting the action and appending the information instead of having it seperate.  It works better.

Yes it works better. I have been following this for years. Thanks for the points.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Lotus IBM

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.