## Appendix 4: Dynamic names

When you run a report set periodically, and if you publish the report set result with a fixed name, then only the last generated report set result can be kept on disk. In order to save the result generated every time, a dynamic result file name must be used. Similarly, you can use a dynamic directory path to avoid report set management difficulties, since when a fixed directory path is specified, too many results may be generated in a single directory. JReport Enterprise Server provides you with the following defined strings to form a dynamic name:

By | Strings Defined | Description (Sample)
--- | --- | ---
Time |  | Forms the file name using the date/time when the result is generated (e.g. 2006-07-25, 00:00:00 AM).
| yyyy | Returns the year (e.g. 2006).
| yy | Returns the year in short form (e.g. 06).
| MM | Returns the month of the year, shown in number format (e.g. 12).
| dd | Returns the day of the month, (e.g. 25).
| hh | Returns the hour of the day (e.g. 05). It is used for the 12-hour time.
| HH | Returns the hour of the day (e.g. 05). It is used for the 24-hour time.
| mm | Returns the minute of the hour (e.g. 00).
| ss | Returns the second of the minute (e.g. 00).
| m | Returns the AM/PM marker (e.g. AM).
User |  | Forms the file name using user name.
| name | Returns the name of the user who is currently logged onto the computer (e.g. Mike).
| z | Returns the ordinal number (e.g. 001.pdf, 002.pdf, 003.pdf).
System |  | Forms the file name using the system variables.
| language | Returns local computer configuration language (e.g. en).
| zone | Returns the system configuration time zone (e.g. GMT-05.00).
| encoding | Returns the file encoding (e.g. Cp1252).
| region | Returns the system configuration region (e.g. US).
JReport |  |
| pathcat | Returns the catalog file name, with its path and extension (e.g. path.SampleReports.cat).
| CAT | Returns the catalog file name, with its extension (e.g. SampleReports.cat).
| cat | Returns the catalog file name, without its path and extension (e.g. SampleReports).
| pathcls | Returns the report set file name, with its full path (e.g. catalog path and report set path) and extension (e.g. path1.path2.CustomerAnalysis.cls).
| CLS | Returns the report set file name, with its extension (e.g. CustomerAnalysis.cls).
| cls | Returns the report set file name, without its extension and path (e.g. CustomerAnalysis).
| sheet | Returns the report name in the report set (e.g. report1).

Naming Rules

- The defined strings are case-sensitive.
- Defined strings must be enclosed by square brackets ([ ]) which must appear in pairs, for example, [yyyy].

  If the string is not a defined string but enclosed by square brackets, an error message will be shown. For example, if you use myHTMLResult_[yy]$[YYYY][MM]M[dd]D[ABCD] $name$cls[cls].html as the result file name, you will get an error message (Invalid file name), since ABCD is not defined, but appears in square brackets.

- You should never use square brackets to enclose strings that are not defined in the above table. Strings that are not in square brackets will be directly used as (part of) the file name.
- If you want the square brackets and the strings enclosed by them to appear in the file name exactly as they are, that is, not to be parsed as defined strings, you can add a dollar sign ($) before the string. For example, if the string is $[yyyy], the result file name will be [yyyy], instead of a specific year, such as 2006.

  If you want to keep the dollar sign ($) together with the square brackets and the strings, you should add another dollar sign ($). For example, if the string is $$[m], the result file name will be $[m], and if the string is $$$$[m], the result file name will be $$$[m].

- More than one defined string can be used in the dynamic result file name, except for the ordinal number (z), such as [m][name], [yyyy].[MM].[dd], [region][yy].
- Characters are permitted to be added between different defined strings. For example, if the string is [yy]Year[MM]Month, the result could be 02Year2thMonth.
- The number of digits of the ordinal number is determined by the total number of "z"s. For example, zzz indicates 001, 002, etc, and zz indicates 01, 02, etc.

Notes:

- There are two differences between the naming rules of dynamic result file name and the dynamic directory name:
  - String "z" is only supported in the naming result file, but not in the naming dynamic directory. For example, `C:\folder[zz]\folder` is incorrect because the sequence for directory is not supported.
  - "/" will be replaced by "." in the naming result file. However, for naming a dynamic directory, this rule does not apply.
- When you publish a report set to e-mail, string "z" is not dynamic. For example, zzz only indicates 001 and zz only indicates 01.

Here are some examples of the dynamic result file name:

The Sample Name | The Sample Result File Name
--- | ---
myTXTResult_[yyyy].[MM].[dd].[hh].[mm].[ss].txt | myTXTResult_2003.10.30.05.14.45.txt
myPDFResult_CT[zone][language][region]my$$[1].pdf | myPDFResult_CTGMT-05.00enUSmy$[1].pdf
myRSTResult_[pathcat][CLS].rst | myRSTResult_SampleReports.SampleReports.catCustomerAnalysis.cls.rst
myRSTResult_[zzz].rst | myRSTResult_001.rst, myRSTResult_002.rst, ...
myHTMLResult[cat]_[cls]_[zz].html | myHTMLResultSampleReports_CustomerAnalysis_01.html, myHTMLResultSampleReports_CustomerAnalysis_02.html,...
myHTMLResult_[yy]$[YYYY][MM]M[dd]D$name$cls[cls].html | myHTMLResult_02[YYYY]06M21D$name$clsCustomerAnalysis.html