lcPtrn1 = repl( "*", 26 ) lcPtrn2 = repl( "#", 10 ) lcZip = upper( right( allt( addressfld ), 8 )) lcZip = chrtran( lcZIP, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", lcPtrn1 ) lcZip = chrtran( lcZIP, "0123456789", lcPtrn2 ) if lcZip = " *#* #*#" */ this was in the pattern format... */ I specifically used right(8) to allow for */ a forced space before final zip code, */ otherwise some anomoly in data where I want */ that first character to be a space... lcAddressFld = left( lcAddressFld, len( lcAddressFld )-8); + upper( right( lcAddressFld, 8 )) endifHTH