try { cached = appCacheGet("states", 86400); if (!isNull(cached)) { writeOutput(cached); abort; } qStates = queryExecute(" SELECT tt_StateID as StateID, tt_StateAbbreviation as StateAbbreviation, tt_StateName as StateName FROM tt_States ORDER BY tt_StateName ", {}, { datasource: "payfrit" }); states = []; for (row in qStates) { arrayAppend(states, { "StateID": row.StateID, "Abbr": row.StateAbbreviation, "Name": row.StateName }); } jsonResponse = serializeJSON({ "OK": true, "STATES": states }); appCachePut("states", jsonResponse); writeOutput(jsonResponse); } catch (any e) { writeOutput(serializeJSON({ "OK": false, "ERROR": "server_error", "MESSAGE": e.message })); }