If(
CountIf(
Table(
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Supervisor.Email},
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Adm2ApproverEmail},
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).SUP2ApproverEmail},
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Fin2ApproverEmail},
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).ICT2ApproverEmail},
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Sec2ApproverEmail},
{Email: LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).HR2ApproverEmail}
),
Email = User().Email
) >= 2,
ApprovalChoice, // If user has multiple roles, start at ApprovalChoice
If(
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Supervisor.Email = User().Email, SupervisorApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Adm2ApproverEmail = User().Email, AdminApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).SUP2ApproverEmail = User().Email, SupplyApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Fin2ApproverEmail = User().Email, FinanceApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).ICT2ApproverEmail = User().Email, ICTApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Sec2ApproverEmail = User().Email, SecurityApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).HR2ApproverEmail = User().Email, HRApprove,
LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))).Final2ApproverEmail = User().Email, FinalApprove,
!IsBlank(LookUp('ExitClr v02-Approvers', User().Email = Name.Email && Category.Value = "Delegator")), DelegatorLanding,
!IsBlank(LookUp('ExitClr v02-Approvers', User().Email = Name.Email)) ||
!IsBlank(LookUp('Exit Clearance V02', User().Email = Supervisor.Email)), ApproversLanding,
RequestorLanding // Default screen if no conditions match
)
)
But when I'm defining the Variable and update the code as such, the Set(VArItemX, ... showing error. And I dont have any idea why.
// Set the variable with the LookUp result
Set(VarItemX, LookUp('Exit Clearance V02', ID = Value(Param("ItemID"))));
// After the variable is set, now use it in the If condition
If(
CountIf(
Table(
{Email: VarItemX.Supervisor.Email},
{Email: VarItemX.Adm2ApproverEmail},
{Email: VarItemX.SUP2ApproverEmail},
{Email: VarItemX.Fin2ApproverEmail},
{Email: VarItemX.ICT2ApproverEmail},
{Email: VarItemX.Sec2ApproverEmail},
{Email: VarItemX.HR2ApproverEmail}
),
Email = User().Email
) >= 2,
ApprovalChoice, // Navigate to ApprovalChoice if conditions match
If(
VarItemX.Supervisor.Email = User().Email, SupervisorApprove,
VarItemX.Adm2ApproverEmail = User().Email, AdminApprove,
VarItemX.SUP2ApproverEmail = User().Email, SupplyApprove,
VarItemX.Fin2ApproverEmail = User().Email, FinanceApprove,
VarItemX.ICT2ApproverEmail = User().Email, ICTApprove,
VarItemX.Sec2ApproverEmail = User().Email, SecurityApprove,
VarItemX.HR2ApproverEmail = User().Email, HRApprove,
VarItemX.Final2ApproverEmail = User().Email, FinalApprove,
!IsBlank(LookUp('ExitClr v02-Approvers', User().Email = Name.Email && Category.Value = "Delegator")), DelegatorLanding,
!IsBlank(LookUp('ExitClr v02-Approvers', User().Email = Name.Email)) ||
!IsBlank(LookUp('Exit Clearance V02', User().Email = Supervisor.Email)), ApproversLanding,
RequestorLanding // Default screen if no conditions match
)
)
Please note that I have another code in OnStart event of the app which also defined the same variable "VarItemX" and working just fine.
If(
!IsBlank(Param("ItemID")),
Set(
VarItemX,
LookUp(
'Exit Clearance V02',
ID = Value(Param("ItemID"))
)
);
Set(
VArFormMode,
FormMode.Edit
)
)
Please help me to identify the issue here. Im not that much expert on complex coding.