Assuming you have 4 fields named Address, City, State and ZIP you can run this loop procedure to fill in the Zip field. Note that the commented out line will return a full zip 9 while the uncommented line returns only the zip 5 code. Choose the one you want.
local theZip
noshow
startdatabasechange "ALLRECORDS","Get Zip Codes"
firstrecord
loop
zipinfoplus Address,"",City,State,"",theZip
// getdictionarvalue theZip,"ZIP9",Zip,Zip
Zip=getdictionaryvalue(theZip,"ZIP9",Zip)[1;5]
downrecord
until info("stopped")
showpage
endnoshow
I have included the startdatabasechange
statement so that you can undo this if it goes wrong (for Panorama X only). Obviously bad addresses will not return a zip code.