Macro XEDIT (from Fraktal SAS Programming)
Version vom 29. Januar 2015, 20:50 Uhr von Wolf-Dieter Batz (Diskussion | Beiträge)
What it does
This SAS Macro opens a Program Editor Window in the SAS Display Manager and loads the file specified by parameters xpath and xentry.
- When xpath is not supplied, the macro XSET is called to get the user's home directory and then uses this path.
- When xentry is not given, the macro calls XDIR to list the directory content in the LOG screen.
Annotated Code
Code executed | Function performed |
---|---|
|
Start macro definition with name and positional parameters xentry and xpath. |
|
Declare scope for xpath to be local. |
|
Start branch for condition "xpath not specified". |
|
Call macro XSET to obtain user's home directory. |
|
Populate xpath with content from homeshare. |
|
End branch for condition "xpath not specified". |
|
Create file reference using xpath. |
|
Start branch for condition "xentry is not empty". |
|
Open Program Editor window in SAS display manager. |
|
Load text file specified by xentry from directory specified by xpath. |
|
End branch for condition "xentry is not empty". |
|
Start branch for condition "xentry is empty". |
|
Call macro XDIR to show content in user's home directory. |
|
End branch for condition "xentry is empty". |
|
Clear fileref pointing to xpath. |
|
Finalize macro definition with name. |
Special Effects
- The macro makes use of the 'pipe' type file reference. When used appropriately, this returns a list that is instantly generated by an OS command that is given as the statement's argument.
- As an alternate text processing instance the macro uses a SYSTASK statement to call the windows component 'Wordpad'. Since each paticular windows installation uses its own path structure, the macro makes use of the 'windir' environment variable.