Transformation Commands
The entire set of transformation commands from ADD VALUE LABELS to XSAVE can appear in the input program state as part of an input program, in the transformation state, or in the procedure state. When you use transformation commands in the input program state or the transformation state, the program remains in the same state it was in before the command. When the program is in the procedure state, these commands move the program back to the transformation state.
Transformation commands and some file definition and input program commands can be categorized according to whether they are declarative, status-switching, or executable. Declarative commands alter the active dataset dictionary but do not affect the data. Status-switching commands change the program state but do not affect the data. Executable commands alter the data. The following table lists these commands and indicates which of the three categories applies.
Command | Type | Command | Type |
---|---|---|---|
ADD FILES | Exec* | LEAVE | Decl |
ADD VALUE LABELS | Decl | LOOP | Exec |
APPLY DICTIONARY | Decl | MATCH FILES | Exec* |
BREAK | Exec | MISSING VALUES | Decl |
COMPUTE | Exec | N OF CASES | Decl |
COUNT | Exec | NUMERIC | Decl |
DATA LIST | Exec* | POINT | Exec |
DO IF | Exec | PRINT, PRINT EJECT | Exec |
DO REPEAT | Decl† | PRINT FORMATS | Decl |
ELSE | Exec | PRINT SPACE | Exec |
ELSE IF | Exec | RECODE | Exec |
END CASE | Exec | RECORD TYPE | Exec |
END FILE | Exec | REFORMAT | Exec |
END FILE TYPE | Stat | REPEATING DATA | Exec* |
END IF | Exec | REREAD | Exec |
END INPUT PROGRAM | Stat | SAMPLE | Exec |
END LOOP | Exec | SELECT IF | Exec |
END REPEAT | Decl† | SPLIT FILE | Decl |
FILE TYPE | Stat** | STRING | Decl |
FILTER | Exec | TEMPORARY | Stat |
FORMATS | Decl | VALUE LABELS | Decl |
GET | Exec* | VARIABLE LABELS | Decl |
GET CAPTURE | Exec* | VECTOR | Decl |
GET OSIRIS | Exec* | WEIGHT | Decl |
IF | Exec | WRITE | Exec |
INPUT PROGRAM | Stat | WRITE FORMATS | Decl |
KEYED DATA LIST | Exec* | XSAVE | Exec |
* This command is also declarative.
**This command is also executable and declarative.
†This command does not fit into these categories; however, it is neither executable nor status-switching, so it is classified as declarative.