What's a SAP, and how do you write scripts for it?