Hello, Does If Condition have limit of using 12 conditions only ? On adding the 13th one it shows error Set as:iF $VouchertypeName = "SALES CASH ALIBAUG" THEN "CASH ALIBAUG" Else if + $VouchertypeName = "SALES CASH BHIWANDI" THEN "CASH BHIVANDI" else if + $VouchertypeName = "SALES CASH JAIPUR" THEN "CASH JAIPUR" else if + $VouchertypeName = "SALES CASH THANE" THEN "CASH THANE" else if + $VouchertypeName = "SALES CASH NASHIK" THEN "CASH NASHIK" else if + $VouchertypeName = "SALES CASH NAGPUR" THEN "CASH NAGPUR" else if + $VouchertypeName = "SALES CASH RATNAGIRI " THEN "CASH RATNAGIRI" else IF + $VouchertypeName = "SALES CASH GOA" THEN "CASH GOA" else IF + $VouchertypeName = "SALES CASH HUBLI" THEN "CASH HUBLI" else IF + $VouchertypeName = "SALES CASH BELGUM" THEN "CASH BELGUM" else IF + $VouchertypeName = "SALES CASH BANGALORE" THEN "CASH BANGALORE" else IF + $VouchertypeName = "SALES CASH RAIPUR" THEN "CASH RAIPUR" else IF + $VouchertypeName = "SALES CASH" THEN "CASH" else "" Please Help.
[Field:Sales Type] Use:Name Field Set as:$$GetMyVchTypeName:$VouchertypeName Border:Thin Right Width:10 [Function:GetMyVchTypeName] Parameter MyVchType :String Return :String Variable :VMyVchTypeInput :String 00: SET:VMyVchTypeInput: "" 20 : DO IF :##PMyVchType = "SALES CASH ALIBAUG" : SET :VMyVchTypeInput:"Jammu & Kashmir" 30 : DO IF :##PMyVchType = "SALES CASH BHIWANDI" : SET :VMyVchTypeInput:"Himachal Pradesh" 40 : DO IF :##PMyVchType = "SALES CASH JAIPUR" : SET :VMyVchTypeInput:"Punjab" 50 : DO IF :##PMyVchType = "SALES CASH THANE" : SET :VMyVchTypeInput:"Chandigarh" 60 : DO IF :##PMyVchType = "SALES CASH NASHIK" : SET :VMyVchTypeInput:"Uttarakhand" 70 : DO IF :##PMyVchType = "SALES CASH NAGPUR" : SET :VMyVchTypeInput:"Haryana" 80 : DO IF :##PMyVchType = "SALES CASH RATNAGIRI" : SET :VMyVchTypeInput:"Delhi" 90 : DO IF :##PMyVchType = "SALES CASH GOA" : SET :VMyVchTypeInput:"Rajasthan" 100: DO IF :##PMyVchType = "SALES CASH HUBLI" : SET :VMyVchTypeInput:"Uttar Pradesh" 110: DO IF :##PMyVchType = "SALES CASH BELGUM" : SET :VMyVchTypeInput:"Bihar" 120: DO IF :##PMyVchType = "SALES CASH BANGALORE" : SET :VMyVchTypeInput:"Sikkim" 130: DO IF :##PMyVchType = "SALES CASH RAIPUR" : SET :VMyVchTypeInput:"Arunachal Pradesh" 140: DO IF :##PMyVchType = "SALES CASH" : SET :VMyVchTypeInput:"Nagaland" 150: DO IF :##PMyVchType = "sales" : SET :VMyVchTypeInput:"Manipur" 160: DO IF :##PMyVchType = "test2" : SET :VMyVchTypeInput:"Mizoram" 910: SET: VMyVchTypeInput:##VMyVchTypeInput 940: RETURN :##VMyVchTypeInput
Break it into 2 formula Set as: firstif : iF $VouchertypeName = "SALES CASH ALIBAUG" THEN "CASH ALIBAUG" Else if + $VouchertypeName = "SALES CASH BHIWANDI" THEN "CASH BHIVANDI" else if + $VouchertypeName = "SALES CASH JAIPUR" THEN "CASH JAIPUR" else if + $VouchertypeName = "SALES CASH THANE" THEN "CASH THANE" else if + $VouchertypeName = "SALES CASH NASHIK" THEN "CASH NASHIK" else if + $VouchertypeName = "SALES CASH NAGPUR" THEN "CASH NAGPUR" else if + $VouchertypeName = "SALES CASH RATNAGIRI " THEN "CASH RATNAGIRI" else IF + $VouchertypeName = "SALES CASH GOA" THEN "CASH GOA" else IF + $VouchertypeName = "SALES CASH HUBLI" THEN "CASH HUBLI" else @Secondif Secondif : IF $VouchertypeName = "SALES CASH BELGUM" THEN "CASH BELGUM" else IF + $VouchertypeName = "SALES CASH BANGALORE" THEN "CASH BANGALORE" else IF + $VouchertypeName = "SALES CASH RAIPUR" THEN "CASH RAIPUR" else IF + $VouchertypeName = "SALES CASH" THEN "CASH" else ""
I don't know the exact answer but I will recommend other approach I see some pattern in your else clause you are just removing "SALES " and returning So my recommended 1 liner will be: Code: Set as:$$StringFindAndReplace:$VouchertypeName:"SALES ":"" If you want use it multiple places then Code: [System: Formula] RemovePrefixSales: $$StringFindAndReplace:$VouchertypeName:"SALES ":"" ;;Use it anywhere Set as:@@RemovePrefixSales Using this is more flexible even if you have have 13 voucher types or 30 voucherTypes There are other functions you can also use like $$StringRemWord, $$StringWord
Hi Parag, You can divide your conditions in multiple formulas or you can also use "Set By Condition" to set values. Code: Set By Condition : ($VouchertypeName = "SALES CASH ALIBAUG") : "CASH ALIBAUG" Set By Condition : ($VouchertypeName = "SALES CASH BHIWANDI") : "CASH BHIVANDI" Set By Condition : ($VouchertypeName = "SALES CASH JAIPUR") : "CASH JAIPUR"