SETFORM directive
Purpose
This directive defines the format of dynamic-format supplied variables. After the agent processes the SETFORM directive, you can refer to the variable and perform arithmetic calculations using the variable. You can redefine the variable many times within the job, if you need to.
Syntax
Parameters
- dynamic-variable-name=(format expression)
- The dynamic variable uses the format defined in the format expression.
Usage Notes
The dynamic variable name must be one of the predefined dynamic variables (see Dynamic-format variables).
The format expression can contain a combination of time-related keywords, date-related keywords, and delimiters.
- CC
- Represents the century. This is used in combination with YY to define the format of a full year, such as 2012.
- YY
- Represents the last two figures in the year.
- MM
- Represents the month.
- DDD
- Represents day-in-year. This is substituted before DD: the character string DDDDDD is understood as two DDD keywords, not three DD keywords.
- DD
- Represents the day in the month.
- HH
- Represents the hour.
- MM
- Represents the minutes.
Any other characters in the format expression
are regarded as delimiters. These delimiters can be alphabetic, numeric,
or any symbol except the variable substitution characters &
, %
, ?
, =
,
and the parentheses ().
For the time-related dynamic variables,
OCTIME, OPIATIME, and CTIME, only HH
and MM
are
recognized. YY
, for example, is not substituted. MM
is
substituted by the minutes part of the time.
For date-related
dynamic variables, only CCYY
, YY
, MM
, DD
,
and DDD
are recognized. CC
without YY
is
not recognized. HH
is not substituted. MM
is
substituted by the month part of the date.
You can use more than one delimiter between keywords.
For example, MM//DD--
YY
is a valid format expression.
Delimiters are optional;
that is, you can define consecutive keywords with no delimiters, such
as DDMMYY
.
In the following examples, assume that the occurrence input arrival time is at 4:10 PM on December 31st 2012.
Example
//*%OPC SCAN
//*%OPC SETFORM OCDATE=(YY/MM/DDD)
The resulting &OCDATE variable would be: 12/12/365
The examples in Dynamic-format substitution results use the same occurrence input arrival date.
Dynamic format variable | Format expression | Result |
---|---|---|
OCDATE | YY-MM-DDABC | 12-12-31ABC |
OCTIME | HH MM | 16 10 (Note the MM substitutes as minutes for time variables and substitutes as month for date variables.) |
OCDATE | DDDDD | 36531. DDD is the 365th day of the year, and DD is the day of the month. |
OCDATE | DDDD | 365D. DDD is the 365th day of the year, but no match was found for the last D. |
OCDATE | YYMMHHMMSS | 1212HH12SS. This is a date variable, so HH is not substituted. |