local laProblemTxt[5], laProblemFlag[5] * should be in setup code or table driven... * not inited again and again... laProblemTxt[1] = " payment arrangements" laProblemTxt[2] = " recent payments" laProblemTxt[3] = " been recently billed" laProblemTxt[4] = " some process pending" laProblemTxt[5] = " recent status changes" *-- Short and sweet if it is only flags! laProblemFlag = 0 * Processing code for lnI = 1 to Alen(laProblemTxt) if laProblemFlag[lnI] > 0 .cProblemText = .cProblemText + "," + CRLF + ; transform(laProblemFlag[lnI]) + ; iif(laProblemFlag[lnI] > 1, ; " accounts have", ; " account has") + laProblemTxt[lnI] endif next if not empty(.cProblemText) .cProblemText = substr(.cProblemText,4) + "." endifwhy couple the flags and the text in 1 Array ?