1) Saving a Smart Form is a step done only in the development client. It commits your form changes and marks its status as inactive. A form should not be transported in this inactive state. When you are making a lot of changes to a form, it may be a good idea to save periodically. This is especially true if you are on an earlier support pack where an ABAP dump can occur sporadically during activation; in this case, all changes since your last save will be lost. Saving is quick since it does not generate any ABAP code.
2) Activating a Smart Form is a step done only in the development client. It switches your form's status from inactive to, well, active. Activation also saves your form and generates an ABAP function module, so it can take a while to complete. (Note: One way to speed up activation is to omit graphics until your form is close to completion.)
3) Generating a Smart Form can be done anywhere. It regenerates the ABAP function module tied to the form based on the latest contents of the form. This ABAP code is what your print program calls when producing output, rather than the form itself. Technically speaking, your print program doesn't even look at the form itself! Generation should be done on an active form. If this code generation does not take place, no ABAP will exist and you won't be able to produce any output. Typically, a one-time generation occurs automatically behind the scenes when you first attempt to produce output in a target system.
Dig Deeper on SAPscript and Smart Forms
Related Q&A from Mark Smithson
An SAP user is working with an SAPscript form to create the form development for an Invoice List, and wants to know if it's possible to migrate the ... Continue Reading
An SAP user is trying to align a barcode in the center of a defined window on an SAP Smart Form. Continue Reading
An SAP user is looking to fix an error with a packing slip print-out in an SAP Smart Form. Continue Reading