TEMPLATE Procedure: Managing Template Stores
SOURCE Statement
Writes the source code for the template specified
to the SAS log.
Syntax
Required Argument
- item-path
-
specifies the path
of the item that you want to write to the SAS log. If the same item
exists in multiple template stores, PROC TEMPLATE uses the one from
the first template store that you can read in the current path.
Tip:PROC TEMPLATE stores items in compiled form. The SOURCE
statement actually decompiles the item. Because SAS comments are not
compiled, comments that are in the source code do not appear when
you decompile the item. If you want to annotate the item, use the
NOTES statement inside the item or the block of editing instructions,
or use the NOTES= option in the LINK statement. These notes do become
part of the compiled item.
(See the NOTES Statement and the
discussion of the LINK Statement. You can also specify notes as quoted
strings in the DYNAMIC, MVAR, NMVAR, REPLACE, and STYLE statements.)
Optional Arguments
- FILE= 'file-specification'
| fileref
-
specifies a file to
write the item to.
- 'file-specification'
-
is the name of an external
file to write to.
Requirement:The external-file that
you specify must be enclosed in quotation marks.
- fileref
-
is a file reference
that has been assigned to an external file. Use the FILENAME statement
to assign a fileref.
Default:If you omit a filename where you want the source code
written, then the SOURCE statement writes the source code to the SAS
log.
See: “Statements” in SAS Statements: Reference for information about the FILENAME statement.
- NOFOLLOW
-
specifies that the
program does not resolve links in the PARENT= statement, which specifies
the item that the current item inherits from. For information about
the PARENT= statement, see the
PARENT= Statement in the styles attribute section.
- STORE= libref.template-store
-
specifies the template
store where the item is located.
Interaction:In most cases, the STORE= option is added to the
definition statement when PROC TEMPLATE displays the source code.
However, if the template store specified in the STORE= option is in
the ODS path with only Read permission, then PROC TEMPLATE does not
include the STORE= option in the source code that it displays. There
will be no STORE= option, which means that if you run the code, then
the item that it creates will go to the first template store for which
you have Update permission in the ODS path.
- WHERE=(where-expression)
-
selects items that
meet a particular condition. For example, the following statement
displays the source code for items that contain the word “Default”
in the path to the current template: source / where=(path
? 'Default');
- where-expression
-
is an arithmetic or
logical expression that consists of a sequence of operators and operands.
where-expression has
this form:
(subsetting-variable <comparison-operator where-expression-n>)
- subsetting-variable
-
a special type of
WHERE expression operand used by the SOURCE statement to help you
find common values in items. Subsetting variables are one or more
of the following:
- PATH | _PATH_
-
is the fully qualified
path of a template.
Aliases:NAME | _NAME_
TEMPLATE | _TEMPLATE_
Example:This SOURCE statement displays the code for all items
that contain the word “Default” in the name of the current
template:
source / where=(path ? 'Default'); run;
- TYPE | _TYPE_
-
is the type of the
item. TYPE is one of the following:
- COLUMN
-
specifies that the
template is a column in a table.
- FOOTER
-
specifies that the
template is a footer in a table.
- HEADER
-
specifies that the
template is a header in a table.
- LINK
-
specifies that the
template is a link or URL.
- STYLE
-
specifies that the
definition is a style.
- TABLE
-
specifies that the
definition is a table template .
- TAGSET
-
specifies that the
definition is a tagset.
Example:This SOURCE statement displays the source code for
all tagsets that have the word “Default” in the path:
source / where=(lowcase(type) = 'tagset' && _path_ ? 'Default');
The
LOWCASE function converts all letters in an argument to lowercase.
- NOTES
-
is the content of any
NOTES statement in the PROC TEMPLATE step that created the item. The
contents is displayed in the LABEL field.
Alias:LABEL
Example:This SOURCE statement displays the source code for
all items where the label contains the words “common matrix”
and the item is a link:
source / where=(lowcase(label) ? 'common matrix' && _type_ = 'Link');
run;
The LOWCASE function converts all letters in an
argument to lowercase.
- SIZE
-
is the size of the
item in bytes.
Example:This SOURCE statement displays the source code for
all items that are larger than 70000 bytes:
source / where=(size > 70000);
run;
- CREATED
-
is the date the item
was created.
Example:This SOURCE statement displays the source code for
all of the items that were created today in all of the template stores
in the current template path:
source / where=(datepart(created) = today());
The
DATEPART function extracts the date from a SAS datetime value.
- CDATE | _CDATE_
-
is the creation date
of the item.
Example:This SOURCE statement displays the source code for
all of the items with a creation date of 16JUL2004:
source / where=(_cdate_ = '16JUL2004'd);
run;
- CDATETIME | _CDATETIME_
-
is the creation datetime
of the item.
Example:This SOURCE statement displays the source code for
all items with a creation SAS datetime of May 1, 2003 at 9:30:
source / where=(_cdatetime_ = '01may04:9:30:00'dt);
run;
- CTIME | _CTIME_
-
is the creation time
of the item.
Example:This SOURCE statement displays the source code of
all items with a creation time of 9:25:19 PM:
source / where=(_ctime_ = '9:25:19pm't);
run;
- MDATE | _MDATE_
-
is the modification
date of the item.
Example:This SOURCE statement displays the source code of
all items with a modification date of 16JUL2004:
source / where=(_mdate_ = '16JUL2004'd);
run;
- MDATETIME | _MDATETIME_
-
is the modification
datetime of the item.
Example:This SOURCE statement displays the source code of
all items with a modification SAS datetime of May 1, 2003 at 9:30:
source / where=(_mdatetime_ = '01may04:9:30:00'dt);
run;
- MODIFIED
-
is the date the item
was modified.
Example:This SOURCE statement displays the source code of
all items that were modified today in all of the template stores in
the current template path:
source / where=(datepart(modified) = today());
The
DATEPART function extracts the date from a SAS datetime value.
- MTIME |_MTIME_
-
is the modification
time of the item.
Example:This SOURCE statement displays the source code of
all items with a modification time of 9:25:19 PM:
source / where=(_mtime_ = '9:25:19pm't);
run;
- comparison-operator
-
compares a variable
with a value or with another variable. The following table lists the
comparison operators:
Comparison Operators
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Equal to one from a
list of values
|
Copyright © SAS Institute Inc. All rights reserved.