Tips for Working with the %CPDDUTL GENERATE SOURCE Control Statement | |
Users who want to create their own table and variable definitions can do so from the following sources of information :
They can use the GENERATE SOURCE statement of the %CPDDUTL macro to build a first version of the CREATE TABLE, UPDATE TABLE, and CREATE VARIABLE statements needed to define the table. The generated source statements can be stored in either a SAS ® catalog member of type .SOURCE or in an external flat file.
Typically, a user would use GENERATE SOURCE when setting up to use a generic collector, in order to aid in defining the table to the PDB. As such, the data set used for staging the data for the generic collector would serve as the DATASET= parameter for the GENERATE SOURCE statement.
If you are required to use a staged data set as input to %CxPROCES you must ensure that it conforms to the following rules:
Once the source statements have been generated, they must be reviewed before being executed. While GENERATE SOURCE endeavors to be as accurate as possible, it is not infallible in some of the assumptions it makes. Specifically, the generated definitions should be examined to verify (and modify if necessary) the following things:
CREATE VARIABLE NAME=C EXTNAME=CEXT TYPE=NUMERIC LENGTH=8 INTERPRET=COUNT KEPT=YES SUBJECT='N/A' LABEL='Int var c' DESCRIPTION='Integer variable c' FORMAT=BEST12.2 ISTATS =( NOCOUNT SUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE NOVARIANCE NOSTD NONMISS ) DAY =( NOCOUNT SUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE NOVARIANCE NOSTD NONMISS ) WEEK =( NOCOUNT SUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE NOVARIANCE NOSTD NONMISS ) MONTH =( NOCOUNT SUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE NOVARIANCE NOSTD NONMISS ) YEAR =( NOCOUNT SUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE NOVARIANCE NOSTD NONMISS ) ;
For more information, see the online help entry "CPDDUTL Create Variable" in the Help Index.
By default, GENERATE SOURCE assigns interpretation type based on the following rules of thumb:
if ... assume interpretation type --------------------------- --------------------------- the variable format is DATETIMEx DATETIME the variable format is TIMEx TIME the variable format is DATEx DATE the variable format is PERCENTx PERCENT the variable label contains MINIMUM the strings MIN or MINIMUM or LWM or LOWEST the variable label contains MAXIMUM the strings MAX or MAXIMUM or HWM or PEAK or HIGHEST the variable label contains COUNT the string COUNT or TOTAL or PAGES the variable label contains DATETIME the string DATETIME the variable label contains TIME the string TIME the variable label contains DATE the string DATE the variable label contains PERCENT100 the string PCT or PERCENT or % or UTILIZ or UTILIS the variable label contains PERCENT the string RATIO the variable label contains GAUGE the string CURRENT or SIZE or GAUGE the variable label contains SUM the string SUM the variable label contains RATE the string PER or RATE or /HR or /HOUR or /MIN or /SEC the variable label contains AVERAGE the string AVG, AVERAGE, or MEAN or AVE the variable label contains INT the string VERSION or NUMBER or TYPE or CLASS or PRIORITY or PTY
For more information about selecting appropriate variable interpretation types, see the help entry "Variable Interpretation & Default Stats" from the IT Service Vision Help Index or File 5.INTERP.
The syntax of the GENERATE SOURCE statement is as follows:
GENERATE SOURCE < NAME= new-table-name > TABLE= < input-table-name | _ALL_ > |DATASET= 'input-SAS-data-set-name' | INFILE= 'input-file-name' < TYPE= INTERVAL | EVENT > < INTYPE= DSI > see comments below ENTRYNAME= 'output-SAS-catalog-entry' FILENAME= 'output-physical-file-name' < DATETIME= variable-name > < DURATION= variable-name > < REPLACE | NOREPLACE > < NOERROR > ;
where the parameters are as follows:
Names the table to use in the CREATE TABLE NAME= statement that is generated. The table name must be unique within the PDB.
When TABLE= is specified and NAME= is not specified, the input-table-name on the TABLE= parameter is used.
When DATASET= is specified and NAME= is not specified, the name is formed by concatenating 'U' to the first six characters of the input-SAS-data-set name.
Names the PDB's IT Service Vision table to use as input for the creation of the dictionary control statements. This table must already exist in the PDB.
Names the SAS data set to use as input for the creation of the dictionary control statements. This data set must be defined in a SAS library. This parameter must be enclosed in single quotes.
Names a file (normally a text file) that contains syntax that GENERATE SOURCE has been designed to recognize. This parameter requires that the INTYPE parameter be specified so that GENERATE SOURCE knows what format to expect the text file.
Only valid when DATASET= or INFILE= are also specified. Sets the type of the table whose source is being generated. The default type is EVENT.
Only valid when INFILE= is also specified. This parameter is used to indicate the source of the file pointed to by the INFILE= statement so that GENERATE SOURCE knows how to process the input file. At the time of writing, DSI is the only INTYPE that can be specified although we expect to add to this in the future.
Names the destination source catalog entry to receive source control statements. This parameter must be enclosed in single quotes.
Names the destination file to receive source control statements. This parameter must be enclosed in single quotes.
Specifies an alternative variable to represent the default DATETIME variable.
Specifies an alternative variable to represent the default DURATION variable.
When REPLACE is used, any existing source in either a catalog or a file will be replaced. When NOREPLACE is use, new source will be appended to the existing source, if there is existing source entry, or will start a new source entry if there is no existing source entry with that name.
Indicates that errors caused by this statement should not cause subsequent %CPDDUTL control statements to be skipped.