Status Problem

Region: Americas, Asia, Europe

Access: JDE BOM, Lotus Notes, WinLims, Chemmate

Sector: Alpha, Enthone.

Problem: My Status are showing up incorrectly. When I select JDE BOM, Americas, Enthone, I should only See Pending Americas IT Review

But I am seeing all three showing below.

Status: Pending Americas IT Review

Pending JDE Americas Approval

Pending JDE Europe Approval

This is behind the status button……

j7a := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) & J_BOMEnthAM_RR_Ap = “”; “Pending Americas IT Review”;“”);

j7e := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Europe” ; Region) & @IsMember(“Enthone”; Sector) & J_BOMEnthEU_RR_Ap = “”; “Pending Europe IT Review”; “”);

j7a1 :=@If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthAM_IT_AP = “” &

J_BOMEnthAM_RR_Ap = “Approved” &

J_BOMEnthAM_Mgr_Ap = “Approved” &

J_BOMEnthAM_G1_Ap = “Approved” &

J_BOMEnthAM_G2_Ap = “Approved” ; “JDE Enthone Americas BOM Approved & Pending Access” ; “”);

j7e1 := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Europe” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthEU_IT_AP = “” &

J_BOMEnthEU_RR_Ap = “Approved” &

J_BOMEnthEU_Mgr_Ap = “Approved” &

J_BOMEnthEU_G1_Ap = “Approved” &

J_BOMEnthEU_G2_Ap = “Approved” ; “JDE Enthone Americas BOM Approved & Pending Access” ; “”) ;

j7a2 :=@If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthAM_Mgr_Ap = “Denied” |

J_BOMEnthAM_RR_Ap = “Denied” |

J_BOMEnthAM_G1_Ap = “Denied” |

J_BOMEnthAM_G2_Ap = “Denied”; " JDE Americas Access Denied" ; “”) ;

j7e2 := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Europe” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthEU_RR_Ap = “Denied” |

J_BOMEnthEU_Mgr_Ap = “Denied” |

J_BOMEnthEU_G1_Ap = “Denied” |

J_BOMEnthEU_G2_Ap = “Denied”; " JDE Europe Access Denied" ;“”);

j7a3 := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthAM_RR_Ap = “Approved” & J_BOMEnthAM_Mgr_Ap = “” |

J_BOMEnthAM_G1_Ap = “” |

J_BOMEnthAM_G2_Ap = “” ; “Pending JDE Americas Approval” ; “”);

j7e3 := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Europe” ; Region) & @IsMember(“Enthone”; Sector) & J_BOMEnthEU_RR_Ap = “Approved” &

J_BOMEnthEU_Mgr_Ap = “” |

J_BOMEnthEU_G1_Ap = “” |

J_BOMEnthEU_G2_Ap = “” ; “Pending JDE Europe Approval” ;“”);

aprvls := @Trim(j7a: j7e: j7a1: j7e1: j7a2: j7e2: j7a3: j7e3) ;

@If (Submit = “Draft” ; “Draft” ;

ManagerApproval = “” ; “Pending Manager Approval” ;

ManagerApproval = “Denied” ; “Denied by Manager” ;

ManagerApproval = “Approved” ;

@If (aprvls = "" ; "Complete" ; aprvls ) ;

“Status Error” )

Subject: a few extra brackets might help

Just a suggestion - I would be tempted to add some brackets to help clarify the logic a little. For example, this section below might be intended to mean two different things:

j7a3 := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthAM_RR_Ap = “Approved” & J_BOMEnthAM_Mgr_Ap = “” |

J_BOMEnthAM_G1_Ap = “” |

J_BOMEnthAM_G2_Ap = “” ; “Pending JDE Americas Approval” ; “”);

1st meaning

j7a3 := @If(@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthAM_RR_Ap = “Approved” & (J_BOMEnthAM_Mgr_Ap = “” |

J_BOMEnthAM_G1_Ap = “” |

J_BOMEnthAM_G2_Ap = “” ); “Pending JDE Americas Approval” ; “”);

2nd meaning

j7a3 := @If((@IsMember(“JDE BOM” ; Access) & @IsMember(“Americas” ; Region) & @IsMember(“Enthone”; Sector) &

J_BOMEnthAM_RR_Ap = “Approved” & J_BOMEnthAM_Mgr_Ap = “”) |

J_BOMEnthAM_G1_Ap = “” |

J_BOMEnthAM_G2_Ap = “” ; “Pending JDE Americas Approval” ; “”);

So it could be that you want all the ANDs to be true OR any one of the ORs, or all the ANDs to be true AND any one of the ORs. Extra brackets never hurt :slight_smile:

Hope this helps,

Phil

Subject: Have you considered Lotusscript? :slight_smile:

The problem is (most probably) in your logic.Where you assign j7a, j7a3 and j7e3, you get all 3 returning True, due to the values of the fields.

For example, if J_BOMEnthAM_RR_Ap is blank, both j7a and j7a3 could evaluate as true depending on the values of the other fields.

I would suggest to look really careful at the logic. Or rewrite it in Lotusscript. Lotusscript is much easier to debug. And I am sure you can write the same logic in much fewer lines.