I have a really strange issue happening on a SAIL form. Basically I have a two l

I have a really strange issue happening on a SAIL form. Basically I have a two local variables which contain any type arrays (X and Y). I then have a 3rd local variable (Z) where I'm trying to place either array X or array Y, based on a local boolean variable which I've set using an expression.

=load(
local!arrayX:ri!input1,
local!arrayY:ri!input2,
local!isBoolean:if(local!integerA=0,true,false),
local!arrayZ:if(local!isBoolean,local!arrayX,local!arrayY)
)

The issue is that array Z is always returning only the first index of either array X or array Y. I want it to return the whole array. I'm not really sure why this is happening. And the strangest part is that if I set local!isBoolean as true or false directly (not using an expression), then array Z returns the entire array that I want.

Anyone seen anything similar? This seems really odd. I've displayed the values of all of my arrays and boolean variable on the form so I know that th...

SAIL issue with boolean expression.doc

OriginalPostID-146293

OriginalPostID-146293

  Discussion posts and replies are publicly visible

Parents
  • Its in original post..
    local!arrayZ: if(local!isBoolean,local!arrayX,local!arrayY)
    Here is the exact code snippet:
    local!ruleOutputModifiedFinal:if(local!isStateOrFederalOriginationFailingBoolean,local!ruleOutputModified,ri!VW_RuleOutput_AccountBenefit_new),

    Boolean is set as follows:

    local!isStateOrFederalOriginationFailing:toboolean(if(rule!APN_isEmpty(local!accountOutput),not(local!stateDoODetails.IsStateDoOPassing),if(rule!APN_isEmpty(local!stateDoODetails),tointeger(local!accountOutput.IsOriginationDatePassing)=0,or(tointeger(local!accountOutput.IsOriginationDatePassing)=0,not(local!stateDoODetails.IsStateDoOPassing))))),
    local!isStateOrFederalOriginationFailingBoolean:if(local!isStateOrFederalOriginationFailing,true(),false()),

    However if I just set the boolean as simply true or false as below, then everything works fine. That doesn't solve my problem though because I need the boolean set by the expression:

    local!isStateOrFederalOriginationFailingBoolean:true,
Reply
  • Its in original post..
    local!arrayZ: if(local!isBoolean,local!arrayX,local!arrayY)
    Here is the exact code snippet:
    local!ruleOutputModifiedFinal:if(local!isStateOrFederalOriginationFailingBoolean,local!ruleOutputModified,ri!VW_RuleOutput_AccountBenefit_new),

    Boolean is set as follows:

    local!isStateOrFederalOriginationFailing:toboolean(if(rule!APN_isEmpty(local!accountOutput),not(local!stateDoODetails.IsStateDoOPassing),if(rule!APN_isEmpty(local!stateDoODetails),tointeger(local!accountOutput.IsOriginationDatePassing)=0,or(tointeger(local!accountOutput.IsOriginationDatePassing)=0,not(local!stateDoODetails.IsStateDoOPassing))))),
    local!isStateOrFederalOriginationFailingBoolean:if(local!isStateOrFederalOriginationFailing,true(),false()),

    However if I just set the boolean as simply true or false as below, then everything works fine. That doesn't solve my problem though because I need the boolean set by the expression:

    local!isStateOrFederalOriginationFailingBoolean:true,
Children
No Data